ba97bdd056639e30ff829c98f7a225663409d331
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (map_over_uint8_byte_table): Change interface of
4         mapping function to use struct chartab_range instead of Emchar.
5         (map_over_uint16_byte_table): Likewise.
6         (map_over_byte_table): Likewise.
7         (map_char_id_table): Likewise.
8         (struct slow_map_char_id_table_arg): Deleted.
9         (slow_map_char_id_table_fun): Deleted.
10         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
11         function `slow_map_char_table_fun' instead of struct
12         `slow_map_char_id_table_arg' and function
13         `slow_map_char_id_table_fun'.
14
15 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * mule-charset.c: Move char-it-table related codes to chartab.c.
18         (Vutf_2000_version): Moved to chartab.c.
19         (Fdefine_char): Likewise.
20         (Ffind_char): Likewise.
21         (syms_of_mule_charset): Move types `uint8-byte-table',
22         `uint16-byte-table', `byte-table' and `char-id-table' to
23         chartab.c; move functions `char_attribute_list,
24         `find_char_attribute_table, `char_attribute_alist,
25         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
26         `map_char_attribute, `define_char, `find_char, `char_variants and
27         `get_composite_char to chartab.c; move symbols `=>ucs',
28         `->decomposition', `compat', `isolated', `initial', `medial',
29         `final', `vertical', `noBreak', `fraction', `super', `sub',
30         `circle', `square', `wide', `narrow', `small' and `font' to
31         chartab.c.
32         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
33         setting codes for `Vcharacter_composition_table' and
34         `Vcharacter_variant_table' to chartab.c.
35         (complex_vars_of_mule_charset): Move setting code for
36         `Vchar_attribute_hash_table' to chartab.c.
37
38         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
39         (make_char_id_table): New prototype.
40         (put_char_id_table): Likewise.
41         (Fget_char_attribute): Likewise.
42
43         * chartab.c: Move char-id-table related code from mule-charset.c.
44         (Vutf_2000_version): Moved from mule-charset.c.
45
46         * char-ucs.h (Qucs): New external variable.
47         (put_char_ccs_code_point): New prototype.
48         (remove_char_ccs): Likewise.
49
50 2001-08-14  MORIOKA Tomohiko  <tomo@calliope.mousai.mahoroba.ne.jp>
51
52         * mule-charset.c (Vcharset_ucs_jis): New variable.
53         (Qucs_jis): Likewise.
54         (syms_of_mule_charset): Add new symbol `ucs-jis'.
55         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
56
57         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
58
59 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * mule-charset.c (map_over_uint8_byte_table): New function.
62         (map_over_uint16_byte_table): Likewise.
63         (map_over_byte_table): Likewise.
64         (map_char_id_table): Likewise.
65         (slow_map_char_id_table_fun): Likewise.
66         (Fmap_char_attribute): Likewise.
67         (syms_of_mule_charset): Add new function `map-char-attribute'.
68
69 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
70
71         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
72         (syms_of_mule_charset): Add new function `find-char'.
73
74 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
77         XEmacs UTF-2000.
78         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
79         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
80         XEmacs UTF-2000.
81         (complex_vars_of_mule_charset): Add new coded-charset
82         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
83         `ideograph-gt-pj-*'.
84
85         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
86
87 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
88
89         * mule-charset.c (encode_builtin_char_1): Purge codes about
90         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
91         {MIN|MAX}_CHAR_HEBREW.
92         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
93         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
94
95         * char-ucs.h (MIN_CHAR_GREEK): Purged.
96         (MAX_CHAR_GREEK): Purged.
97         (MIN_CHAR_CYRILLIC): Purged.
98         (MAX_CHAR_CYRILLIC): Purged.
99         (MIN_CHAR_HEBREW): Commented out.
100         (MAX_CHAR_HEBREW): Likewise.
101
102 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * mule-charset.c (Qto_ucs): New variable.
105         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
106         (Fdefine_char): Likewise.
107         (syms_of_mule_charset): Add new symbol `=>ucs'.
108
109 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * mule-charset.c (Fdecode_char): Fixed.
112
113 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
116         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
117         "tcvn5712-1".
118
119 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * mule-charset.c (Vcharset_ucs_big5): New variable.
122         (Qucs_big5): Likewise.
123         (syms_of_mule_charset): Add new symbol `ucs-big5'.
124         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
125
126         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
127
128 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * mule-charset.c (decode_builtin_char): Check Big5 code range
131         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
132
133 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
136         (Qchinese_gb12345): Likewise.
137         (Fdecode_builtin_char): Fixed.
138         (syms_of_mule_charset): Add `chinese-gb12345'.
139         (complex_vars_of_mule_charset): Add coded-charset
140         `chinese-gb12345'.
141
142         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
143         (LEADING_BYTE_CHINESE_GB12345): New macro.
144
145 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
148         and `latin-viscii-upper' for `latin-viscii'.
149
150 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * mule-charset.c (Fdecode_builtin_char): Comment out
153         regularization code for ISO-IR GR representation.
154
155 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * mule-charset.c (decode_builtin_char): New function; renamed from
158         `make_builtin_char'; return -1 instead of signal.
159         (Fdecode_builtin_char): Use `decode_builtin_char'.
160
161         * char-ucs.h (decode_builtin_char): New prototype; renamed from
162         `make_builtin_char'.
163         (DECODE_CHAR): Use `decode_builtin_char' instead of
164         `make_builtin_char'; use mapping table of `chinese-big5' for
165         `chinese-big5-{1,2}'.
166
167 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * text-coding.c (char_encode_big5): New function.
170         (char_finish_big5): Likewise.
171         (reset_encoding_stream): Use `char_encode_big5' and
172         `char_finish_big5' for CODESYS_BIG5.
173         (mule_encode): Don't use `encode_coding_big5'.
174         (encode_coding_big5): Deleted.
175
176 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
179         0x81- in XEmacs UTF-2000.
180         (detect_coding_big5): Likewise.
181
182 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * mule-charset.c (Fdefine_char): Don't use a CCS property to
185         generate character-id if the CCS property does not have
186         corresponding predefined character.
187         (make_builtin_char): Return -1 if corresponding predefined
188         character is not found.
189         (Fdecode_char): Return nil if corresponding character is not
190         found.
191         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
192         don't map to builtin ucs space.
193
194 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
197         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
198
199 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * mule-charset.c (Vcharset_ideograph_gt): New variable.
202         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
203         (Qideograph_gt): Likewise.
204         (Qideograph_gt_pj_{1..11}): Likewise.
205         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
206         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
207         `ideograph-gt-pj-11'.
208         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
209         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
210         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
211
212         * char-ucs.h (LEADING_BYTE_GT): New macro.
213         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
214         (MIN_CHAR_GT): Likewise.
215         (MAX_CHAR_GT): Likewise.
216
217 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
218
219         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
220         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
221
222         * doprnt.c (unsigned_int_converters): Add `c'.
223         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
224
225         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
226         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
227         `MIN_CHAR_MOJIKYO'.
228         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
229         (MAX_CHAR_MOJIKYO_0): New macro.
230         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
231
232 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * mule-charset.c (Fdefine_char): Delete cemented out code.
235         (encode_builtin_char_1): Modify for new allocation of builtin
236         Mojikyo characters.
237
238         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
239
240 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * mule-charset.c (Vcharset_ucs_cns): New variable.
243         (Qucs_cns): New variable.
244         (syms_of_mule_charset): Add new symbol `ucs-cns'.
245         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
246
247 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
250
251 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
252
253         * search.c (search_buffer): Make `charset_base_code' as
254         character-id >> 6 to eliminate the corresponding last byte in
255         UTF-8 representation [I'm not sure it is right thing].
256         (boyer_moore): Likewise.
257
258 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
259
260         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
261         representation in MULE.
262
263 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
264
265         * text-coding.c (Fmake_coding_system): Use
266         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
267         `EXTERNAL_PROPERTY_LIST_LOOP'.
268
269 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * text-coding.c (decode_output_utf8_partial_char): New function.
272         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
273
274 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * text-coding.c (decode_coding_utf8): Output original byte
277         sequence if it is broken; change order of conditions.
278
279         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
280         of conditions.
281
282         * mb-multibyte.h (BYTE_ASCII_P):
283         Use bit ops for char-signedness safety.
284         (BYTE_C0_P): Use bit ops for char-signedness safety.
285         (BYTE_C1_P): Use bit ops for char-signedness safety.
286
287         * character.h: (XCHAR_OR_CHAR_INT):
288         Always use inline function.
289         Remove redundant type checking assert() - XINT will abort quite
290         nicely.
291
292 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * text-coding.c: (Fencode_shift_jis_char):
295         (Fencode_big5_char):
296         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
297         Replace 0 with '\0' when working with bytes.
298         Replace initial "(" with "\(" in docstrings.
299
300         (Fmake_coding_system):
301         When type is ccl and value is vector, register it with a proper
302         symbol.  And checks whether the given ccl program is valid.
303         (mule_decode): When calling ccl_driver, if src indicates
304         NULL pointer, set an empty string instead.
305         (mule_encode): Likewise.
306
307         (detect_eol_type):
308         (detect_coding_sjis):
309         (decode_coding_sjis):
310         (detect_coding_big5):
311         (decode_coding_big5):
312         (detect_coding_ucs4):
313         (decode_coding_ucs4):
314         (detect_coding_utf8):
315         (decode_coding_utf8):
316         (detect_coding_iso2022):
317         (decode_coding_iso2022):
318         (decode_coding_no_conversion):
319         (mule_decode):
320         Make all detecting and decoding functions take an Extbyte * arg.
321         (text_encode_generic):
322         (encode_coding_big5):
323         (encode_coding_no_conversion):
324         (mule_encode):
325         Make all encoding functions take a Bufbyte * arg.
326         Use size_t instead of unsigned int for memory sizes.
327         Only cast to unsigned char whenever dereferencing Extbyte *.
328
329         (struct lrecord_description fcd_description_1): Use countof.
330         (complex_vars_of_file_coding):
331         Use countof instead of sizeof.
332         Use CHECK_NATNUM instead of CHECK_INT.
333
334 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * mule-charset.c (Fget_char_attribute): Add new optional argument
337         `default-value'.
338         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
339         (remove_char_ccs): Likewise.
340
341 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
342
343         * text-coding.c (char_encode_shift_jis): New implementation in
344         UTF-2000.
345         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
346         ...)'.
347
348         * mule-charset.c (Vcharset_chinese_big5): New variable in
349         UTF-2000.
350         (Qchinese_big5): New variable in UTF-2000.
351         (BIG5_SAME_ROW): New macro in UTF-2000.
352         (make_builtin_char): Use builtin characters of
353         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
354         characters of `Vcharset_chinese_big5'.
355         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
356         (complex_vars_of_mule_charset): Add new coded-charset
357         `chinese-big5' in UTF-2000.
358
359         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
360         (Vcharset_chinese_big5): New external variable declaration.
361         (Vcharset_japanese_jisx0208_1990): Likewise.
362
363 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
364
365         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
366         function.
367         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
368
369 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
370
371         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
372         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
373         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
374         `mojikyo-pj-*'.
375
376 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
379
380 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
383         to 0.17.
384
385 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
386
387         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
388         for `CHARSET_BY_ATTRIBUTES'.
389         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
390         `CHARSET_BY_ATTRIBUTES'.
391
392         * text-coding.c (struct decoding_stream): Rename member `CH' to
393         `CPOS'.
394         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
395         (decode_coding_sjis): Likewise.
396         (decode_coding_big5): Likewise.
397         (decode_coding_ucs4): Likewise.
398         (decode_coding_utf8): Likewise.
399         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
400         `CHARSET_BY_ATTRIBUTES'.
401         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
402         `str->counter'; decode 3, 4 bytes sets.
403         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
404         sets.
405         (decode_coding_no_conversion): Use `str->cpos' instead of
406         `str->ch'.
407
408         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
409         (Qmojikyo_2022_1): New variable.
410         (make_charset): Don't use `CHARSET_TYPE_*'.
411         (range_charset_code_point): Support coded-charset
412         `mojikyo-2022-1'.
413         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
414         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
415         `CHARSET_BY_ATTRIBUTES'.
416         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
417         `CHARSET_BY_ATTRIBUTES'.
418         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
419         (complex_vars_of_mule_charset): Add new coded-charset
420         `mojikyo-2022-1'.
421
422         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
423         interface; changed to inline function.
424
425         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
426         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
427         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
428         (CHARSET_TYPE_94): Deleted.
429         (CHARSET_TYPE_94X94): Deleted.
430         (CHARSET_TYPE_96): Deleted.
431         (CHARSET_TYPE_96X96): Deleted.
432         (CHARSET_TYPE_128): Deleted.
433         (CHARSET_TYPE_128X128): Deleted.
434         (CHARSET_TYPE_256): Deleted.
435         (CHARSET_TYPE_256X256): Deleted.
436         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
437         to inline function.
438         (DECODE_MOJIKYO_2022): New inline function.
439         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
440         `Vcharset_mojikyo_2022_1'.
441
442 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
443
444         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
445         instead of `EQ'.
446         (put_byte_table): Likewise.
447         (char_id_table_equal): Use `get_byte_table' [new implementation].
448
449 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
450
451         * mule-charset.c: Include <limits.h> in UTF-2000.
452         (BT_UINT8_MIN): New macro in UTF-2000.
453         (BT_UINT8_MAX): New macro in UTF-2000.
454         (BT_UINT8_t): New macro in UTF-2000.
455         (BT_UINT8_nil): New macro in UTF-2000.
456         (BT_UINT8_unbound): New macro in UTF-2000.
457         (INT_UINT8_P): New inline function in UTF-2000.
458         (UINT8_VALUE_P): New inline function in UTF-2000.
459         (UINT8_ENCODE): New inline function in UTF-2000.
460         (UINT8_DECODE): New inline function in UTF-2000.
461         (mark_uint8_byte_table): New function in UTF-2000.
462         (print_uint8_byte_table): New function in UTF-2000.
463         (uint8_byte_table_equal): New function in UTF-2000.
464         (uint8_byte_table_hash): New function in UTF-2000.
465         (make_uint8_byte_table): New function in UTF-2000.
466         (uint8_byte_table_same_value_p): New function in UTF-2000.
467         (BT_UINT16_MIN): New macro in UTF-2000.
468         (BT_UINT16_MAX): New macro in UTF-2000.
469         (BT_UINT16_t): New macro in UTF-2000.
470         (BT_UINT16_nil): New macro in UTF-2000.
471         (BT_UINT16_unbound): New macro in UTF-2000.
472         (INT_UINT16_P): New inline function in UTF-2000.
473         (UINT16_VALUE_P): New inline function in UTF-2000.
474         (UINT16_ENCODE): New inline function in UTF-2000.
475         (UINT16_DECODE): New inline function in UTF-2000.
476         (UINT8_TO_UINT16): New inline function in UTF-2000.
477         (mark_uint16_byte_table): New function in UTF-2000.
478         (print_uint16_byte_table): New function in UTF-2000.
479         (uint16_byte_table_equal): New function in UTF-2000.
480         (uint16_byte_table_hash): New function in UTF-2000.
481         (make_uint16_byte_table): New function in UTF-2000.
482         (uint16_byte_table_same_value_p): New function in UTF-2000.
483         (print_byte_table): New function in UTF-2000.
484         (byte-table): Use `print_byte_table' as printer.
485         (make_byte_table): Delete second argument `older'.
486         (byte_table_same_value_p): New function in UTF-2000.
487         (copy_byte_table): Deleted.
488         (get_byte_table): New function in UTF-2000.
489         (put_byte_table): New function in UTF-2000.
490         (print_char_id_table): New function in UTF-2000.
491         (char-id-table): Use `print_char_id_table' as printer.
492         (make_char_id_table): Delete second argument `older'.
493         (get_char_id_table): Use `get_byte_table [new implementation].
494         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
495         implementation].
496         (Ffind_char_attribute_table): New function in UTF-2000.
497         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
498         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
499         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
500         (syms_of_mule_charset): Add new function
501         `find-char-attribute-table' in UTF-2000.
502
503         * lrecord.h (enum lrecord_type): Add
504         `lrecord_type_uint16_byte_table' and
505         `lrecord_type_uint8_byte_table'.
506
507         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
508         (Lisp_Uint8_Byte_Table): New type.
509         (XUINT8_BYTE_TABLE): New macro.
510         (XSETUINT8_BYTE_TABLE): New macro.
511         (UINT8_BYTE_TABLE_P): New macro.
512         (GC_UINT8_BYTE_TABLE_P): New macro.
513         (struct Lisp_Uint16_Byte_Table): New structure.
514         (Lisp_Uint16_Byte_Table): New type.
515         (XUINT16_BYTE_TABLE): New macro.
516         (XSETUINT16_BYTE_TABLE): New macro.
517         (UINT16_BYTE_TABLE_P): New macro.
518         (GC_UINT16_BYTE_TABLE_P): New macro.
519
520 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
523         (Vcharacter_ideographic_strokes_table): Deleted.
524         (Vcharacter_total_strokes_table): Deleted.
525         (Vcharacter_morohashi_daikanwa_table): Deleted.
526         (Vcharacter_decomposition_table): Deleted.
527         (Qname): Deleted because it is duplicated.
528         (Qideographic_radical): Deleted.
529         (Qideographic_strokes): Deleted.
530         (Qtotal_strokes): Deleted.
531         (Qmorohashi_daikanwa): Deleted.
532         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
533         `ideographic-radical', `ideographic-strokes', `total-strokes',
534         `morohashi-daikanwa' and `->decomposition'.
535         (Fget_char_attribute): Likewise.
536         (Fput_char_attribute): Likewise; use `make-vector' instead of
537         `make_older_vector' for `->decomposition' value.
538         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
539         `ideograph-daikanwa'.
540         (syms_of_mule_charset): Delete builtin symbols `name',
541         `ideographic-radical', `ideographic-strokes', `total-strokes' and
542         `morohashi-daikanwa'.
543         (vars_of_mule_charset): Don't setup
544         `Vcharacter_ideographic_radical_table',
545         `Vcharacter_ideographic_strokes_table',
546         `Vcharacter_total_strokes_table',
547         `Vcharacter_morohashi_daikanwa_table' and
548         `Vcharacter_decomposition_table'.
549
550 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
551
552         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
553         `make_older_vector', `make_vector_newer_1' and
554         `make_vector_newer'.
555
556         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
557         `make_older_vector' and `make_vector_newer'.
558
559         * config.h.in (HAVE_GGC): New macro.
560
561 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * mule-charset.c (struct char_attribute_list_closure): New
564         structure in UTF-2000.
565         (add_char_attribute_to_list_mapper): New function in UTF-2000.
566         (Fchar_attribute_list): Likewise.
567         (Fset_charset_mapping_table): Use `make_vector_newer'.
568         (Fdecode_builtin_char): New function in UTF-2000.
569         (syms_of_mule_charset): Add new function `char-attribute-list' and
570         `decode-builtin-char' in UTF-2000.
571
572         * lisp.h (make_vector_newer): New prototype.
573
574         * alloc.c (make_vector_newer_1): New function.
575         (make_vector_newer): New function.
576
577 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
578
579         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
580         50100)'.
581
582 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * mule-charset.c (Vchar_attribute_hash_table): New variable.
585         (Vcharacter_attribute_table): Deleted.
586         (Vcharacter_name_table): Deleted.
587         (put_char_attribute): Deleted.
588         (remove_char_attribute): Deleted.
589         (struct char_attribute_alist_closure): New structure.
590         (add_char_attribute_alist_mapper): New function.
591         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
592         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
593         (Fget_char_attribute): Likewise.
594         (Fput_char_attribute): Likewise.
595         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
596         of `remove_char_attribute'.
597         (Fdefine_char): Return character.
598         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
599         and `Vcharacter_name_table'.
600         (complex_vars_of_mule_charset): Likewise
601         `Vchar_attribute_hash_table'.
602
603 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * character.h (CHARC_CHARSET): New macro.
606         (CHARC_CHARSET_ID): New macro.
607         (CHARC_CODE_POINT): New macro.
608         (CHARC_COLUMNS): New macro.
609         (CHARC_TO_CHAR): New inline function.
610         (CHARC_EQ): New inline function.
611         (CHARC_ASCII_EQ): New inline function.
612         (CHARC_IS_SPACE): New inline function.
613         (ASCII_TO_CHARC): New inline function.
614
615         * char-ucs.h (encode_char_2): Deleted.
616         (ENCODE_CHAR): Use `encode_char_1' again.
617         (breakup_char_1): Likewise.
618         (CHAR_TO_CHARC): New inline function.
619
620         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
621
622 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
623
624         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
625         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
626         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
627         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
628         (create_string_text_block): Use `CHARC_ASCII_EQ' and
629         `CHARC_IS_SPACE'.
630         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
631
632         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
633         `CHARC_CODE_POINT'.
634         (x_output_display_block): Use `CHARC_CHARSET' and
635         `CHARC_ASCII_EQ'.
636
637         * redisplay-tty.c (tty_output_display_block): Use
638         `CHARC_ASCII_EQ'.
639         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
640
641         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
642
643         * insdel.c (find_charsets_in_charc_string): Use
644         `CHARC_CHARSET_ID'.
645         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
646         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
647         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
648         (convert_charc_string_into_malloced_string): Likewise.
649
650 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
651
652         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
653         instead of <Emchar_dynarr *> for buf; use
654         `convert_bufbyte_string_into_charc_dynarr' instead of
655         `convert_bufbyte_string_into_emchar_dynarr'; use
656         `find_charsets_in_charc_string' instead of
657         `find_charsets_in_emchar_string'.
658
659         * redisplay.h:
660         - Include "character.h".
661         (struct rune): New member `cglyph'; delete member `chr'.
662
663         * redisplay.c (redisplay_text_width_charc_string): New function;
664         delete `redisplay_text_width_emchar_string'.
665         (rtw_charc_dynarr): New variable; renamed from
666         `rtw_emchar_dynarr'.
667         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
668         `rtw_emchar_dynarr'; use
669         `convert_bufbyte_string_into_charc_dynarr' instead of
670         `convert_bufbyte_string_into_emchar_dynarr'; use
671         `redisplay_text_width_charc_string' instead of
672         `redisplay_text_width_emchar_string'.
673         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
674         instead of `rtw_emchar_dynarr'; use
675         `convert_bufbyte_string_into_charc_dynarr' instead of
676         `convert_bufbyte_string_into_emchar_dynarr'.
677         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
678         `redisplay_text_width_charc_string' instead of
679         `redisplay_text_width_emchar_string'.
680         (create_text_block): Modify for <struct rune> change.
681         (generate_formatted_string_db): Likewise.
682         (create_string_text_block): Likewise.
683         (pixel_to_glyph_translation): Likewise.
684
685         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
686         instead of <const Emchar *>.
687         (x_text_width): Likewise.
688         (x_output_display_block): Use <Charc_dynarr *> instead
689         <Emchar_dynarr *>; modify for <structure rune> change.
690         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
691         *>.
692
693         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
694         <const Emchar *>; use `charc_string_displayed_columns' instead of
695         `emchar_string_displayed_columns'.
696         (tty_output_display_block): Use <Charc_dynarr *> instead of
697         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
698         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
699         (tty_output_charc_dynarr_dynarr): New variable; renamed from
700         `tty_output_emchar_dynarr_dynarr'.
701         (tty_output_charc_dynarr): New function; delete
702         `tty_output_charc_dynarr'.
703
704         * redisplay-output.c (compare_runes): Modify for `struct rune'.
705         (redisplay_output_layout): Use <Charc_dynarr *> instead of
706         <Emchar_dynarr *> for buf; use
707         `convert_bufbyte_string_into_charc_dynarr' instead of
708         `convert_bufbyte_string_into_emchar_dynarr'.
709
710         * frame.c (title_string_charc_dynarr): New variable; renamed from
711         `title_string_emchar_dynarr'.
712         (generate_title_string): Use `title_string_charc_dynarr' instead
713         of `title_string_emchar_dynarr'; use
714         `convert_charc_string_into_malloced_string' instead of
715         `convert_emchar_string_into_malloced_string'.
716         (init_frame): Use `title_string_charc_dynarr' instead of
717         `title_string_emchar_dynarr'.
718
719         * console.h:
720         - Include "character.h".
721         (struct console_methods): Use <const Charc *> instead of <const
722         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
723         <Emchar_dynarr *> in output_string_method.
724
725         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
726         <Emchar_dynarr *>.
727
728         * console-stream.c (stream_text_width): Use <const Charc *>
729         instead of <const Emchar *>.
730
731         * character.h (Charc_dynarr): New type.
732
733         * char-ucs.h (structure Charc): New structure; define new type
734         `Charc'.
735
736         * char-lb.h (DECODE_CHAR): New inline function.
737         (encode_char_1): New inline function.
738         (ENCODE_CHAR): New macro.
739         (structure Charc): New structure; define new type `Charc'.
740
741         * char-1byte.h (Vcharset_control_1): New macro.
742         (Vcharset_latin_iso8859_1): New macro.
743         (DECODE_CHAR): New inline function.
744         (encode_char_1): New inline function.
745         (ENCODE_CHAR): New macro.
746         (structure Charc): New structure; define new type `Charc'.
747
748         * insdel.c (find_charsets_in_charc_string): New function; delete
749         `find_charsets_in_emchar_string'.
750         (charc_string_displayed_columns): New function; delete
751         `emchar_string_displayed_columns'.
752         (convert_bufbyte_string_into_charc_dynarr): New function; delete
753         `convert_bufbyte_string_into_emchar_dynarr'.
754         (convert_charc_string_into_bufbyte_dynarr): New function; delete
755         `convert_charc_string_into_bufbyte_dynarr'.
756         (convert_charc_string_into_malloced_string): New function; delete
757         `convert_charc_string_into_malloced_string'.
758
759         * buffer.h (find_charsets_in_charc_string): New prototype; delete
760         `find_charsets_in_emchar_string'.
761         (charc_string_displayed_columns): New prototype; delete
762         `emchar_string_displayed_columns'.
763         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
764         `convert_charc_string_into_bufbyte_dynarr'.
765         (convert_charc_string_into_malloced_string): New prototype; delete
766         `convert_charc_string_into_malloced_string'.
767
768 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
771
772 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
775
776         * char-ucs.h: Use <short> for <Charset_ID>.
777
778         * mule-charset.h, char-1byte.h: Use <unsigned char> for
779         <Charset_ID>.
780
781 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
784         to 0.16.
785
786 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
787
788         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
789         variable.
790         (Qmorohashi_daikanwa): New variable.
791         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
792         for `morohashi-daikanwa' attribute.
793         (Fget_char_attribute): Likewise.
794         (Fput_char_attribute): Likewise.
795         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
796         has the same value of `ideograph-daikanwa'.
797         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
798         (vars_of_mule_charset): Setup
799         `Vcharacter_morohashi_daikanwa_table'.
800
801 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
802
803         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
804         attributes.
805         (add_charset_to_list_mapper): Add `key' instead of
806         `XCHARSET_NAME (value)' to return aliases.
807
808 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
809
810         * mule-charset.c (Vcharacter_ideographic_radical_table): New
811         variable.
812         (Vcharacter_ideographic_strokes_table): New variable.
813         (Qideographic_radical): New variable.
814         (Qideographic_strokes): New variable.
815         (Fchar_attribute_alist): Use
816         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
817         attribute; use `Vcharacter_ideographic_strokes_table' for
818         `ideographic-strokes' attribute.
819         (Fget_char_attribute): Likewise.
820         (Fput_char_attribute): Likewise.
821         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
822         `ideographic-strokes'.
823         (vars_of_mule_charset): Setup
824         `Vcharacter_ideographic_radical_table' and
825         `Vcharacter_ideographic_strokes_table'.
826
827 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
828
829         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
830         (Qtotal_strokes): New variable.
831         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
832         `total-strokes' attribute.
833         (Fget_char_attribute): Likewise.
834         (Fput_char_attribute): Likewise.
835         (syms_of_mule_charset): Add new symbol `total-strokes'.
836         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
837
838 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * mule-charset.c (Vcharacter_decomposition_table): New variable.
841         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
842         are found.
843         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
844         `->decomposition' attribute.
845         (Fput_char_attribute): Likewise.
846         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
847
848 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
849
850         * mule-charset.c (decoding_table_check_elements): New function.
851         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
852
853 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * mule-charset.c (Fset_charset_mapping_table): Use
856         `put_char_ccs_code_point'.
857
858 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
859
860         * mule-charset.c (decoding_table_put_char): New inline function.
861         (put_char_ccs_code_point): Use `decoding_table_put_char'.
862
863 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
864
865         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
866         (XCHARSET_BYTE_SIZE): New macro.
867         (decoding_table_remove_char): New inline function.
868         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
869         `decoding_table_remove_char'.
870         (remove_char_ccs): Use `decoding_table_remove_char'.
871         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
872
873 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
874
875         * mule-charset.c (Vcharacter_name_table): New variable.
876         (Qname): New variable.
877         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
878         attribute.
879         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
880         `Vcharacter_name_table' for `name' attribute.
881         (Fremove_char_attribute): Use function `remove_char_ccs'.
882         (put_char_ccs_code_point): New function.
883         (remove_char_ccs): New function.
884         (syms_of_mule_charset): Add new symbol `name'.
885         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
886
887 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
888
889         * mule-charset.c (make_byte_table): Add new argument `older'.
890         (make_char_id_table): Likewise.
891         (copy_char_id_table): Comment out because it is not used.
892         (put_char_id_table): Modify for `make_byte_table'.
893         (Fput_char_attribute): Make encoding_table as older object;
894         inherit older bit of `Vcharacter_composition_table'.
895         (mark_charset): Don't mark `cs->encoding_table'.
896         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
897         normal object; make `Vcharacter_composition_table' as an older
898         object; delete staticpro for `Vcharacter_composition_table'; make
899         `Vcharacter_variant_table' as a normal object.
900
901         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
902         (mark_object): Don't check older object in UTF-2000.
903
904         * lrecord.h (struct lrecord_header): Add new member `older' in
905         UTF-2000.
906         (set_lheader_implementation): Setup `SLI_header->older' in
907         UTF-2000.
908         (set_lheader_older_implementation): New macro in UTF-2000.
909         (OLDER_RECORD_P): New macro in UTF-2000.
910         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
911         (alloc_older_lcrecord): New prototype in UTF-2000.
912         (alloc_older_lcrecord_type): New macro in UTF-2000.
913
914 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * mule-charset.c (byte_table_description): Use
917         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
918         (char_id_table_description): Delete bogus `, 1'.
919         (Fget_char_attribute): Refer encoding_table of each coded-charset
920         to get value of coded-charset attribute of a character.
921         (Fput_char_attribute): Use `make_older_vector' instead of
922         `make_vector'; use encoding_table of each coded-charset to store
923         value of coded-charset attribute of a character.
924         (Fremove_char_attribute): Use encoding_table of each coded-charset
925         to store value of coded-charset attribute of a character.
926         (mark_charset): Mark `cs->encoding_table'; don't mark
927         `cs->decoding_table'.
928         (charset_description): Add description of new member
929         `encoding_table'.
930         (make_charset): Initialize `encoding_table'.
931
932         * char-ucs.h (struct Lisp_Charset): Add new member
933         `encoding_table'.
934         (CHARSET_ENCODING_TABLE): New macro.
935         (XCHARSET_ENCODING_TABLE): New macro.
936         (charset_code_point): New implementation.
937         (encode_char_1): Likewise.
938
939         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
940         (disksave_object_finalization_1): Call finalizers of
941         `all_older_lcrecords' in UTF-2000.
942         (make_older_vector): New function in UTF-2000.
943         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
944         UTF-2000.
945
946         * lisp.h (make_older_vector): New prototype in UTF-2000.
947
948 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * lrecord.h (enum lrecord_type): Rename
951         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
952
953         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
954         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
955         `get_char_code_table'.
956
957         * mule-charset.c (mark_char_id_table): Renamed from
958         `mark_char_code_table'.
959         (char_id_table_equal): Renamed from `char_code_table_equal'.
960         (char_id_table_hash): Renamed from `char_code_table_hash'.
961         (make_char_id_table): Renamed from `make_char_code_table'.
962         (copy_char_id_table): Renamed from `copy_char_code_table'.
963         (get_char_id_table): Renamed from `get_char_code_table'.
964         (put_char_id_table): Renamed from `put_char_code_table'.
965         (to_char_id): Renamed from `to_char_code'.
966
967         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
968         `Lisp_Char_Code_Table'.
969         (char_id_table): Renamed from `char_code_table'.
970         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
971         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
972         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
973         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
974         (get_char_id_table): Renamed from `get_char_code_table'.
975
976 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
977
978         * lrecord.h (enum lrecord_type): Rename
979         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
980
981         * mule-charset.c (mark_byte_table): Renamed from
982         `mark_char_byte_table'.
983         (byte_table_equal): Renamed from `char_byte_table_equal'.
984         (byte_table_hash): Renamed from `byte_table_hash'.
985         (make_byte_table): Renamed from `make_byte_table'.
986         (copy_byte_table): Renamed from `copy_char_byte_table'.
987
988         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
989         `Lisp_Char_Byte_Table'.
990         (byte_table): Renamed from `char_byte_table'.
991         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
992         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
993         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
994         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
995
996 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
997
998         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
999         (dfc_convert_to_internal_format): Likewise.
1000         
1001         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1002         * text-coding.c (Fcoding_system_alias_p): New function.
1003         * text-coding.c (Fcoding_system_aliasee): New function.
1004         * text-coding.c (append_suffix_to_symbol): New function.
1005         * text-coding.c (dangling_coding_system_alias_p): New function.
1006         * text-coding.c (Ffind_coding_system):
1007         * text-coding.c (Fcopy_coding_system):
1008         * text-coding.c (encode_coding_no_conversion):
1009         * text-coding.c (syms_of_file_coding):
1010         * text-coding.c (vars_of_file_coding):
1011         Rewrite coding system alias code.
1012         Allow nested aliases, like symbolic links.
1013         Allow redefinition of coding system aliases.
1014         Prevent existence of dangling coding system aliases.
1015         Eliminate convert_to_external_format.
1016         Eliminate convert_to_internal_format.
1017         
1018         * text-coding.c: Change enum eol_type to eol_type_t.
1019
1020 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1021
1022         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1023         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1024
1025         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1026         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1027
1028 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1031         `ideograph-daikanwa'.
1032
1033         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1034         (Vcharset_ucs_bmp): Likewise.
1035         (Vcharset_mojikyo): Add new extern variable definition.
1036         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1037         (Vcharset_latin_iso8859_3): Likewise.
1038         (Vcharset_latin_iso8859_4): Likewise.
1039         (Vcharset_latin_iso8859_9): Likewise.
1040         (Vcharset_latin_viscii_lower): Likewise.
1041         (Vcharset_latin_viscii_upper): Likewise.
1042         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1043         `mojikyo' code-point is used to decode.
1044         (encode_char_2): New function [to convert `mojikyo' code-point to
1045         Mojikyo font encoding].
1046         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1047         (breakup_char_1): Likewise.
1048         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1049
1050 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1051
1052         * text-coding.c (Fmake_coding_system): Add document about
1053         `disable-composition' property.
1054
1055 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1056
1057         * text-coding.c (Qdisable_composition): New variable; delete
1058         `Qcomposite'.
1059         (Fmake_coding_system): Add new property `disable-composite';
1060         delete property `composite'.
1061         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1062         instead of `!CODING_SYSTEM_COMPOSITE'.
1063         (syms_of_file_coding): Add new symbol `disable-composition';
1064         delete symbol `composite'.
1065
1066         * file-coding.h (struct Lisp_Coding_System): Add
1067         `disable_composition'; delete `enable_composition'.
1068         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1069         `CODING_SYSTEM_COMPOSITE'.
1070         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1071         `XCODING_SYSTEM_COMPOSITE'.
1072
1073 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1076         to 0.15.
1077
1078 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1079
1080         * text-coding.c (Qcomposite): New variable.
1081         (Fmake_coding_system): Add new property `composite'.
1082         (struct decoding_stream): Add `combined_char_count',
1083         `combined_chars' and `combining_table' in UTF-2000.
1084         (COMPOSE_FLUSH_CHARS): New macro.
1085         (COMPOSE_ADD_CHAR): New macro.
1086         (reset_decoding_stream): Reset `str->combined_char_count' and
1087         `str->combining_table' in UTF-2000.
1088         (decode_coding_iso2022): Modify for character-decomposition.
1089         (syms_of_file_coding): Add new symbol `composite'.
1090
1091 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1094         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1095         of `Vcharacter_composition_table' if `->decomposition' property
1096         has only 1 element.
1097         (Qlatin_tcvn5712): New variable.
1098         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1099         (complex_vars_of_mule_charset): Add new coded-charset
1100         `latin-tcvn5712'.
1101
1102         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1103
1104 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1105
1106         * file-coding.h (struct Lisp_Coding_System): Add
1107         `enable_composition'.
1108         (CODING_SYSTEM_COMPOSITE): New macro.
1109         (XCODING_SYSTEM_COMPOSITE): New macro.
1110
1111 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1112
1113         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1114
1115 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1116
1117         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1118         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1119
1120 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1121
1122         * mule-charset.c (Vcharset_mojikyo): New variable.
1123         (Fdefine_char): Don't use coded-charset which does not have
1124         non-builtin character range to allocate character-id.
1125         (Qmojikyo): New variable.
1126         (syms_of_mule_charset): Add new symbol `mojikyo'.
1127         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1128
1129         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1130         (LEADING_BYTE_MOJIKYO): New macro.
1131         (MIN_CHAR_MOJIKYO): New macro.
1132         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1133         (MAX_CHAR_MOJIKYO): New macro.
1134
1135 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1136
1137         * mule-charset.c (remove_char_attribute): Fixed.
1138
1139 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1140
1141         * mule-charset.c (remove_char_attribute): New function.
1142         (Fremove_char_attribute): New function.
1143         (encode_builtin_char_1): Comment out builtin-support for
1144         greek-iso8859-7 and cyrillic-iso8859-5.
1145         (Fdecode_char): Check `code' is an integer.
1146         (syms_of_mule_charset): Add `remove-char-attribute'.
1147         (MIN_CHAR_GREEK): Deleted.
1148         (MAX_CHAR_GREEK): Likewise.
1149         (MIN_CHAR_CYRILLIC): Likewise.
1150         (MAX_CHAR_CYRILLIC): Likewise.
1151         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1152         MAX_CHAR_GREEK for `greek-iso8859-7'.
1153
1154         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1155         (MAX_CHAR_GREEK): Likewise.
1156         (MIN_CHAR_CYRILLIC): Likewise.
1157         (MAX_CHAR_CYRILLIC): Likewise.
1158
1159 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1160
1161         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1162         format is used without `ucs' property.
1163         (Fdecode_char): Fix problem with GR representation.
1164         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1165         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1166
1167 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1168
1169         * mule-charset.c (make_builtin_char): New function.
1170         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1171         (Fset_charset_mapping_table): Modify for new representation of
1172         code-point.
1173         (Fdecode_char): New function.
1174         (syms_of_mule_charset): Add new builtin function `decode-char' in
1175         UTF-2000.
1176
1177         * char-ucs.h (make_builtin_char): New prototype.
1178         (DECODE_CHAR): New inline function.
1179         (MAKE_CHAR): Use `DECODE_CHAR'.
1180
1181 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1182
1183         * text-coding.c (parse_charset_conversion_specs): Use
1184         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1185         `XCHARSET_TYPE'.
1186         (iso2022_designate): Likewise.
1187
1188         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1189         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1190
1191         * mule-charset.c (Vcharset_ucs): New variable.
1192         (print_charset): Change design; use `CHARSET_CHARS' and
1193         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1194         (make_charset): Change signature to specify `chars' and
1195         `dimension' instead of `type'.
1196         (range_charset_code_point): Modify for 256^n-set.
1197         (encode_builtin_char_1): Encode as `ucs' in default.
1198         (Fmake_charset): Modify for `make_charset'.
1199         (Fmake_reverse_direction_charset): Likewise.
1200         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1201         UTF-2000.
1202         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1203         for `make_charset'.
1204
1205         * char-ucs.h (Vcharset_ucs): New variable.
1206         (LEADING_BYTE_UCS): New macro.
1207         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1208         and `chars' to `unsigned short' from `unsigned int'.
1209         (CHARSET_TYPE): Deleted.
1210         (XCHARSET_TYPE): Deleted.
1211
1212 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1213
1214         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1215
1216         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1217         (ENCODE_CHAR): New macro.
1218
1219 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1220
1221         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1222         to 0.14 (Kawachi-Katakami).
1223
1224 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1225
1226         * text-coding.c (char_encode_shift_jis): Modify for
1227         `charset_code_point'.
1228         (char_encode_iso2022): Likewise.
1229
1230         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1231         (integer) instead of list of <Lisp_Object>s (integers) as the
1232         format of code-point of a coded-charset.
1233         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1234         (encode_builtin_char_1): New function; delete
1235         `split_builtin_char'.
1236         (charset_code_point): Return <int> instead of <Lisp_Object>.
1237         (Fsplit_char): Don't use `SPLIT_CHAR'.
1238
1239         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1240         prototype for `split_builtin_char'.
1241         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1242         (charset_code_point): Likewise.
1243         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1244         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1245
1246 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1247
1248         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1249         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1250
1251 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1252
1253         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1254
1255         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1256         (MAX_CHAR_OBS_94x94): Deleted.
1257
1258 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1259
1260         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1261
1262         * char-ucs.h (MAX_CHAR_BMP): New macro.
1263
1264 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1265
1266         * text-coding.c: Sync with r21-2-24.
1267
1268 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1269
1270         * file-coding.c: Modify for UTF-2000.
1271
1272 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1273
1274         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1275         to 0.13 (Takaida).
1276
1277 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1278
1279         * mule-charset.c (split_builtin_char): Delete builtin support for
1280         `katakana-jisx0201'.
1281         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1282         BMP area in builtin representation.
1283
1284         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1285         `Vcharset_katakana_jisx0201'.
1286
1287 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1288
1289         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1290         (Qisolated): New variable.
1291         (Qinitial): New variable.
1292         (Qmedial): New variable.
1293         (Qfinal): New variable.
1294         (Qvertical): New variable.
1295         (Qsmall): New variable.
1296         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1297         `Qvertical' and `Qsmall'.
1298         (Qmojikyo_pj_[1 .. 21]): New variable.
1299         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1300         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1301         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1302         .. 21]'.
1303
1304 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1305
1306         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1307         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1308         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1309
1310 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1311
1312         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1313         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1314         BMP.
1315         (Qjapanese_jisx0208_1990): New variable.
1316         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1317         (complex_vars_of_mule_charset): Add new coded-charset
1318         `japanese-jisx0208-1990'.
1319
1320         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1321         (MIN_CHAR_JIS_X0208_1990): New macro.
1322         (MAX_CHAR_JIS_X0208_1990): New macro.
1323
1324 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1325
1326         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1327         coded-charset is not found.
1328
1329 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1330
1331         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1332         (Fdefine_char): Use `Fmake_char'.
1333
1334 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1335
1336         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1337         (Vcharset_hiragana_jisx0208): Deleted.
1338         (Vcharset_katakana_jisx0208): Deleted.
1339         (Qideograph_daikanwa): New variable.
1340         (Qhiragana_jisx0208): Deleted.
1341         (Qkatakana_jisx0208): Deleted.
1342         (split_builtin_char): Split `ideograph-daikanwa'.
1343         (Fsplit_char): New implementation for UTF-2000.
1344         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1345         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1346         (complex_vars_of_mule_charset): Add new coded-charset
1347         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1348         `katakana-jisx0208'.
1349
1350         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1351         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1352         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1353         (MIN_CHAR_DAIKANWA): New macro.
1354         (MAX_CHAR_DAIKANWA): New macro.
1355
1356 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1357
1358         * data.c (Fstring_to_number): Don't recognize floating point if
1359         base is not 10.
1360
1361 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1362
1363         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1364
1365 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1366
1367         * mule-charset.c (Qsquare): New variable.
1368         (to_char_code): Add `Qsquare'.
1369         (syms_of_mule_charset): Add new symbol `square'.
1370
1371 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1372
1373         * mule-charset.c (Qcircle): New variable.
1374         (to_char_code): Add `Qcircle'.
1375         (syms_of_mule_charset): Add new symbol `circle'.
1376
1377 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1378
1379         * mule-charset.c (Qfont): New variable.
1380         (to_char_code): Add `Qfont'.
1381         (syms_of_mule_charset): Add new symbol `font'.
1382
1383 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1384
1385         * mule-charset.c (Qsub): New variable.
1386         (to_char_code): Add `Qsub'.
1387         (syms_of_mule_charset): Add new symbol `sub'.
1388
1389 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1390
1391         * mule-charset.c (Fput_char_attribute): Convert each element of
1392         VALUE to GL position if ATTRIBUTE is a GR-set,
1393
1394 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1395
1396         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1397         coded-charset is a GR-set.
1398
1399 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1400
1401         * mule-charset.c (Fput_char_attribute): Check each element of
1402         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1403
1404 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1405
1406         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1407         UTF-2000.
1408         (Qethiopic_ucs): New variable in UTF-2000.
1409         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1410         (complex_vars_of_mule_charset): Add new coded-charset
1411         `ethiopic-ucs' in UTF-2000.
1412
1413         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1414         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1415         9)'.
1416         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1417         10)'.
1418         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1419
1420 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1421
1422         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1423         `ascii'.
1424
1425 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1426
1427         * mule-charset.c (Vcharacter_variant_table): New variable.
1428         (Q_ucs): New variable.
1429         (Fchar_variants): New function.
1430         (Fput_char_attribute): Register `->ucs' value to
1431         `Vcharacter_variant_table'.
1432         (syms_of_mule_charset): Add new function `char-variants' and new
1433         symbol `->ucs'.
1434         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1435
1436 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1437
1438         * mule-charset.c (get_char_code_table): Allow negative character
1439         code.
1440         (put_char_code_table): Likewise.
1441         (Vcharacter_composition_table): New variable.
1442         (Q_decomposition): New variable.
1443         (Qwide): New variable.
1444         (Qnarrow): New variable.
1445         (Qcompat): New variable.
1446         (QnoBreak): New variable.
1447         (Qsuper): New variable.
1448         (Qfraction): New variable.
1449         (to_char_code): New function.
1450         (Fget_composite_char): New function.
1451         (Fput_char_attribute): Register `->decomposition' value to
1452         `Vcharacter_composition_table'.
1453         (syms_of_mule_charset): Add new function `get-composite-char', new
1454         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1455         `super' and `fraction'.
1456         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1457
1458 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1459
1460         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1461         character; copy the return value.
1462
1463 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1464
1465         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1466
1467         * mule-charset.c (range_charset_code_point): Must use make_int.
1468         (split_builtin_char): New function.
1469
1470 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1471
1472         * mule-charset.c (char_byte_table): Change name from
1473         "char-code-table" to "char-byte-table".
1474         (mark_char_code_table): New function.
1475         (char_code_table_equal): New function.
1476         (char_code_table_hash): New function.
1477         (char_code_table_description): New constant.
1478         (char_code_table): New type.
1479         (make_char_code_table): New function.
1480         (copy_char_code_table): New function.
1481         (get_char_code_table): Modify for `char_code_table' type.
1482         (put_char_code_table): Likewise.
1483         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1484         (Kashiwara).
1485
1486         * char-ucs.h (char_code_table): New type.
1487         (XCHAR_CODE_TABLE): New macro.
1488         (XSETCHAR_CODE_TABLE): New macro.
1489         (CHAR_CODE_TABLE_P): New macro.
1490         (GC_CHAR_CODE_TABLE_P): New macro.
1491         (struct Lisp_Char_Code_Table): New structure.
1492
1493 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1494
1495         * mule-charset.c (Fmake_charset): Setup byte_offset for
1496         {94|96}^n-set.
1497
1498 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1499
1500         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1501         character.
1502
1503 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1504
1505         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1506         is found.
1507
1508 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1509
1510         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1511         charset, it is regarded as a charset.
1512         (put_char_attribute): New function in UTF-2000.
1513         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1514         charset, mapping-table of the charset is modified.
1515         (Fdefine_char): New function in UTF-2000.
1516         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1517         `Fput_char_attribute'.
1518         (syms_of_mule_charset): Add new function `define-char' and new
1519         symbol `ucs' in UTF-2000.
1520         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1521
1522 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1523
1524         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1525         non-UTF-2000 configuration.
1526
1527 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1528
1529         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1530         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1531
1532         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1533         deleted.
1534         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1535         (Fset_charset_mapping_table): Likewise.
1536
1537         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1538         (CHARSET_ENCODING_TABLE): Delete.
1539         (XCHARSET_ENCODING_TABLE): Delete.
1540         (charset_code_point): New interface.
1541
1542 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1543
1544         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1545         instead of `charset_get_byte1' and `charset_get_byte2'.
1546
1547         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1548         (charset_get_byte2): Deleted.
1549
1550 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1551
1552         * char-ucs.h (SPLIT_CHAR): New inline function.
1553         (breakup_char_1): Use `SPLIT_CHAR'.
1554
1555         * mule-charset.c (range_charset_code_point): New function.
1556         (charset_code_point): New function.
1557
1558         * char-ucs.h (range_charset_code_point): New interface.
1559         (breakup_char_1): Use `range_charset_code_point'.
1560
1561 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1562
1563         * mule-charset.c (Fmake_charset): Delete unused local variable
1564         `code_offset'.
1565
1566         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1567         (breakup_char_1): Find a charset and code-point in
1568         `Vcharacter_attribute_table'.
1569
1570 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1571
1572         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1573         to 0.10 (Yao).
1574
1575 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1576
1577         * mule-charset.c (Vcharacter_attribute_table): New variable.
1578         (Fchar_attribute_alist): New function.
1579         (Fget_char_attribute): New function.
1580         (Fput_char_attribute): New function.
1581         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1582         too.
1583         (syms_of_mule_charset): Add new function `char-attribute-alist',
1584         `get-char-attribute' and `put-char-attribute'.
1585         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1586
1587 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1588
1589         * mule-charset.c (Fmake_charset): Just use
1590         `get_unallocated_leading_byte'.
1591
1592         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1593         sets; don't use final-byte based number for private sets.
1594
1595 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1596
1597         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1598         integer.
1599
1600 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1601
1602         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1603         to 0.9.
1604
1605 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1606
1607         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1608         of `CHAR_LEADING_BYTE' in UTF-2000.
1609
1610         * insdel.c (find_charsets_in_bufbyte_string): Use
1611         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1612         (find_charsets_in_emchar_string): Likewise.
1613
1614         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1615         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1616
1617         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1618         (CHAR_CHARSET_ID): New macro.
1619
1620 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1621
1622         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1623         charset-id - MIN_LEADING_BYTE.
1624         (put_char_table): Likewise.
1625
1626 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1627
1628         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1629         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1630         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1631         (CHARSET_ID_OFFSET): New macro.
1632         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
1633         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
1634         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
1635         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1636         4).
1637         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1638         5).
1639         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
1640         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
1641         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
1642         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
1643         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
1644
1645 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1646
1647         * mule-charset.c (next_allocated_leading_byte): New variable in
1648         UTF-2000.
1649         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
1650         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
1651         (get_unallocated_leading_byte): Simply use
1652         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
1653         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
1654         UTF-2000.
1655
1656         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
1657         (MAX_LEADING_BYTE_PRIVATE): New macro.
1658         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
1659         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
1660
1661 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1662
1663         * mule-charset.c (Fmake_charset): Allocate final-byte based
1664         charset-id for 94-set, 96-set and 94x94-set.
1665
1666 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1667
1668         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
1669         ambiguous `else'.
1670         (Fmake_charset): Likewise.
1671         (complex_vars_of_mule_charset): Modify the font registry of
1672         `ucs-bmp' not to match `Ethiopic-Unicode'.
1673
1674 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1675
1676         * mule-charset.c (complex_vars_of_mule_charset): Add font
1677         registory of `ucs-bmp'.
1678
1679 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1680
1681         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
1682         coded-charsets in `default-coded-charset-priority-list' when
1683         breaking up a character.
1684
1685         * mule-charset.c (Vcharset_latin_viscii): New variable.
1686         (Qlatin_viscii): New variable.
1687         (make_charset): Don't use `decoding_table'.
1688         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
1689         byte_offset.
1690         (Fset_charset_mapping_table): New implementation.
1691         (syms_of_mule_charset): Add new symbol `latin-viscii'.
1692         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
1693         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
1694         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
1695         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
1696         charset `latin_viscii'.
1697
1698         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
1699         (CHARSET_TYPE_94X94): Change to 1 from 2.
1700         (CHARSET_TYPE_96): Change to 2 from 1.
1701         (CHARSET_TYPE_128): New macro.
1702         (CHARSET_TYPE_128X128): Change to 5 from 4.
1703         (CHARSET_TYPE_256): New macro.
1704         (CHARSET_TYPE_256X256): Change to 7 from 5.
1705         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
1706
1707 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1708
1709         * text-coding.c (char_encode_shift_jis): Refer
1710         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
1711         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
1712
1713         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
1714         (char_byte_table_equal): New function in UTF-2000.
1715         (char_byte_table_hash): New function in UTF-2000.
1716         (char_byte_table_description): New constant in UTF-2000.
1717         (char_byte_table): New type in UTF-2000.
1718         (make_char_byte_table): New function in UTF-2000.
1719         (copy_char_byte_table): New function in UTF-2000.
1720         (make_char_code_table): New macro in UTF-2000.
1721         (get_char_code_table): New function in UTF-2000.
1722         (put_char_code_table): New function in UTF-2000.
1723         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1724         (charset_description): Add setting in UTF-2000.
1725         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
1726         `CHARSET_TO_BYTE1_TABLE(cs)'.
1727         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
1728         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
1729         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
1730         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
1731         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
1732         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
1733         `CHARSET_TO_BYTE2_TABLE(cs)'.
1734
1735         * char-ucs.h (char_byte_table): New type.
1736         (XCHAR_BYTE_TABLE): New macro.
1737         (XSETCHAR_BYTE_TABLE): New macro.
1738         (CHAR_BYTE_TABLE_P): New macro.
1739         (GC_CHAR_BYTE_TABLE_P): New macro.
1740         (struct Lisp_Char_Byte_Table): New structure.
1741         (get_char_code_table): New interface.
1742         (Emchar_to_byte_table): Deleted.
1743         (get_byte_from_character_table): Deleted.
1744         (struct Lisp_Charset): Add `encoding_table'; delete
1745         `to_byte1_table' and `to_byte2_table'.
1746         (CHARSET_ENCODING_TABLE): New macro.
1747         (CHARSET_TO_BYTE1_TABLE): Deleted.
1748         (CHARSET_TO_BYTE2_TABLE): Deleted.
1749         (XCHARSET_ENCODING_TABLE): New macro.
1750         (XCHARSET_TO_BYTE1_TABLE): Deleted.
1751         (XCHARSET_TO_BYTE2_TABLE): Deleted.
1752
1753 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1754
1755         * mule-charset.c (syms_of_mule_charset): Delete charset alias
1756         `vietnamese-viscii-*'.
1757
1758 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1759
1760         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
1761         (Qvietnamese_viscii_upper): New variable.
1762         (Fdefine_charset_alias): New function.
1763         (syms_of_mule_charset): Add new function `define-charset-alias'.
1764         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
1765         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
1766         `latin-viscii-*'.
1767
1768 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
1769
1770         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
1771         (MAX_CHAR_OBS_94x94): New macro.
1772         (breakup_char_1): Support obsolete XEmacs-UCS private code space
1773         for 94x94 sets.
1774
1775         * mule-charset.c (put_byte_from_character_table): Change unit size
1776         from 128 to 256.
1777         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
1778         not defined.
1779         (Fmake_reverse_direction_charset): Modify dummy argument of
1780         `make_charset' for non-UTF-2000 environment.
1781
1782 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1783
1784         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
1785
1786         * mule-charset.c (destroy_byte_from_character_table): New macro.
1787         (latin_jisx0201_to_ucs): Deleted.
1788         (latin_iso8859_2_to_ucs): Deleted.
1789         (latin_iso8859_3_to_ucs): Deleted.
1790         (latin_iso8859_4_to_ucs): Deleted.
1791         (latin_iso8859_9_to_ucs): Deleted.
1792         (latin_viscii_lower_to_ucs): Deleted.
1793         (latin_viscii_upper_to_ucs): Deleted.
1794         (mark_charset): Mark `cs->decoding_table'.
1795         (Fcharset_mapping_table): Fix DOC-string.
1796         (Fset_charset_mapping_table): New function.
1797         (syms_of_mule_charset): Add nwe function
1798         `set-charset-mapping-table'.
1799         (complex_vars_of_mule_charset): Don't setup and use
1800         `latin_*_to_ucs'.
1801
1802 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1803
1804         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
1805         charset.
1806
1807 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1808
1809         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
1810         (Vcharset_katakana_jisx0208): New variable.
1811         (Qhiragana_jisx0208): New variable.
1812         (Qkatakana_jisx0208): New variable.
1813         (make_charset): Add new argument `byte_offset'.
1814         (charset_get_byte1): Modify for new coded-charset definition; use
1815         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1816         `XCHARSET_BYTE_OFFSET'.
1817         (Fmake_charset): Modify for `make_charset'.
1818         (Fmake_reverse_direction_charset): Likewise.
1819         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
1820         `katakana-jisx0208'.
1821         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
1822         `.'  in font registry of charset `katakana-jisx0201',
1823         `latin-jisx0201', `vietnamese-viscii-lower' and
1824         `vietnamese-viscii-upper'; modify DOC-string of charset
1825         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
1826         registry of charset `japanese-jisx0208' not to use font for JIS
1827         X0208:1990; add new charset `hiragana-jisx0208' and
1828         `katakana-jisx0208'.
1829
1830         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
1831         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
1832         (struct Lisp_Charset): Add `byte_offset'.
1833         (CHARSET_BYTE_OFFSET): New macro.
1834         (XCHARSET_UCS_MIN): New macro.
1835         (XCHARSET_UCS_MAX): New macro.
1836         (XCHARSET_CODE_OFFSET): New macro.
1837         (XCHARSET_BYTE_OFFSET): New macro.
1838         (MIN_CHAR_HIRAGANA): New macro.
1839         (MAX_CHAR_HIRAGANA): New macro.
1840         (MIN_CHAR_KATAKANA): New macro.
1841         (MAX_CHAR_KATAKANA): New macro.
1842         (MAKE_CHAR): Modify for new coded-charset definition; use
1843         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1844         `XCHARSET_BYTE_OFFSET'.
1845
1846 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1847
1848         * mule-charset.c (CHAR96): Deleted.
1849         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
1850         <Lisp_Object>.
1851         (latin_iso8859_2_to_ucs): Likewise.
1852         (latin_iso8859_3_to_ucs): Likewise.
1853         (latin_iso8859_4_to_ucs): Likewise.
1854         (latin_iso8859_9_to_ucs): Likewise.
1855         (latin_viscii_lower_to_ucs): Likewise.
1856         (latin_viscii_upper_to_ucs): Likewise.
1857         (latin_tcvn5712_to_ucs): Commented out.
1858         (make_charset): Change type of argument `decoding_table' from
1859         <Emchar*> to <Lisp_Object> [vector of characters].
1860         (Fmake_charset): Modify for `make_charset'.
1861         (Fmake_reverse_direction_charset): Likewise.
1862         (Fcharset_mapping_table): New function in UTF-2000.
1863         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
1864         UTF-2000.
1865         (complex_vars_of_mule_charset): Modify for type change of
1866         `*_to_ucs'; modify for `make_charset'.
1867
1868         * char-ucs.h (struct Lisp_Charset): Change type of
1869         `decoding_table' from <Emchar*> to <Lisp_Object>.
1870         (MAKE_CHAR): Modify for new specification of `decoding_table'.
1871
1872 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1873
1874         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
1875         error with non-UTF-2000-Mule.
1876
1877 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
1878
1879         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
1880         in lisp again].
1881         (Vcharset_chinese_cns11643_4): Likewise.
1882         (Vcharset_chinese_cns11643_5): Likewise.
1883         (Vcharset_chinese_cns11643_6): Likewise.
1884         (Vcharset_chinese_cns11643_7): Likewise.
1885         (Qchinese_cns11643_3): Likewise.
1886         (Qchinese_cns11643_4): Likewise.
1887         (Qchinese_cns11643_5): Likewise.
1888         (Qchinese_cns11643_6): Likewise.
1889         (Qchinese_cns11643_7): Likewise.
1890         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
1891         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1892         and `chinese-cns11643-7' to lisp/mule/chinese.el.
1893         (complex_vars_of_mule_charset): Likewise.
1894
1895 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1896
1897         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
1898         96-set.
1899         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
1900         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
1901
1902 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1903
1904         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
1905         0xFF60.
1906         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
1907         (breakup_char_1): Likewise.
1908
1909         * text-coding.c (char_encode_iso2022): Keep designated charsets if
1910         one of them includes the specified character.
1911
1912 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1913
1914         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
1915
1916 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1917
1918         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
1919
1920 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1921
1922         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
1923         definition for non-UTF-2000 Mule.
1924         (latin_iso8859_3_to_ucs): Likewise.
1925         (latin_iso8859_4_to_ucs): Likewise.
1926         (latin_iso8859_9_to_ucs): Likewise.
1927         (latin_jisx0201_to_ucs): Likewise.
1928         (MIN_CHAR_THAI): Likewise.
1929         (MAX_CHAR_THAI): Likewise.
1930         (MIN_CHAR_GREEK): Likewise.
1931         (MAX_CHAR_GREEK): Likewise.
1932         (MIN_CHAR_HEBREW): Likewise.
1933         (MAX_CHAR_HEBREW): Likewise.
1934         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
1935         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
1936         (MIN_CHAR_CYRILLIC): Likewise.
1937         (MAX_CHAR_CYRILLIC): Likewise.
1938
1939 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1940
1941         * char-ucs.h (breakup_char_1): Use
1942         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
1943         thai-tis620 and katakana-jisx0201 area.
1944
1945 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1946
1947         * char-ucs.h (breakup_char_1): Use
1948         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
1949         area.
1950
1951         * text-coding.c (reset_encoding_stream): Fixed.
1952         (char_encode_ucs4): Delete `& 255'.
1953
1954         * char-ucs.h (breakup_char_1): Use
1955         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
1956
1957 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1958
1959         * file-coding.c (Fmake_coding_system): Don't set up
1960         `codesys->fixed.size'.
1961         (encode_coding_no_conversion): Don't refer
1962         `str->codesys->fixed.size'.
1963
1964 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1965
1966         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
1967         (latin_a_char_to_byte1): Deleted.
1968         (latin_a_char_to_byte2): Deleted.
1969
1970 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1971
1972         * mule-charset.c (make_charset): Add new argument `ucs_min',
1973         `ucs_max' and `code_offset'.
1974         (charset_get_byte1): New implementation [delete specific charset
1975         depended implementations].
1976         (Fmake_charset): Modify for `make_charset'.
1977         (Fmake_reverse_direction_charset): Likewise.
1978         (complex_vars_of_mule_charset): Likewise.
1979
1980         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
1981         `code_offset'.
1982         (CHARSET_UCS_MIN): New macro.
1983         (CHARSET_UCS_MAX): New macro.
1984         (CHARSET_CODE_OFFSET): New macro.
1985         (MAKE_CHAR): Delete charset depended definitions [except
1986         katakana-jisx0201].
1987
1988 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1989
1990         * char-ucs.h (breakup_char_1): Use
1991         `Vdefault_coded_charset_priority_list' for C0-Controls,
1992         Basic-Latin, C1-Controls and Latin-1-Supplement area.
1993
1994 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1995
1996         * char-ucs.h (charset_get_byte1): New function.
1997         (XCHARSET_GET_BYTE1): Deleted.
1998         (charset_get_byte2): New function.
1999         (XCHARSET_GET_BYTE2): Deleted.
2000         (Vdefault_coded_charset_priority_list): New external variable.
2001         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2002         `Vdefault_preferred_coded_charset_list'.
2003
2004         * mule-charset.c (charset_get_byte1): New function.
2005         (charset_get_byte2): New function.
2006         (Vdefault_coded_charset_priority_list): New variable.
2007         (vars_of_mule_charset): Add new variable
2008         `default-coded-charset-priority-list'.
2009
2010 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2011
2012         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2013         (XCHARSET_GET_BYTE2): New inline function.
2014         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2015         `XCHARSET_GET_BYTE2'.
2016
2017 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2018
2019         * mule-charset.c (make_charset): Initialize
2020         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2021         NULL if table is not defined.
2022
2023 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2024
2025         * text-coding.c (char_encode_shift_jis): Use
2026         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2027         `ucs_to_latin_jisx0201'.
2028
2029         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2030         (ucs_to_latin_iso8859_2): Deleted.
2031         (ucs_to_latin_iso8859_3): Deleted.
2032         (ucs_to_latin_iso8859_4): Deleted.
2033         (ucs_to_latin_iso8859_9): Deleted.
2034         (ucs_to_latin_viscii_lower): Deleted.
2035         (ucs_to_latin_viscii_upper): Deleted.
2036         (ucs_to_latin_tcvn5712): Deleted.
2037         (make_charset): Add new argument `decoding_table'; set up
2038         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2039         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2040         `decoding_table' is defined in UTF-2000.
2041         (Fmake_charset): Modify for `make_charset'.
2042         (Fmake_reverse_direction_charset): Likewise.
2043         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2044         and `GENERATE_96_SET'.
2045
2046         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2047         (ucs_to_latin_jisx0201): Deleted.
2048         (latin_iso8859_2_to_ucs): Deleted.
2049         (ucs_to_latin_iso8859_2): Deleted.
2050         (latin_iso8859_3_to_ucs): Deleted.
2051         (ucs_to_latin_iso8859_3): Deleted.
2052         (latin_iso8859_4_to_ucs): Deleted.
2053         (ucs_to_latin_iso8859_4): Deleted.
2054         (latin_iso8859_9_to_ucs): Deleted.
2055         (ucs_to_latin_iso8859_9): Deleted.
2056         (latin_viscii_lower_to_ucs): Deleted.
2057         (ucs_to_latin_viscii_lower): Deleted.
2058         (latin_viscii_upper_to_ucs): Deleted.
2059         (ucs_to_latin_viscii_upper): Deleted.
2060         (struct Lisp_Charset): Renamed `encoding_table' to
2061         `to_byte1_table'; add `to_byte2_table'.
2062         (CHARSET_DECODING_TABLE): New macro.
2063         (CHARSET_TO_BYTE1_TABLE): New macro.
2064         (CHARSET_TO_BYTE2_TABLE): New macro.
2065         (XCHARSET_DECODING_TABLE): New macro.
2066         (XCHARSET_TO_BYTE1_TABLE): New macro.
2067         (XCHARSET_TO_BYTE2_TABLE): New macro.
2068         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2069         tables.
2070         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2071         don't use `ucs_to_*' tables.
2072
2073 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2074
2075         * text-coding.c (Fmake_coding_system): Don't set up
2076         `codesys->fixed.size'.
2077         (encode_coding_no_conversion): Use `if' instead of `switch'.
2078
2079         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2080
2081 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2082
2083         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2084         (Fmake_charset): Modify for `make_charset'.
2085         (Fmake_reverse_direction_charset): Likewise.
2086         (complex_vars_of_mule_charset): Likewise.
2087
2088 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2089
2090         * text-coding.c (char_encode_shift_jis): Use table
2091         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2092
2093 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2094
2095         * text-coding.c (text_encode_generic): Use `if' instead of
2096         `switch'.
2097         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2098         decode JIS-Latin.
2099
2100 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2101
2102         * text-coding.c (encode_coding_sjis): Deleted.
2103         (char_encode_shift_jis): New function.
2104         (char_finish_shift_jis): New function.
2105         (reset_encoding_stream): Set up `encode_char' and `finish' for
2106         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2107         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2108         (char_encode_utf8): Treat `eol_type'.
2109
2110 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2111
2112         * file-coding.c (decode_coding_iso2022): Use
2113         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2114
2115 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2116
2117         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2118         to 0.7 (Hirano).
2119
2120 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2121
2122         * char-lb.h (CHAR_COLUMNS): New macro.
2123
2124 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2125
2126         * text-coding.c (char_encode_ucs4): New function.
2127         (char_finish_ucs4): New function.
2128         (encode_coding_ucs4): Deleted.
2129         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2130         (text_encode_generic): Delete local variable `charset' and `half'.
2131         (ucs_to_mule_table): Deleted.
2132         (mule_to_ucs_table): Deleted.
2133         (Fset_ucs_char): Deleted.
2134         (ucs_to_char): Deleted.
2135         (Fucs_char): Deleted.
2136         (Fset_char_ucs): Deleted.
2137         (Fchar_ucs): Deleted.
2138         (decode_ucs4): Deleted.
2139         (mule_char_to_ucs4): Deleted.
2140         (encode_ucs4): Deleted.
2141         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2142         (decode_coding_utf8): Likewise.
2143         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2144         (char_encode_iso2022): Fixed.
2145         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2146         `Fset_char_ucs' and `Fchar_ucs'.
2147         (complex_vars_of_file_coding): Don't initialize
2148         `ucs_to_mule_table'.
2149
2150         * objects-tty.c (tty_initialize_font_instance): Don't use
2151         `XCHARSET_COLUMNS'.
2152
2153         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2154         UTF-2000.
2155
2156         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2157         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2158
2159         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2160         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2161         (emchar_string_displayed_columns): Likewise.
2162
2163         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2164         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2165         (string_column_at_point): Likewise.
2166         (Fmove_to_column): Likewise.
2167
2168         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2169         `encoding_table' and `decoding_table'.
2170         (CHARSET_REP_BYTES): Deleted.
2171         (XCHARSET_REP_BYTES): Deleted.
2172         (XCHARSET_COLUMNS): Deleted.
2173         (CHAR_COLUMNS): New macro.
2174         (lookup_composite_char): Deleted unconditionally.
2175         (composite_char_string): Likewise.
2176
2177 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2178
2179         * char-ucs.h (Emchar_to_byte_table): New type.
2180         (get_byte_from_character_table): New function interface.
2181         (Vcharset_latin_jisx0201): New variable.
2182         (latin_jisx0201_to_ucs): New variable.
2183         (ucs_to_latin_jisx0201): New variable.
2184         (Vcharset_latin_iso8859_2): New variable.
2185         (latin_iso8859_2_to_ucs): New variable.
2186         (ucs_to_latin_iso8859_2): New variable.
2187         (Vcharset_latin_iso8859_3): New variable.
2188         (latin_iso8859_3_to_ucs): New variable.
2189         (ucs_to_latin_iso8859_3): New variable.
2190         (Vcharset_latin_iso8859_4): New variable.
2191         (latin_iso8859_4_to_ucs): New variable.
2192         (ucs_to_latin_iso8859_4): New variable.
2193         (Vcharset_latin_iso8859_9): New variable.
2194         (latin_iso8859_9_to_ucs): New variable.
2195         (ucs_to_latin_iso8859_9): New variable.
2196         (Vcharset_latin_viscii_lower): New variable.
2197         (latin_viscii_lower_to_ucs): New variable.
2198         (ucs_to_latin_viscii_lower): New variable.
2199         (Vcharset_latin_viscii_upper): New variable.
2200         (latin_viscii_upper_to_ucs): New variable.
2201         (ucs_to_latin_viscii_upper): New variable.
2202         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2203         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2204         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2205         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2206         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2207         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2208         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2209         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2210         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2211         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2212
2213         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2214         (Vcharset_latin_viscii_upper): New variable.
2215         (make_byte_from_character_table): New function.
2216         (put_byte_from_character_table): New function.
2217         (get_byte_from_character_table): New function.
2218         (CHAR96): New macro.
2219         (ucs_to_latin_jisx0201): New variable.
2220         (latin_jisx0201_to_ucs): New variable.
2221         (ucs_to_latin_iso8859_2): New variable.
2222         (latin_iso8859_2_to_ucs): New variable.
2223         (ucs_to_latin_iso8859_3): New variable.
2224         (latin_iso8859_3_to_ucs): New variable.
2225         (ucs_to_latin_iso8859_4): New variable.
2226         (latin_iso8859_4_to_ucs): New variable.
2227         (ucs_to_latin_iso8859_9): New variable.
2228         (latin_iso8859_9_to_ucs): New variable.
2229         (ucs_to_latin_viscii_lower): New variable.
2230         (latin_viscii_lower_to_ucs): New variable.
2231         (ucs_to_latin_viscii_upper): New variable.
2232         (latin_viscii_upper_to_ucs): New variable.
2233         (ucs_to_latin_tcvn5712): New variable.
2234         (latin_tcvn5712_to_ucs): New variable.
2235         (Qlatin_viscii_lower): New variable.
2236         (Qlatin_viscii_upper): New variable.
2237         (syms_of_mule_charset): Set up new symbol
2238         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2239         (complex_vars_of_mule_charset): Set up new charset
2240         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2241         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2242         `ucs_to_<CHARSET>' tables.
2243
2244 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2245
2246         * text-coding.c: New file.
2247
2248 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2249
2250         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2251
2252         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2253         (MAKE_CHAR): Modify for `ucs-bmp'.
2254         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2255         non-MULE characters of BMP.
2256
2257 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2258
2259         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2260         to 0.6.
2261
2262 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2263
2264         * lstream.h:
2265         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2266         - Include character.h for `CHAR_ASCII_P'.
2267
2268         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2269
2270         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2271         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2272
2273         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2274         (BYTE_C0_P): Likewise.
2275         (BYTE_C1_P): Likewise.
2276         (Lstream_get_emchar_1): Likewise.
2277         (Lstream_fput_emchar): Likewise.
2278         (Lstream_funget_emchar): Likewise.
2279         (copy_internal_to_external): Likewise.
2280         (copy_external_to_internal): Likewise.
2281
2282         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2283         (BYTE_C0_P): Likewise.
2284         (BYTE_C1_P): Likewise.
2285         (Lstream_get_emchar_1): Likewise.
2286         (Lstream_fput_emchar): Likewise.
2287         (Lstream_funget_emchar): Likewise.
2288         (copy_internal_to_external): Likewise.
2289         (copy_external_to_internal): Likewise.
2290
2291         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2292         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2293
2294         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2295         (BYTE_ASCII_P): Moved to mb-1byte.h.
2296
2297 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2298
2299         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2300
2301         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2302         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2303         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2304         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2305         (VALIDATE_CHARPTR_FORWARD): Likewise.
2306         (simple_charptr_emchar): Moved to mb-multibyte.h.
2307         (simple_set_charptr_emchar): Likewise.
2308         (simple_charptr_copy_char): Likewise.
2309         (non_ascii_charptr_emchar): Likewise.
2310         (non_ascii_set_charptr_emchar): Likewise.
2311         (non_ascii_charptr_copy_char): Likewise.
2312         (charptr_emchar): Moved to mb-*byte.h.
2313         (set_charptr_emchar): Likewise.
2314         (charptr_copy_char): Likewise.
2315
2316         * mb-1byte.h, mb-multibyte.h: New files.
2317
2318 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2319
2320         * mb-utf-8.h (MULTIBYTE): New macro.
2321         (MAX_EMCHAR_LEN): Moved from buffer.h.
2322         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2323
2324         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2325
2326         * mb-lb.h, multibyte.h: New files.
2327
2328         * char-1byte.h (Charset_ID): Moved from buffer.h.
2329         (MIN_LEADING_BYTE): Likewise.
2330         (LEADING_BYTE_ASCII): Likewise.
2331         (NUM_LEADING_BYTES): Likewise.
2332         (CHARSETP): Likewise.
2333         (CHARSET_BY_LEADING_BYTE): Likewise.
2334         (XCHARSET_LEADING_BYTE): Likewise.
2335         (XCHARSET_GRAPHIC): Likewise.
2336         (XCHARSET_COLUMNS): Likewise.
2337         (XCHARSET_DIMENSION): Likewise.
2338         (CHAR_CHARSET): Likewise.
2339         (CHAR_LEADING_BYTE): Likewise.
2340         (BREAKUP_CHAR): Likewise.
2341         (Vcharset_ascii): Likewise.
2342
2343         * buffer.h: Include multibyte.h unconditionally.
2344         (VALID_CHARPTR_P): Moved to multibyte.h.
2345         (ASSERT_VALID_CHARPTR): Likewise.
2346         (REAL_INC_CHARPTR): Likewise.
2347         (REAL_INC_CHARBYTIND): Likewise.
2348         (REAL_DEC_CHARPTR): Likewise.
2349         (INC_CHARPTR): Likewise.
2350         (INC_CHARBYTIND): Likewise.
2351         (DEC_CHARPTR): Likewise.
2352         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2353         (VALIDATE_CHARPTR_FORWARD): Likewise.
2354         (charptr_n_addr): Likewise.
2355         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2356         (simple_charptr_emchar): Moved to multibyte.h.
2357         (simple_set_charptr_emchar): Likewise.
2358         (simple_charptr_copy_char): Likewise.
2359         (non_ascii_charptr_emchar): Likewise.
2360         (non_ascii_set_charptr_emchar): Likewise.
2361         (non_ascii_charptr_copy_char): Likewise.
2362         (charptr_emchar): Likewise.
2363         (set_charptr_emchar): Likewise.
2364         (charptr_copy_char): Likewise.
2365         (charptr_emchar_n): Likewise.
2366         (Charset_ID): Moved to char-1byte.h.
2367         (Vcharset_ascii): Likewise.
2368         (CHAR_CHARSET): Likewise.
2369         (CHAR_LEADING_BYTE): Likewise.
2370         (LEADING_BYTE_ASCII): Likewise.
2371         (NUM_LEADING_BYTES): Likewise.
2372         (MIN_LEADING_BYTE): Likewise.
2373         (CHARSETP): Likewise.
2374         (CHARSET_BY_LEADING_BYTE): Likewise.
2375         (XCHARSET_LEADING_BYTE): Likewise.
2376         (XCHARSET_GRAPHIC): Likewise.
2377         (XCHARSET_COLUMNS): Likewise.
2378         (XCHARSET_DIMENSION): Likewise.
2379         (BREAKUP_CHAR): Likewise.
2380
2381 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2382
2383         * character.h: Add document about interface for characters.
2384
2385         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2386         (MAKE_CHAR): Delete comment about
2387         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2388         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2389         (BREAKUP_CHAR): Modify name of arguments.
2390         (CHAR_CHARSET): Modify name of argument.
2391
2392         * buffer.h: Delete document about Emchar accessors.
2393
2394 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2395
2396         * character.h (CHAR_INTP): Moved from buffer.h
2397         (CHAR_OR_CHAR_INTP): Likewise.
2398         (XCHAR_OR_CHAR_INT): Likewise.
2399         (CHECK_CHAR_COERCE_INT): Likewise.
2400
2401         * buffer.h (CHAR_INTP): Moved to character.h
2402         (CHAR_OR_CHAR_INTP): Likewise.
2403         (XCHAR_OR_CHAR_INT): Likewise.
2404         (CHECK_CHAR_COERCE_INT): Likewise.
2405
2406 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2407
2408         * character.h:
2409         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2410         - Include char-1byte.h, char-lb.h or char-ucs.h.
2411
2412         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2413
2414         * buffer.h: Include character unconditionally.
2415         (valid_char_p): Moved to char-*.h.
2416         (non_ascii_valid_char_p): Moved to char-lb.h.
2417
2418         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2419
2420 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2421
2422         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2423         in UTF-2000 because it is not ported yet and not to use
2424         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2425         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2426         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2427
2428         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2429         (CHAR_ASCII_P): Moved from character.h.
2430
2431         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2432         (CHAR_ASCII_P): Likewise.
2433         (CHAR_FIELD1_MASK): Deleted.
2434         (CHAR_FIELD2_MASK): Deleted.
2435         (CHAR_FIELD3_MASK): Deleted.
2436         (MAX_CHAR_BASIC_LATIN): New macro.
2437         (CHAR_FIELD1): Deleted.
2438         (CHAR_FIELD2_INTERNAL): Deleted.
2439         (CHAR_FIELD3_INTERNAL): Deleted.
2440         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2441         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2442         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2443         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2444         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2445         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2446         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2447         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2448         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2449         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2450         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2451         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2452         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2453         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2454         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2455         (MIN_CHAR_COMPOSITION): Deleted.
2456         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2457         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2458
2459 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2460
2461         * buffer.h: Include mb-utf-8.h in UTF-2000.
2462
2463         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2464
2465         * mb-utf-8.h: New file.
2466
2467 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2468
2469         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2470         instead of `int'.
2471
2472         * mule-charset.h, buffer.h (Charset_ID): New type.
2473
2474 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2475
2476         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2477         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2478         instead of `MULE_CHAR_PRIVATE_OFFSET',
2479         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2480         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2481         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2482
2483         * character.h (Vcharset_japanese_jisx0212): New variable
2484         definition.
2485
2486 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2487
2488         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2489         (charset_by_attributes): Delete array about direction.
2490         (latin_a_char_to_charset): New variable in UTF-2000.
2491         (latin_a_char_to_byte1): New variable in UTF-2000.
2492         (latin_a_char_to_byte2): New variable in UTF-2000.
2493         (Qucs_bmp): New variable.
2494         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2495         `Bufbyte'.
2496         (next_allocated_2_byte_leading_byte): Likewise.
2497         (non_ascii_set_charptr_emchar): Likewise.
2498         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2499         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2500         `charset_by_attributes'.
2501         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2502         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2503         and `CHARSET_BY_LEADING_BYTE'.
2504         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2505         `utf-2000-version' to `vars_of_mule_charset'.
2506         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2507         define `leading-code-private-11' in UTF-2000; move setting of
2508         `utf-2000-version' from `syms_of_mule_charset'.
2509         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2510         UTF-2000.
2511
2512         * character.h (Charset_ID): New type.
2513         (LEADING_BYTE_UCS_BMP): New macro.
2514         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2515         (CHARSET_ID_OFFSET_94): New macro.
2516         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2517         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2518         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2519         final-byte.
2520         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2521         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2522         (CHARSET_ID_OFFSET_96): New macro.
2523         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2524         CHARSET_ID_OFFSET_96 and final-byte.
2525         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2526         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2527         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2528         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2529         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2530         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2531         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2532         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2533         (LEADING_BYTE_THAI_TIS620): Likewise.
2534         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2535         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2536         (CHARSET_ID_OFFSET_94x94): New macro.
2537         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2538         CHARSET_ID_OFFSET_94x94 and final-byte.
2539         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2540         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2541         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2542         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2543         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2544         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2545         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2546         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2547         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2548         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2549         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2550         (CHARSET_TYPE_128X128): New macro.
2551         (CHARSET_TYPE_256X256): New macro.
2552         (XCHARSET_PRIVATE_P): Delete unconditionally.
2553         (charset_by_attributes): Delete array about direction.
2554         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2555         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2556         (MIN_CHAR_94): New macro.
2557         (MAX_CHAR_94): New macro.
2558         (MIN_CHAR_96): New macro.
2559         (MAX_CHAR_96): New macro.
2560         (MIN_CHAR_94x94): New macro.
2561         (MAX_CHAR_94x94): New macro.
2562         (MIN_CHAR_96x96): New macro.
2563         (MAX_CHAR_96x96): New macro.
2564         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2565         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2566         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2567         - 32)'.
2568         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2569         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2570         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2571         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2572         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2573         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2574         `XCHARSET_LEADING_BYTE' to make code-point.
2575         (latin_a_char_to_charset): New variable.
2576         (latin_a_char_to_byte1): New variable.
2577         (latin_a_char_to_byte2): New variable.
2578         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2579         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2580         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2581
2582         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2583         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2584         (find_charsets_in_emchar_string): Likewise.
2585         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2586
2587         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2588         `int'.
2589         (decode_coding_iso2022): Likewise.
2590
2591         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2592         of `unsigned char'.
2593
2594         * redisplay.c (redisplay_text_width_emchar_string): Use
2595         `Charset_ID' instead of `unsigned char'.
2596         (redisplay_frame_text_width_string): Likewise.
2597
2598         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2599         `unsigned char'.
2600
2601         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2602         instead of `unsigned char'.
2603         (face_cachel_charset_font_metric_info): Likewise.
2604
2605         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2606         (get_non_ascii_char_table_value): Likewise.
2607         (get_char_table): Likewise.
2608         (put_char_table): Likewise.
2609         (map_over_other_charset): Likewise.
2610         (map_char_table): Likewise.
2611
2612         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2613         instead of `unsigned char'.
2614
2615 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2616
2617         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2618         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2619
2620         * mule-charset.c (leading_code_private_11): Don't define in
2621         UTF-2000.
2622
2623         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2624         in UTF-2000 because it is not ported yet and not to use
2625         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2626
2627 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2628
2629         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2630
2631 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2632
2633         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
2634         in UTF-2000.
2635
2636         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
2637         of unsigned char to store leading-byte.
2638
2639         * chartab.c (get_non_ascii_char_table_value): Don't use
2640         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
2641
2642         * file-coding.c (encode_coding_big5): Delete bogus implementation
2643         in UTF2000.
2644
2645         * character.h (LEADING_BYTE_*): Delete definition for
2646         non-UTF-2000.
2647         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
2648         (LEADING_BYTE_PREFIX_P): Deleted.
2649         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
2650         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
2651         (BUFBYTE_LEADING_BYTE_P): Deleted.
2652         (CHARSET_PRIVATE_P): Deleted unconditionally.
2653         (rep_bytes_by_first_byte): Deleted unconditionally.
2654         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
2655         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
2656         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2657         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
2658         (CHAR_FIELD2): Deleted.
2659         (CHAR_FIELD3): Deleted.
2660         (MAKE_CHAR): Delete definition for non-UTF-2000.
2661         (BREAKUP_CHAR_1_UNSAFE): Deleted.
2662         (breakup_char_1): New implementation.
2663         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
2664         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
2665
2666 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2667
2668         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
2669         condition.
2670
2671 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2672
2673         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
2674         (CHARSET_PRIVATE_P): Likewise.
2675         (XCHARSET_PRIVATE_P): Likewise.
2676         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
2677
2678         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
2679         UTF2000.
2680         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
2681
2682 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2683
2684         * character.h (LEADING_BYTE_*): Changed in UTF2000.
2685         (NUM_LEADING_BYTES): Changed from 128 to 256.
2686         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2687         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
2688         UTF2000.
2689         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2690
2691         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
2692         UTF2000.
2693         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
2694         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
2695         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
2696         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
2697         (Qchinese_cns11643_3): New variable in UTF2000.
2698         (Qchinese_cns11643_4): New variable in UTF2000.
2699         (Qchinese_cns11643_5): New variable in UTF2000.
2700         (Qchinese_cns11643_6): New variable in UTF2000.
2701         (Qchinese_cns11643_7): New variable in UTF2000.
2702         (syms_of_mule_charset): Define `chinese-cns11643-3',
2703         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2704         and `chinese-cns11643-7' in UTF2000.
2705         (vars_of_mule_charset): Initialize
2706         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
2707         + 1 in UTF2000.
2708         (complex_vars_of_mule_charset): Setup charset
2709         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
2710         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
2711
2712 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2713
2714         * mule-charset.c: Move setting for `leading-code-private-11' from
2715         `syms_of_mule_charset' to `vars_of_mule_charset'.
2716
2717 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2718
2719         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
2720         and `NUM_LEADING_BYTES' in assert.
2721
2722 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2723
2724         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
2725         instead of 128.
2726         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
2727         `NUM_LEADING_BYTES' instead of 128.
2728
2729 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2730
2731         * mule-charset.h (charset_by_leading_byte): Use
2732         `NUM_LEADING_BYTES' instead of 128.
2733         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
2734
2735         * mule-charset.c (charset_by_leading_byte): Use
2736         `NUM_LEADING_BYTES' instead of 128.
2737         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
2738
2739         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
2740         128.
2741
2742 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2743
2744         * mule-charset.c (syms_of_mule_charset): Update to
2745         0.4 (Shin-Imamiya).
2746
2747 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
2748
2749         * file-coding.c (encode_coding_sjis): New implementation for
2750         UTF2000.  (decode_coding_sjis): Ditto.
2751
2752 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2753
2754         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
2755         Don't define in UTF2000.
2756
2757         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
2758         defined.
2759
2760         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2761         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
2762         MULE.
2763
2764 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2765
2766         * config.h.in (CHAR_IS_UCS4): New macro.
2767
2768         * mule-charset.c (rep_bytes_by_first_byte): Modify for
2769         conventional MULE representation.
2770         (syms_of_mule_charset): Update to 0.3 (Imamiya).
2771
2772         * mule-charset.h: Reverted to original.
2773
2774         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2775         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
2776         "mule-charset.h" if CHAR_IS_UCS4 is defined.
2777
2778         * character.h: New file.
2779
2780         * file-coding.c (Fmake_coding_system): Set 1 to
2781         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
2782         defined.
2783         (encode_coding_no_conversion): New implementation for UTF2000.
2784
2785         * file-coding.h (struct Lisp_Coding_System): Add new member
2786         `fixed.size'.
2787
2788 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
2789
2790         * file-coding.c (decode_coding_iso2022): Code-point arguments of
2791         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
2792         (encode_coding_iso2022): New implementation for UTF2000.
2793
2794 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2795
2796         * mule-canna.c (c2mu): New implementation for UTF2000.
2797         (m2c): Likewise.
2798
2799 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2800
2801         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
2802
2803 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2804
2805         * file-coding.c (reset_encoding_stream): Set 0 to
2806         `str->iso2022.current_char_boundary' in UTF2000.
2807         (encode_utf8): Don't define in UTF2000.
2808         (encode_coding_utf8): New implementation for UTF-8 representation
2809         of UTF2000.
2810         (complex_vars_of_file_coding): Define coding-system `utf-8'.
2811
2812 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2813
2814         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
2815
2816         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
2817         UTF2000.
2818         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2819
2820         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
2821
2822         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
2823         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
2824         as UTF-8 in UTF2000.
2825         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
2826         (non_ascii_valid_char_p): Don't define in UTF2000.
2827         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
2828         (Lstream_get_emchar_1): Likewise.
2829         (utf-2000-version): New variable in UTF2000.
2830
2831         * lread.c (read_escape): Add new reader `u'.
2832
2833         * insdel.c (three_to_one_table): Don't define in UTF2000.
2834         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
2835         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2836         UTF2000.
2837         (bytind_to_bufpos_func): Likewise.
2838         (buffer_mule_signal_inserted_region): Likewise.
2839         (vars_of_insdel): Don't initialize `three_to_one_table'.
2840         (init_buffer_text): Use `buf->text->mule_size' instead of
2841         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2842         UTF2000.
2843
2844         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
2845         UTF-8 representation in UTF2000.
2846         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
2847         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
2848         (decode_coding_iso2022): Don't define local variable `lb' in
2849         UTF2000; don't use LEADING_BYTE in UTF2000; use
2850         `DECODE_ADD_UCS_CHAR' in UTF2000.
2851         (convert_to_external_format): Decode as UTF-8 in UTF2000.
2852
2853         * config.h.in (UTF2000): New macro.
2854
2855         * buffer.h (struct buffer_text): Add new member `mule_size' and
2856         don't add `mule_shifter' and `mule_three_p' in UTF2000.
2857         (valid_char_p): Return always 1 in UTF2000.
2858         (MAX_EMCHAR_LEN): 6 in UTF2000.
2859         (three_to_one_table): Don't define in UTF2000.
2860         (real_bufpos_to_bytind): Modify for UTF-8 representation in
2861         UTF2000.
2862         (real_bytind_to_bufpos): Likewise.
2863
2864         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
2865
2866 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2867
2868         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
2869         representation change.
2870         (Vutf_2000_version): New variable.
2871         (leading_code_private_11): New variable.
2872         (syms_of_mule_charset): Add new variables `utf-2000-version' and
2873         `leading-code-private-11'.
2874
2875         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
2876         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
2877         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
2878         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
2879         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
2880         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
2881         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
2882         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
2883         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
2884         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
2885         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
2886         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
2887         (MIN_CHAR_GREEK): New macro.
2888         (MAX_CHAR_GREEK): New macro.
2889         (MIN_CHAR_CYRILLIC): New macro.
2890         (MAX_CHAR_CYRILLIC): New macro.
2891         (MIN_CHAR_HEBREW): New macro.
2892         (MAX_CHAR_HEBREW): New macro.
2893         (MIN_CHAR_THAI): New macro.
2894         (MAX_CHAR_THAI): New macro.
2895         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
2896         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
2897         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
2898         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
2899         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
2900         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
2901         (CHAR_FIELD2): New inline function.
2902         (CHAR_FIELD3): New inline function.
2903         (MULE_CHAR_PRIVATE_OFFSET): New macro.
2904         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
2905         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
2906         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
2907         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
2908         (MIN_CHAR_COMPOSITION): Likewise.
2909         (CHAR_LEADING_BYTE): Modified for character representation change.
2910         (MAKE_CHAR): Likewise.
2911
2912         * lisp.h (Vcharset_latin_iso8859_1): New variable.
2913         (Vcharset_greek_iso8859_7): Likewise.
2914         (Vcharset_cyrillic_iso8859_5): Likewise.
2915         (Vcharset_hebrew_iso8859_8): Likewise.
2916         (Vcharset_thai_tis620): Likewise.
2917         (Vcharset_katakana_jisx0201): Likewise.
2918
2919 2001-01-17  Martin Buchholz <martin@xemacs.org>
2920
2921         * XEmacs 21.2.41 "Polyhymnia" is released.
2922
2923 2001-01-16  Didier Verna  <didier@xemacs.org>
2924
2925         * glyphs.c (image_instantiate): don't use fallbacks when
2926         instantiating a face's background pixmap by inheritance.
2927
2928 2001-01-14  Mike Sperber <mike@xemacs.org>
2929
2930         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
2931         Conditionalize accordingly.
2932
2933 2001-01-16  Martin Buchholz  <martin@xemacs.org>
2934
2935         * dumper.c (pdump_file_get): Fix a compiler warning.
2936
2937 2001-01-15  Martin Buchholz  <martin@xemacs.org>
2938
2939         Make Purify happy when pdumping.
2940         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
2941         iniitalizing all bits of new lisp object memory.
2942         * symbols.c (Fmake_local_variable): Likewise.
2943         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
2944         * symbols.c (Fdefvaralias): Likewise.
2945         * mule-charset.c (vars_of_mule_charset): Likewise.
2946
2947 2001-01-15  Martin Buchholz  <martin@xemacs.org>
2948         Add the `-nd' flag when running pre-dump operations under the debugger.
2949         * .dbxrc (run-temacs): Add `-nd'.
2950         * .dbxrc (update-elc): Likewise.
2951         * .dbxrc (dump-temacs): Likewise.
2952         * .gdbinit (run-temacs): Likewise.
2953         * .gdbinit (check-temacs): Likewise.
2954         * .gdbinit (update-elc): Likewise.
2955         * .gdbinit (dump-temacs): Likewise.
2956
2957 2001-01-14  Martin Buchholz  <martin@xemacs.org>
2958
2959         Allow building 64-bit executables on AIX with GNU malloc, e.g.
2960         export OBJECT_MODE=64
2961         configure --pdump --use-union-type=no
2962         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
2963         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
2964
2965         * miscplay.c (sndcnv8U_2mono):
2966         Avoid two uses of `++' in the same expression.
2967         Suppresses a GCC warning.
2968
2969 2001-01-13  Martin Buchholz  <martin@xemacs.org>
2970
2971         Make sure future compilers don't miscompile alloc.c.
2972         * alloc.c:
2973         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
2974         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
2975
2976 2001-01-12  Martin Buchholz  <martin@xemacs.org>
2977
2978         * dumper.c: A little post-pdump-rename comment fixup.
2979
2980 2001-01-09  Jerry James  <james@eecs.ku.edu>
2981
2982         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
2983
2984 2001-01-13  Martin Buchholz  <martin@xemacs.org>
2985
2986         * *.[ch]: Globally rename symbols using the following `pdump-rename'
2987         script:
2988         #!/bin/sh
2989         replace_symbol () {
2990           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
2991         }
2992
2993         replace_symbol pdump_wire_lists pdump_weak_object_chains
2994         replace_symbol pdump_wire_list dump_add_weak_object_chain
2995
2996         replace_symbol pdump_wires pdump_root_objects
2997         replace_symbol pdump_wire dump_add_root_object
2998
2999         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3000         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3001
3002         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3003         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3004         replace_symbol dumpstructinfo pdump_root_struct_ptr
3005         replace_symbol dumpstruct dump_add_root_struct_ptr
3006
3007         replace_symbol dumpopaque dump_add_opaque
3008         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3009         replace_symbol dumpopaqueinfos pdump_opaques
3010         replace_symbol dumpopaqueinfo pdump_opaque
3011
3012         replace_symbol nb_structdump nb_root_struct_ptrs
3013         replace_symbol nb_opaquedump nb_opaques
3014
3015         replace_symbol align_table pdump_align_table
3016         replace_symbol dump_header pdump_header
3017
3018         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3019         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3020
3021
3022 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3023
3024         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3025         optimizing bytecount_to_charcount().
3026
3027 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3028
3029         * config.h.in:
3030         (HAVE_DLFCN_H): Removed.
3031         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3032
3033 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3034
3035         Portable dumper maintainability improvements.
3036         * alloc.c (staticpro):
3037         * alloc.c (staticpro_nodump):
3038         * alloc.c (garbage_collect_1):
3039         * alloc.c (reinit_alloc_once_early):
3040         * alloc.c (init_alloc_once_early):
3041         * alloc.c: Move dumper functions to alloc.c.
3042         * dumper.c (pdump_backtrace):
3043         * dumper.c (pdump_dump_structs):
3044         * dumper.c (pdump_dump_opaques):
3045         * dumper.c (pdump_dump_rtables):
3046         * dumper.c (pdump_dump_wired):
3047         * dumper.c (pdump):
3048         * dumper.c (pdump_load_check):
3049         * dumper.c (pdump_load_finish):
3050         * dumper.c (pdump_file_unmap):
3051         * dumper.c (pdump_file_get):
3052         * dumper.c (pdump_resource_free):
3053         * dumper.c (pdump_resource_get):
3054         * dumper.c (pdump_file_free):
3055         * dumper.c (pdump_file_try):
3056         * dumper.c (pdump_load):
3057         Remove fixed size limits on staticpro(), staticpro_nodump(),
3058         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3059         Remove custom code for dumping lrecord_implementations_table - use
3060         dumpopaque instead.
3061         Remove (most of the) custom code for dumping staticpros - dump it
3062         like any other dynarr.
3063
3064         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3065         * dumper.c: Moved functions from alloc.c.
3066         * alloc.c (dumpstruct): Moved to dumper.c.
3067         * alloc.c (dumpopaque): Likewise.
3068         * alloc.c (pdump_wire): Likewise.
3069         * alloc.c (pdump_wire_list): Likewise.
3070
3071         * lisp.h (Dynarr_sizeof): New.
3072         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3073         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3074         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3075
3076         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3077         * lisp.h (dumpopaque): ditto.
3078         * lisp.h (pdump_wire): ditto.
3079         * lisp.h (pdump_wire_list): ditto.
3080
3081 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3082
3083         * make-src-depend (PrintPatternDeps):
3084         Use `sort' to make output independent of perl version.
3085
3086 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3087
3088         Port to Netbsd 1.5.
3089         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3090         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3091
3092 2001-01-03  Didier Verna  <didier@xemacs.org>
3093
3094         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3095         that `focus_frame' is alive before thinking of calling
3096         `redisplay_redraw_cursor' on it.
3097
3098 2001-01-08  Martin Buchholz <martin@xemacs.org>
3099
3100         * XEmacs 21.2.40 is released.
3101
3102 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3103
3104         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3105
3106 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3107
3108         * alloc.c (dbg_valmask): Make const.
3109         * alloc.c (dbg_typemask): Make const.
3110         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3111         * alloc.c (dbg_valbits): Make const.
3112         * alloc.c (dbg_gctypebits): Make const.
3113
3114 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3115
3116         * redisplay-x.c (x_bevel_area):
3117         redisplay.h (struct rune):
3118         Typo fixes in comments.
3119
3120 2001-01-05  Andy Piper  <andy@xemacs.org>
3121
3122         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3123         adjustment.
3124
3125         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3126
3127 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3128
3129         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3130
3131         * mule-ccl.c (stack_idx_of_map_multiple):
3132         Non const global data must not be initialized!
3133         Found by MIYASHITA Hisashi.
3134
3135 2001-01-02  Andy Piper  <andy@xemacs.org>
3136
3137         * frame.c (change_frame_size): make sure frame size is always
3138         marked as changed.
3139
3140         * glyphs.c (image_instance_layout): minor code reuse.
3141
3142         * window.c (Fcurrent_window_configuration): revert previous
3143         change.
3144
3145 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3146
3147         * glyphs.h:
3148         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3149
3150 2000-12-31  Andy Piper  <andy@xemacs.org>
3151
3152         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3153         when widget gets unmapped.
3154
3155         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3156         function. Make sure widgets losing focus don't just drop it.
3157         (handle_focus_event_1): record the widget with focus.
3158
3159 2000-12-31  Andy Piper  <andy@xemacs.org>
3160
3161         * window.c (allocate_window): use
3162         make_image_instance_cache_hash_table.
3163         (make_dummy_parent): ditto.
3164         (Fset_window_configuration): ditto.
3165
3166         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3167
3168         * glyphs.c (process_image_string_instantiator): use
3169         INSTANTIATOR_TYPE.
3170         (get_image_instantiator_governing_domain): ditto.
3171         (normalize_image_instantiator): ditto.
3172         (instantiate_image_instantiator): ditto.
3173         (make_image_instance_1): ditto.
3174         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3175         (instantiator_eq_equal): new function for use with instance hash
3176         tables.
3177         (instantiator_eq_hash): ditto.
3178         (make_image_instance_cache_hash_table): create a suitable hash
3179         table for storing image instances.
3180
3181         * elhash.h (hash_table_weakness): new internal weakness type
3182         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3183         declare new functions.
3184
3185         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3186         another weakness type for glyphs.
3187         (make_standard_lisp_hash_table): new function split out from
3188         make_general_lisp_hash_table.
3189         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3190         (hash_table_instantiate): ditto.
3191         (Fmake_hash_table): ditto.
3192
3193 2000-12-31  Martin Buchholz <martin@xemacs.org>
3194
3195         * XEmacs 21.2.39 is released.
3196
3197 2000-12-29  Andy Piper  <andy@xemacs.org>
3198
3199         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3200
3201         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3202         the frame has changed so that we pick up geometry changes such as
3203         menubar visibility.
3204
3205 2000-12-28  Andy Piper  <andy@xemacs.org>
3206
3207         * lastfile.c (my_ebss): make a char array so we can pad the
3208         bss. Fixes cygwin unexec.
3209
3210         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3211
3212 2000-12-26  Andy Piper  <andy@xemacs.org>
3213
3214         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3215         comments and try and be more precise about a non-/SIGIO world.
3216         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3217         SIGIO.
3218
3219         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3220         we don't normalize to zero width or height.
3221
3222 2000-12-24  Andy Piper  <andy@xemacs.org>
3223
3224         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3225
3226 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3227
3228         * s/sco5.h: SCO 5 has pty support.
3229
3230 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3231
3232         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3233         input-method-xlib.c contains whole contents of input-method-xfs.c,
3234         so we can use input-method-xlib.c's code for USE_XFONTSET
3235         using #ifdefs.
3236         * input-method-xfs.c: removed.
3237
3238 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3239
3240         * file-coding.h (enum coding_category_type): reorder enumerators to
3241         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3242         (now one greater than largest real coding_category_type enumerator).
3243         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3244         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3245         Fcoding_category_list, Fset_coding_priority_list,
3246         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3247         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3248
3249 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3250
3251         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3252         * redisplay-output.c (redisplay_output_window): Clear top of window
3253         when face is changed.
3254         * redisplay-x.c (x_redraw_exposed_window): Call
3255         redisplay_clear_top_of_window.
3256         * redisplay.h: Publish redisplay_clear_top_of_window.
3257
3258 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3259
3260         * buffer.c (Fkill_buffer): Map over all devices.
3261         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3262         (list_windows): New function.
3263         (list_all_windows): Ditto.
3264         (Freplace_buffer_in_windows): Use them.
3265
3266 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3267
3268         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3269         (Fopen_database): Use `db_create' instead of `db_open'.
3270         (syms_of_database): Initialize Qqueue.
3271
3272 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3273
3274         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3275         buffer_local_face_property.
3276         * buffer.h (struct buffer): New member buffer_local_face_property.
3277         * window.c (Fset_window_buffer):  Mark window's face as changed
3278         when buffer has buffer local face.
3279         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3280         * objects.c (color_after_change): Set buffer_local_face_property
3281         when locale of face specifier is buffer.
3282         * objects.c (font_after_change): Ditto.
3283         * objects.c (face_boolean_after_change): Ditto.
3284         * glyphs.c (image_after_change): Ditto.
3285
3286 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3287
3288         * nt.c (mswindows_fstat): Report file permissions, volume serial
3289         number, etc. Code adapted from FSF Emacs 20.7.
3290
3291 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3292
3293         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3294         of stat when we don't have symbolic links, to make sure
3295         mswindows_stat is called on mswindows.
3296
3297 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3298
3299         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3300
3301 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3302
3303         * doprnt.c (emacs_doprnt_1): More printing fixes.
3304         Make printing of numbers compatible with libc and FSF Emacs.
3305         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3306         Use the system printf to do most of the hard work of formatting,
3307         instead of doprnt_1().
3308         Calculate memory to allocate for format string.
3309         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3310         (doprnt_1): Cleaner code and documentation.
3311
3312 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3313
3314         * Makefile.in.in: Use the loop variable to install headers.
3315
3316 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3317
3318         * window.c (Fsplit_window): Don't invalidate face cache.
3319
3320 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3321
3322         * minibuf.c (Fall_completions): Undo the previous change
3323         which removed checking elements start with space.
3324
3325 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3326
3327         * mule-canna.c: Didier suppression.
3328
3329 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3330
3331         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3332         (warning suppression).  Add English comment translations.
3333
3334 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3335
3336         * unexelfsgi.c (unexec): Better test for mmap failure.
3337
3338 2000-12-05  Martin Buchholz <martin@xemacs.org>
3339
3340         * XEmacs 21.2.38 is released.
3341
3342 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3343
3344         * redisplay.c (bar-cursor): Make a user variable.
3345
3346         * symsinit.h: Add init_postgresql_from_environment.
3347
3348 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3349
3350         * regex.c: Convert to clean C.
3351
3352 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3353
3354         * realpath.c:
3355         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3356         initialization.
3357         (sys_readlink): renamed to system_readlink to avoid conflict with
3358         the other sys_readlink.
3359
3360 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3361
3362         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3363
3364 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3365
3366         * postgresql.c (init_postgresql_from_environment): new function.
3367         (vars_of_postgresql): Move code initializing Lisp variables out and
3368         into init_postgresql_from_environment.
3369         emacs.c (main_1): Call init_postgresql_from_environment if and only
3370         if running a dumped XEmacs.
3371
3372 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3373
3374         * buffer.c: Make find-file-compare-truenames default to true on
3375         windows.
3376
3377         * realpath.c (win32_abs_start):
3378         (cygwin_readlink):
3379         (win32_readlink): New functions.
3380         (xrealpath): Return really real filenames on windows.
3381
3382         * fileio.c (Ffile_truename): Make file-truename work on windows.
3383
3384 2000-11-29  Didier Verna  <didier@xemacs.org>
3385
3386         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3387         * faces.c (update_face_cachel_data): use it.
3388         * faces.c (add_face_cachel): use it. Complete background pixmap
3389         frobbing in face cache if `update_face_cachel_data' has not done so.
3390
3391 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3392
3393         * search.c (string_match_1): Don't set last_thing_searched
3394         when search failed.
3395
3396 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3397
3398         * buffer.c: Include casetab.h
3399         (common_init_complex_vars_of_buffer): Use new case-table object.
3400         * buffer.h: Include casetab.h
3401         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3402         (DOWNCASE_TABLE_OF): Ditto.
3403         * bufslots.h: Remove char-tables and add case-table.
3404         * casetab.c: Include casetab.h
3405         (CASE_TABLE_P): Removed.
3406         (mark_case_table): New function.
3407         (allocate_case_table): New function.
3408         (Fcase_table_p): Use new case-table.
3409         (case_table_char): New function.
3410         (Fget_case_table): Ditto.
3411         (Fput_case_table): Ditto.
3412         (Fput_case_table_pair): Ditto.
3413         (Fcopy_case_table): Ditto.
3414         (Fcurrent_case_table): Return case-table.
3415         (Fstandard_case_table): Return case-table.
3416         (Fset_case_table): Fix doc-string.
3417         (set_case_table): Use case-table
3418         (syms_of_casetab): DEFSUBR new functions.
3419         (complex_vars_of_casetab): Set up standard case-table.
3420         * casetab.h: New file.
3421         * editfns.c: Include casetab.h
3422         (Fcompare_buffer_substrings): Use case-table.
3423         * inline.c: Include casetab.h
3424         * lisp.h: Remove bogus extern.
3425         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3426         * search.c: Include casetab.h
3427         (TRANSLATE_ASCII): Removed.
3428         (TRANSLATE): Unconditionally translate character.
3429         (looking_at_1): Use case-table.
3430         (string_match_1): Ditto.
3431         (fast_string_match): Ditto.
3432         (search_command): Ditto.
3433         (search_buffer): Separate boyer_moore.  Check whether
3434         boyer_moore is poosible.
3435         (simple_search): New function.
3436         (boyer_moore): Separated from search_buffer. Translate char.
3437
3438 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3439
3440         * regex.c (RE_TR_ASCII): Removed.
3441         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3442         (PATFETCH): Call PATFETCH_RAW.
3443         (PATFETCH_RAW): Fetch Emchar.
3444         (PATUNFETCH): Decrement charptr.
3445         (GET_BUFFER_SPACE): Rename b to buf_end.
3446         (BUF_PUSH): Ditto.
3447         (BUF_PUSH_2): Ditto.
3448         (BUF_PUSH_3): Ditto.
3449         (EXTEND_BUFFER): Ditto.
3450         (SET_LIST_BIT): Ditto.
3451         (regex_compile): Ditto.  Translate non ASCII char.
3452         (compile_range): Ditto.
3453         (re_search_2): Ditto.
3454         (re_match_2_internal): Compare Emchar.
3455         (bcmp_translate): Ditto.
3456
3457 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3458
3459         * lisp.h (basic char/int typedefs):  comment improvement.
3460
3461 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3462
3463         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3464         unstomp inhibit_site_lisp.  Improve comments.
3465
3466 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3467
3468         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3469
3470 2000-11-28  Andy Piper  <andy@xemacs.org>
3471
3472         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3473         clipped display for windows in the gutter also.
3474         (redisplay_display_boxes_in_window_p): change semantics of return
3475         codes to be more intuitive.
3476
3477         * gutter.h: declare display_boxes_in_gutter_p.
3478
3479         * gutter.c (display_boxes_in_gutter_p): new function for
3480         redisplay.
3481
3482 2000-11-22  Andy Piper  <andy@xemacs.org>
3483
3484         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3485         autodetect domain.
3486
3487 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3488
3489         * callproc.c (Fold_call_process_internal):
3490         * gpm.c (Freceive_gpm_event):
3491         (tty_get_foreign_selection): Might be just warning supression.
3492         * fileio.c (Fwrite_region_internal):
3493         (Fset_visited_file_modtime):
3494         * keymap.c (event_matches_key_specifier_p):
3495         Initialize GCPROed variable.
3496
3497         * menubar-x.c (command_builder_find_menu_accelerator):
3498         Initialize before use.
3499
3500 2000-11-23  Andy Piper  <andy@xemacs.org>
3501
3502         * unexcw.c (unexec): make the resulting executable executable.
3503
3504 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3505
3506         * doc.c (get_doc_string):
3507         Use size_t, not int, for result of XSTRING_LENGTH.
3508
3509         * cmds.c (Fdelete_char):
3510         * cmds.c (Fpoint_at_eol):
3511         * cmds.c (Fself_insert_command):
3512         Use EMACS_INT, not int, for result of XINT.
3513         Someday, someone will want to insert more than 2**31 identical characters.
3514
3515         * cmds.c (Fdelete_char):
3516         * cmds.c (Fdelete_backward_char):
3517         * syntax.c (Fforward_word):
3518         * syntax.c (Fforward_comment):
3519         Make COUNT argument optional, for consistency with forward-char et al.
3520
3521 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3522
3523         * lisp.h:
3524         * print.c (long_to_string):
3525         Return a useful value: the pointer at end of data written.
3526
3527         * doprnt.c:
3528         Use `static const char * const' for constant strings.
3529         (union printf_arg): Delete `i', `ui' members.
3530         (get_doprnt_args):
3531         (emacs_doprnt_1):
3532         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3533         Do all printf-ing via the `l' specifier.
3534         Use EMACS_INT instead of int.
3535         Optimize.
3536
3537 2000-11-20  Didier Verna  <didier@xemacs.org>
3538
3539         * faces.c (update_face_cachel_data): don't frob the background
3540         pixmap when the window is being created. The face is needed but
3541         does not exist yet.
3542
3543 2000-11-20  Andy Piper  <andy@xemacs.org>
3544
3545         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3546         messing with a debug environment.
3547
3548 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3549
3550         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3551
3552 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3553
3554         * casetab.c (Fcase_table_p): Fix compile error and crash.
3555
3556 2000-11-18  Philip Aston  <philipa@mail.com>
3557
3558         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3559
3560 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3561
3562         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3563         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3564
3565 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3566
3567         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3568         * unexelf.c: Use HAVE_ELF_H.
3569         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3570         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3571         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3572         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3573         for testing.
3574         So this is an unexelfsgi.c from a different line of development.
3575
3576 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3577
3578         * regex.c (RE_TR_ASCII): New function.
3579         (RE_TRANSLATE): Call it.
3580
3581 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3582
3583         * buffer.h (TRT_TABLE_OF): Remove assert.
3584         (IN_TRT_TABLE_DOMAIN): Removed.
3585
3586 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3587
3588         * free-hook.c (log_gcpro):
3589         (show_gcprohist): Add support for GCPRO5.
3590
3591 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3592
3593         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3594
3595 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3596
3597         * symeval.h: Declare flush_all_buffer_local_cache.
3598
3599         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3600         (flush_buffer_local_cache): Added.
3601         (flush_all_buffer_local_cache): Added.
3602
3603         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3604
3605         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3606         (pdump_dump_data): Ditto.
3607         (pdump_reloc_one): Ditto.
3608         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3609         before dumping.
3610
3611
3612 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3613
3614         * buffer.c: Remove if 0'ed entry.
3615         * buffer.h: Rewrite TRT to use char-table.
3616         * bufslots.h: Remove mirror tables.
3617         * casetab.c: Remove mirror tables.
3618         (CASE_TABLE_P): New macro.
3619         (Fcase_table_p): Element of a case table is string or char-table.
3620         (make_mirror_trt_table): Removed.
3621         (set_case_table): Setup char-table from strings for backward
3622         compatibility.
3623         * dired.c (Fdirectory_files):
3624         * dired-msw.c: (mswindows_get_files):
3625         * lisp.h: Change prototype of re_pattern_buffer.
3626         * regex.c: (RE_TRANSLATE): New macro.
3627         (TRANSLATE_P): Ditto.
3628         Change translate to type RE_TRANSLATE_TYPE.
3629         * regex.h: Define RE_TRANSLATE_TYPE
3630         * search.c (TRANSLATE): New macro.
3631         (TRANSLATE_ASCII): New macro.
3632         Translate table is changed to Lisp_Object.
3633         (signal_failure): Inhibit return.
3634
3635 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3636
3637         * device-msw.c:
3638         * eldap.c:
3639         * event-Xt.c:
3640         * event-stream.c:
3641         * print.c:
3642         Do UNGCPRO before return.
3643
3644 2000-11-14  Martin Buchholz <martin@xemacs.org>
3645
3646         * XEmacs 21.2.37 is released.
3647
3648 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3649
3650         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
3651         Add comments about discarded return value.
3652
3653 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3654
3655         * callint.c:
3656         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
3657
3658 2000-10-27  Andy Piper  <andy@xemacs.org>
3659
3660         * gutter.c (Fset_default_gutter_position): default left and right
3661         gutters to visible.
3662         (calculate_gutter_size): calculate resonable heuristic for left
3663         and right gutter sizes.
3664         (specifier_vars_of_gutter): change left and right gutter sizes to
3665         autodetect.
3666         (calculate_gutter_size_from_display_lines): new function.
3667         (output_gutter): check for resizing on left and right gutters.
3668         (clear_gutter): don't special case top and left gutters.
3669         (specifier_vars_of_gutter): use new signature for
3670         set_specifier_caching.
3671
3672         * glyphs-x.c (x_redisplay_widget): spelling fix.
3673         * glyphs.c (specifier_vars_of_glyphs):
3674         * menubar.c (specifier_vars_of_menubar):
3675         * redisplay.c (specifier_vars_of_redisplay):
3676         * toolbar.c (specifier_vars_of_toolbar):
3677         * window.c (specifier_vars_of_window):
3678         * scrollbar.c (specifier_vars_of_scrollbar):
3679         (complex_vars_of_scrollbar): use new signature for
3680         set_specifier_caching.
3681
3682         * specifier.c (set_specifier_caching): include recompute flag.
3683         (recompute_one_cached_specifier_in_window): always recompute if
3684         flag set.
3685         (recompute_one_cached_specifier_in_frame): ditto.
3686
3687         * specifier.h (struct specifier_caching): add recompute flag.
3688
3689 2000-10-24  Andy Piper  <andy@xemacs.org>
3690
3691         * unexcw.c (copy_executable_and_dump_data_section): add new
3692         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
3693         5.0 happy.
3694
3695 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3696
3697         * console-x.h (x_device): New member modifier_release_time.
3698         * event-Xt.c (x_handle_sticky_modifiers):
3699         Bound interval modifier keys are sticky.
3700         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
3701         * events.h: extern it.
3702
3703 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3704
3705         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
3706
3707 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3708
3709         * event-stream.c (execute_command_event): Preserve current_events
3710         and the like when event is misc-user-event.
3711         Inhibit quit during the call to maybe_echo_keys.
3712
3713 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
3714
3715         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
3716         symlink when buffer is killed.
3717         (inhibit_clash_detection): New variable.
3718
3719 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
3720
3721         * console.c (Fset_input_method): Trigger redisplay on tty.
3722
3723 2000-11-07  Martin Buchholz  <martin@xemacs.org>
3724
3725         * process.c (Fprocess_status): Revert to previous behavior:
3726         (process-status "nosuchprocess") ==> nil
3727
3728 2000-11-06  Martin Buchholz  <martin@xemacs.org>
3729
3730         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
3731         Work around another GCC 2.95.2 optimizer bug.
3732
3733 2000-11-02  Martin Buchholz  <martin@xemacs.org>
3734
3735         * process.c (Fget_process): Use LIST_LOOP_2.
3736         (kill_buffer_processes): Use LIST_LOOP_2.
3737
3738         * minibuf.c (Fall_completions):
3739         Delete old non-functional code for FSF fourth argument.
3740
3741         * frame.c (frame_matches_frame_spec):
3742         Renamed from `frame_matches_frametype'.  Update all callers.
3743         (device_matches_device_spec):
3744         Renamed from 'device_matches_console_spec'.  Update all callers.
3745
3746         * doc.c (Fsubstitute_command_keys):
3747         Remove buffer overflow crash.  Small code cleanups.
3748
3749         * casetab.c (check_case_table): Simpler code.
3750
3751         * window.c (Freplace_buffer_in_windows):
3752         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
3753         (and similar implementation) as Fdelete_windows_on.
3754         Update all callers.
3755
3756         * alloc.c (Fmake_list):
3757         * alloc.c (make_vector):
3758         * alloc.c (Fmake_vector):
3759         * alloc.c (make_bit_vector):
3760         * alloc.c (Fmake_bit_vector):
3761         * alloc.c (Fbit_vector):
3762         * alloc.c (Fmake_string):
3763         * alloc.c (Fpurecopy):
3764         * alloc.c (Fmemory_limit):
3765         * buffer.c:
3766         * buffer.c (Fget_buffer):
3767         * buffer.c (Fkill_buffer):
3768         * buffer.c (complex_vars_of_buffer):
3769         * bytecode.c (Fcompiled_function_stack_depth):
3770         * callint.c (Fprefix_numeric_value):
3771         * event-stream.c:
3772         * event-stream.c (Fread_key_sequence):
3773         * casetab.c:
3774         * casetab.c (Fcase_table_p):
3775         * casetab.c (check_case_table):
3776         * casetab.c (Fset_case_table):
3777         * casetab.c (Fset_standard_case_table):
3778         * chartab.c:
3779         * chartab.c (Fchar_table_type):
3780         * chartab.c (Freset_char_table):
3781         * chartab.c (Fget_char_table):
3782         * chartab.c (Fget_range_char_table):
3783         * chartab.c (Fput_char_table):
3784         * chartab.c (Fmap_char_table):
3785         * chartab.c (Fcategory_table_p):
3786         * chartab.c (Fcheck_category_at):
3787         * chartab.c (Fchar_in_category_p):
3788         * chartab.c (Fcategory_table):
3789         * chartab.c (Fcopy_category_table):
3790         * chartab.c (Fset_category_table):
3791         * chartab.c (Fcategory_designator_p):
3792         * chartab.c (Fcategory_table_value_p):
3793         * cmds.c (Fdelete_char):
3794         * cmds.c (Fdelete_backward_char):
3795         * cmds.c (Fself_insert_command):
3796         * cmds.c (Fself_insert_internal):
3797         * console.c (Fvalid_console_type_p):
3798         * console.c (Fcdfw_console):
3799         * console.c (Fconsole_type):
3800         * console.c (Fconsole_name):
3801         * console.c (Fconsole_device_list):
3802         * console.c (Fconsole_on_window_system_p):
3803         * data.c:
3804         * data.c (Feq):
3805         * data.c (Fold_eq):
3806         * data.c (Fsubr_interactive):
3807         * data.c (Fchar_to_int):
3808         * data.c (Fint_to_char):
3809         * data.c (Fsetcar):
3810         * data.c (Fsetcdr):
3811         * data.c (Fnumber_to_string):
3812         * data.c (Fstring_to_number):
3813         * data.c (Frem):
3814         * database.c (mark_database):
3815         * database.c (finalize_database):
3816         * database.c (Fdatabase_live_p):
3817         * database.c (Fdatabasep):
3818         * device-x.c (Fx_get_resource):
3819         * device.c (Fdfw_device):
3820         * dired.c:
3821         * dired.c (Ffile_name_completion):
3822         * dired.c (Ffile_name_all_completions):
3823         * dired.c (Fuser_name_completion):
3824         * dired.c (Fuser_name_completion_1):
3825         * dired.c (Fuser_name_all_completions):
3826         * doc.c (Fdocumentation):
3827         * doc.c (Fdocumentation_property):
3828         * doc.c (Fsubstitute_command_keys):
3829         * editfns.c:
3830         * editfns.c (Fchar_to_string):
3831         * editfns.c (Fstring_to_char):
3832         * editfns.c (Ftemp_directory):
3833         * editfns.c (Finsert_char):
3834         * editfns.c (Fbuffer_substring_no_properties):
3835         * editfns.c (Fnarrow_to_region):
3836         * editfns.c (Fchar_equal):
3837         * editfns.c (Fchar_Equal):
3838         * editfns.c (Ftranspose_regions):
3839         * emacs.c (Fdump_emacs):
3840         * eval.c (Fthrow):
3841         * eval.c (Fcommand_execute):
3842         * eval.c (Fautoload):
3843         * eval.c (Fbacktrace):
3844         * eval.c (Fbacktrace_frame):
3845         * events.c:
3846         * events.c (Fcopy_event):
3847         * events.c (Fcharacter_to_event):
3848         * events.c (Fevent_button):
3849         * events.c (Fevent_process):
3850         * extents.c:
3851         * extents.c (Fnext_extent_change):
3852         * extents.c (Fextent_property):
3853         * faces.c (Ffacep):
3854         * faces.c (Fmake_face):
3855         * file-coding.c:
3856         * file-coding.c (Fencode_shift_jis_char):
3857         * file-coding.c (Fencode_big5_char):
3858         * fileio.c (Ffile_name_directory):
3859         * fileio.c (Ffile_name_nondirectory):
3860         * fileio.c (Ffile_name_as_directory):
3861         * fileio.c (Fdirectory_file_name):
3862         * fileio.c (Ffile_truename):
3863         * fileio.c (Fsubstitute_in_file_name):
3864         * fileio.c (Ffile_modes):
3865         * fileio.c (Fset_file_modes):
3866         * fileio.c (Fset_default_file_modes):
3867         * fileio.c (Fverify_visited_file_modtime):
3868         * floatfns.c (Facos):
3869         * floatfns.c (Fasin):
3870         * floatfns.c (Fatan):
3871         * floatfns.c (Fcos):
3872         * floatfns.c (Fsin):
3873         * floatfns.c (Ftan):
3874         * floatfns.c (Fbessel_j0):
3875         * floatfns.c (Fbessel_j1):
3876         * floatfns.c (Fbessel_jn):
3877         * floatfns.c (Fbessel_y0):
3878         * floatfns.c (Fbessel_y1):
3879         * floatfns.c (Fbessel_yn):
3880         * floatfns.c (Ferf):
3881         * floatfns.c (Ferfc):
3882         * floatfns.c (Flog_gamma):
3883         * floatfns.c (Fexp):
3884         * floatfns.c (Fexpt):
3885         * floatfns.c (Flog):
3886         * floatfns.c (Flog10):
3887         * floatfns.c (Fsqrt):
3888         * floatfns.c (Fcube_root):
3889         * floatfns.c (Facosh):
3890         * floatfns.c (Fasinh):
3891         * floatfns.c (Fatanh):
3892         * floatfns.c (Fcosh):
3893         * floatfns.c (Fsinh):
3894         * floatfns.c (Ftanh):
3895         * floatfns.c (Fabs):
3896         * floatfns.c (Ffloat):
3897         * floatfns.c (Flogb):
3898         * floatfns.c (Fceiling):
3899         * floatfns.c (Ffloor):
3900         * floatfns.c (Fround):
3901         * floatfns.c (Ftruncate):
3902         * floatfns.c (Ffceiling):
3903         * floatfns.c (Fffloor):
3904         * floatfns.c (Ffround):
3905         * floatfns.c (Fftruncate):
3906         * fns.c (Fstring_equal):
3907         * fns.c (Fstring_lessp):
3908         * fns.c (concat2):
3909         * fns.c (concat3):
3910         * fns.c (vconcat2):
3911         * fns.c (vconcat3):
3912         * fns.c (Fsubstring):
3913         * fns.c (Fassoc):
3914         * fns.c (Fold_assoc):
3915         * fns.c (assoc_no_quit):
3916         * fns.c (Fassq):
3917         * fns.c (Fold_assq):
3918         * fns.c (assq_no_quit):
3919         * fns.c (Frassoc):
3920         * fns.c (Fold_rassoc):
3921         * fns.c (Frassq):
3922         * fns.c (Fold_rassq):
3923         * fns.c (rassq_no_quit):
3924         * fns.c (Fremassoc):
3925         * fns.c (remassoc_no_quit):
3926         * fns.c (Fremassq):
3927         * fns.c (remassq_no_quit):
3928         * fns.c (Fremrassoc):
3929         * fns.c (Fremrassq):
3930         * fns.c (remrassq_no_quit):
3931         * fns.c (Fsort):
3932         * fns.c (Fplist_get):
3933         * fns.c (Fplist_put):
3934         * fns.c (Fplist_remprop):
3935         * fns.c (Fplist_member):
3936         * fns.c (Flax_plist_get):
3937         * fns.c (Flax_plist_put):
3938         * fns.c (Flax_plist_remprop):
3939         * fns.c (Flax_plist_member):
3940         * fns.c (Fequal):
3941         * fns.c (Fold_equal):
3942         * fns.c (Frequire):
3943         * fns.c (Fbase64_encode_region):
3944         * fns.c (Fbase64_encode_string):
3945         * fns.c (Fbase64_decode_region):
3946         * frame.c:
3947         * frame.c (frame_matches_frame_spec):
3948         * frame.c (device_matches_device_spec):
3949         * frame.c (next_frame):
3950         * frame.c (previous_frame):
3951         * frame.c (Fnext_frame):
3952         * frame.c (Fprevious_frame):
3953         * frame.c (Fframe_property):
3954         * frame.c (Fset_frame_height):
3955         * frame.c (Fset_frame_size):
3956         * frame.h:
3957         * glyphs.c:
3958         * glyphs.c (if):
3959         * glyphs.c (decode_error_behavior_flag):
3960         * glyphs.c (Fmake_image_instance):
3961         * indent.c (Findent_to):
3962         * intl.c (Fignore_defer_gettext):
3963         * keymap.c (Fkeymapp):
3964         * keymap.c (Flookup_key):
3965         * lread.c:
3966         * lread.c (Fload_internal):
3967         * lread.c (Feval_buffer):
3968         * lread.c (Feval_region):
3969         * macros.c (Fexecute_kbd_macro):
3970         * marker.c (set_marker_internal):
3971         * marker.c (Fset_marker):
3972         * marker.c (set_marker_restricted):
3973         * marker.c (Fcopy_marker):
3974         * marker.c (noseeum_copy_marker):
3975         * menubar.c:
3976         * menubar.c (Fpopup_menu):
3977         * minibuf.c:
3978         * mule-charset.c (Fcharset_name):
3979         * mule-charset.c (Fchar_charset):
3980         * mule-charset.c (Fchar_octet):
3981         * mule-charset.c (Fsplit_char):
3982         * mule-wnnfns.c (Fwnn_open):
3983         * mule-wnnfns.c (Fwnn_dict_comment):
3984         * mule-wnnfns.c (Fwnn_quit_henkan):
3985         * mule-wnnfns.c (Fwnn_word_toroku):
3986         * mule-wnnfns.c (Fwnn_word_sakujo):
3987         * mule-wnnfns.c (Fwnn_word_use):
3988         * mule-wnnfns.c (Fwnn_hindo_set):
3989         * objects.c:
3990         * objects.c (Fmake_color_instance):
3991         * objects.c (Fmake_font_instance):
3992         * print.c (Fwrite_char):
3993         * process.c:
3994         * process.c (mark_process):
3995         * process.c (print_process):
3996         * process.c (get_process_from_usid):
3997         * process.c (Fprocessp):
3998         * process.c (Fprocess_live_p):
3999         * process.c (Fget_process):
4000         * process.c (Fget_buffer_process):
4001         * process.c (get_process):
4002         * process.c (Fprocess_id):
4003         * process.c (Fprocess_name):
4004         * process.c (Fprocess_command):
4005         * process.c (init_process_io_handles):
4006         * process.c (start_process_unwind):
4007         * process.c (Fstart_process_internal):
4008         * process.c (Fopen_multicast_group_internal):
4009         * process.c (Fset_process_window_size):
4010         * process.c (read_process_output):
4011         * process.c (send_process):
4012         * process.c (Fprocess_tty_name):
4013         * process.c (Fset_process_buffer):
4014         * process.c (Fprocess_buffer):
4015         * process.c (Fprocess_mark):
4016         * process.c (set_process_filter):
4017         * process.c (Fset_process_filter):
4018         * process.c (Fprocess_filter):
4019         * process.c (Fprocess_send_region):
4020         * process.c (Fprocess_send_string):
4021         * process.c (exec_sentinel):
4022         * process.c (Fset_process_sentinel):
4023         * process.c (Fprocess_sentinel):
4024         * process.c (status_notify):
4025         * process.c (Fprocess_status):
4026         * process.c (Fprocess_exit_status):
4027         * process.c (process_send_signal):
4028         * process.c (Fprocess_send_eof):
4029         * process.c (deactivate_process):
4030         * process.c (remove_process):
4031         * process.c (Fdelete_process):
4032         * process.c (kill_buffer_processes):
4033         * process.c (Fprocess_kill_without_query):
4034         * process.c (Fprocess_kill_without_query_p):
4035         * rangetab.c:
4036         * rangetab.c (Fget_range_table):
4037         * rangetab.c (Fput_range_table):
4038         * rangetab.c (Fremove_range_table):
4039         * rangetab.c (Fclear_range_table):
4040         * search.c:
4041         * search.c (Fskip_chars_forward):
4042         * search.c (Fskip_chars_backward):
4043         * search.c (Fskip_syntax_forward):
4044         * search.c (Fskip_syntax_backward):
4045         * search.c (search_command):
4046         * search.c (Freplace_match):
4047         * search.c (Fregexp_quote):
4048         * select.c (Fown_selection_internal):
4049         * select.c (Fselection_owner_p):
4050         * select.c (Fselection_exists_p):
4051         * select.c (Fget_selection_internal):
4052         * specifier.c:
4053         * symbols.c:
4054         * symbols.c (Fintern):
4055         * symbols.c (Fintern_soft):
4056         * symbols.c (Funintern):
4057         * symbols.c (Fapropos_internal):
4058         * symbols.c (Fset_default):
4059         * syntax.c:
4060         * syntax.c (Fsyntax_table_p):
4061         * syntax.c (Fcopy_syntax_table):
4062         * syntax.c (Fset_syntax_table):
4063         * syntax.c (Fchar_syntax):
4064         * syntax.c (syntax_match):
4065         * syntax.c (Fmatching_paren):
4066         * syntax.c (Fforward_word):
4067         * syntax.c (scan_lists):
4068         * syntax.c (Fscan_lists):
4069         * syntax.c (Fscan_sexps):
4070         * syntax.c (Fparse_partial_sexp):
4071         * toolbar.c (Fcheck_toolbar_button_syntax):
4072         * tooltalk.doc:
4073         * window.c:
4074         * window.c (Fwindowp):
4075         * window.c (Fwindow_live_p):
4076         * window.c (Fwindow_point):
4077         * window.c (Fdelete_window):
4078         * window.c (Fnext_window):
4079         * window.c (Fprevious_window):
4080         * window.c (Fother_window):
4081         * window.c (window_loop):
4082         * window.c (Fget_lru_window):
4083         * window.c (Fsplit_window):
4084         * window.c (Fenlarge_window):
4085         * window.c (Fenlarge_window_pixels):
4086         * window.c (Fshrink_window):
4087         * window.c (Fshrink_window_pixels):
4088         * window.c (change_window_height):
4089         * window.c (Fwindow_configuration_p):
4090         * window.c (Fcurrent_window_configuration):
4091         * window.h:
4092         * casefiddle.c (casify_object):
4093         * casefiddle.c (Fupcase):
4094         * casefiddle.c (Fdowncase):
4095         * casefiddle.c (Fcapitalize):
4096         * casefiddle.c (Fupcase_initials):
4097         * casefiddle.c (casify_region_internal):
4098         * casefiddle.c (casify_region):
4099         * casefiddle.c (Fupcase_region):
4100         * casefiddle.c (Fdowncase_region):
4101         * casefiddle.c (Fcapitalize_region):
4102         * casefiddle.c (Fupcase_initials_region):
4103         * casefiddle.c (Fupcase_word):
4104         * casefiddle.c (Fdowncase_word):
4105         * casefiddle.c (Fcapitalize_word):
4106         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4107         Replace 0 with '\0' when working with bytes.
4108         Replace initial "(" with "\(" in docstrings.
4109
4110 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4111
4112         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4113
4114         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4115
4116 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4117
4118         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4119
4120 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4121
4122         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4123         correctly.
4124
4125 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4126
4127         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4128         (inhibit_auto_save_session): New variable.
4129         (vars_of_fileio): Declare and initialize them.
4130         * fileio.c (Fdo_auto_save): Don't create session file if
4131         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4132
4133 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4134
4135         * sgiplay.c (play_internal): C++ compilability.
4136         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4137         * callproc.c (Fold_call_process_internal):
4138         Remove unused vars `env', `first'.
4139         * scrollbar.c (update_scrollbar_instance):
4140         #### unused var `current_window'.
4141         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4142         etc. within #ifdef NOT_YET.
4143         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4144         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4145         * specifier.c (specifier_instance):
4146         #### unused var `tag'.
4147         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4148
4149 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4150
4151         * fns.c (Fbutlast):
4152         * fns.c (list_sort):
4153         * fns.c (Ffillarray):
4154         * fns.c (bytecode_nconc2):
4155         * fns.c (Fnconc):
4156         * fns.c (mapcar1):
4157         * fns.c (Fmapconcat):
4158         Be pedantically 64-bit correct.  For the time when someone will
4159         want to have a list with length > 2**32.
4160
4161         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4162         Work around MIPSpro compiler bug.
4163
4164         * process-unix.c (unix_kill_child_process): Add snarky comment.
4165         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4166
4167         * config.h.in: Oops, _getpt ==> _getpty
4168
4169 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4170
4171         * config.h.in:
4172         * regex.c:
4173         Use void*, not char*, as return type of alloca().
4174
4175         * alloc.c (free_marker): Side effect inside assert expression!
4176
4177 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4178
4179         * mule-charset.c (Fset_charset_ccl_program): To check
4180         if the given ccl program is valid, use setup_ccl_program()
4181         instead of CHECK_VECTOR().
4182         (Fmake_charset): Likewise.
4183
4184 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4185
4186         * faces.c (get_extent_fragment_face_cache_index):
4187         Fix cachel.merged_faces memory leak.
4188
4189 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4190
4191         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4192         Reset MSB of octets obtained by DECODE_SJIS
4193         because of the incompatibility with Emacs.
4194         (ccl_driver)<CCL_ENCODE_SJIS>:
4195         Set MSB of octets before passing them to
4196         ENCODE_SJIS because of the incompatibility
4197         with Emacs.
4198
4199 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4200
4201         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4202         (DECLARE_LRECORD): Undo the last change.
4203         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4204
4205 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4206
4207         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4208         the implementation to lrecord_implementations_table.
4209
4210 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4211
4212         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4213         initial value of `lrecord_type_##c_name' and
4214         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4215         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4216         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4217         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4218         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4219
4220 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4221
4222         * miscplay.c (sndcnv8S_2mono):
4223         (sndcnv2monounsigned):
4224         (sndcnvULaw_2linear):
4225         (sndcnv16swap):
4226         Remove implementation-defined behavior.
4227
4228 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4229
4230         * input-method-xlib.c: Warning suppression.
4231
4232 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4233
4234         * mule-ccl.c: Sync up with Emacs 21.0.90.
4235         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4236         Do nothing.
4237         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4238         Likewise.
4239         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4240         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4241         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4242         leading char belongs to official 2-dimensional charset.
4243         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4244         write the given character as is.  Otherwise,
4245         if it is a multibyte char, convert it by
4246         non_ascii_set_charptr_emchar, then write it.
4247         (CCL_WRITE_STRING): Likewise.
4248         (ccl_get_compiled_code): New function.
4249         (setup_ccl_program): When ccl_prog is invalid,
4250         return -1.
4251         (Fregister_code_conversion_map): New function.
4252         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4253
4254         * mule-ccl.h: Sync up with Emacs 21.0.90.
4255         (Fregister_ccl_program): export it.
4256
4257         * redisplay-msw.c (separate_textual_runs):
4258         If ccl program is not valid, don't do ccl conversion.
4259
4260         * redisplay-x.c (separate_textual_runs): Ditto.
4261
4262         * file-coding.c (Fmake_coding_system):
4263         When type is ccl and value is vector, register it
4264         with a proper symbol.  And checks whether the
4265         given ccl program is valid.
4266         (mule_decode): When calling ccl_driver, if src indicates
4267         NULL pointer, set an empty string instead.
4268         (mule_encode): Likewise.
4269
4270 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4271
4272         The following large batch of changes gets us back to a state of
4273         C++ compilability.  Extbyte is now a char, which means that
4274         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4275
4276         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4277
4278         * sound.c (Fplay_sound): Type correctness.
4279
4280         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4281         (x_get_window_property): Type correctness.
4282         (receive_incremental_selection): unsigned char ==> Extbyte
4283         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4284         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4285         (Fx_store_cutbuffer_internal): Type correctness.
4286
4287         * process-unix.c (try_to_initialize_subtty): Type correctness.
4288
4289         * objects-x.c (x_print_color_instance): Type correctness.
4290         (x_print_font_instance): Type correctness.
4291         (x_list_fonts): SExtbyte ==> Extbyte.
4292         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4293         (x_find_charset_font): SExtbyte ==> Extbyte.
4294         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4295         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4296         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4297         Use bufbyte_strcmp.
4298
4299         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4300         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4301         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4302         (BYTE_C0_P): Use bit ops for char-signedness safety.
4303         (BYTE_C1_P): Use bit ops for char-signedness safety.
4304         (CHARSET_BY_LEADING_BYTE):
4305         (CHARSET_BY_ATTRIBUTES):
4306         Always use inline function.
4307         Use type_checking_assert.
4308         Hide chlook.
4309
4310         * mule-charset.c (non_ascii_charptr_copy_char):
4311         Modify to work with both ASCII and non-ASCII characters.
4312         Improve docs and variable names.
4313         Replace over-clever fall-through switch with a simple loop.
4314         (Lstream_get_emchar_1):
4315         Replace over-clever fall-through switch with a simple loop.
4316
4317         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4318         Warning suppression.
4319
4320         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4321         the return value of Lstream_getc, which could be EOF as well.
4322
4323         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4324
4325         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4326         APIs can be used on Extbytes without casts.  Risky!
4327         (SExtbyte): Remove.
4328         (UExtbyte): Remove.
4329
4330         * input-method-xlib.c (XIM_init_device):
4331         Use Xlib.h instead of IntrinsicP.h.
4332         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4333         which will break in X11R7.
4334         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4335         to call XRegisterIMInstantiateCallback with correct types.
4336
4337         * gui-x.c (button_item_to_widget_value): Type correctness.
4338
4339         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4340
4341         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4342         (xbm_instantiate_1): Type correctness.
4343         (BUILD_GLYPH_INST):  Type correctness.
4344
4345         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4346
4347         * file-coding.c:
4348         (decode_coding_sjis):
4349         (decode_coding_big5):
4350         (decode_coding_ucs4):
4351         (decode_coding_utf8):
4352         (decode_coding_iso2022):
4353         (decode_coding_no_conversion):
4354         Make all decoding functions take an Extbyte * arg.
4355         (encode_coding_sjis):
4356         (encode_coding_big5):
4357         (encode_coding_ucs4):
4358         (encode_coding_utf8):
4359         (encode_coding_iso2022):
4360         (encode_coding_no_conversion):
4361         Make all encoding functions take a Bufbyte * arg.
4362         Use size_t instead of unsigned int for memory sizes.
4363         Only cast to unsigned char whenever dereferencing Extbyte *.
4364
4365         * doc.c (unparesseuxify_doc_string): Type correctness.
4366
4367         * console-x.c (split_up_display_spec):
4368         Rewrite without using details of internal string representation.
4369         (x_semi_canonicalize_device_connection): Type correctness.
4370
4371         * config.h.in:
4372         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4373         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4374         (HAVE_XFREE386): Removed.
4375
4376         * buffer.h (DEC_CHARPTR): `const' correctness.
4377         (bufbyte_strcmp): New.
4378         (bufbyte_memcmp): New.
4379
4380         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4381
4382         * buffer.h (XCHAR_OR_CHAR_INT):
4383         Always use inline function.
4384         Remove redundant type checking assert() - XINT will abort quite nicely.
4385
4386 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4387
4388         * search.c (Freplace_match): Set newtext to an empty string.
4389
4390 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4391
4392         * s/decosf1-3.h: Remove #include of stropts.h
4393         * s/ptx.h: Remove #include of stropts.h
4394         * s/usg5-4.h: Remove #include of stropts.h
4395         * sysproc.h:
4396         * config.h.in:
4397         Use stropts.h, not sys/stropts.h.
4398         Use strtio.h, not sys/strtio.h.
4399
4400 2000-10-04  Martin Buchholz <martin@xemacs.org>
4401
4402         * XEmacs 21.2.36 is released.
4403
4404 2000-09-21  Andy Piper  <andy@xemacs.org>
4405
4406         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4407         changes still involve copying the widget tree.
4408         (update_widget_face): make sure a change is register in the widget
4409         tree. Call update_tab_widget_face appropriately.
4410         (update_tab_widget_face): ditto.
4411         (x_tab_control_redisplay): make sure non-structural changes still
4412         involve copying the widget tree.
4413
4414 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4415
4416         * lread.c (locate_file): Check the path element is non-nil.
4417
4418 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4419
4420         * lisp.h: Warning suppression for SCO compilers.
4421
4422         * redisplay-tty.c (reset_tty_modes): Fix crash.
4423         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4424
4425 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4426
4427         Big signal/process handling overhaul.  Bugs fixed:
4428         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4429         M-x comint-kill-subjob should work for both values nil and t of
4430         process-connection-type. It was broken on most platforms.
4431         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4432         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4433         * process-unix.c: Signal/Process handling overhaul.
4434         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4435         (allocate_pty): Use all available modern methods of allocating
4436         ptys, falling back to old style BSD allocation as a last resort.
4437         Use allegedly more secure Unix98 pty allocation by default.
4438         (allocate_pty_the_old_fashioned_way): New. the last resort.
4439         (unix_create_process): Push ptem, ldterm, ttcompat where
4440         available.  Autoconfiscate.
4441         (try_to_initialize_subtty): New.
4442         (unix_kill_child_process): Proper signal handling for ptys on most
4443         platforms, using special knowledge of AIX, BSD, etc...
4444         (unix_create_process): Always disconnect_controlling_terminal() for
4445         subprocesses, whether using ptys or not.
4446         * process.h: Remove old getpt-dependent PTY code.
4447         * process.c (Fprocess_send_signal): New, obvious generic function.
4448         (decode_signal): New.
4449         (Finterrupt_process):
4450         (Fkill_process):
4451         (Fquit_process):
4452         (Fstop_process):
4453         (Fcontinue_process):
4454         (Fsignal_process): Use decode_signal.
4455         (process_send_signal):
4456         Many docstring corrections.
4457         Allow any signal to be sent to a process object.
4458         * config.h.in: Add symbols for big signal/process overhaul.
4459         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4460         * sysproc.h: Include process-related headers, where available:
4461         sys/stropts.h sys/strtio.h pty.h libutil.h
4462         * s/irix4-0.h:
4463         * s/irix5-0.h:
4464         * s/cygwin32.h:
4465         * s/gnu.h:
4466         * s/linux.h:
4467         * s/hpux.h:
4468         * s/aix3-1.h:
4469         Remove old S&M pty stuff.
4470         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4471         * systty.h: Simplify cpp hackery, improve comments.
4472         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4473
4474         * editfns.c (Fformat_time_string):
4475         Be a little more paranoid with the return value of ctime.
4476
4477         * fileio.c (check_executable):
4478         (check_writable):
4479         Use symbolic constants X_OK, W_OK.
4480
4481         * console-x.c (split_up_display_spec): Fix a warning.
4482
4483 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4484
4485         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4486         * ntproc.c (sys_spawnve): make_string ==> build_string
4487         Small clarity improvements.
4488
4489 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4490
4491         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4492
4493         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4494
4495         * config.h.in (HAVE_STRCASECMP): Remove.
4496
4497 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4498
4499         * redisplay-output.c (redisplay_output_pixmap):
4500         Cleaner and possibly more 64-bit correct code.
4501
4502 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4503
4504         * dumper.c (pdump_load_finish): move restoration of
4505         `noninteractive1' to emacs.c (main_1).
4506         * emacs.c (main_1): protect LISP-visible command-line flags
4507         from pdump_load().
4508
4509 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4510
4511         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4512         DUMP_TARGET instead of literal program names.
4513
4514 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4515
4516         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4517
4518 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4519
4520         * *: Spelling mega-patch
4521
4522 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4523
4524         * fns.c (bad_bad_turtle):
4525         Delete "Eek!" comment, since we fixed the bug to which it refers.
4526
4527 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4528
4529         * alloca.c: Replace REGISTER with register.
4530
4531 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4532
4533         * file-coding.c (ucs_to_char): Use countof.
4534
4535 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4536
4537         * file-coding.c: (ucs_to_char):
4538         (complex_vars_of_file_coding):
4539         Use countof instead of sizeof.
4540         Use CHECK_NATNUM instead of CHECK_INT.
4541
4542         * sysdep.c (strcasecmp): Remove.
4543         * device-x.c (ascii_strcasecmp): New.
4544         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4545         Avoid using non-standard non-portable strcasecmp.
4546
4547 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4548
4549         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4550         * font-lock.c: remove reference to emacsfns.h.
4551         * search.c: small doc improvement.
4552         * event-Xt.c: correct file names in comments.
4553         * console-x.h Correct file names in comments.
4554         * frame.c: Correct file names in comments.
4555         * event-stream.c: remove Energize from comments.
4556
4557 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4558
4559         * symeval.h (DEFERROR_STANDARD):
4560         (DEFERROR):
4561         (DEFSYMBOL):
4562         (DEFSYMBOL_NO_DUMP):
4563         (DEFSYMBOL_MULTIWORD_PREDICATE):
4564         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4565         (DEFKEYWORD):
4566         The construct &##name is not sensible C.
4567         Fixes compilation errors with Unixware native compiler.
4568
4569 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4570
4571         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4572         (next_frame_internal): Removed.  We now just have next_frame.
4573         (next_frame):
4574         Write a simpler and cleaner one-pass algorithm.
4575         Remove called_from_delete_device arg and #ifdefed-out code.
4576         (previous_frame):
4577         Renamed from prev_frame.  Update callers.
4578         Cleaned up to have an analogous implementation to next_frame.
4579         (other_visible_frames_internal): Remove the
4580         called_from_delete_device bogus arg, and hence, remove this
4581         function.  Just use other_visible_frames().
4582
4583         * window.c (Fnext_window):
4584         Prettify docstring.
4585         Since next_frame() is guaranteed to return a frame, remove check
4586         for nil inserted in previous patch.
4587         (Fprevious_window):
4588         Prettify docstring.
4589         Make code look more like Fnext_window.
4590         (window_loop):
4591         Respect the `console' arg when iterating through windows.
4592         Fixes bug: (get-buffer-window buffer t device) not respecting
4593         the `device' arg.
4594         This function needs more work, as others have pointed out.
4595
4596         * frame.h: Rename prev_frame to previous_frame.
4597         device_matches_console_spec no longer takes a `frame' arg.
4598
4599         * s/gnu.h:
4600         * s/linux.h:
4601         * s/hpux.h:
4602         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4603         From "Golubev I. N." <gin@mo.msk.ru>.
4604
4605         * make-src-depend: Fix typo.
4606
4607 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4608
4609         * window.c (Fnext_window):
4610         next_frame() might return nil, not a frame.
4611         Fixes this crash:
4612         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4613
4614         * frame.c (next_frame_internal):
4615         We've passed a frame if we've passed its device.
4616         Fixes this crash:
4617         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4618 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4619
4620 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4621
4622         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4623         Allow option to suppress accelerators in menu/dialog items.
4624         (populate_or_checksum_helper): Pass dialog title through above.
4625
4626 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4627
4628         * event-msw.c (mswindows_key_to_emacs_keysym):
4629         Add "pause" key, fix "menu" key.
4630
4631 2000-09-09  Martin Buchholz  <martin@xemacs.org>
4632
4633         * eval.c (reinit_vars_of_eval):
4634         Increase max_lisp_eval_depth to 1000,
4635         required for thai-xtis.el to byte-compile under some circumstances.
4636
4637 2000-09-04  Martin Buchholz  <martin@xemacs.org>
4638
4639         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
4640         From Kenichi Handa.
4641
4642 2000-09-01  Martin Buchholz  <martin@xemacs.org>
4643
4644         * make-src-depend: Make the generated Makefiles smaller.
4645
4646         * s/hpux.h (SETUP_SLAVE_PTY):
4647         Provide a %d in the format string for the errno argument.
4648
4649         * editfns.c (Ftemp_directory):
4650         Warning fix.
4651         Avoid buffer overrun on very long file name.
4652
4653         * input-method-xlib.c (XIM_init_device):
4654         6th parameter of XRegisterIMInstantiateCallback has different
4655         pointer types on different OSes, so simply cast to (void *).
4656
4657         * unexhp9k800.c: Warning fixes.  Fiddly changes.
4658
4659         * sysdll.c (dll_open):
4660         shl_load will hang hard if passed a NULL filename.
4661         Simply return NULL for compatibility with dlopen.
4662         * sysdll.c: Conform to XEmacs coding standards.
4663
4664         * sysdep.c (get_pty_max_bytes):
4665         Support pty input lines longer than 512 bytes on HP-UX 10.20.
4666
4667 2000-08-31  Martin Buchholz  <martin@xemacs.org>
4668
4669         * tooltalk.c: Add #include <syssignal.h>
4670
4671 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
4672
4673         * s/hpux.h: Don't use undefined function sigunblock().
4674
4675 2000-08-31  Martin Buchholz  <martin@xemacs.org>
4676
4677         * config.h.in: Add HAVE_BALLOON_HELP.
4678         * emacs.c: Use HAVE_BALLOON_HELP.
4679         * Makefile.in.in (x_objs):
4680         Make Balloon Help conditional on finding shape.h.
4681
4682 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
4683
4684         * syntax.c (regex_emacs_buffer_p): New variable.
4685         * syntax.h (regex_emacs_buffer_p): extern.
4686         * search.c (looking_at_1):
4687         (string_match_1):
4688         (fast_string_match):
4689         (search_buffer): Set regex_emacs_buffer_p.
4690         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
4691         when before_dot, at_dot, after_dot.
4692
4693 2000-08-23  Andy Piper  <andy@xemacs.org>
4694
4695         * gui-x.c (popup_selection_callback): Only set action_occurred
4696         when we really have an image instance.
4697         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
4698
4699 2000-08-23  Andy Piper  <andy@xemacs.org>
4700
4701         * gui-msw.c (mswindows_handle_gui_wm_command): set
4702         action_occurred.
4703         * gui-x.c (popup_selection_callback): ditto.
4704
4705         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
4706         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
4707         (struct Lisp_Image_Instance): add action_occurred flag.
4708
4709         * glyphs.c (redisplay_subwindow): use action_occurred flag.
4710         (image_instance_changed): ditto.
4711         (reset_frame_subwindow_instance_cache): only unmap windows - do
4712         not remove them from the cache also.
4713
4714         * glyphs-widget.c (tab_control_update): better debug.
4715         (progress_gauge_update): ditto.
4716         (layout_update): ditto.
4717         (layout_instantiate): ditto.
4718         (tab_control_order_only_changed): cope with null pending items.
4719
4720         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
4721         debug. Force selection of an item when an action occurred. Cope
4722         with null pending_items.
4723         (mswindows_progress_gauge_redisplay): better debug.
4724         * glyphs-x.c (x_tab_control_redisplay): ditto.
4725
4726         * redisplay.c (redisplay_frame): reset the frame cache if the
4727         frame is garbaged.
4728
4729         * window.c (Fset_window_configuration): potentially re-enable
4730         frame cache reset.
4731         (window_unmap_subwindows): need to finalize instances here since
4732         it is only used in mark_window_as_deleted.
4733
4734 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
4735
4736         * nas.c (SndOpenDataForReading):
4737         nas.c (WaveOpenDataForReading):
4738         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
4739         Somehow escaped from the 2000-08-14 patch.
4740
4741 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4742
4743         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
4744         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
4745
4746 2000-08-21  Andy Piper  <andy@xemacs.org>
4747
4748         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
4749         window if it is not already displayed.
4750
4751         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
4752         it is not already displayed.
4753
4754         * window.c (Fset_window_configuration): don't reset the frame
4755         cache.
4756
4757         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
4758         instances from the frame cache if we are actually finalizing them.
4759         (reset_frame_subwindow_instance_cache): reset frame cache only
4760         after unmapping everything.
4761         (map_subwindow): set displayed flag after mapping.
4762
4763 2000-08-21  Martin Buchholz  <martin@xemacs.org>
4764
4765         * data.c (indirect_function):
4766         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
4767
4768         * eval.c (function_argcount):
4769         Use original function when signaling errors.
4770
4771 2000-08-18  Andy Piper  <andy@xemacs.org>
4772
4773         * frame.c (delete_frame_internal): use new
4774         free_frame_subwindow_instances name.
4775
4776         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
4777         (add_tab_item): make return type correct.
4778         (mswindows_tab_control_instantiate): assert index of tab.
4779         (mswindows_tab_control_redisplay): Re-code to use
4780         gui_item_equal_sans_selected and gui_item_list_find_selected.
4781
4782         * glyphs-widget.c (tab_control_update): Correct comment.
4783
4784         * window.c (window_unmap_subwindows): use new
4785         unmap_subwindow_instance_cache_mapper.
4786         (window_unmap_subwindows_cache_mapper): deleted.
4787         (Fset_window_configuration): comparisons should now be with
4788         EQ. Preserve the subwindow instance cache across configuration
4789         changes.
4790         (allocate_window): ditto.
4791         (make_dummy_parent): ditto.
4792
4793         * glyphs.c (free_frame_subwindow_instances): rename from
4794         free_frame_subwindow_instance_cache. finalize all instances rather
4795         than just those in the display cache.
4796         (finalize_all_subwindow_instances): walk windows unmapping and
4797         finalizing subwindows.
4798         (unmap_subwindow_instance_cache_mapper): moved from
4799         window.c. Allow finalization as well as unmapping.
4800
4801         * gui.c (gui_item_list_find_selected): new function.
4802
4803         * gui.h (gui_item_list_find_selected): declare.
4804
4805         * glyphs-x.c (x_tab_control_redisplay): pick tab
4806         explicitly. Re-code to use gui_item_equal_sans_selected and
4807         gui_item_list_find_selected.
4808
4809         * glyphs-x.h: add lwlib-utils.h
4810
4811         * buffer.c (Frecord_buffer): undo previous change.
4812
4813 2000-08-09  Vin Shelton  <acs@xemacs.org>
4814
4815         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
4816         possible.  Create temporary files more securely.  The patch was
4817         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
4818         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
4819         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
4820         for details.
4821
4822 2000-08-07  Ben Wing  <ben@xemacs.org>
4823
4824         * getloadavg.c: remove duplicate (and windows-breaking)
4825         includes of fcntl.h and sys/file.h.
4826
4827         * nt.c: remove duplicate getloadavg() definition.
4828
4829         * sysdll.h (Qdll_filename_encoding): add missing stand-in
4830         encodings.
4831
4832 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4833
4834         * eval.c (function_argcount): If function needs to be autoloaded
4835         actually use the loaded definition.
4836         GCPRO function.
4837
4838 2000-08-05  Ben Wing  <ben@xemacs.org>
4839
4840         * getloadavg.c: add prototype for getloadavg().  remove
4841         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
4842         of the code).  remove duplicate header includes.
4843
4844         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
4845
4846         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
4847         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
4848         useful load average.
4849
4850         * alloc.c (reinit_alloc_once_early): removed references to
4851         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
4852         the lisp vars are the only things referencing the malloc_sbrk_*
4853         vars, and they were already if 0'd out.  these vars only exist
4854         in the older malloc.c, which is basically unused, and they're
4855         only for informational purposes.
4856
4857         * m\*.h: removed useless VIRT_ADDR_VARIES.
4858
4859         * m\powerpc.h: removed stray NO_ARG_ARRAY.
4860
4861 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
4862
4863         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
4864         color if the image is a mono pixmap.
4865
4866 2000-07-30  Ben Wing  <ben@xemacs.org>
4867
4868         * Makefile.in.in (release):
4869         Remove stray @.
4870
4871         * buffer.c (directory_is_current_directory):
4872         * dired-msw.c (mswindows_get_files):
4873         * dired.c:
4874         * dired.c (Fdirectory_files):
4875         * dired.c (file_name_completion_stat):
4876         * dired.c (Ffile_attributes):
4877         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
4878         preprocessor tricks, to avoid problems on some machines
4879         (e.g. SCO).
4880
4881         * callproc.c (egetenv): GC docs.
4882
4883         * console-msw.h:
4884         * console-msw.h (struct mswindows_dialog_id):
4885         * lrecord.h (lrecord_type):
4886         New object for use with MSW dialogs.
4887
4888         * console.h (struct console_methods):
4889         New enable/disable frame methods, for proper modal dialogs.
4890
4891         * device-msw.c (msprinter_default_printer): Fix to follow
4892         proper Mule conventions.
4893
4894         * device-msw.c:
4895         * device-msw.c (signal_open_printer_error):
4896         * device-msw.c (msprinter_init_device):
4897         * device-msw.c (ensure_not_printing):
4898         * device-msw.c (plist_get_margin):
4899         * device-msw.c (Fmsprinter_select_settings):
4900         * device-msw.c (finalize_devmode):
4901         * device-msw.c (Fmsprinter_settings_despecialize):
4902         * device-msw.c (signal_enum_priner_error):
4903         * extents.c (decode_extent):
4904         * extents.c (decode_map_extents_flags):
4905         * extents.c (decode_extent_at_flag):
4906         * extents.c (Fextent_at):
4907         * extents.c (Fextents_at):
4908         * extents.c (symbol_to_glyph_layout):
4909         [[[[2]]]] Use structured errors.
4910
4911         * dialog-msw.c:
4912         * dialog-msw.c (mswindows_is_dialog_msg):
4913         * dialog-msw.c (mark_mswindows_dialog_id):
4914         * dialog-msw.c (dialog_proc):
4915         * dialog-msw.c (handle_question_dialog_box):
4916         * dialog-msw.c (syms_of_dialog_mswindows):
4917         Define new object to clean up marking; use it as a dialog identifier.
4918         Call new delete-dialog-box-hook.
4919
4920         * dialog-x.c (dbox_selection_callback):
4921         * dialog-x.c (dbox_descriptor_to_widget_value):
4922         * dialog-x.c (x_make_dialog_box_internal):
4923         Call new delete-dialog-box-hook.
4924         Return an id.
4925
4926         * dialog.c:
4927         * dialog.c (syms_of_dialog):
4928         * dialog.c (vars_of_dialog):
4929         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
4930
4931         * eval.c:
4932         * eval.c (signal_call_debugger):
4933         when noninteractive, output stack traces on the console instead
4934         of in a (never-seen) buffer.
4935
4936         * eval.c (signal_type_error):
4937         * eval.c (invalid_argument_2):
4938         * lisp.h:
4939         new funs for use w/structured errors.
4940
4941         * event-Xt.c:
4942         * event-Xt.c (x_to_emacs_keysym):
4943         * event-Xt.c (describe_event):
4944         * event-Xt.c (emacs_Xt_event_handler):
4945         * event-Xt.c (vars_of_event_Xt):
4946         * event-msw.c:
4947         * event-msw.c (mswindows_wnd_proc):
4948         * event-msw.c (vars_of_event_mswindows):
4949         rename {x,mswindows}-debug-events to debug-{}-events for
4950         consistency with other debug-foo variables.
4951
4952         * event-stream.c:
4953         document next-event more clearly.
4954
4955         * fileio.c (Ffile_name_directory):
4956         * fileio.c (Ffile_name_nondirectory):
4957         * fileio.c (Funhandled_file_name_directory):
4958         * fileio.c (file_name_as_directory):
4959         * fileio.c (Ffile_name_as_directory):
4960         * fileio.c (directory_file_name):
4961         * fileio.c (Fdirectory_file_name):
4962         * fileio.c (Fmake_temp_name):
4963         * fileio.c (Ffile_truename):
4964         * fileio.c (Fsubstitute_in_file_name):
4965         * fileio.c (expand_and_dir_to_file):
4966         * fileio.c (barf_or_query_if_file_exists):
4967         * fileio.c (check_executable):
4968         * fileio.c (Ffile_exists_p):
4969         * fileio.c (Ffile_writable_p):
4970         * fileio.c (Ffile_directory_p):
4971         * fileio.c (Ffile_regular_p):
4972         * fileio.c (Ffile_modes):
4973         * fileio.c (Ffile_newer_than_file_p):
4974         * fileio.c (Fverify_visited_file_modtime):
4975         * fileio.c (Fset_visited_file_modtime):
4976         * fileio.c (auto_save_1):
4977         (1). (2).
4978         fix up gcpro's.
4979
4980         * frame-msw.c:
4981         * frame-msw.c (mswindows_init_frame_1):
4982         * frame-msw.c (mswindows_enable_frame):
4983         * frame-msw.c (error_frame_unsizable):
4984         * frame-msw.c (msprinter_init_frame_1):
4985         * frame-msw.c (msprinter_init_frame_3):
4986         * frame-msw.c (console_type_create_frame_mswindows):
4987         (2).
4988         implement new enable/disable frame methods.
4989
4990         * frame-x.c:
4991         * frame-x.c (x_enable_frame):
4992         * frame-x.c (console_type_create_frame_x):
4993         implement new enable/disable frame methods.
4994
4995         * frame.c:
4996         * frame.c (Fdisable_frame):
4997         * frame.c (syms_of_frame):
4998         * frame.h (struct frame):
4999         implement new enable/disable frame methods/functions.
5000
5001         * general-slots.h:
5002         add initial-focus.
5003
5004         * glyphs-msw.c (mswindows_widget_instantiate):
5005         comment that initial-focus should be implemented.
5006
5007         * glyphs-widget.c:
5008         * glyphs-widget.c (check_valid_instantiator):
5009         * glyphs-widget.c (check_valid_orientation):
5010         * glyphs-widget.c (check_valid_tab_orientation):
5011         * glyphs-widget.c (check_valid_justification):
5012         * glyphs-widget.c (check_valid_border):
5013         * glyphs-widget.c (check_valid_callback):
5014         * glyphs-widget.c (check_valid_int_or_function):
5015         * glyphs-widget.c (check_valid_string_or_vector):
5016         * glyphs-widget.c (check_valid_item_list_1):
5017         * glyphs-widget.c (widget_validate):
5018         * glyphs-widget.c (combo_box_validate):
5019         * glyphs-widget.c (widget_instantiate):
5020         * glyphs-widget.c (syms_of_glyphs_widget):
5021         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5022         * glyphs-widget.c (image_instantiator_combo_box):
5023         * glyphs-widget.c (image_instantiator_scrollbar):
5024         * glyphs-widget.c (image_instantiator_tab_control):
5025         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5026         (2).
5027         support (unimplemented) keyword initial-focus.
5028         reindent long macros.
5029
5030         * glyphs-x.c (x_redisplay_widget):
5031         * glyphs-x.c (x_button_instantiate):
5032         * glyphs-x.c (x_button_redisplay):
5033         * glyphs-x.c (x_progress_gauge_instantiate):
5034         * glyphs-x.c (x_edit_field_instantiate):
5035         * glyphs-x.c (x_combo_box_instantiate):
5036         * glyphs-x.c (x_tab_control_instantiate):
5037         * glyphs-x.c (x_label_instantiate):
5038         * gui-x.c:
5039         * gui-x.c (button_item_to_widget_value):
5040         * gui-x.c (gui_items_to_widget_values_1):
5041         * gui-x.c (gui_item_children_to_widget_values):
5042         * gui-x.c (gui_items_to_widget_values):
5043         * gui-x.h:
5044         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5045         add new flag to gui-parsing routines to indicate whether
5046         accelerator specs should be supported.
5047
5048         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5049
5050         * glyphs.h (struct Lisp_Image_Instance):
5051         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5052         add initial-focus flag.
5053
5054         * gui.c:
5055         * gui.c (syms_of_gui):
5056         * gui.c (vars_of_gui):
5057         clean up menu-no-selection-hook.
5058
5059         * gui.h:
5060         support delete-dialog-box-hook.
5061
5062         * lread.c (Fload_internal):
5063         * lread.c (locate_file_in_directory_mapper):
5064         (1).
5065
5066         * lrecord.h:
5067         * lrecord.h (struct toolbar_button):
5068         * lrecord.h (syms_of_toolbar):
5069         document how to create a new object.
5070
5071         * menubar-msw.c (mswindows_char_is_accelerator):
5072         may be called on frames w/o menus.
5073
5074         * menubar.c (vars_of_menubar):
5075         clean up :filter docs.
5076
5077         * nt.c (readdir):
5078         * ntproc.c:
5079         (1).
5080
5081         * process-nt.c:
5082         * process-nt.c (validate_signal_number):
5083         * process-nt.c (signal_cannot_launch):
5084         * process-nt.c (nt_create_process):
5085         * process-nt.c (nt_send_process):
5086         * process-nt.c (nt_kill_child_process):
5087         * process-nt.c (nt_open_network_stream):
5088         * process-nt.c (syms_of_process_nt):
5089         (2).
5090         delete quote-handling.  call new lisp code that does it better.
5091
5092         * process-unix.c (connect_to_file_descriptor):
5093         * process-unix.c (allocate_pty):
5094         * process-unix.c (unix_send_process):
5095         * process-unix.c (unix_kill_child_process):
5096         * process-unix.c (unix_open_network_stream):
5097         * process-unix.c (unix_open_multicast_group):
5098         (1). (2).
5099
5100         * process.c:
5101         * process.c (Fstart_process_internal):
5102         (2).  need to canonicalize process path even if absolute.
5103
5104         * select-msw.c (symbol_to_ms_cf):
5105         * select-msw.c (ms_cf_to_symbol):
5106         * select-msw.c (cf_is_autofreed):
5107         * select-msw.c (mswindows_destroy_selection):
5108         * select.c:
5109         * select.c (syms_of_select):
5110         * select.h:
5111         support dibv5, fix bugs. (from Mike Alexander)
5112
5113         * select.c (Fget_selection_internal):
5114         * select.c (select_convert_out):
5115
5116         * sysdep.c:
5117         * sysdep.c (xemacs_stat):
5118         renamed.
5119
5120         * sysdep.c (mkdir):
5121         * sysdep.c (rmdir):
5122         but keep original stat() here because we provide encapsulation
5123         around these funs.
5124
5125         * sysfile.h:
5126         * sysfile.h (fstat):
5127         remove stat garbage.
5128
5129         * syswindows.h:
5130         fix X/MSW conflict.
5131         don't include tchar.h.  it's inappropriate because it makes
5132         compile-time distinctions when we want runtime distinctions.
5133         (we provide our own tchar replacements)
5134
5135         * toolbar.c:
5136         use default object printer for toolbar-button.
5137
5138         * unexcw.c:
5139         make sure we don't encapsulate.
5140
5141         * window.c (vars_of_window):
5142         emphasize that temp-buffer-show-hook is obsolete.
5143
5144 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5145
5146         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5147         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5148
5149         * events.c (Fevent_timestamp_lessp):
5150         Not 64-bit clean.  Use EMACS_INT, not int.
5151
5152 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5153
5154         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5155         unsigned int and changed the last enum to
5156         lrecord_type_last_built_in_type.
5157         (lrecord_implementations_table): changed prototype to know how
5158         long the array is supposed to be.
5159         (lrecord_type_count): new unsigned int to keep track of the
5160         current number of lisp lrecord types.
5161         (DEFINE_EXTERNAL_LRECORD):
5162         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5163         dynamic-modules to declare new lisp types. They are the same
5164         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5165         int for each new type, and increment lrecord_type_count by 1.
5166
5167         * alloc.c (lrecord_implementations_table): Changed to reference
5168         lrecord_type_last_built_in_type for the size of the array.
5169         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5170
5171 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5172
5173         * glyphs.h (check_valid_item_list): Renamed from
5174         check_valid_item_list_1.
5175
5176 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5177
5178         * select.c (Qselect_coerce): New.
5179         * select.c (Vselection_coercion_alist): New.
5180         * select.c (syms_of_select): Declare.
5181         * select.c (get-selection-internal): Use it.
5182         Use the new select-coerce functionality.
5183
5184         * select.c (select_coerce): New.
5185         * select.h (select_coerce): Declare.
5186         New function to coerce one type of data into another.
5187
5188 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5189
5190         * callproc.c (Fcall_process_internal):
5191         (Fcall_process_internal):
5192         * process-unix.c (unix_create_process):
5193         Save and restore the value of errno, so that error messages are accurate.
5194
5195 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5196
5197         * elhash.c (print_hash_table):
5198         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5199         Prettify docstrings and indentation.
5200
5201 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5202
5203         * window.c (Fwindow_pixel_edges): Subtract frame border and
5204         gutter size.
5205
5206 2000-07-31  Andy Piper  <andy@xemacs.org>
5207
5208         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5209         will acknowledge the change.
5210
5211         * glyphs.h: declare tab_control_order_only_changed.
5212
5213         * glyphs-x.c (x_tab_control_redisplay): use
5214         tab_control_order_only_changed.
5215
5216         * glyphs-widget.c (tab_control_order_only_changed): new function.
5217
5218         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5219         tab_control_order_only_changed.
5220
5221         * gui.c (gui_item_equal_sans_selected): new function.
5222         (gui_item_equal): use it.
5223
5224         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5225         :properties in favor of :items..
5226
5227         * glyphs-widget.c (check_valid_item_list): rename from
5228         check_valid_item_list_1.
5229         (check_valid_item_list_1): renamed.
5230         (combo_box_validate): deprecate :properties in favor of :items.
5231         (widget_instantiate): ditto.
5232         (tab_control_update): ditto.
5233         (image_instantiator_combo_box): ditto.
5234         (image_instantiator_tree_view): ditto.
5235         (image_instantiator_tab_control): ditto.
5236         (layout_post_instantiate): remove dead code.
5237
5238         * print.c (debug_print_no_newline): only write to debugger if in
5239         WIN32_NATIVE.
5240
5241         * elhash.c (Fmake_hash_table): update doc string.
5242
5243         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5244         messages whilst in GC. This at least stops XEmacs crashing but has
5245         the potential for wierd behaviour.
5246
5247 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5248
5249         * config.h.in:
5250         Make existence of s&m files optional.
5251
5252         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5253         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5254         * s/gnu.h: Remove HAVE_GETLOADAVG.
5255         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5256         * s/sol2.h: Remove HAVE_GETLOADAVG.
5257         * lisp.h: Remove getloadavg() declaration.
5258         * fns.c:
5259         Include <sys/loadavg.h> if available.
5260         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5261         * config.h.in:  Group together getloadavg()-related macros.
5262         Use only configure-time tests to detect getloadavg().
5263
5264 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5265
5266         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5267
5268 2000-07-25  Andy Piper  <andy@xemacs.org>
5269
5270         * syswindows.h: add tchar.h for native builds.
5271
5272         * frame.c (syms_of_frame): remove set-glyph-image.
5273
5274         * general-slots.h: add Qset_glyph_image.
5275
5276         * glyphs-widget.c (layout_update): add domain arg to
5277         set-glyph-image.
5278         (syms_of_glyphs_widget): remove set-glyph-image.
5279
5280 2000-07-23  Ben Wing  <ben@xemacs.org>
5281
5282         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5283         Vpopup_frame_list.
5284
5285 2000-07-22  Andy Piper  <andy@xemacs.org>
5286
5287         * symsinit.h: add syms_of_win32().
5288
5289         * gui-msw.c (syms_of_gui_mswindows): remove
5290         Fmswindows_shell_execute.
5291         (Fmswindows_shell_execute): moved to win32.c.
5292
5293         * emacs.c (main_1): add syms_of_win32 ().
5294
5295         * win32.c (init_potentially_nonexistent_functions): rewrite in
5296         compiler-friendly terms.
5297         (Fmswindows_shell_execute): move here from gui-msw.c.
5298         (syms_of_win32): new.
5299
5300         * device-msw.c (Fmswindows_printer_list): clean up args to
5301         EnumPrinters.
5302         Don't include tchar under cygwin or mingw.
5303         (msprinter_default_printer): make cygwin-friendly.
5304
5305 2000-07-21  Andy Piper  <andy@xemacs.org>
5306
5307         * glyphs-widget.c (image_instantiator_tree_view): use tab
5308         control's update function.
5309         (layout_property): new function. Retrieve items.
5310
5311         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5312         function. Re-populate the tree view from the pending items.
5313
5314         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5315         is designated the parent if the domain is an image instance. This
5316         is needed so that dirtiness can be cascade up the hierarchy and
5317         thus for layout children to be redisplayed correctly.
5318         (allocate_image_instance): rename glyph -> parent.
5319
5320         * redisplay.h: change redisplay_output_layout signature.
5321
5322         * redisplay-msw.c (mswindows_output_display_block): use domain
5323         arg.
5324
5325         * redisplay-x.c (x_output_display_block): use domain arg.
5326
5327 2000-07-10  Andy Piper  <andy@xemacs.org>
5328
5329         * window.c (Fset_window_configuration): add comment.
5330
5331         * redisplay-output.c (compare_runes):
5332         (redisplay_output_subwindow): redisplay rather than update subwindow.
5333         (redisplay_output_layout): ditto.
5334
5335         * redisplay-msw.c (mswindows_frame_output_end):
5336         (mswindows_frame_output_end): make defer window pos optional.
5337
5338         * lisp.h: add Flast.
5339
5340         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5341         normalize method. Change update method to be for changed
5342         instantiators. Add redisplay method. Change signature of layout
5343         method.
5344         (struct Lisp_Image_Instance): add instantiator.
5345         (IMAGE_INSTANCE_INSTANTIATOR): new.
5346         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5347         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5348         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5349
5350         * glyphs.c:
5351         (find_instantiator_differences): new function.
5352         (Fset_instantiator_property): new convenience function.
5353         (check_image_instance_structure): strictly check for vector
5354         instantiators.
5355         (normalize_image_instantiator): make non-static.
5356         (instantiate_image_instantiator): pass on dest_mask and use new
5357         signatures for image_instance_layout and friends.
5358         (mark_image_instance): mark the instantiator. Mark the subwindow
5359         face not the widget face.
5360         (image_instance_equal): add instantiator.
5361         (image_instance_hash): ditto.
5362         (allocate_image_instance): ditto.
5363         (Fset_image_instance_property): removed.
5364         (Fimage_instance_file_name): ditto.
5365         (Fcolorize_image_instance): ditto.
5366         (image_instance_layout): add offsets to be set.
5367         (update_image_instance): new function. update an image instance
5368         from its changed instantiator.
5369         (inherit_normalize): add dest_mask.
5370         (xbm_normalize): ditto.
5371         (xface_normalize): ditto.
5372         (xpm_normalize): ditto.
5373         (text_update): set_property -> update.
5374         (image_instantiate): use the glyph identity as a hash key, not the
5375         instantiator.
5376         (glyph_width): use new image_instance_layout signature.
5377         (glyph_ascent): ditto.
5378         (glyph_descent): ditto.
5379         (glyph_height): ditto.
5380         (glyph_query_geometry): ressurrect.
5381         (glyph_layout): ditto.
5382         (redisplay_subwindow): update -> redisplay.
5383         (syms_of_glyphs): add Fset_instantiator_property.
5384         (image_instantiator_format_create): set_property -> update.
5385
5386         * glyphs-x.c:
5387         (autodetect_normalize): add dest_maks to signature.
5388         (x_redisplay_subwindow): update -> redisplay.
5389         (x_redisplay_widget): ditto.
5390         (x_button_redisplay): ditto.
5391         (x_progress_gauge_redisplay): ditto.
5392         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5393         stacking order.
5394         (console_type_create_glyphs_x): update -> redisplay.
5395         (image_instantiator_format_create_glyphs_x): ditto.
5396
5397         * glyphs-widget.c:
5398         (check_valid_instantiator): disallow glyphs in the instantiator,
5399         they must now be vectors.
5400         (check_valid_instantiator_list): ditto.
5401         (glyph_instantiator_to_glyph): use internal symbol rather than
5402         intern.
5403         (widget_update): renamed from widget_set_property. Call cascaded
5404         update methods.
5405         (redisplay_widget): renamed from update_widget.
5406         (widget_layout): image_instance_layout now takes position as well
5407         as size.
5408         (widget_normalize): ditto.
5409         (widget_instantiate): ditto.
5410         (tab_control_query_geometry) ditto.:
5411         (tab_control_update): renamed from tab_control_set_property.
5412         (progress_gauge_update): set_property -> update.
5413         (layout_normalize): rewrite so that child instantiators are
5414         normalized also.
5415         (layout_update): new function. Create glyphs from the normalized
5416         children and cope with any other layout keywords. We do not
5417         instantiate children here that will be take care of by
5418         redisplay_output_layout.
5419         (layout_instantiate): call layout_update and not much else.
5420         (layout_post_instantiate): not sure whether this is needed
5421         anymore.
5422         (layout_query_geometry): query glyph geometry rather than
5423         image_instance geometry.
5424         (layout_layout): set offsets from pass in parameters. Use glyph
5425         geometry and layout functions rather than image instance ones.
5426         (native_layout_layout): ditto.
5427         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5428         (image_instantiator_widget): set_property -> update.
5429         (image_instantiator_buttons): ditto.
5430         (image_instantiator_progress_guage): ditto.
5431         (image_instantiator_tab_control): ditto.
5432         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5433         (image_instantiator_layout): add update method.
5434
5435         * glyphs-msw.c (bmp_normalize):
5436         (mswindows_resource_normalize): add dest_mask so that it can be
5437         proprogated by layout_normalize.
5438         (begin_defer_window_pos): make optional because it may not be the
5439         right thing to do and it introduces differences with X.
5440         (mswindows_unmap_subwindow): ditto.
5441         (mswindows_map_subwindow): ditto.
5442         (mswindows_redisplay_subwindow): renamed from
5443         mswindows_update_subwindow.
5444         (mswindows_redisplay_widget): ditto.
5445         (mswindows_button_redisplay): renamed from
5446         mswindows_button_update. Update is now what the instantiation
5447         function does for a changed instantiator.
5448         (mswindows_progress_gauge_instantiate): set the progress value
5449         here if appropriate.
5450         (mswindows_tab_control_redisplay): cope with re-ordering of the
5451         members of the tab widget by simply selecting the new top
5452         widget. This makes things appear ok if you click on a tab.
5453         (mswindows_combo_box_instantiate): image_instance_layout now takes
5454         position as well as size.
5455         (mswindows_progress_gauge_redisplay): renamed from
5456         mswindows_progress_gauge_update.
5457         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5458         (image_instantiator_format_create_glyphs_mswindows): ditto.
5459
5460         * glyphs-eimage.c (jpeg_normalize):
5461         (gif_normalize):
5462         (png_normalize):
5463         (tiff_normalize): add dest_mask so that it can be proprogated by
5464         layout_normalize.
5465
5466         * elhash.c:
5467         (print_hash_table):
5468         (hash_table_weakness_validate):
5469         (decode_hash_table_weakness):
5470         (Fhash_table_weakness):
5471         (Fhash_table_type):
5472         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5473
5474         * console.h (struct console_methods): move update_* to
5475         redisplay_*.
5476
5477 2000-07-20  Ben Wing  <ben@xemacs.org>
5478
5479         * *.[ch] (XSETOBJ): remove unused middle argument.
5480         lisp-disunion.h: correct wrap_object() to one argument.
5481
5482 2000-07-15  Ben Wing  <ben@xemacs.org>
5483
5484         * s/cygwin32.h:
5485         * s/cygwin32.h (CYGWIN_CONV_PATH):
5486         Add missing logb prototype for v1.1.
5487         Use post-b20 names and alias to pre-b20 names when pre-b20.
5488
5489         * s/windowsnt.h: [5].
5490
5491 2000-07-15  Ben Wing  <ben@xemacs.org>
5492
5493         * Makefile.in.in (x_objs):
5494         * Makefile.in.in (sheap_objs):
5495         * Makefile.in.in (objs):
5496         added win32.o, cosmetic cleanups.
5497
5498         * alloc.c (Fmake_byte_code):
5499         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5500         etc. macros which declare their own args now.
5501
5502         * alloc.c (syms_of_alloc):
5503         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5504
5505         * buffer.c:
5506         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5507
5508         * buffer.c (Fget_file_buffer):
5509         Fixed GCPRO problem.
5510
5511         * buffer.c (get_truename_buffer):
5512         Fixed comment about GC checking.
5513
5514         * buffer.c (syms_of_buffer):
5515         Undeclared those dedicated frame funs.
5516         [2].
5517
5518         * buffer.h:
5519         Define convenience macros for internal/external conversions.
5520         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5521         and Qenvironment_variable_encoding for cleaner code.
5522
5523         * bufslots.h:
5524         Remove dedicated-frame; in lisp.
5525
5526         * bytecode.c (funcall_compiled_function):
5527         [1].
5528
5529         * bytecode.c (syms_of_bytecode):
5530         [2].
5531
5532         * console-msw.c:
5533         * console-msw.c (mswindows_show_console): Rewrote.
5534
5535         * console-msw.c (Fmswindows_debugging_output): New.
5536         Sends to OutputDebugString (special MSWin debugger interface).
5537
5538         * console-msw.c (Fmswindows_message_box):
5539         Fixed stupid bugs so it works when called from kill-emacs.
5540
5541         * console-msw.c (syms_of_console_mswindows):
5542         Declare Fmswindows_debugging_output.
5543
5544         * console-msw.h:
5545         New MSWin prototypes.
5546
5547         * console-msw.h (struct mswindows_frame):
5548         New entry last-click-mods for improved button-modifier support.
5549
5550         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5551         New struct entry `popup' with corresponding accessor.
5552
5553         * console-x.c:
5554         * console-x.c (split_up_display_spec):
5555         * console-x.c (get_display_arg_connection):
5556         * console-x.c (x_semi_canonicalize_console_connection):
5557         * console-x.c (x_canonicalize_device_connection):
5558         [[[6]]]: Change char to more specific type.
5559         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5560
5561         * console-x.c (x_semi_canonicalize_console_connection):
5562         * console-x.c (x_canonicalize_device_connection):
5563         [[[9]]]: Fix up error signalling to use new structured error system.
5564
5565         * console-x.h:
5566         [[[4]]]: Define codesys aliases:
5567         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5568         Qx_color_name_encoding, Qx_display_name_encoding.
5569
5570         * console.h (struct console_methods):
5571         New method make_dialog_box_internal supersedes older
5572         popup_dialog_box method.
5573
5574         * data.c:
5575         Define many new errors, part of new structured errors.
5576
5577         * data.c (init_errors_once_early):
5578         * data.c (syms_of_data):
5579         [2].
5580
5581         * device-msw.c (mswindows_init_device):
5582         [[[5]]]: Cleanup to support NT 3.51.
5583
5584         * device-msw.c (decode_devmode): Cleanup.
5585
5586         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5587         * device-msw.c (mswindows_handle_print_dialog_box):
5588         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5589         * device-msw.c (syms_of_device_mswindows):
5590         Delete the dialog box primitives recently introduced by Kirill and
5591         instead interface to general dialog box interface.
5592
5593         * device-x.c:
5594         * device-x.c (compute_x_app_name):
5595         * device-x.c (x_init_device):
5596         * device-x.c (Fx_valid_keysym_name_p):
5597         * device-x.c (Fx_set_font_path):
5598         [6].
5599         [7].
5600
5601         * device.h (wrap_device): New.
5602         First of its kind; meant to replace XSETDEVICE.
5603
5604         * dialog-msw.c: Many file-dialog symbols.
5605
5606         * dialog-msw.c (mswindows_register_popup_frame): New.
5607         * dialog-msw.c (mswindows_is_dialog_msg): New.
5608         For supporting kbd traversal in dialog boxes.
5609
5610         * dialog-msw.c (dialog_proc):
5611         Support hitting ESC in dialogs.
5612
5613         * dialog-msw.c (struct):
5614         Common dialog box errors.
5615
5616         * dialog-msw.c (handle_file_dialog_box): New.
5617         Add file dialog code.
5618
5619         * dialog-msw.c (handle_question_dialog_box):
5620         Redo existing code to support new question dialog syntax.
5621
5622         * dialog-msw.c (console_type_create_dialog_mswindows):
5623         We support new dialog console method.
5624
5625         * dialog-msw.c (syms_of_dialog_mswindows):
5626         * dialog-msw.c (vars_of_dialog_mswindows):
5627         New file dialog symbols, vars.
5628
5629         * dialog-x.c:
5630         * dialog-x.c (maybe_run_dbox_text_callback):
5631         * dialog-x.c (dbox_descriptor_to_widget_value):
5632         * dialog-x.c (x_make_dialog_box_internal):
5633         * dialog-x.c (console_type_create_dialog_x):
5634         Mule-ize entire file.
5635         Redo to support question dialog syntax.
5636         [6].
5637
5638         * dialog.c:
5639         * dialog.c (Fmake_dialog_box_internal):
5640         * dialog.c (syms_of_dialog):
5641         Kill old popup-dialog-box, replace with new primitive.
5642         Just call device method or signal error.
5643
5644         * eldap.c (Fldap_open):
5645         * eldap.c (Fldap_search_basic):
5646         * eldap.c (Fldap_add):
5647         * eldap.c (Fldap_modify):
5648         [1].
5649         [7].
5650
5651         * emacs.c:
5652         * emacs.c (make_arg_list_1):
5653         * emacs.c (make_arg_list):
5654         Mule-ize call to dll_init().
5655         [6].
5656         [8].
5657
5658         * emacs.c (make_argc_argv):
5659         * emacs.c (free_argc_argv):
5660         * emacs.c (init_cmdargs):
5661         * emacs.c (main_1):
5662         * emacs.c (Fkill_emacs):
5663         * emacs.c (Fdump_emacs):
5664         Update comments about what can be used in syms_* etc.
5665         Call init_win32() when necessary.
5666         Fix up MS Win dialog box in kill-buffer to actually work right.
5667         [7].
5668
5669         * eval.c:
5670         * eval.c (For):
5671         * eval.c (Fand):
5672         * eval.c (Fprogn):
5673         * eval.c (Fprog1):
5674         * eval.c (Fprog2):
5675         * eval.c (FletX):
5676         * eval.c (Flet):
5677         * eval.c (condition_case_3):
5678         * eval.c (Feval):
5679         * eval.c (function_argcount):
5680         * eval.c (funcall_lambda):
5681         [1].
5682
5683         * eval.c (type_error): New.
5684         * eval.c (maybe_type_error): New.
5685         * eval.c (continuable_type_error): New.
5686         * eval.c (maybe_continuable_type_error): New.
5687         * eval.c (type_error_with_frob): New.
5688         * eval.c (maybe_type_error_with_frob): New.
5689         * eval.c (continuable_type_error_with_frob): New.
5690         * eval.c (maybe_continuable_type_error_with_frob): New.
5691         New functions for use with structured errors.
5692
5693         * event-Xt.c:
5694         * event-Xt.c (x_event_to_emacs_event):
5695         Buttons are now modifiers too.
5696
5697         * event-Xt.c (emacs_Xt_current_event_timestamp):
5698         Implement new event method.
5699         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
5700
5701         * event-msw.c:
5702         * event-msw.c (ntpipe_shove_writer): [5].
5703         * event-msw.c (mswindows_enqueue_mouse_button_event):
5704         * event-msw.c (mswindows_drain_windows_queue):
5705         * event-msw.c (mswindows_wnd_proc): [7].
5706         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
5707         * event-msw.c (mswindows_modifier_state):
5708         Throughout: support new button modifiers.
5709
5710         * event-msw.c (emacs_mswindows_current_event_timestamp):
5711         Implement new event method.
5712         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
5713
5714         * event-stream.c:
5715         * event-stream.c (event_stream_current_event_timestamp): New.
5716         * event-stream.c (maybe_kbd_translate): New functionality.
5717         * event-stream.c (vars_of_event_stream):
5718         Document new kbd-translate-table functionality.
5719
5720         * event-stream.c (Fcurrent_event_timestamp): New.
5721         New primitive for use in fabricated events.
5722         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
5723
5724         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
5725
5726         * events.c:
5727         * events.c (Fmake_event):
5728         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
5729         [1].
5730         [9].
5731
5732         * events.c (format_event_object): fix gcc warnings.
5733
5734         * events.c (Fevent_timestamp): Document new primitives.
5735
5736         * events.c (TIMESTAMP_HALFSPACE): New.
5737
5738         * events.c (Fevent_timestamp_lessp): New.  New primitive for
5739         comparing timestamps correctly (half-space algorithm).
5740
5741         * events.c (Fevent_modifier_bits): Doc fix.
5742
5743         * events.c (Fevent_modifiers): Major doc addition.
5744         * events.c (event_x_y_pixel_internal): Typo fix.
5745         * events.c (syms_of_events): Declare new primitives.
5746
5747         * events.h:
5748         Update long comment for button modifiers, timestamps.
5749
5750         * events.h (struct event_stream):
5751         New current_event_timestamp method.
5752
5753         * extents.c:
5754         * extents.c (extent_in_region_p):
5755         * extents.c (decode_extent):
5756         * extents.c (Fset_extent_parent):
5757         * extents.c (decode_map_extents_flags):
5758         Fix gcc warnings.
5759         [9].
5760
5761         * extents.c (struct extent_at_arg):
5762         * extents.c (decode_extent_at_flag):
5763         * extents.c (extent_at_mapper):
5764         * extents.c (extent_at_bytind):
5765         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
5766         * extents.c (Fextents_at): New primitive. [9].
5767         * extents.c (symbol_to_glyph_layout): [9].
5768         Support new primitive `extents-at'.
5769
5770
5771         * extents.c (get_text_property_bytind):
5772         extent_at_bytind has another arg.
5773         [9].
5774
5775         * extents.c (syms_of_extents): New primitive.
5776
5777         * file-coding.c (Fmake_coding_system): [1].
5778         * file-coding.c (subsidiary_coding_system): fix gcc warning
5779         * file-coding.c (syms_of_file_coding): [2].
5780
5781         * fileio.c (Fexpand_file_name):
5782         * fileio.c (Fsysnetunam):
5783         * fileio.c (Ffile_exists_p):
5784         * fileio.c (Ffile_executable_p):
5785         * fileio.c (Fverify_visited_file_modtime):
5786         Clean up GCPROing.
5787
5788         * fileio.c (syms_of_fileio): [2].
5789
5790         * filelock.c (lock_file_1):
5791         * filelock.c (current_lock_owner):
5792         * filelock.c (lock_if_free):
5793         * filelock.c (lock_file):
5794         * filelock.c (unlock_file):
5795         Clean up GCPROing.
5796
5797         * fns.c (concat): Fix gcc warning.
5798
5799         * fns.c (Fmember):
5800         * fns.c (Fold_member):
5801         * fns.c (Fmemq):
5802         * fns.c (Fold_memq):
5803         * fns.c (memq_no_quit):
5804         * fns.c (Fassoc):
5805         * fns.c (Fold_assoc):
5806         * fns.c (Fassq):
5807         * fns.c (Fold_assq):
5808         * fns.c (assq_no_quit):
5809         * fns.c (Frassoc):
5810         * fns.c (Fold_rassoc):
5811         * fns.c (Frassq):
5812         * fns.c (Fold_rassq):
5813         * fns.c (rassq_no_quit):
5814         * fns.c (Fdelete):
5815         * fns.c (Fold_delete):
5816         * fns.c (Fdelq):
5817         * fns.c (Fold_delq):
5818         * fns.c (delq_no_quit):
5819         * fns.c (Fremassoc):
5820         * fns.c (Fremassq):
5821         * fns.c (remassq_no_quit):
5822         * fns.c (Fremrassoc):
5823         * fns.c (Fremrassq):
5824         * fns.c (remrassq_no_quit):
5825         * fns.c (Freverse):
5826         * fns.c (mapcar1):
5827         [1].
5828
5829         * frame-msw.c (mswindows_init_frame_1):
5830         * frame-msw.c (mswindows_delete_frame):
5831         Register popups with dialog code so keyboard traversing works.
5832
5833         * frame-tty.c (tty_raise_frame_no_select): [1].
5834
5835         * frame-x.c:
5836         * frame-x.c (x_set_frame_text_value):
5837         * frame-x.c (x_set_frame_properties):
5838         * frame-x.c (x_create_widgets):
5839         [7].
5840
5841         * frame.c:
5842         * frame.c (Fmouse_pixel_position): Minor doc fixes.
5843
5844         * frame.h (wrap_frame): New.
5845         Macro like wrap_device.
5846
5847         * general.c:
5848         * general.c (SYMBOL):
5849         * general.c (syms_of_general):
5850         Major reorg.  This is now just a wrapper and symbols themselves
5851         are listed in general-slots.h.
5852
5853         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
5854         * glyphs-msw.c (mswindows_resource_instantiate): [5].
5855
5856         * glyphs-msw.c (mswindows_native_layout_instantiate):
5857         Add DS_CONTROL so keyboard traversal will work.
5858
5859         * glyphs-widget.c:
5860         * glyphs-widget.c (syms_of_glyphs_widget):
5861         Move some symbols to general-slots.h.
5862
5863         * glyphs-x.c:
5864         * glyphs-x.c (xbm_instantiate_1):
5865         * glyphs-x.c (x_xbm_instantiate):
5866         * glyphs-x.c (x_xface_instantiate):
5867         * glyphs-x.c (autodetect_instantiate):
5868         * glyphs-x.c (cursor_font_instantiate):
5869         * glyphs-x.c (x_update_widget):
5870         * glyphs-x.c (x_widget_instantiate):
5871         * glyphs.c (bitmap_to_lisp_data):
5872         * glyphs.c (pixmap_to_lisp_data):
5873         [7].
5874
5875         * glyphs.c (syms_of_glyphs):
5876         [2].
5877
5878         * gui-x.c:
5879         * gui-x.c (print_widget_value):
5880         * gui-x.c (menu_separator_style_and_to_external):
5881         * gui-x.c (add_accel_and_to_external):
5882         * gui-x.c (button_item_to_widget_value):
5883         * gui-x.c (gui_items_to_widget_values_1):
5884         * gui-x.c (gui_items_to_widget_values):
5885         * gui-x.c (syms_of_gui_x):
5886         * gui-x.c (vars_of_gui_x):
5887         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
5888         [9].
5889
5890         * gui-x.h:
5891         Muleize, prototype changes matching gui-x.c.
5892
5893         * gui.c:
5894         * gui.c (separator_string_p):
5895         * gui.c (gui_item_add_keyval_pair):
5896         * gui.c (make_gui_item_from_keywords_internal):
5897         * gui.c (signal_too_long_error):
5898         * gui.c (parse_gui_item_tree_item):
5899         * gui.c (syms_of_gui):
5900         * gui.c (vars_of_gui):
5901         * gui.h:
5902         menu-no-selection-hook moved here (used by MSWin).
5903         Move some symbols to general-slots.h.
5904         [6].
5905         [9].
5906
5907         * insdel.c (get_buffer_pos_char):
5908         * insdel.c (get_buffer_range_char):
5909         Add GC comments.
5910
5911         * keymap.c (keymap_lookup_directly):
5912         * keymap.c (keymap_store):
5913         * keymap.c (ensure_meta_prefix_char_keymapp):
5914         * keymap.c (describe_map):
5915         * keymap.h:
5916         Support new button modifiers.
5917
5918         * lisp-disunion.h (wrap_object):
5919         * lisp-disunion.h (XSETOBJ):
5920         Rename make_obj to wrap_object.
5921
5922         * lisp-union.h:
5923         * lisp-union.h (make_int):
5924         * lisp-union.h (make_char):
5925         Support wrap_object.
5926
5927         * lisp.h:
5928         * lisp.h (LIST_LOOP):
5929         * lisp.h (EXTERNAL_LIST_LOOP):
5930         * lisp.h (LIST_LOOP_2):
5931         * lisp.h (EXTERNAL_LIST_LOOP_1):
5932         * lisp.h (EXTERNAL_LIST_LOOP_2):
5933         * lisp.h (EXTERNAL_LIST_LOOP_3):
5934         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
5935         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5936         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
5937         * lisp.h (EXTERNAL_ALIST_LOOP_5):
5938         * lisp.h (EXTERNAL_ALIST_LOOP_6):
5939         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
5940         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
5941         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
5942         * lisp.h (struct Lisp_Symbol):
5943         * lisp.h (maybe_continuable_error_with_frob):
5944         Fix up section comments.
5945         Add new types for char to indicate usage.
5946         Delete symbols auto-generated from general-slots.h.
5947         Add prototypes for structured error functions.
5948         Add long comments describing looping macros and change interface
5949         so that lvalues are automatically declared.
5950         Add NO_DECLARE macro in case callers want to declare lvalues
5951         themselves.
5952
5953         * lread.c (read_syntax_error):
5954         * lread.c (continuable_read_syntax_error):
5955         * lread.c (read_structure):
5956         * lread.c (sequence_reader):
5957         * lread.c (read_list_conser):
5958         * lread.c (read_compiled_function):
5959         Rename syntax_error and continuable_syntax_error to avoid clash
5960         with same-named structured error functions.
5961
5962         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5963         * menubar-msw.c (populate_menu_add_item):
5964         * menubar-msw.c (populate_or_checksum_helper):
5965         [5].
5966         [9].
5967
5968         * menubar-x.c:
5969         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5970         Mule-ize whole file.
5971
5972         * menubar.c (Fnormalize_menu_item_name): Add optimization.
5973
5974         * mule-charset.c (Fmake_charset):
5975         * mule-wnnfns.c (Fwnn_set_param):
5976         [1].
5977
5978         * ntproc.c (create_child):
5979         * ntproc.c (Fwin32_set_current_locale):
5980         Add comments portending doom.
5981
5982         * objects-msw.c:
5983         * objects-msw.c (old_font_enum_callback_2):
5984         * objects-msw.c (font_enum_callback_1):
5985         * objects-msw.c (mswindows_enumerate_fonts):
5986         [5].
5987
5988         * objects-x.c:
5989         * objects-x.c (allocate_nearest_color):
5990         * objects-x.c (x_parse_nearest_color):
5991         * objects-x.c (x_initialize_color_instance):
5992         * objects-x.c (x_print_color_instance):
5993         * objects-x.c (x_finalize_color_instance):
5994         * objects-x.c (x_valid_color_name_p):
5995         * objects-x.c (x_initialize_font_instance):
5996         * objects-x.c (x_print_font_instance):
5997         * objects-x.c (valid_x_font_name_p):
5998         * objects-x.c (truename_via_FONT_prop):
5999         * objects-x.c (truename_via_random_props):
6000         * objects-x.c (truename_via_XListFonts):
6001         * objects-x.c (x_font_truename):
6002         * objects-x.c (x_font_instance_truename):
6003         * objects-x.c (x_font_instance_properties):
6004         * objects-x.c (x_list_fonts):
6005         * objects-x.c (x_find_charset_font):
6006         Mule-ize entire file.
6007         [7].
6008
6009         * objects-x.h:
6010         Mule-verify.
6011
6012         * print.c:
6013         * print.c (std_handle_out_external):
6014         * print.c (debug_print_no_newline):
6015         * print.c (syms_of_print):
6016         Output to all debugger kinds in debug-print.
6017         Fix console-output code under MSWin to actually work.
6018
6019         * process-nt.c (send_signal):
6020         * process-nt.c (nt_create_process):
6021         Use newer Unicode macros.
6022
6023         * process-unix.c (unix_create_process):
6024         * process-unix.c (unix_canonicalize_host_name):
6025         * process-unix.c (unix_open_network_stream):
6026         [7].
6027
6028         * scrollbar-x.c:
6029         Mule-verify.
6030
6031         * search.c (syms_of_search):
6032         [2].
6033
6034         * select-msw.c (mswindows_destroy_selection):
6035         Use LIST_LOOP_2.
6036
6037         * select-x.c (symbol_to_x_atom):
6038         [7].
6039
6040         * select.c (syms_of_select):
6041         [2].
6042
6043         * sound.c (Fplay_sound_file):
6044         [7].
6045
6046         * specifier.c:
6047         * specifier.c (decode_specifier_type):
6048         * specifier.c (Fvalid_specifier_locale_type_p):
6049         * specifier.c (check_valid_locale_or_locale_type):
6050         * specifier.c (decode_locale):
6051         * specifier.c (decode_locale_type):
6052         * specifier.c (decode_locale_list):
6053         * specifier.c (check_valid_domain):
6054         * specifier.c (decode_specifier_tag_set):
6055         * specifier.c (Fcanonicalize_tag_set):
6056         * specifier.c (Fdefine_specifier_tag):
6057         * specifier.c (Fspecifier_tag_predicate):
6058         * specifier.c (check_valid_inst_list):
6059         * specifier.c (check_valid_spec_list):
6060         * specifier.c (decode_how_to_add_specification):
6061         * specifier.c (check_modifiable_specifier):
6062         * specifier.c (specifier_add_spec):
6063         * specifier.c (boolean_validate):
6064         * specifier.c (display_table_validate):
6065         [9].
6066
6067         * specifier.c (syms_of_specifier):
6068         Move some symbols to general-slots.h.
6069         [2].
6070
6071         * symbols.c:
6072         * symbols.c (Fmapatoms):
6073         * symbols.c (Fapropos_internal):
6074         Add GCPROs.
6075
6076         * symbols.c (set_default_buffer_slot_variable):
6077         * symbols.c (set_default_console_slot_variable):
6078         [1].
6079
6080         * symbols.c (defsymbol_massage_name_1):
6081         * symbols.c (defkeyword_massage_name):
6082         * symbols.c (deferror_1):
6083         * symbols.c (deferror):
6084         * symbols.c (deferror_massage_name_and_message):
6085         * symeval.h:
6086         * symeval.h (DEFSYMBOL):
6087         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6088
6089         * symbols.c (syms_of_symbols):
6090         [2].
6091
6092         * symsinit.h:
6093         * symsinit.h (init_win32): New.
6094         Also new is syms_of_dialog_mswindows.
6095
6096         * syswindows.h:
6097         Add new Unicode macros, missing Cygwin wide-char functions,
6098         convenience conversion macros for Qmswindows_tstr, macros for
6099         encapsulating required MSWin <-> Cygwin filename conversions,
6100         prototype for dynamically-extracted (not in NT 3.51) functions.
6101
6102         * toolbar-x.c:
6103         Mule-verify.
6104
6105         * tooltalk.c (Fadd_tooltalk_message_arg):
6106         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6107         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6108         [7].
6109
6110         * tooltalk.c (syms_of_tooltalk):
6111         [2].
6112
6113         * unexnt.c:
6114         * unexnt.c (unexec):
6115         Fix up headers, declaration of unexec() to be more standard.
6116
6117 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6118
6119         * offix.h: Revert change to guard macros - they're used in offix.c!
6120
6121 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6122
6123         * lisp.h: Defsubred Fdelete.
6124
6125         * console-msw.h:  (msprinter_default_printer): Added.
6126
6127         * console-msw.c (msprinter_canonicalize_console_connection):
6128         (msprinter_canonicalize_device_connection): Added.
6129
6130         * device-msw.c (msprinter_default_printer):
6131         (Fmswingows_get_default_printer):
6132         (signal_enum_priner_error):
6133         (Fmswingows_printer_list): Added.
6134
6135 2000-07-19  Martin Buchholz <martin@xemacs.org>
6136
6137         * XEmacs 21.2.35 is released.
6138
6139 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6140
6141         * select-x.c (x_handle_selection_request):
6142         Text selected in xemacs and pasted into xterm failed to appear.
6143         Spelling fixes and cosmetic changes.
6144
6145 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6146
6147         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6148         XEmacs frame (fix for doubling chars in dialog boxes).
6149
6150 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6151
6152         * select.c (select_convert_in, select_convert_out):
6153         Don't call intern() every time.
6154
6155         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6156         * select.c (vars_of_select): Initialise them.
6157
6158 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6159
6160         * select.c (selection-coercible-types): New.
6161
6162         * select.c (own-selection-internal):
6163         * select.c (get-selection-internal):
6164         MULE bug fix - these should default to COMPOUND_TEXT and not
6165         STRING for MULE. I think.
6166
6167         * select.c (select_convert_out): Use selection-coercible-types
6168         to find types that we can attempt to perform coercions on.
6169
6170 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6171
6172         * mule-wnnfns.c:
6173         * mule-canna.c:
6174         Add coding: cookie to identify encoding.
6175
6176         * mule-canna.c (CANNA_mode_keys): make static.
6177         Use proper prototypes, even for functions of no arguments.
6178         Remove external prototype for Fding().
6179
6180         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6181
6182         * select.c (syms_of_select): Add missing DEFSUBR.
6183
6184 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6185
6186         * select.c (get_selection_internal, own_selection_internal):
6187         Make the type default to STRING, rather than placing a nil type
6188         into Vselection_alist.
6189
6190 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6191
6192         * gpmevent.c (tty_selection_exists_p):
6193         * gpmevent.c (tty_own_selection):
6194         Updated parameter lists.
6195
6196 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6197
6198         * select.h (selection-alist): Removed declaration.
6199
6200         * select.h (get_local_selection):
6201         * select.c (get_local_selection):
6202         Made static.
6203
6204         * select.h (convert_selection): Removed declaration.
6205         * select.c (convert_selection): Removed.
6206         This function belongs in Lisp.
6207
6208         * select.h (select_convert_in): Declare.
6209         * select.h (select_convert_out): Declare.
6210         * select.c (select_convert_in): New.
6211         * select.c (select_convert_out): New.
6212         New conversion functions for other files to call.
6213
6214         * select.h (select_notify_buffer_kill): Declare.
6215         * select.c (select_notify_buffer_kill): New.
6216         New functions that get called from kill-buffer.
6217
6218         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6219         X-specific lisp code.
6220
6221         * select.h: Declare some of the lisp-visible functions for
6222         external use.
6223
6224         * select.c (clean_local_selection_data): Removed. This was
6225         a disgusting function, and previously should have been in
6226         select-x.c in any case. The functionality is now provided
6227         in select-convert-from-integer (select.el).
6228
6229         * select.c (available-selection-types): Fixed stupidity where
6230         INTEGER and ATOM got added twice. Also add STRING when we see an
6231         extent.
6232
6233         * select.c (get-selection-internal): Removed symbol stripping. No
6234         longer causes conversion when data comes from the internal cache.
6235
6236         * select.c (syms_of_select): Added new functions.
6237
6238         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6239         error checking - previously this called abort!
6240
6241         * select-x.c (x_own_selection): Changed comment.
6242
6243         * select-x.c (x_handle_selection_request): Use select_convert_out.
6244         Don't mess with selection-alist; it's an internal variable of select.c.
6245
6246         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6247
6248         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6249         rather than messing with selection-alist.
6250
6251         * select-msw.c (mswindows_get_foreign_selection):
6252         Use TO_INTERNAL_FORMAT rather than hacking.
6253
6254 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6255
6256         * process-unix.c (unix_open_multicast_group):
6257         (unix_open_multicast_group): Remove useless casts.
6258
6259 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6260
6261         * sound.c (Fplay_sound): Fix `unused variable' warning.
6262
6263         * emacs.c (main): Use correct type for _environ on SCO5.
6264
6265 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6266
6267         * console.h (own_selection_method):
6268         * console.h (selection_exists_p_method):
6269         * console.h (available_selection_types_method): New.
6270         * console.h (register_selection_data_type_method): New.
6271         * console.h (selection_data_type_name): New.
6272
6273         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6274         function & alist to track GlobalAlloc()'d handles that need
6275         releasing when the clipboard data gets replaced or emptied.
6276
6277         * event-msw.c (mswindows_wnd_proc): Call it.
6278
6279         * lisp.h, general.c (Qappend): New symbol representing a
6280         `how-to-add' mode.
6281
6282         * select.c (own-selection-internal):
6283         * select.c (selection-exists-p):
6284         * select.c (available-selection-types): New.
6285         * select.c (register-selection-data-type): New.
6286         * select.c (selection-data-type-name): New.  New functions to deal
6287         with device-specific selection data formats.
6288         * select.c (selection-converter-out-alist): Renamed.
6289         * select.c (selection-converter-in-alist): New.
6290         * select.c (selection-appender-alist): New.  Added new alists.
6291         * select.c (syms_of_select, vars_of_select): Added new symbols &
6292         variables.
6293         * select.c (get_local_selection): Split.
6294         * select.c: Removed spurious type checking - selections may now be
6295         of any type, not just strings.
6296         * select.c (own-selection-internal):
6297
6298         * select.h, select.c (convert_selection): New. Created
6299         convert_selection() function based on get_local_selection().
6300         * select.h, select.c (QCF_*): New symbols representing mswindows
6301         clipboard formats.
6302         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6303         symbols representing `how-to-add' modes.
6304
6305         * select-msw.c (x_sym_p): New.
6306         * select-msw.c (symbol_to_ms_cf): New.
6307         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6308         symbols & clipboard formats. Can also handle string names.
6309         * select-msw.c (mswindows_own_selection):
6310         * select-msw.c (mswindows_selection_exists_p):
6311         Added `data-type' parameter. Use it.
6312         * select-msw.c (mswindows_available_selection_types): New.
6313         * select-msw.c (mswindows_register_selection_data_type): New.
6314         * select-msw.c (mswindows_selection_data_type_name): New.
6315         * select-msw.c (mswindows_own_selection):
6316         * select-msw.c (mswindows_get_foreign_selection):
6317         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6318         * select-msw.c (console_create_select_mswindows): Added new methods.
6319         * select-msw.c (mswindows_destroy_selection): New.
6320         * select-msw.c (Vhandle_alist): New list.
6321         * select-msw.c (mswindows_own_selection):
6322
6323         * select-x.c (x_own_selection):
6324         * select-x.c (x_selection_exists_p):
6325         * select-x.c: Added some comments about maybe using new
6326         functionality.
6327         * select-x.c (x_own_selection):
6328
6329         * specifier.c: Remove definition of Qappend (now in general.c)
6330         * specifier.c (syms_of_specifier): Remove Qappend.
6331
6332 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6333
6334         * config.h.in: Add socklen_t.
6335
6336         * s/decosf4-0.h: No special compiler flags needed or desired.
6337         In particular, undefine _BSD for DEC OSF 4.0.
6338
6339 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6340
6341         * redisplay-msw.c (msprinter_frame_output_end): Added.
6342         (console_type_create_redisplay_mswindows): Referred the above.
6343
6344         * frame.c (setup_frame_without_minibuffer): Do not create a
6345         default minibuffer frame on a printer device.
6346
6347         * frame-msw.c (apply_dc_geometry): Added.
6348         (msprinter_start_page):
6349         (msprinter_init_frame_3):
6350         (msprinter_eject_page): Use it.
6351
6352         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6353         and removed residual duplex and orientation properties.
6354
6355 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6356
6357         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6358
6359         * unexalpha.c: Remove system prototypes from C sources!
6360
6361 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6362
6363         * eval.c: Remove references to M-x edit-options in DEFUNs for
6364         `defvar' and `defconst'.
6365
6366 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6367
6368         * config.h.in: Remove SMART_INCLUDE hackery.
6369
6370         PostgreSQL hacking:
6371         * config.h.in: Don't use SMART_INCLUDE.
6372
6373         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6374         * inline.c: Simply #include "postgresql.h"
6375         * postgresql.c:
6376         - Don't use SMART_INCLUDE
6377         - Use simply "const".
6378         - Use standard doc string conventions.
6379         - Use correct type for result of PQstatus.
6380
6381 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6382
6383         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6384
6385         C++ compilation changes.
6386         * config.h.in (EXTERN_C): Define.
6387         * config.h.in (not): This is also a C++ keyword.
6388         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6389         * cm.c: Use EXTERN_C.
6390         * redisplay-tty.c: Use EXTERN_C.
6391         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6392
6393 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6394
6395         * general.c: Remove duplicate definition for Qfunction.
6396
6397 2000-07-08  Ben Wing  <ben@xemacs.org>
6398
6399         * device-msw.c (msprinter_init_device):
6400         * device-msw.c (sync_printer_with_devmode):
6401         * device-msw.c (handle_devmode_changes):
6402         * device-msw.c (print_dialog_worker):
6403         * device-msw.c (Fmsprinter_apply_settings):
6404         * device-msw.c (hash_devmode):
6405         * device-msw.c (Fmsprinter_settings_despecialize):
6406         use Qmswindows_tstr, not Qctext.
6407
6408         * vm-limit.c (check_memory_limits):
6409         avoid infinite loop printing warning messages.
6410
6411 2000-07-05  Craig Lanning  <lanning@scra.org>
6412
6413         * Makefile.in.in: Add support for including the Windows resources
6414         when building with the cygwin and mingw targets.
6415
6416         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6417         not set or not correct.
6418         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6419         (init_initial_directory): Don't try to use $PWD on the
6420         WIN32_NATIVE target.
6421
6422         * s\cygwin32.h:
6423         [[Add -mwindows to eliminate console window.]] not required --ben
6424         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6425         (MAIL_USE_POP): removed; now handled by configure.
6426
6427         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6428         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6429         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6430         (MAIL_USE_POP): removed; now handled by configure.
6431         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6432         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6433         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6434         constant string.
6435         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6436         up from <winsock.h> via systime.h.
6437         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6438         (getpagesize): from Dan Holmsand, added.
6439         Added #endif which was left dangling by Ben's mega patch; added
6440         comment to help prevent this in the future.
6441
6442         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6443
6444 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6445
6446         * console-msw.h (struct mswindows_device): Removed unnecessary
6447         cached device geometry values.
6448         Added update_tick and an accessor macro.
6449         (Lisp_Devmode): Added lrecord declaration.
6450         (struct msprinter_device): Contain devmode as a Lisp object.
6451         Added mswindows_get_selected_frame_hwnd();
6452
6453         * console.h (struct console_methods): Indentation nitpicking.
6454
6455         * device-msw.c (mswindows_init_device): Do not initialize geometry
6456         cache. Initialize update tick.
6457         (mswindows_device_system_metrics): Ask the device for its geometry.
6458         (global_free_2_maybe):
6459         (devmode_to_hglobal):
6460         (handle_printer_changes):
6461         (ensure_not_printing):
6462         (print_dialog_worker):
6463         (Fmsprinter_print_setup_dialog):
6464         (Fmsprinter_print_dialog):
6465         (plist_get_margin):
6466         (plist_set_margin):
6467         (Fmsprinter_page_setup_dialog): Added functions.
6468         (sync_printer_with_devmode):
6469         (handle_devmode_changes):
6470         (Fmsprinter_get_settings):
6471         (Fmsprinter_select_settings):
6472         (Fmsprinter_apply_settings):
6473         (allocate_devmode):
6474         (Fmsprinter_settings_copy):
6475         (Fmsprinter_settings_despecialize):
6476         (print_devmode):
6477         (finalize_devmode):
6478         (equal_devmode):
6479         (hash_devmode): Added functions
6480         (syms_of_device_mswindows): Init devmode lrecord class.
6481
6482         * device.h: Added an exfun for find-device.
6483
6484         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6485         geometry; although, recreate the device compatible DC.
6486
6487         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6488         (msprinter_init_frame_3):
6489         (msprinter_frame_property):
6490         (msprinter_internal_frame_property_p):
6491         (msprinter_frame_properties):
6492         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6493         print job properties (will move to device settings).
6494
6495         * lisp.h: Added symbols.
6496
6497         * general.c (syms_of_general): Declared them.
6498
6499         * hash.c (string_hash): Added.
6500
6501         * lrecord.h (lrecord_type): Added devmode lrecord type.
6502
6503 2000-07-02  Mike Sperber <mike@xemacs.org>
6504
6505         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6506         FreeBSD 4.0.
6507
6508 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6509
6510         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6511         integer.
6512
6513 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6514
6515         * data.c (Fstring_to_number): Don't recognize floating point if
6516         base is not 10.
6517
6518 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6519
6520         * glyphs-widget.c (tab_control_query_geometry):
6521         (widget_query_geometry):
6522         (button_query_geometry):
6523         * glyphs.c (text_query_geometry):
6524         Enforce type correctness.
6525
6526 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6527
6528         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6529         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6530
6531 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6532
6533         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6534         conflicts with gcc's fixincluded version of FOO.h.
6535
6536         * glyphs.h (image_instance_geometry): Remove trailing `,'
6537
6538 2000-06-08  Mike Alexander  <mta@arbortext.com>
6539
6540         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6541         (shove_thread): Don't write the same output twice
6542         (make_ntpipe_output_stream): Increase priority of shove thread
6543         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6544         chance to run
6545         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6546         it.
6547
6548 2000-06-12  Ben Wing  <ben@xemacs.org>
6549
6550         * s\mingw32.h (sigset):
6551         * s\windowsnt.h (sigset):
6552         rename msw_ to mswindows_ for consistency with general convention.
6553
6554 2000-06-12  Ben Wing  <ben@xemacs.org>
6555
6556         * console-msw.c:
6557         * console-msw.c (mswindows_get_console_hwnd):
6558         * console-msw.c (mswindows_ensure_console_allocated):
6559         * console-msw.c (mswindows_hide_console):
6560         * console-msw.c (mswindows_show_console):
6561         * console-msw.c (mswindows_ensure_console_buffered):
6562         * console-msw.c (mswindows_output_console_string):
6563         * console-msw.c (mswindows_windows9x_p):
6564         * console-msw.h:
6565         * device-msw.c (mswindows_get_workspace_coords):
6566         * device-msw.c (mswindows_device_system_metrics):
6567         * dialog-msw.c (mswindows_popup_dialog_box):
6568         * event-msw.c (mswindows_wnd_proc):
6569         * frame-msw.c (mswindows_size_frame_internal):
6570         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6571         * menubar-msw.c (displayable_menu_item):
6572         * menubar-msw.c (mswindows_char_is_accelerator):
6573         * nt.c:
6574         * nt.c (mswindows_sigset):
6575         * nt.c (mswindows_sigrelse):
6576         * nt.c (mswindows_sigpause):
6577         * nt.c (mswindows_raise):
6578         * nt.c (timer_proc):
6579         * ntproc.c:
6580         * ntproc.c (find_child_console):
6581         * ntproc.c (sys_kill):
6582         * print.c:
6583         * print.c (std_handle_out_external):
6584         * process-nt.c (find_child_console):
6585         * process-nt.c (send_signal_the_95_way):
6586         * process-nt.c (ensure_console_window_exists):
6587         * process-nt.c (nt_create_process):
6588         * syssignal.h:
6589         rename msw_ to mswindows_ for consistency with general convention.
6590
6591         * emacs.c:
6592         * dumper.c:
6593         include nt.h, not syswindows.h.
6594
6595         * nt.c (mswindows_fstat):
6596         * nt.c (mswindows_stat):
6597         prefix mswindows_ instead of attempting to directly override the
6598         library functions.  fix declarations.
6599
6600         * nt.h:
6601         include syswindows.h.  move some sysdep.h stuff here.
6602
6603         * ntheap.h:
6604         include syswindows.h, not <windows.h>.
6605
6606         * ntplay.c:
6607         clean up headers.
6608
6609         * sysdep.c:
6610         clean up headers.
6611
6612         * sysdep.c (sys_fstat):
6613         * sysdep.c (sys_stat):
6614         call mswindows versions when appropriate.
6615
6616         * sysdep.h:
6617         move mswin decls to nt.h.
6618
6619         * syswindows.h:
6620         add long comment describing appropriate use of the various windows
6621         headers.
6622
6623 2000-06-11  Ben Wing  <ben@xemacs.org>
6624
6625         * device-x.c: Correct doc string for sixth arg of x-get-resource.
6626
6627 2000-06-10  Ben Wing  <ben@xemacs.org>
6628
6629         * Makefile.in.in (release):
6630         Correction to make sure xemacs.exe always dumped when correct.
6631
6632         * alloca.c:
6633         * balloon_help.c:
6634         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
6635
6636         * buffer.c (set_buffer_internal):
6637         [[[[2]]]]: Remove HAVE_FEP code.
6638
6639         * buffer.c (init_initial_directory):
6640         [3].
6641
6642         * bytecode.c:
6643         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
6644         individual files.
6645
6646         * callproc.c:
6647         * callproc.c (call_process_cleanup):
6648         * callproc.c (Fold_call_process_internal):
6649         * callproc.c (child_setup):
6650         * callproc.c (getenv_internal):
6651         * callproc.c (init_callproc):
6652         * callproc.c (vars_of_callproc):
6653         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
6654         __CYGWIN32__ -> CYGWIN.
6655         DOS_NT -> WIN32_NATIVE.
6656         Remove MSDOS support/references, converting to WIN32_NATIVE
6657           where correct.
6658         __MINGW32__ -> MINGW.
6659         Fix windows.h includes.
6660         Remove bogus HAVE_NTGUI.
6661
6662         * config.h.in:
6663         [2].
6664
6665         * console-msw.c:
6666         mswindows_message_outputted added for use in allowing startup
6667         errors on the console to be seen.
6668
6669         * console-msw.c (msw_ensure_console_allocated):
6670         * console-msw.c (msw_output_console_string):
6671         * console-msw.c (DHEADER):
6672         * console-msw.c (DOPAQUE_DATA):
6673         * console-msw.c (DEVENT):
6674         * console-msw.c (DCONS):
6675         * console-msw.c (DCONSCDR):
6676         * console-msw.c (DSTRING):
6677         * console-msw.c (DVECTOR):
6678         * console-msw.c (DSYMBOL):
6679         * console-msw.c (DSYMNAME):
6680         Fix warnings.
6681
6682         * console-stream.c (stream_init_console):
6683         Fix text/binary problems.
6684
6685         * device-msw.c:
6686         * device-msw.c (mswindows_finish_init_device):
6687         * device-msw.c (mswindows_delete_device):
6688         [1].
6689
6690         * device.c (handle_asynch_device_change):
6691         [3].
6692
6693         * dgif_lib.c:
6694         * dgif_lib.c (DGifOpenFileName):
6695         * dgif_lib.c (DGifOpenFileHandle):
6696         * dgif_lib.c (DGifGetLine):
6697         * dgif_lib.c (DGifGetPixel):
6698         Added config.h/lisp.h, fix up includes.
6699         [1].
6700
6701         * dired-msw.c:
6702         [4].
6703
6704         * dired.c:
6705         * dired.c (file_name_completion):
6706         * dired.c (Ffile_attributes):
6707         * dired.c (syms_of_dired):
6708         [1].
6709
6710         * dumper.c:
6711         * dumper.c (pdump_file_unmap):
6712         * dumper.c (pdump_load):
6713         [1].
6714
6715         * editfns.c:
6716         * editfns.c (Ftemp_directory):
6717         * editfns.c (user_login_name):
6718         * editfns.c (Fuser_real_login_name):
6719         * editfns.c (get_home_directory):
6720         [1].
6721
6722         * elhash.c (finish_marking_weak_hash_tables):
6723         [[[[5]]]]: Fix GCC warnings.
6724
6725         * emacs.c:
6726         * emacs.c (mswindows_handle_hardware_exceptions):
6727         * emacs.c (make_arg_list_1):
6728         * emacs.c (main_1):
6729         * emacs.c (Fkill_emacs):
6730         * emacs.c (Fdump_emacs):
6731         [1].
6732         Fix problems with nested crashes, add long comment.
6733
6734         * event-Xt.c (init_event_Xt_late):
6735         [1].
6736
6737         * event-msw.c:
6738         * event-msw.c (mswindows_dde_callback):
6739         * event-msw.c (mswindows_handle_sticky_modifiers):
6740         * event-msw.c (mswindows_wnd_proc):
6741         [1].
6742         [5].
6743
6744         * events.c (character_to_event):
6745         [1].
6746
6747         * fileio.c:
6748         * fileio.c (Ffile_name_directory):
6749         * fileio.c (Ffile_name_nondirectory):
6750         * fileio.c (directory_file_name):
6751         * fileio.c (Fexpand_file_name):
6752         * fileio.c (Fsubstitute_in_file_name):
6753         * fileio.c (Ffile_name_absolute_p):
6754         * fileio.c (check_executable):
6755         * fileio.c (Ffile_readable_p):
6756         * fileio.c (Ffile_accessible_directory_p):
6757         * fileio.c (Ffile_modes):
6758         * fileio.c (Funix_sync):
6759         * fileio.c (vars_of_fileio):
6760         [1]. [4].
6761
6762         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
6763
6764         Expand getdefdir defn.
6765         Fix bogus rename() comment.
6766
6767         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
6768         to use standard XEmacs include files, e.g. sysfile.h, rather
6769         than system-specific includes.
6770
6771         * fns.c:
6772         * fns.c (Fsubseq):
6773         [5]. [6].
6774
6775         * frame.c (vars_of_frame):
6776         [1].
6777
6778         * getloadavg.c:
6779         * getloadavg.c (getloadavg):
6780         [1]. [6].
6781         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
6782         (We don't use it elsewhere in the code; just add a comment.)
6783
6784         * gif_io.c:
6785         [6].
6786         Add config.h.
6787
6788         * glyphs-msw.c:
6789         * glyphs-msw.c (mswindows_resource_instantiate):
6790         [1].
6791
6792         * glyphs-x.c (x_native_layout_instantiate):
6793         [5].
6794
6795         * gui-msw.c (Fmswindows_shell_execute):
6796         [1].
6797
6798         * insdel.c:
6799         [4].
6800
6801         * lisp.h:
6802         [4]. [5].
6803
6804         * lread.c (locate_file_in_directory_mapper):
6805         [1].
6806
6807         * lstream.c:
6808         [4].
6809
6810         * mem-limits.h:
6811         * mem-limits.h (get_lim_data):
6812         [1].
6813
6814         * menubar-msw.c:
6815         [4].
6816
6817         * ndir.h:
6818         [1].
6819
6820         * nt.c:
6821         * nt.c (getwd):
6822         * nt.c (closedir):
6823         * nt.c (rva_to_section):
6824         * nt.c (mswindows_executable_type):
6825         [1]. [6].
6826         Fix closedir() defn.
6827
6828         * nt.h:
6829         [[[[8]]]]: *_OK defs moved to sysfile.h.
6830
6831         * ntproc.c:
6832         [6]. [7].
6833
6834         * objects-x.c:
6835         [4].
6836
6837         * print.c:
6838         * print.c (std_handle_out_external):
6839         [1]. [4].
6840
6841         * process-nt.c:
6842         * process-nt.c (nt_create_process):
6843         [6].
6844         try to fix process quoting somewhat.
6845
6846         * process-unix.c (unix_create_process):
6847         [1].
6848
6849         * process.c:
6850         * process.c (vars_of_process):
6851         Add Vnull_device.
6852
6853         * process.h:
6854         [1].
6855
6856         * realpath.c:
6857         * realpath.c (xrealpath):
6858         [1].
6859
6860         * redisplay-tty.c (init_tty_for_redisplay):
6861         [3].
6862
6863         * redisplay.c:
6864         [4]. [6].
6865
6866         * scrollbar-msw.c:
6867         [4].
6868
6869         * sheap.c:
6870         * sheap.c (more_static_core):
6871         * sheap.c (report_sheap_usage):
6872         [5]. [6].
6873
6874         * signal.c:
6875         * signal.c (alarm_signal):
6876         [1]. [6].
6877
6878         * sound.c:
6879         [6].
6880
6881         * strftime.c:
6882         * strftime.c (zone_name):
6883         [1]. [5].
6884
6885         * symsinit.h (init_sunpro):
6886         [1].
6887
6888         * syscommctrl.h:
6889         commctrl.h not in Cygwin b20.1.
6890
6891         * sysdep.c:
6892         * sysdep.c (endif):
6893         * sysdep.c (sys_subshell):
6894         * sysdep.c (init_baud_rate):
6895         * sysdep.c (emacs_get_tty):
6896         * sysdep.c (emacs_set_tty):
6897         * sysdep.c (tty_init_sys_modes_on_device):
6898         * sysdep.c (init_system_name):
6899         * sysdep.c (sys_open):
6900         * sysdep.c (interruptible_open):
6901         * sysdep.c (sys_fopen):
6902         * sysdep.c (sys_mkdir):
6903         * sysdep.c (sys_rename):
6904         * sysdep.c (get_process_times_1):
6905         [1]. [6].
6906
6907         * sysdep.h:
6908         [1].
6909
6910         * sysdir.h:
6911         * sysdir.h (DIRENTRY_NONEMPTY):
6912         [1]. [6].
6913
6914         * sysdll.c (dll_init):
6915         * sysdll.h:
6916         [1].
6917
6918         * sysfile.h:
6919         [1]. [6]. [8].
6920         added text/binary defs.
6921
6922         * sysfloat.h:
6923         [1].
6924
6925         * sysproc.h:
6926         * sysproc.h (EDESTADDRREQ):
6927         * sysproc.h (poll_fds_for_input):
6928         [1]. [6].
6929
6930         * syspwd.h:
6931         [6].
6932
6933         * syssignal.h:
6934         [1].
6935
6936         * systime.h:
6937         [1]. [6].
6938
6939         * systty.h:
6940         [1].
6941
6942         * syswindows.h:
6943         [1].
6944         Always define WIN32_LEAN_AND_MEAN.
6945
6946         * unexcw.c (unexec):
6947         [5].
6948
6949         * unexec.c:
6950         * unexec.c (copy_text_and_data):
6951         * unexec.c (adjust_lnnoptrs):
6952         [1].
6953
6954         * unexnt.c:
6955         * unexnt.c (_start):
6956         [1].
6957
6958 2000-06-07  Ben Wing  <ben@xemacs.org>
6959
6960         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
6961         was used only as a model.  We've long since extracted any useful
6962         logic or code out of this. (I just did an exhaustive search.)
6963
6964         * s\msdos.h: Removed.
6965
6966         * s\windows95.h: Removed.
6967
6968 2000-06-10  Ben Wing  <ben@xemacs.org>
6969
6970         * s\cygwin32.h:
6971         [1]. [5].
6972         Don't use extern with fun defs.
6973
6974         * s\mingw32.h:
6975         [1]. [7].
6976         Remove nt\inc include.
6977         Remove getdisk, getdefdir. (The former is unused, the latter
6978         expanded in fileio.h.)
6979
6980         * s\windowsnt.h:
6981         * s\windowsnt.h (WIN32_NATIVE):
6982         * s\windowsnt.h (HAVE_STRCASECMP):
6983         [1]. [7].
6984         Add long comment about preprocessor changes.
6985         Remove getdisk, getdefdir. (The former is unused, the latter
6986         expanded in fileio.h.)
6987
6988 2000-06-10  Ben Wing  <ben@xemacs.org>
6989
6990         * m\arm.h:
6991         * m\delta.h:
6992         * m\intel386.h:
6993         * m\sequent.h:
6994         * m\template.h:
6995         * m\windowsnt.h:
6996         [1].
6997         Remove bogus/unused NO_SOCK_SIGIO.
6998
6999 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7000
7001         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7002         not an Emchar.
7003
7004 2000-06-04  Mike Sperber <mike@xemacs.org>
7005
7006         * casetab.c (set_case_table): For `set-standard-case-table',
7007         actually deposit the new case tables where the rest of XEmacs can
7008         see them.
7009
7010 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7011
7012         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7013
7014 2000-06-05  Ben Wing  <ben@xemacs.org>
7015
7016         * callproc.c (child_setup): Don't do close_load_descs() under
7017         MS Windows.  Put in a comment explaining why.
7018
7019 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7020
7021         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7022         Toolkit shell" which breaks `kill-compilation' on Windows NT
7023         native, retaining STDERR handling improvements.
7024
7025 2000-06-01  Andreas Jaeger  <aj@suse.de>
7026
7027         * s/s390.h: Support for S390, based on a patch by Martin
7028         Schwidefsky <schwidefsky@de.ibm.com>.
7029
7030 2000-05-30  Andy Piper  <andy@xemacs.org>
7031
7032         * window.c (allocate_window):
7033         (make_dummy_parent):
7034         (Fset_window_configuration): use new hashtable type.
7035
7036         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7037         (struct image_instantiator_methods):
7038         (struct Lisp_Image_Instance): make instance geometry signed.
7039
7040         * glyphs.c (instantiate_image_instantiator):
7041         (image_instance_query_geometry):
7042         (image_instance_layout):
7043         (image_instance_layout):
7044         (query_string_geometry):
7045         (text_query_geometry):
7046         (image_instantiate):
7047         (image_instantiate):
7048         (cache_subwindow_instance_in_frame_maybe):
7049         (subwindow_query_geometry): make instance geometry signed.
7050
7051         * glyphs-widget.c (widget_query_geometry):
7052         (widget_layout):
7053         (button_query_geometry):
7054         (tree_view_query_geometry):
7055         (tab_control_query_geometry):
7056         (layout_query_geometry):
7057         (layout_layout):
7058         (native_layout_layout): make instance geometry signed.
7059
7060 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7061
7062         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7063         constant.
7064
7065         * general.c (syms_of_general): Add Qfull_assoc symbol.
7066
7067         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7068         correctly.
7069         (decode_weak_list_type): Decode full-assoc type.
7070         (encode_weak_list_type): Encode full-assoc type.
7071         (Fmake_weak_list): Update doc string.
7072
7073 2000-05-30  Andy Piper  <andy@xemacs.org>
7074
7075         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7076
7077         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7078         (decode_hash_table_weakness): ditto.
7079         (Fhash_table_weakness): ditto.
7080         (Fhash_table_type): ditto.
7081         (finish_marking_weak_hash_tables): ditto.
7082         (hash_table_weakness_validate): ditto.
7083         (syms_of_elhash): ditto.
7084
7085 2000-05-28  Martin Buchholz <martin@xemacs.org>
7086
7087         * XEmacs 21.2.34 is released.
7088
7089 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7090
7091         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7092         start cache.
7093         (updating_line_start_cache): Gone.
7094         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7095         generic code to force a minimum of 1 line laid out in the
7096         CMOTION_DISP case.
7097
7098 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7099
7100         * glyphs.c (instantiate_image_instantiator): Check for initialized
7101         height & width no longer special cases IMAGE_NOTHING.
7102         (nothing_instantiate): Set height and width of instance.
7103
7104 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7105
7106         * unexelf.c (unexec): Search for ".data" section.
7107         Initialize new_data2_offset from old_data_index.
7108         Remove redundant check for ElfW.
7109
7110 2000-05-23  Andy Piper  <andy@xemacs.org>
7111
7112         * glyphs.c (get_image_instantiator_governing_domain): allow more
7113         specific domains as the governing domain rather than expecting an
7114         exact match. This fixes problems with layouts.
7115
7116 2000-05-22  Andy Piper  <andy@xemacs.org>
7117
7118         * redisplay-output.c (compare_runes): check for non-images
7119
7120         * glyphs.c (set_glyph_dirty_p): ditto.
7121         (update_glyph_cachel_data): ditto.
7122
7123         * glyphs-widget.c (layout_post_instantiate): ditto.
7124         (layout_post_instantiate): ditto.
7125
7126         * event-msw.c (mswindows_wnd_proc): warning removal.
7127
7128 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7129
7130         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7131
7132         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7133
7134         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7135
7136         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7137         (mswindows_executable_type): mingw32 now has enough headers for
7138         this to work.
7139
7140 2000-05-20  Andy Piper  <andy@xemacs.org>
7141
7142         * console-msw.c (mswindows_output_last_error): ; -> ,
7143
7144 2000-05-12  Andy Piper  <andy@xemacs.org>
7145
7146         * console-msw.c (FROB): compare ints with ints.
7147
7148 2000-05-11  Andy Piper  <andy@xemacs.org>
7149
7150         * glyphs-x.c (x_finalize_image_instance): make minimal build
7151         happy.
7152
7153 2000-05-20  Ben Wing  <ben@xemacs.org>
7154
7155         * event-Xt.c:
7156         * event-Xt.c (vars_of_event_Xt):
7157         move modifier-keys-are-sticky to event-stream.c.
7158
7159         * event-msw.c:
7160         * event-msw.c (mswindows_enqueue_mouse_button_event):
7161         * event-msw.c (key_needs_default_processing_p):
7162         * event-msw.c (XEMSW_LCONTROL):
7163         * event-msw.c (mswindows_handle_sticky_modifiers):
7164         * event-msw.c (FROB):
7165         * event-msw.c (clear_sticky_modifiers):
7166         * event-msw.c (output_modifier_keyboard_state):
7167         * event-msw.c (output_alt_keyboard_state):
7168         * event-msw.c (mswindows_wnd_proc):
7169         * event-msw.c (mswindows_modifier_state):
7170         * event-msw.c (emacs_mswindows_handle_magic_event):
7171         implement sticky modifiers.
7172
7173         * event-stream.c:
7174         * event-stream.c (vars_of_event_stream):
7175         move modifier-keys-are-sticky here.
7176
7177         * lisp.h:
7178         add CHECK_FUNCTION.
7179
7180         * rangetab.c:
7181         implement map-range-table.
7182
7183
7184 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7185
7186         * redisplay-tty.c (reset_tty_modes):
7187         (tty_redisplay_shutdown): Adjust argument type to
7188         tty_frame_output_end.
7189
7190 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7191
7192         * eval.c (Fbacktrace): Don't output a line with only right
7193         parenthesis.
7194
7195 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7196
7197         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7198         (Fpq_reset_poll): Ditto.
7199
7200 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7201
7202         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7203
7204 2000-05-16  Ben Wing  <ben@xemacs.org>
7205
7206         * buffer.c:
7207         * buffer.c (dfc_convert_to/from_internal_format):
7208         * buffer.c (reinit_vars_of_buffer):
7209         Fix conversion functions to allow reentrancy.
7210
7211         * console-msw.c:
7212         * console-msw.c (mswindows_output_last_error):
7213         New fun, generally useful -- output a human-readable
7214         version of GetLastError() on the console.
7215
7216         * console-msw.h:
7217         * console-msw.h (struct mswindows_frame):
7218         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7219
7220         * console-stream.c (stream_output_begin):
7221         * console-stream.c (stream_output_end):
7222         * console-stream.c (stream_output_vertical_divider):
7223         * console-stream.c (stream_clear_region):
7224         * console-stream.c (stream_flash):
7225         * console-stream.c (console_type_create_stream):
7226         Delete blank stream methods, not needed.
7227
7228         * console.h (struct console_methods):
7229         Split begin/end methods into window and frame.
7230
7231         * event-msw.c:
7232         * event-msw.c (mswindows_handle_paint):
7233         * event-msw.c (output_alt_keyboard_state):
7234         * event-msw.c (mswindows_wnd_proc):
7235         * event-msw.c (vars_of_event_mswindows):
7236         Comment about problems with ignored-expose.
7237         Define mswindows-debug-events; not really implemented.
7238
7239         * frame-msw.c (mswindows_init_frame_1):
7240         random cleanups.
7241
7242         * glyphs-msw.c:
7243         * glyphs-msw.c (begin_defer_window_pos):
7244         * glyphs-msw.c (mswindows_unmap_subwindow):
7245         * glyphs-msw.c (mswindows_map_subwindow):
7246         * glyphs-msw.c (mswindows_resize_subwindow):
7247         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7248
7249         * glyphs.c (make_image_instance_1):
7250         Fix crash.
7251
7252         * gutter.c (Fredisplay_gutter_area):
7253         Use new begin/end methods.
7254
7255         * lisp.h (Dynarr_new2):
7256         New creation fun.
7257
7258         * redisplay-msw.c:
7259         * redisplay-msw.c (mswindows_frame_output_begin):
7260         * redisplay-msw.c (mswindows_frame_output_end):
7261         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7262         New begin/end methods -- handle DeferWindowPos.
7263
7264         * redisplay-output.c (redisplay_move_cursor):
7265         * redisplay-output.c (redraw_cursor_in_window):
7266         * redisplay-output.c (redisplay_update_line):
7267         * redisplay-output.c (redisplay_output_window):
7268         New begin/end methods.
7269
7270         * redisplay-tty.c:
7271         * redisplay-tty.c (tty_frame_output_begin):
7272         * redisplay-tty.c (tty_frame_output_end):
7273         * redisplay-tty.c (console_type_create_redisplay_tty):
7274         New begin/end methods.
7275
7276         * redisplay-x.c:
7277         * redisplay-x.c (x_window_output_begin):
7278         * redisplay-x.c (x_window_output_end):
7279         * redisplay-x.c (console_type_create_redisplay_x):
7280         New begin/end methods.
7281
7282         * redisplay.c (redisplay_frame):
7283         * redisplay.c (Fredisplay_echo_area):
7284         New begin/end methods.
7285         use MAYBE_DEVMETH for clear_frame; it may not exist.
7286
7287         * window.h (WINDOW_XFRAME):
7288         WINDOW_XFOO macros -- get locale and decode struct pointer.
7289
7290
7291 2000-05-12  Ben Wing  <ben@xemacs.org>
7292
7293         * emacs.c:
7294         * emacs.c (ensure_no_quitting_from_now_on):
7295         * emacs.c (fatal_error_signal):
7296         * emacs.c (mswindows_handle_hardware_exceptions):
7297         * emacs.c (main):
7298         * emacs.c (Fkill_emacs):
7299         * emacs.c (shut_down_emacs):
7300         * emacs.c (assert_failed):
7301         various improvements in fatal error handling.
7302
7303         * eval.c:
7304         move preparing_for_armageddon to emacs.c.
7305
7306         * lisp.h:
7307         declare fatal_error_in_progress.
7308
7309         * print.c:
7310         * print.c (std_handle_out_external):
7311         * print.c (std_handle_out_va):
7312         * print.c (stderr_out):
7313         * print.c (stdout_out):
7314         use console under mswin when no standard output.
7315         don't do code conversion during fatal error.
7316
7317         * scrollbar.c (Fscrollbar_page_up):
7318         * scrollbar.c (Fscrollbar_page_down):
7319         fix missing else.  reindent.
7320
7321 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7322
7323         Emergency fix.
7324
7325         * glyphs.h (GLYPH_CACHEL_DESCENT):
7326         (GLYPH_CACHEL_DESCENT):
7327         (GLYPH_CACHEL_DESCENT):
7328         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7329         used in case these are inline functions.
7330         Use more absurd values to error check.
7331
7332         include window.h for error check functions.
7333
7334 2000-05-11  Ben Wing  <ben@xemacs.org>
7335
7336         * cmdloop.c (Freally_early_error_handler):
7337         Display message box under windows; otherwise, message will disappear
7338         before it can be viewed.
7339
7340         * console-msw.c:
7341         * console-msw.c (Fmswindows_message_box):
7342         * console-msw.c (FROB):
7343         * console-msw.c (syms_of_console_mswindows):
7344         Define new fun `mswindows-message-box'.
7345         #### I will merge this into `popup-dialog-box'; just give me
7346         a bit of time.
7347
7348         * general.c:
7349         * general.c (syms_of_general):
7350         Some new symbols used in `mswindows-message-box'.
7351
7352         * glyphs.c:
7353         * glyphs.c (Fset_image_instance_property):
7354         put warning in this fun.
7355
7356         * glyphs.h:
7357         * glyphs.h (GLYPH_CACHEL_WIDTH):
7358         * glyphs.h (GLYPH_CACHEL_ASCENT):
7359         * glyphs.h (GLYPH_CACHEL):
7360         * glyphs.h (GLYPH_CACHEL_GLYPH):
7361         define error-checking versions to try to catch a bug i've seen --
7362         redisplay gets in an infinite loop because the glyph width of the
7363         continuation glyph is 65535.
7364
7365         * lisp.h:
7366         Extern message-box stuff.
7367
7368         * window.c (allocate_window):
7369         * window.c (make_dummy_parent):
7370         * window.c (Fset_window_configuration):
7371         Use EQUAL not EQ for subwindow caches to make them work a bit
7372         better. (Something is still very broken.)
7373
7374
7375 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7376
7377         * glyphs.c (image_instantiate): Suppress gcc warnings.
7378         (Fmake_image_instance): Fix doc string.
7379         * specifier.c (Fmake_specifier): Ditto.
7380
7381 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7382
7383         * paths.h.in (PATH_LOCK): Removed.
7384         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7385         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7386
7387 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7388
7389         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7390         Document (featurep '(and xemacs 21.02)).
7391
7392 2000-05-09  Ben Wing  <ben@xemacs.org>
7393
7394         * buffer.c (complex_vars_of_buffer):
7395         update modeline-format doc.
7396
7397         * device.h:
7398         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7399
7400         * emacs.c:
7401         timeline of all released versions of Emacs, for use in creating
7402         authorship comments and in synching up.
7403
7404         * glyphs-widget.c (image_instantiator_buttons):
7405         * glyphs-widget.c (image_instantiator_edit_fields):
7406         * glyphs-widget.c (image_instantiator_combo_box):
7407         * glyphs-widget.c (image_instantiator_scrollbar):
7408         * glyphs-widget.c (image_instantiator_progress_guage):
7409         * glyphs-widget.c (image_instantiator_tree_view):
7410         * glyphs-widget.c (image_instantiator_tab_control):
7411         * glyphs-widget.c (image_instantiator_labels):
7412         * glyphs-widget.c (image_instantiator_layout):
7413         * glyphs-widget.c (image_instantiator_native_layout):
7414         rename decode_domain method to governing_domain.
7415
7416         * glyphs.c:
7417         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7418         * glyphs.c (add_entry_to_device_ii_format_list):
7419         make sure we don't put an entry more than once into the list.
7420         * glyphs.c (check_instance_cache_mapper):
7421         *************************************************************
7422         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7423         HAVE BEEN GETTING.
7424         *************************************************************
7425         * glyphs.c (get_image_instantiator_governing_domain):
7426         clean up, expand on new concept of governing domain.
7427         * glyphs.c (instantiate_image_instantiator):
7428         * glyphs.c (allocate_image_instance):
7429         use governing_domain instead of cache_domain in naming.
7430         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7431         * glyphs.c (make_image_instance_1):
7432         * glyphs.c (Fmake_image_instance):
7433         allow for any domain (not just device), and process the
7434         governing domain correctly.  very big doc fix.
7435         * glyphs.c (Fimage_instance_domain):
7436         new primitive, to retrieve the governing domain of an image instance.
7437         * glyphs.c (image_instantiate):
7438         use new governing_domain stuff.  this fixes a crash you could get
7439         by instantiating certain widget glyphs in frame locales. (should
7440         signal an error instead of crashing.)
7441         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7442         * glyphs.c (Fglyphp): clean up doc.
7443         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7444         * glyphs.c (syms_of_glyphs):
7445         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7446         * glyphs.c (image_instantiator_format_create): add some comments about
7447         bogus code.
7448         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7449         for current-display-table. (Apparently Hrjove implemented in 1998 a
7450         design I wrote up in 1996, but didn't update the doc string.)
7451
7452         * glyphs.h: clean up a doc string.
7453         * glyphs.h (governing_domain):
7454         * glyphs.h (struct image_instantiator_methods):
7455         changes for governing_domain stuff.
7456
7457         * gutter.c:
7458         * gutter.c (Fgutter_specifier_p):
7459         * gutter.c (Fgutter_size_specifier_p):
7460         * gutter.c (Fgutter_visible_specifier_p):
7461         * objects.c:
7462         * objects.c (Fcolor_specifier_p):
7463         * objects.c (Ffont_specifier_p):
7464         * objects.c (Fface_boolean_specifier_p):
7465         doc strings moved to make-*-specifier.
7466
7467         * redisplay.c (add_disp_table_entry_runes_1):
7468         * redisplay.c (generate_fstring_runes):
7469         * redisplay.c (screen):
7470         add random comments and doc strings.
7471
7472         * specifier.c:
7473         * specifier.c (Fmake_specifier):
7474         major overhaul of this doc string.
7475
7476         * specifier.c (Fvalid_specifier_domain_p):
7477         comment about the bogosity of image instances being domains.
7478         * specifier.c (decode_domain):
7479         now non-static, used in glyphs.c.
7480         * specifier.c (specifier_instance):
7481         comment about the bogosity of image instances being domains.
7482         * specifier.c (Fgeneric_specifier_p):
7483         move doc string to make-generic-specifier.
7484         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7485         rebackslashify.
7486
7487         * specifier.h:
7488         * specifier.h (DOMAIN_FRAME):
7489         * specifier.h (DOMAIN_LIVE_P):
7490         * specifier.h (DOMAIN_XDEVICE):
7491         rebackslashify.
7492         add comments about problems with these macros.
7493         prototype for decode_domain.
7494
7495         * toolbar.c:
7496         * toolbar.c (Ftoolbar_specifier_p):
7497         move doc string to `make-toolbar-specifier'.
7498
7499         * window.c (window_unmap_subwindows_cache_mapper):
7500         *************************************************************
7501         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7502         HAVE BEEN GETTING.
7503         *************************************************************
7504
7505 2000-05-09  Andy Piper  <andy@xemacs.org>
7506
7507         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7508
7509         * window.c (Fset_window_configuration): reset the frame subwindow
7510         cache and re-initialize the window subwindow caches.
7511
7512         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7513
7514 2000-05-09  Ben Wing  <ben@xemacs.org>
7515
7516         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7517         DWORD.
7518
7519 2000-04-26  Mike Woolley  <mike@bulsara.com>
7520
7521         * ntheap.c: Changed recreate_heap to limit the amount reserved
7522         for the heap to that which is actually available. Also now
7523         displays a message box (with some dignostics) in the event that
7524         it still can't start.
7525
7526 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7527
7528         * callproc.c (Fold_call_process_internal): GCPRO path
7529
7530 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7531
7532         Patch by Bill Perry.
7533
7534         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7535         back data instead of #ifdef.
7536         (Fscrollbar_page_down): ditto.
7537
7538 2000-05-07  Ben Wing  <ben@xemacs.org>
7539
7540         * buffer.h:
7541         Kludge for defining Qmswindows_tstr.
7542
7543         * nt.c:
7544         * nt.c (open_input_file):
7545         * nt.c (open_output_file):
7546         * nt.c (rva_to_section):
7547         * nt.c (mswindows_executable_type):
7548         Move all memory-mapped-file routines here (some were in unexnt.c,
7549         which is bad because they are used by process-nt.c, and unexnt
7550         won't be around when portable dumping).  Synched the above routines
7551         with FSF 20.6.
7552
7553         * nt.h:
7554         Removed ifdef'd out bogus code.
7555         Fixed some prototypes.
7556
7557         * nt.h (file_data):
7558         * nt.h (OFFSET_TO_RVA):
7559         * nt.h (RVA_TO_OFFSET):
7560         * nt.h (RVA_TO_PTR):
7561         Moved the memory-mapped-file structures, macros and prototypes
7562         here, to parallel nt.c.  ntheap.h should really be removed
7563         entirely, and it's a non-portable-dumper specific file.
7564
7565         * ntheap.h (round_to_next):
7566         Moved the memory-mapped-file structures, macros and prototypes
7567         to nt.h.
7568
7569         * ntproc.c (compare_env):
7570         Moved rva_to_section and mswindows_executable_type to nt.c.
7571         Moved compare_env to process-nt.c.
7572         ntproc.c will die, one day.
7573
7574         * ntproc.c (sys_spawnve):
7575         Account for win32_ -> mswindows_.
7576
7577         * process-nt.c:
7578         * process-nt.c (struct nt_process_data):
7579         * process-nt.c (ensure_console_window_exists):
7580         * process-nt.c (compare_env):
7581         * process-nt.c (nt_create_process):
7582         * process-nt.c (nt_kill_process_by_pid):
7583         * process-nt.c (syms_of_process_nt):
7584         * process-nt.c (vars_of_process_nt):
7585         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7586         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7587         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7588         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7589         Move compare_env here from ntproc.c.
7590
7591         * process.c (Fprocess_send_region):
7592         Takes an optional fourth argument, BUFFER, which should fix some
7593         problems with call-process.
7594
7595         * syscommctrl.h:
7596         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7597
7598         * syswindows.h:
7599         Move ICC_BAR_CLASSES to syscommctrl.h.
7600         Add preliminary macros for MSWindows/Mule.  More to come.
7601
7602         * unexnt.c:
7603         * unexnt.c (unexec):
7604         open_output_file moved to nt.c.
7605
7606
7607 2000-05-05  Andy Piper  <andy@xemacs.org>
7608
7609         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7610         instance from the frame cache also since GC may catch up too late
7611         to make frame deletion sane.
7612
7613 2000-05-04  Andy Piper  <andy@xemacs.org>
7614
7615         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7616         (x_finalize_image_instance): ungcpro on deletion.
7617
7618         * glyphs.c (image_instantiator_format_create): give pointers a
7619         query geometry method so that the geometry is at least set.
7620
7621         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
7622         initialize layouts if using widgets.
7623
7624 2000-05-03  Andy Piper  <andy@xemacs.org>
7625
7626         * nt.c: remove bogus reference to sysmmsystem.h
7627
7628         * gui-x.c (popup_selection_callback): fix no selection abort.
7629
7630 2000-05-02  Andy Piper  <andy@xemacs.org>
7631
7632         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
7633         (mswindows_widget_instantiate): ditto.
7634
7635         * glyphs-widget.c (initialize_widget_image_instance): initialize
7636         children correctly.
7637         (widget_instantiate): cope with children and items in the same
7638         instance.
7639
7640         * glyphs.c (mark_image_instance): cope with children as a first
7641         class member.
7642         (image_instance_equal): ditto.
7643         (image_instance_hash): ditto.
7644         (image_instance_changed): ditto.
7645
7646 2000-04-30  Andy Piper  <andy@xemacs.org>
7647
7648         * glyphs.c (subwindow_query_geometry): new function. Return some
7649         defaults.
7650         (subwindow_instantiate): don't assign dimensions if none have been
7651         given.
7652         (image_instantiator_format_create): add subwindow_query_geometry.
7653         (print_image_instance): cope with layouts as widgets.
7654
7655 2000-04-29  Andy Piper  <andy@xemacs.org>
7656
7657         * frame.c (delete_frame_internal): call
7658         free_frame_subwindow_instance_cache so that all subwindows are
7659         finalized before their parent.
7660         (mark_frame): remove subwindow_cachels.
7661         (Fmake_frame): remove subwindow_cachel manipulation.
7662         (allocate_frame_core): subwindow_instance_cache is a weak list.
7663         (delete_frame_internal): set subwindow_instance_cache to nil.
7664
7665         * glyphs-msw.c (mswindows_finalize_image_instance): make double
7666         finalization safe.
7667         (mswindows_finalize_image_instance): use the device
7668         not the domain as the domain may have died already.
7669
7670         * glyphs-x.c (x_finalize_image_instance): ditto.
7671         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
7672         HEIGHT.
7673
7674         * redisplay-output.c (redisplay_unmap_subwindows): update for
7675         subwindow instance cache as a weak list.
7676         (redisplay_unmap_subwindows_maybe): ditto.
7677         (redisplay_unmap_subwindows_except_us): ditto.
7678
7679         * glyphs.c (unmap_subwindow): error checking will check the domain
7680         so don't deal with it here. Don't use cachels anymore.
7681         (map_subwindow): ditto.
7682         (update_subwindow_cachel_data): remove old accessor names.
7683         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
7684         (Fresize_subwindow): don't update cachel.
7685         (mark_subwindow_cachels):
7686         (update_subwindow_cachel_data):
7687         (add_subwindow_cachel):
7688         (get_subwindow_cachel_index):
7689         (update_subwindow_cachel):
7690         (reset_subwindow_cachels):
7691         (mark_subwindow_cachels_as_not_updated): deleted.
7692         (cache_subwindow_instance_in_frame_maybe): new function. Add a
7693         subwindow instance to the frame cache.
7694         (find_matching_subwindow): update for subwindow instance cache as
7695         a weak list.
7696         (update_widget_instances): ditto.
7697         (image_instance_type_to_mask):inlined.
7698         (free_frame_subwindow_instance_cache): new function. finalize all
7699         subwindows that are instantiated.
7700
7701         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
7702         of cachel information.
7703         (IMAGE_INSTANCE_DISPLAY_X):
7704         (IMAGE_INSTANCE_DISPLAY_Y):
7705         (IMAGE_INSTANCE_DISPLAY_WIDTH):
7706         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
7707         (XIMAGE_INSTANCE_DISPLAY_X):
7708         (XIMAGE_INSTANCE_DISPLAY_Y):
7709         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
7710         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
7711         remove subwindow_cachel structure and function references.
7712         (image_instance_type_to_mask): inline from glyphs.c
7713
7714         * redisplay.c (redisplay_frame): remove subwindow_cachel
7715         references.
7716
7717         * frame.h (struct frame): remove subwindow_cachels.
7718         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
7719
7720         * frameslots.h: add subwindow_instance_cache.
7721
7722         * window.c (replace_window): check subwindow cache of replacement.
7723         (window_unmap_subwindows_cache_mapper):
7724         (window_unmap_subwindows): new functions. Unmap all subwindows
7725         cached on this window.
7726         (mark_window_as_deleted): unmap all subwindows.
7727
7728 2000-04-27  Andy Piper  <andy@xemacs.org>
7729
7730         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
7731
7732         * glyphs-widget.c (widget_layout): return something.
7733         (layout_layout): return something. Fail if not initialized.
7734         (layout_query_geometry): ditto.
7735         (image_instantiator_native_layout): new function. Initialized the
7736         native layout type.
7737         (widget_instantiate): don't do layout stuff here.
7738
7739         * glyphs.c (instantiate_image_instantiator): reorded calling or
7740         instantiate and post_instantiate with layout in between.
7741         (image_instance_layout): be more selective about deciding whether
7742         the layout has been done or not.
7743
7744         * glyphs.h (struct image_instantiator_methods): return a value
7745         from layout_method.
7746
7747 2000-04-26  Andy Piper  <andy@xemacs.org>
7748
7749         * glyphs.c (allocate_image_instance): make initial width and
7750         height unspecified. Set initialized to 0.
7751
7752         * syscommctrl.h new file. Encapsulates commctrl.h.
7753
7754         * syswindows.h new file. Encapsulates windows.h.
7755
7756         * ntplay.c: use new syswindows.h and syscommctrl.h header.
7757         * nt.c: ditto.
7758         * console-msw.h: ditto.
7759
7760         * redisplay-tty.c (tty_output_display_block): remove layout references.
7761
7762         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
7763         window handle rather than just the frame.
7764
7765         * glyphs.c (mark_image_instance): remove layout references.
7766         (print_image_instance): ditto.
7767         (image_instance_equal): ditto.
7768         (image_instance_hash): ditto.
7769         (decode_image_instance_type): ditto.
7770         (encode_image_instance_type): ditto.
7771         (image_instantiate): ditto.
7772         (allocate_glyph): ditto.
7773         (Fimage_instance_height): ditto.
7774         (Fimage_instance_width): ditto.
7775         (update_subwindow): ditto.
7776
7777         * redisplay-x.c (x_output_display_block): recode for layouts as
7778         widgets.
7779
7780         * redisplay-output.c (redisplay_output_layout): recode for layouts
7781         as widgets.
7782         (compare_runes): remove layout references.
7783
7784         * redisplay-msw.c (mswindows_output_display_block): recode for
7785         layouts as widgets.
7786
7787         * glyphs-widget.c (image_instantiator_layout): remove
7788         layout_possible_dest_types.
7789         (layout_possible_dest_types): deleted.
7790
7791         * glyphs.h (image_instance_type): remove layout references.
7792         (struct Lisp_Image_Instance): ditto. Add initialized flag.
7793         (IMAGE_INSTANCE_INITIALIZED): new accessor.
7794         (XIMAGE_INSTANCE_INITIALIZED): ditto.
7795
7796 2000-04-25  Andy Piper  <andy@xemacs.org>
7797
7798         * glyphs-widget.c (image_instantiator_buttons):
7799         (image_instantiator_edit_fields):
7800         (image_instantiator_combo_box):
7801         (image_instantiator_scrollbar):
7802         (image_instantiator_progress_guage):
7803         (image_instantiator_tree_view):
7804         (image_instantiator_tab_control):
7805         (image_instantiator_labels):
7806         (image_instantiator_layout): call default post_instantiate method.
7807         (widget_post_instantiate): new function. Simply lays out the
7808         widgets.
7809
7810         * glyphs.h (struct image_instantiator_methods): add
7811         post_instantiate method.
7812
7813         * glyphs.c (instantiate_image_instantiator): add post_instantiate
7814         method calls.
7815
7816 2000-04-23  Andy Piper  <andy@xemacs.org>
7817
7818         * glyphs.h (struct image_instantiator_methods): add
7819         decode_domain_method.
7820         (struct Lisp_Image_Instance): remove subwindow frame - it can be
7821         derived from the domain.
7822         (IMAGE_INSTANCE_FRAME): new accessor.
7823         (XIMAGE_INSTANCE_FRAME): ditto.
7824
7825         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
7826         instead of _SUBWINDOW_FRAME.
7827         (finalize_image_instance): ditto.
7828         (Fimage_instance_foreground): ditto.
7829         (Fimage_instance_background): ditto.
7830         (image_instantiate): ditto.
7831         (update_subwindow_cachel): ditto.
7832         (update_subwindow): ditto.
7833         (unmap_subwindow): ditto.
7834         (map_subwindow): ditto
7835         (subwindow_instantiate): ditto.
7836         * glyphs-msw.c (mswindows_update_widget): ditto.
7837         (mswindows_progress_gauge_instantiate): ditto.
7838         (mswindows_tab_control_update): ditto.
7839         * glyphs-x.c (x_update_widget): ditto.
7840         (x_widget_instantiate): ditto.
7841         (x_tab_control_instantiate): ditto.
7842         (x_tab_control_update): ditto.
7843         * event-msw.c (mswindows_wnd_proc): ditto
7844
7845         * glyphs-widget.c (image_instantiator_layout): use
7846         subwindow_decode_domain.
7847         (image_instantiator_buttons): ditto.
7848         (image_instantiator_edit_fields): ditto.
7849         (image_instantiator_combo_box): ditto.
7850         (image_instantiator_scrollbar): ditto.
7851         (image_instantiator_progress_guage): ditto.
7852         (image_instantiator_tree_view): ditto.
7853         (image_instantiator_tab_control): ditto.
7854         (image_instantiator_labels): ditto.
7855         (image_instantiator_layout): ditto.
7856
7857         * glyphs.c: add instance error checking to many functions.
7858         (instantiate_image_instantiator): decode device from cache_domain.
7859         (image_instantiate): partially rewrite by using
7860         decode_image_instantiator_domain to determine what domain the
7861         instance needs to be cached in.
7862         (decode_image_instantiator_domain): new function. Determine what
7863         domain the image needs to be cached in.
7864         (check_window_subwindow_cache): new error checking function.
7865         (check_instance_cache_mapper): ditto.
7866         (check_image_instance_structure): ditto.
7867         (subwindow_decode_domain): new function. Encodes a window as a
7868         subwindow's cache domain.
7869         (image_instantiator_format_create): use it for text and
7870         subwindows.
7871
7872 2000-04-21  Andy Piper  <andy@xemacs.org>
7873
7874         * glyphs.c (image_instance_device): new function.
7875         (image_instance_frame): new function.
7876         (image_instance_window): new function.
7877         (image_instance_live_p): new function.
7878
7879         * window.c (mark_window_as_deleted): reset the subwindow_instance_
7880         cache to nil.
7881
7882         * glyphs.h (struct Lisp_Image_Instance): device->domain.
7883         (IMAGE_INSTANCE_DOMAIN): new accessor.
7884         (XIMAGE_INSTANCE_DOMAIN): ditto.
7885
7886         * glyphs-x.c (x_finalize_image_instance): device->domain.
7887
7888         * glyphs-msw.c (init_image_instance_geometry): device->domain.
7889         (mswindows_finalize_image_instance): ditto.
7890
7891         * glyphs-eimage.c (jpeg_instantiate): device->domain.
7892         (gif_instantiate): ditto.
7893         (png_instantiate): ditto.
7894         (tiff_instantiate): ditto.
7895
7896         * glyphs.c (instantiate_image_instantiator): use domain rather
7897         than device.
7898         (mark_image_instance): device -> domain.
7899         (print_image_instance): ditto.
7900         (finalize_image_instance): ditto.
7901         (image_instance_equal): ditto.
7902         (allocate_image_instance): ditto.
7903         (Fcolorize_image_instance): ditto.
7904         (query_string_geometry): ditto.
7905         (image_instantiate): ditto
7906         (query_string_font): ditto.
7907         (image_instantiate): ditto.
7908         (update_subwindow): ditto.
7909         (unmap_subwindow): ditto.
7910         (map_subwindow): ditto.
7911         (subwindow_instantiate): ditto.
7912
7913         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
7914         (DOMAIN_FRAME): ditto.
7915         (DOMAIN_WINDOW): ditto.
7916         (DOMAIN_LIVE_P): ditto.
7917         (XDOMAIN_DEVICE): ditto.
7918         (XDOMAIN_FRAME): ditto.
7919         (XDOMAIN_WINDOW): ditto.
7920
7921         * specifier.c (Fvalid_specifier_domain_p): add image instances as
7922         a valid specifier domain.
7923
7924 2000-04-19  Andy Piper  <andy@xemacs.org>
7925
7926         * glyphs-widget.c (syms_of_glyphs_widget): remove
7927         widget-callback-current-channel.
7928         (vars_of_glyphs_widget): ditto.
7929         * glyphs.h: ditto
7930
7931         * gui.c (get_gui_callback): revert to previous behaviour.
7932
7933 2000-04-18  Andy Piper  <andy@xemacs.org>
7934
7935         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
7936         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
7937         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
7938
7939         * glyphs.c (image_instance_equal): add margin_width.
7940         (image_instance_hash): ditto.
7941
7942         * glyphs-widget.c (widget_instantiate): deal with margin-width.
7943         (layout_query_geometry): ditto.
7944         (layout_layout): ditto.
7945         (syms_of_glyphs_widget): add margin-width.
7946         (image_instantiator_layout): allow margin-width.
7947
7948         * glyphs.c (update_widget_instances): make a normal function.
7949         (syms_of_glyphs): remove Qupdate_widget_instances.
7950         * glyphs.h: ditto.
7951
7952         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
7953         so that we don't corrupt ideas about the last event or
7954         command. Remove widget-callback-current-channel fiddling.
7955         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
7956
7957 2000-05-01  Martin Buchholz <martin@xemacs.org>
7958
7959         * XEmacs 21.2.33 is released.
7960
7961 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
7962
7963         * make-src-depend: Allow dots in header file name.
7964
7965 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
7966
7967         * mule-charset.h (struct charset_lookup): Add
7968         next_allocated_1_byte_leading_byte and
7969         next_allocated_2_byte_leading_byte.
7970         * mule-charset.c: Move above two variables so that those values
7971         will be dumped.
7972
7973 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
7974
7975         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
7976         when string length is zero.
7977         (find_charsets_in_emchar_string): Ditto.
7978
7979 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
7980
7981         * lisp.h: extern Qdialog and Qmenubar.
7982
7983         * gui-x.c: added events.h.
7984                 also fixed typo which made the file uncompilable.
7985
7986         * general.c: Added Qmenubar and Qdialog
7987
7988 2000-04-28  Ben Wing  <ben@xemacs.org>
7989
7990         * frame-msw.c (mswindows_init_frame_1):
7991         * frame-msw.c (mswindows_mark_frame):
7992         * event-msw.c (mswindows_enqueue_dispatch_event):
7993         * console-msw.h:
7994         * console-msw.h (struct mswindows_frame):
7995         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
7996         there are now three hash tables for callbacks.
7997         mswindows_enqueue_dispatch_event is no longer static.
7998
7999         * dialog-x.c (maybe_run_dbox_text_callback):
8000         * dialog-x.c (dbox_descriptor_to_widget_value):
8001         switch to new cons3 form for callbacks.
8002
8003         * glyphs-msw.c (mswindows_register_gui_item):
8004         * glyphs-msw.c (mswindows_widget_instantiate):
8005         * glyphs-msw.c (add_tree_item):
8006         * glyphs-msw.c (add_tab_item):
8007         new image instance parameter, so it can be passed to callback-ex.
8008         respect :callback-ex as well as :callback.
8009
8010         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8011         add :callback-ex.
8012
8013         * glyphs.c (print_image_instance):
8014         prettify, e.g. now prints widget type.
8015
8016         * gui-x.h:
8017         certain funs have new image instance parameter.
8018
8019         * gui.c:
8020         * gui.c (get_gui_callback):
8021         * gui.c (gui_item_add_keyval_pair):
8022         * gui.c (gui_item_init):
8023         * gui.c (gui_add_item_keywords_to_plist):
8024         * gui.c (mark_gui_item):
8025         * gui.c (gui_item_hash):
8026         * gui.c (gui_item_equal):
8027         * gui.c (copy_gui_item):
8028         * gui.c (syms_of_gui):
8029         recognize callback-ex in a number of places.
8030         also, fix the annoying "can't get out of yes-no dialog" bug.
8031
8032         * gui.h:
8033         * gui.h (struct Lisp_Gui_Item):
8034         recognize callback-ex in a number of places.
8035
8036         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8037         new parameter in button_item_to_widget_value.
8038
8039         * glyphs-x.c (x_update_widget):
8040         * glyphs-x.c (x_button_instantiate):
8041         * glyphs-x.c (x_button_update):
8042         * glyphs-x.c (x_progress_gauge_instantiate):
8043         * glyphs-x.c (x_edit_field_instantiate):
8044         * glyphs-x.c (x_combo_box_instantiate):
8045         * glyphs-x.c (x_tab_control_instantiate):
8046         * glyphs-x.c (x_label_instantiate):
8047         new image instance parameter in various places.
8048
8049         * event-Xt.c:
8050         * event-Xt.c (enqueue_Xt_dispatch_event):
8051         this fun gets exported.
8052
8053         * gui-msw.c:
8054         * gui-msw.c (mswindows_handle_gui_wm_command):
8055         handle both :callback and :callback-ex, and generate our own
8056         event because it's one of the callback-ex arguments.
8057
8058         * gui-x.c:
8059         * gui-x.c (popup_selection_callback):
8060         handle both :callback and :callback-ex, and generate our own
8061         event because it's one of the callback-ex arguments.
8062         * gui-x.c (button_item_to_widget_value):
8063         * gui-x.c (gui_items_to_widget_values_1):
8064         * gui-x.c (gui_item_children_to_widget_values):
8065         * gui-x.c (gui_items_to_widget_values):
8066         new image instance parameter in various places.
8067
8068         * fns.c (Freplace_list):
8069         fix small typo in doc string.
8070
8071         * lisp.h:
8072         declare enqueue_Xt_dispatch_event.
8073
8074 2000-04-28  Ben Wing  <ben@xemacs.org>
8075
8076         * buffer.c:
8077         * buffer.c (Frecord_buffer):
8078         * buffer.c (syms_of_buffer):
8079         delete record-buffer-hook.
8080
8081         * fns.c:
8082         * fns.c (Freplace_list):
8083         * fns.c (syms_of_fns):
8084         new primitive replace-list.
8085
8086         * frameslots.h:
8087         slot for old buffer-alist.
8088
8089         * lisp.h:
8090         exfun replace-list.
8091
8092         * redisplay.c:
8093         * redisplay.c (redisplay_frame):
8094         * redisplay.c (syms_of_redisplay):
8095         * redisplay.c (vars_of_redisplay):
8096         new hook buffer-list-changed-hook.
8097         call it.
8098
8099 2000-04-27  Ben Wing  <ben@xemacs.org>
8100
8101         * extents.h: extern in_modeline_generation.
8102
8103         * redisplay.c (generate_formatted_string_db): set
8104         in_modeline_generation.
8105
8106         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8107         flags if in modeline generation.  otherwise frame-modified-tick
8108         is ticked far too often.
8109         Declare in_modeline_generation.
8110
8111 2000-04-26  Ben Wing  <ben@xemacs.org>
8112
8113         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8114         option.
8115         (vars_of_emacs): add quick-build as an error-checking option.
8116         A bit kludgy, but there doesn't seem much point in creating
8117         a real var for this.
8118
8119         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8120
8121 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8122
8123         * redisplay.h (struct display_line): Add a new variable,
8124         line_continuation.
8125
8126         * redisplay.c (create_text_block): Set dl->line_continuation if
8127         the line continues.
8128         (create_string_text_block): Ditto.
8129         (regenerate_window_incrementally): Use line_continuation instead
8130         of searching continuation glyph.
8131         (add_margin_runes): Call add_glyph_rune.
8132         (add_glyph_rune): Handle margin glyph.
8133
8134 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8135
8136         * filelock.c (fill_in_lock_file_name):
8137         ANSIfy.
8138         Check for IS_ANY_SEP instead of '/'.
8139         (lock_file_1):
8140         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8141         Never check errno without first seeing that system call failed.
8142         (unlock_file): Add GCPRO.
8143         (Flock_buffer): Fix docstring.
8144         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8145
8146 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8147
8148         * sysdep.c (get_pty_max_bytes):
8149         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8150         strings longer than 252 bytes.
8151
8152         * md5.c: Unconditionally include ANSI header <limits.h>
8153
8154         * glyphs-x.c (convert_EImage_to_XImage):
8155         * lisp-union.h (union Lisp_Object):
8156         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8157
8158 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8159
8160         * filelock.c (current_lock_owner): Remove unused variable o, p.
8161
8162 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8163
8164         * callint.c: Remove multiply defined symbol Qlet
8165         (syms_of_callint): ditto.
8166
8167 2000-04-14  Andy Piper  <andy@xemacs.org>
8168
8169         * general.c (syms_of_general): add last-command, this-command, let
8170         and funcall.
8171
8172         * lisp.h: declare various symbols.
8173
8174         * glyphs.h: declare Qwidget_callback_current_channel;
8175
8176         * glyphs-widget.c (syms_of_glyphs_widget): add
8177         Qgui_callback_current_channel.
8178         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8179
8180         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8181         widget-callback-current-channel when invoking the interactive
8182         arg. Also bind last-command and next-command when invoking the
8183         widget updates.
8184         * gui-x.c (popup_selection_callback): ditto.
8185
8186         * gui.c (get_gui_callback): massage args so that we are always
8187         calling eval. This allows us to add our own variable bindings
8188         outside.
8189
8190         * glyphs-x.c (x_button_instantiate): use
8191         gui_items_to_widget_values since this is GC safe.
8192         (x_progress_gauge_instantiate): ditto.
8193         (x_edit_field_instantiate): ditto.
8194         (x_label_instantiate): ditto.
8195
8196         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8197         (emacs_Xt_event_widget_focus_out): new function
8198         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8199         focus.
8200         (emacs_Xt_event_add_widget_actions): new function. add focus
8201         functions as actions.
8202         (init_event_Xt_late): use it.
8203
8204 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8205
8206         * event-stream.c (Fdispatch_event): Doc fix.
8207
8208 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8209
8210         * postgresql.c: Remove all references to PQsetenv*.
8211
8212         * postgresql.h: Remove references to PGsetenvHandler object.
8213         * lrecord.h (lrecord_type): Ditto.
8214
8215 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8216
8217         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8218         real_heigh and real_width members, and accessor macros for these.
8219
8220         * glyphs-msw.c (init_image_instance_geometry): New function.
8221         (init_image_instance_from_dibitmap): Use it.
8222         (mswindows_resource_instantiate): Use it.
8223         (init_image_instance_from_xbm_inline): Use it.
8224         (mswindows_initialize_image_instance_mask): Use real bitmap
8225         geometry.
8226         (mswindows_create_resized_bitmap): Ditto.
8227         (mswindows_create_resized_mask): Ditto.
8228
8229         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8230         and bitmap to their surface size.
8231
8232 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8233
8234         * process-unix.c (unix_send_process): Guard against process MIA
8235         after Faccept_process_output.
8236
8237 2000-04-11  Ben Wing  <ben@xemacs.org>
8238
8239         * eval.c (unbind_to_hairy): fix brokenness introduced by
8240         nanosecond speed improvements.
8241
8242 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8243
8244         * sunplay.c (init_device): To play sounds correctly, the device
8245         apparently needs to be initialized at least once by XEmacs.  Make
8246         it so.
8247
8248 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8249
8250         * redisplay.c (add_margin_runes): Add text image glyph
8251           handling.
8252
8253 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8254
8255         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8256         gcc is newer than 2.5.
8257
8258 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8259
8260         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8261
8262         * fns.c (size_bit_vector):
8263         * alloc.c (size_vector):
8264         (make_vector_internal):
8265         (make_bit_vector_internal):
8266         (sweep_bit_vectors_1):
8267         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8268
8269 2000-04-06  Andy Piper  <andy@xemacs.org>
8270
8271         * gmalloc.c (malloc): undo previous change.
8272         (malloc): ditto.
8273         (free): ditto.
8274         (realloc): ditto.
8275
8276 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8277
8278         * line-number.c (buffer_line_number): Revert to former version.
8279
8280 2000-04-06  Andy Piper  <andy@xemacs.org>
8281
8282         * gmalloc.c (malloc): add error checking.
8283         (malloc): ditto.
8284         (free): ditto.
8285         (realloc): ditto.
8286
8287         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8288         button_item_to_widget_value arg.
8289
8290         * glyphs-x.c (x_button_instantiate): add extra
8291         button_item_to_widget_value arg.
8292         (x_progress_gauge_instantiate): ditto.
8293         (x_edit_field_instantiate): ditto.
8294         (x_label_instantiate): ditto.
8295
8296         * gui-x.c (gui_items_to_widget_values_1): add extra
8297         button_item_to_widget_value arg.
8298         (button_item_to_widget_value): add extra menu_item_p arg.
8299
8300         * gui-x.h: change signature of button_item_to_widget_value.
8301
8302         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8303         button_item_to_widget_value arg.
8304
8305 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8306
8307         * buffer.h (struct buffer): auto_save_modified should be long.
8308
8309 2000-04-05  Andy Piper  <andy@xemacs.org>
8310
8311         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8312         type.
8313         (button_query_geometry): give a little more room so that athena
8314         buttons fit.
8315
8316 2000-04-05  Andy Piper  <andy@xemacs.org>
8317
8318         * faces.c (complex_vars_of_faces): The widget face should inherit
8319         the font of the gui-element face.
8320
8321 2000-04-04  Andy Piper  <andy@xemacs.org>
8322
8323         * glyphs-x.c (x_button_update): new function. unconditionally
8324         update a button's state when the instance is dirty.
8325         (image_instantiator_format_create_glyphs_x): add x_button_update.
8326         (x_widget_instantiate): remove old resize cruft.
8327
8328 2000-04-02  Andy Piper  <andy@xemacs.org>
8329
8330         * frame.c (change_frame_size_1): The introduction of gutters means
8331         that we need to allow 0 as a potential frame dimension.
8332
8333 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8334
8335         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8336         image glyph if allow_cursor.
8337         (add_hscroll_rune): Don't allow cursor to border glyph.
8338         (create_text_block): Ditto.
8339
8340         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8341         text not in buffer.
8342         (redisplay_output_layout): Call ensure_face_cachel_complete for
8343         text image glyph.
8344
8345
8346 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8347
8348         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8349
8350         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8351         not in buffer
8352
8353         * redisplay-tty.c (tty_output_display_block): Delete the routine
8354         for text image glyph
8355         * redisplay-x.c (x_output_display_block): ditto
8356         * redisplay-msw.c (mswindows_output_display_block): ditto
8357
8358 2000-02-02  Mike Alexander  <mta@arbortext.com>
8359
8360         Note: Some of these were committed by accident as part of other
8361         patches.
8362
8363         * regex.c (regex_compile): Avoid compiler warnings.
8364
8365         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8366
8367         * nt.h: Declare term_ntproc correctly.
8368
8369         * nt.c: Remove incorrect declaration of get_home_directory which
8370         is declared correctly in lisp.h.
8371
8372         * keymap.c (get_keyelt): Avoid compiler warnings.
8373         (raw_lookup_key_mapper): Avoid compiler warnings.
8374
8375         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8376
8377         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8378
8379         * filemode.c (mode_string): Avoid compiler warnings.
8380
8381         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8382         avoid warning.
8383
8384         * events-mod.h: Undef some things that winuser.h defines differently.
8385
8386         * data.c (Faset): Avoid compiler warnings.
8387
8388         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8389
8390 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8391
8392         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8393         Fall through to simple beep on error.
8394         Replace "extern" by real header file.
8395
8396         * linuxplay.c: Use nativesound.h
8397         (play_sound_data): Return error code. Be less verbose on error.
8398
8399         * sunplay.c: Use nativesound.h
8400         (play_sound_data): Return error code. Be less verbose on error.
8401
8402         * ntplay.c: Use nativesound.h
8403         (play_sound_data): Return fake error code
8404
8405         * sgiplay.c: Use nativesound.h
8406         (play_sound_data): Return error code
8407
8408         * hpplay.c: Use nativesound.h, partially implement
8409         new error code. Break compilation until finished.
8410         (play_sound_data): error code.
8411
8412         * nativesound.h (play_sound_file):
8413           (play_sound_data): Prototype in new header.
8414
8415 2000-03-31  Andy Piper  <andy@xemacs.org>
8416
8417         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8418         for toggle and radio buttons.
8419         (image_instantiator_buttons): use it.
8420
8421 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8422
8423         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8424         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8425         found. Scrollbar event probably belonged to some old config.
8426
8427 2000-03-31  Andy Piper  <andy@xemacs.org>
8428
8429         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8430         than 1.
8431         (initialize_widget_image_instance): default layout to
8432         LAYOUT_HORIZONTAL rather than 0.
8433         (widget_instantiate): reverse the item list at the end rather than
8434         every iteration.
8435         (layout_layout): re-code for the border text at the front of the
8436         item list rather than at the end.
8437         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8438         provided by the user.
8439         (widget_query_geometry): comment.
8440
8441 2000-03-30  Andy Piper  <andy@xemacs.org>
8442
8443         * glyphs-widget.c (image_instantiator_layout): allow standard
8444         widget keywords in layouts.
8445
8446         * gutter.c (output_gutter): cope with nil gutter contents.
8447
8448         * frame.c (Fset_frame_properties): add gutter docs.
8449
8450 2000-03-29  Andy Piper  <andy@xemacs.org>
8451
8452         * toolbar-msw.c (TBSTYLE_FLAT): add.
8453         (mswindows_output_toolbar): minor fiddling.
8454
8455 2000-03-29  Andy Piper  <andy@xemacs.org>
8456
8457         * gutter.c (output_gutter): force gutter size recalculation if
8458         what we are trying to display won't fit.
8459         (update_gutter_geometry): new function. A per-gutter version of
8460         update_frame_gutter_geometry.
8461         (update_frame_gutter_geometry): use it.
8462         (redraw_exposed_gutter): add extra debugging output.
8463
8464 2000-03-28  Mike Alexander  <mta@arbortext.com>
8465
8466         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8467         (pdump_file_unmap): Implement it on Windows
8468         (pdump_file_get): Save alocated handles for pdump_file_unmap
8469
8470 2000-03-28  Andy Piper  <andy@xemacs.org>
8471
8472         * gui.c (get_gui_callback): treat Quit specially.
8473
8474 2000-03-27  Andy Piper  <andy@xemacs.org>
8475
8476         * glyphs.c (image_instantiate): be careful to check in the same
8477         way we assigned.
8478
8479 2000-03-27  Didier Verna  <didier@xemacs.org>
8480
8481         * config.h.in: define the proper SMART_INCLUDE macro.
8482         handle renaming of `foo_h_path' to `foo_h_file'.
8483
8484         * database.c: ditto.
8485
8486         * emacs.c: ditto.
8487
8488         * linuxplay.c: ditto.
8489
8490         * terminfo.c: ditto.
8491
8492         * tooltalk.h: ditto.
8493
8494 2000-03-27  Andy Piper  <andy@xemacs.org>
8495
8496         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8497         gets updated whenever the face might have changed.
8498
8499 2000-03-26  Mike Alexander  <mta@arbortext.com>
8500
8501         * dumper.c (pdump_resource_free): Fix the comment.
8502
8503 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8504
8505         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8506
8507 2000-03-22  Mike Alexander  <mta@arbortext.com>
8508
8509         * dumper.c: Include Windows headers on Windows
8510         (pdump_resource_free): Add a body to the function
8511         (pdump_load): exe_name -> exe_path and add some comments.
8512
8513 2000-03-25  Mike Alexander  <mta@arbortext.com>
8514
8515         * gui.c (copy_gui_item_tree): Return a value in all cases
8516
8517 2000-03-21  Didier Verna  <didier@xemacs.org>
8518
8519         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8520         lwlib/config.h.in.
8521         (SMART_INCLUDE): new macro.
8522         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8523         the proper location.
8524
8525         * postgresql.c: use it.
8526
8527         * inline.c: ditto.
8528
8529 2000-03-24  Andy Piper  <andy@xemacs.org>
8530
8531         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8532         do this.
8533
8534 2000-03-24  Andy Piper  <andy@xemacs.org>
8535
8536         * redisplay-output.c (compare_runes): use image_instance_changed
8537         to detect changes. Do not depend on glyphs_changed, only depend on
8538         dirtiness.
8539          (redisplay_output_layout): add debug messages.
8540         (compare_runes): ditto.
8541
8542         * glyphs.h: declare new functions.
8543         (struct Lisp_Image_Instance): remove percent and associated
8544         accessors.
8545
8546         * gui.h: declare new copying functions.
8547
8548         * gui.c (copy_gui_item_tree): new function.
8549         (copy_gui_item): new function.
8550         (gui_item_id_hash): revert to standard hash.
8551         (gui_item_hash): ditto.
8552         (gui_item_hash_internal): deleted.
8553         (mark_gui_item): mark value.
8554         (gui_item_add_keyval_pair): add value.
8555         (gui_item_init): ditto.
8556         (gui_add_item_keywords_to_plist): ditto.
8557         (gui_item_equal): ditto.
8558         (syms_of_gui): add Q_value.
8559
8560         * glyphs-x.c (x_progress_gauge_update): use pending items and
8561         value for setting the state.
8562         (x_update_widget): don't set items from pending here.
8563
8564         * glyphs-widget.c (update_widget): update items here.
8565         (progress_gauge_set_property): use items for storing value. Put
8566         new value in pending items.
8567
8568         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8569         items for new value. Convert percent -> value.
8570         (mswindows_tab_control_update): don't update items here.
8571
8572         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8573         (update_subwindow): ditto.
8574         (image_instance_changed): new function. Compare hash values and
8575         past and present widget items.
8576         (image_instantiate): We more careful about where we instantiate
8577         things.
8578         (image_instantiate): add error checking.
8579
8580         * gutter.c (syms_of_gutter): use -hook.
8581
8582 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8583
8584         * console-tty.c (Fset_console_tty_input_coding_system): Use
8585         Qkeyboard.
8586         (Fset_console_tty_output_coding_system): Use Qterminal.
8587         (tty_init_console): Use Qkeyboard and Qterminal.
8588
8589 2000-03-21  Ben Wing  <ben@xemacs.org>
8590
8591         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8592         From Mike Alexander <mta@arbortext.com>.
8593
8594 2000-03-21  Ben Wing  <ben@xemacs.org>
8595
8596         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8597         process brokenness.  Proper implementation to come.
8598         * callproc.c:
8599         Rename call-process-internal to old-call-process-internal.
8600         New impl. in process.el.
8601
8602 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8603
8604         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8605
8606 2000-03-20  Andy Piper  <andy@xemacs.org>
8607
8608         * glyphs.c (full_list_hash): make hashes of the same elements in
8609         different orders return different values.
8610
8611 2000-03-20  Martin Buchholz <martin@xemacs.org>
8612
8613         * XEmacs 21.2.32 is released.
8614
8615 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8616
8617         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8618         (DFC_MALLOC_USE_CONVERTED_DATA):
8619         Add aliasing-safe casts to allow use with char* or unsigned char*
8620         lvalues.
8621
8622         * eldap.c (Fldap_open):
8623         (Fldap_search_basic):
8624         (Fldap_add):
8625         (Fldap_modify):
8626         Make C++-compilable.
8627         Make sure GCPRO'ed variables are initialized.
8628         Use temp variables to avoid repeated calls to Flength.
8629
8630 2000-03-16  Martin Buchholz  <martin@xemacs.org>
8631
8632         * sysfile.h:
8633         Make sure PATH_MAX is always defined.
8634         Include limits.h for PATH_MAX.
8635         Deprecate use of MAXPATHLEN.
8636
8637 2000-03-10  Martin Buchholz  <martin@xemacs.org>
8638
8639         * emacs.c: Add reinit_vars_of_fileio.
8640         * symsinit.h: Add reinit_vars_of_fileio.
8641         * fileio.c (reinit_vars_of_fileio): New.
8642         * fileio.c (Fmake_temp_name):
8643         Initialize temp_name random number from microseconds to make
8644         collisions even less likely.  Initialize always at process startup
8645         time.  (make-temp-name) used to return the same file name twice in
8646         a row when PDUMP.
8647         Random stylistic fiddling.
8648         Comment fixes.
8649
8650 2000-03-20  Andy Piper  <andy@xemacs.org>
8651
8652         * glyphs.c (image_instantiate): allow text glyphs to be
8653         instantiated in the minibuffer window.
8654
8655 2000-03-19  Andy Piper  <andy@xemacs.org>
8656
8657         * glyphs.c (image_instance_hash): be careful about which items we
8658         hash on.
8659
8660         * glyphs-widget.c (tab_control_set_property): record into pending
8661         items rather than the actual items.
8662
8663         * glyphs-x.c (x_update_widget): use pending items to update with.
8664
8665         * glyphs-msw.c (mswindows_tab_control_update): use pending items
8666         to update with.
8667
8668         * glyphs.c (mark_image_instance): mark pending items.
8669
8670         * window.c (Fset_window_configuration): record the buffer.
8671         (Fselect_window): totally revert previous change which breaks many
8672         things.
8673
8674 2000-03-18  Andy Piper  <andy@xemacs.org>
8675
8676         * glyphs-msw.c (mswindows_tab_control_update): force selected
8677         item.
8678
8679         * glyphs.c (image_instantiate): don't allow the minibuffer as a
8680         window domain cache, otherwise we get inconsistencies at
8681         startup. There is something fishy at startup which can lead to the
8682         minibuffer being the selected window when the gutter content is
8683         instantiated.
8684
8685         * gui.c (parse_gui_item_tree_list): add probably unnecessary
8686         gcpros.
8687         (parse_gui_item_tree_children): ditto.
8688         (parse_gui_item_tree_item): ditto.
8689
8690         * glyphs.c (Fupdate_widget_instances): return something.
8691
8692 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8693
8694         * window.c (Fselect_window): Undo 2000-03-17 change.
8695
8696 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
8697
8698         * postgresql.c (Fpq_setenv): Remove this turkey when linking
8699         against v7.0 libraries.  Insta-coredump city until the postgres
8700         folks fix it.
8701
8702 2000-03-17  Andy Piper  <andy@xemacs.org>
8703
8704         * faces.c (complex_vars_of_faces): don't give the widget face an
8705         inherited background pixmap.
8706
8707         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
8708         selected item.
8709
8710         * event-stream.c (Fdispatch_non_command_events): return something.
8711
8712         * gutter.c (output_gutter): use widget face.
8713         (clear_gutter): ditto.
8714
8715         * NEWS: adjust again.
8716
8717         * window.c (Fselect_window): make sure this runs to completion to
8718         avoid oddities with Fset_window_configuration.
8719         (Fcurrent_window_configuration): in general do not save the
8720         minibuffer as the selected window.
8721
8722         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
8723
8724 2000-03-16  Olivier Galibert  <galibert@pobox.com>
8725
8726         * emacs.c (Frunning_temacs_p): Revert previous patch.
8727         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
8728
8729 2000-03-16  Andy Piper  <andy@xemacs.org>
8730
8731         * glyphs-x.c (x_tab_control_update): if no widget values then
8732         return.
8733
8734         * NEWS: update for new features.
8735
8736         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
8737         synthetic event to the native system.
8738         (reinit_vars_of_event_Xt): set force_event_pending to
8739         emacs_Xt_force_event_pending.
8740
8741         * events.h (struct event_stream): add force_event_pending.
8742
8743         * specifier.c (recompute_one_cached_specifier_in_window): add
8744         comment.
8745
8746         * redisplay.c (redisplay_frame): don't call
8747         update_frame_subwindows. Reset subwindow cachels when
8748         subwindows_changed, removing this was an optimization too far.
8749
8750         * redisplay-output.c (compare_runes): reorganize so that we catch
8751         glyph changes when we want them. Set optimize_output when this
8752         would help layouts.
8753         (redisplay_output_layout): remove frame_really_changed, use
8754         optimize_output instead.
8755
8756         * redisplay-msw.c (mswindows_output_display_block): reset
8757         optimize_output after outputting a glyph.
8758         * redisplay-x.c (x_output_display_block): ditto.
8759         * redisplay-tty.c (tty_output_display_block): ditto.
8760
8761         * gutter.c: (specifier_vars_of_gutter): use new spec changed
8762         functions.
8763         (gutter_specs_changed): do specific gutter positions.
8764         (top_gutter_specs_changed): new function. Only update the
8765         specified gutter specs.
8766         (bottom_gutter_specs_changed): ditto.
8767         (left_gutter_specs_changed): ditto.
8768         (right_gutter_specs_changed): ditto.
8769
8770         * gui.c (gui_item_hash_internal): new function, does a real hash.
8771         (gui_item_id_hash): use it.
8772         (gui_item_hash): hash the eval'ed gui_item.
8773
8774         * gui-x.c (popup_selection_callback): send an eval event to call
8775         Fupdate_widget_instances.
8776
8777         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
8778         to call Fupdate_widget_instances.
8779
8780         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
8781         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
8782
8783         * glyphs.c: (update_frame_subwindows): deleted.
8784         (Fupdate_widget_instances): new function for updating the dirty
8785         state of widgets that might have changed.
8786         (syms_of_glyphs): add Qupdate_widget_instances.
8787         (full_list_hash): hash a list completely.
8788         (image_instance_hash): use it for items and properties.
8789
8790         * frame-msw.c (mswindows_size_frame_internal): remove unused
8791         variable.
8792
8793         * faces.h (struct face_cachel): fix comment.
8794
8795         * event-stream.c (Fdispatch_non_command_events): new
8796         function. Process non-command events, forcing an event cycle
8797         beforehand.
8798         (syms_of_event_stream): declare.
8799         (event_stream_force_event_pending): new function. Force an event
8800         on the native event queue so that an event cycle will occur next
8801         time we check.
8802
8803         * event-msw.c:
8804         (struct ntpipe_shove_stream):
8805         (mswindows_enqueue_dispatch_event):
8806         (mswindows_dequeue_dispatch_event):
8807         (mswindows_cancel_dispatch_event):
8808         (mswindows_pump_outstanding_events):
8809         (mswindows_drain_windows_queue):
8810         (mswindows_handle_paint):
8811         (mswindows_wnd_proc):
8812         (mswindows_key_to_emacs_keysym):
8813         (get_process_input_waitable):
8814         (emacs_mswindows_delete_stream_pair): re-indent file.
8815         (mswindows_need_event): do not process further fds if the windows
8816         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
8817         fixes the 100% cpu problem.
8818         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
8819
8820 2000-03-15  Olivier Galibert  <galibert@pobox.com>
8821
8822         * alloc.h: New.
8823         * dumper.h: New.
8824         * dumper.c: New.
8825
8826         * emacs.c: Moved dump file searching to dumper.c.
8827         (Frunning_temacs_p): Fixed.
8828
8829         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
8830         last_lrecord_type_index_assigned.
8831
8832 2000-02-20  Olivier Galibert  <galibert@pobox.com>
8833
8834         * symsinit.h: Added reinit parameter to init_console_stream
8835         declaration.
8836
8837         * lisp.h: Added file parameter to pdump_load declaration.
8838
8839         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
8840         support.  Added dump file searching.
8841
8842         * config.h.in: Added EMACS_PROGNAME.
8843
8844         * console-stream.c (init_console_stream): Fix reinitialisation
8845         when running from temacs.
8846
8847         * alloc.c (pdump): Add id support.
8848         (pdump_load): Add file parameter and signature/id support.
8849
8850         * Makefile.in.in: Add full pdump support.
8851
8852 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
8853
8854         * postgresql.c: Update documentation to reflect latest code
8855         status.
8856         (print_result): Show tuple counts in printed representation when
8857         appropriate.
8858         (Fpq_put_nbytes): MULE-ize.
8859         (Fpq_get_line_async): Ditto.
8860
8861 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
8862
8863         * postgresql.c (Fpq_lo_import): Fix return value.
8864         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
8865
8866 2000-03-13  Ben Wing  <ben@xemacs.org>
8867
8868         * alloc.c (pdump_load):
8869         Fix compile warning under mswin.
8870
8871 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
8872
8873         * postgresql.c: Mule-ization, bug fixes.
8874         Use PG_CODING to encapsulate coding system name changes.
8875         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
8876         (pg-coding-system): Create.
8877
8878         (Fpq_conn_defaults): Mule-ize.
8879         (Fpq_connectdb): Mule-ize & bug fix.
8880         (Fpq_connect_start): Mule-ize.
8881         (Fpq_set_client_encoding): Mule-ize.
8882         (Fpq_finish): Document `DEAD' connection status.
8883         (Fpq_clear): Ditto.
8884         (Fpq_pgconn): Mule-ize.
8885         (Fpq_exec): Mule-ize & bug fix.
8886         (Fpq_send_query): Ditto.
8887         (Fpq_get_result): Ditto.
8888         (Fpq_res_status): Mule-ize.
8889         (Fpq_result_error_message): Mule-ize.
8890         (Fpq_ntuples): fix comments.
8891         (Fpq_fname): Mule-ize.
8892         (Fpq_fnumber): Mule-ize.
8893         (Fpq_ftype): fix comments.
8894         (Fpq_get_value): Mule-ize.
8895         (Fpq_cmd_status): Ditto.
8896         (Fpq_cmd_tuples): Ditto.
8897         (Fpq_oid_value): Ditto.
8898         (Fpq_notifies): Ditto.
8899         (Fpq_lo_import): Ditto.
8900         (Fpq_lo_export): Ditto.
8901         (Fpq_get_line): Ditto.
8902         (Fpq_put_line): Mule-ize and bug fix.
8903         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
8904
8905 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
8906
8907         * postgresql.c (vars_of_postgresql): Mule-ize.
8908         (Fpq_conn_defaults): Ditto.
8909
8910 2000-03-12  Ben Wing  <ben@xemacs.org>
8911
8912         * alloc.c (Fmake_byte_code):
8913         * alloc.c (debug_string_purity_print):
8914         * alloc.c (pdump_backtrace):
8915         * alloc.c (pdump_get_indirect_count):
8916         * alloc.c (pdump_register_sub):
8917         * alloc.c (pdump_register_object):
8918         * alloc.c (pdump_register_struct):
8919         * alloc.c (pdump_dump_data):
8920         * alloc.c (pdump_reloc_one):
8921         Minor cleanups.
8922
8923         * console-msw.c:
8924         * console-msw.c (GetConsoleHwnd):
8925         * console-msw.c (msw_hide_console):
8926         * console-msw.c (msw_show_console):
8927         * console-msw.c (msw_ensure_console_buffered):
8928         * console-msw.c (msw_output_console_string):
8929         * console-msw.c (console_type_create_mswindows):
8930
8931         a) Added functions to manipulate the console window for use with
8932         shell support.
8933
8934         b) Added support for writing text to the console, which is now
8935         used under Windows when xemacs is not being run non-interactively,
8936         to write text that would otherwise be destined for stdout because
8937         under these circumstances, text written to stdout tends to
8938         disappear and not be seen.
8939
8940         * console-msw.h:
8941         * event-Xt.c:
8942         * event-Xt.c (x_event_to_emacs_event):
8943         * event-Xt.c (describe_event_window):
8944         * events-mod.h (XEMACS_MOD_CONTROL):
8945         * events.c:
8946         * events.c (Fmake_event):
8947         * events.c (character_to_event):
8948         * events.c (event_to_character):
8949         * events.c (format_event_object):
8950         * events.c (Fevent_modifiers):
8951         * events.h:
8952         * events.h (struct key_data):
8953         * events.h (struct button_data):
8954         * events.h (struct misc_user_data):
8955         * frame-x.c (Fcde_start_drag_internal):
8956         * frame-x.c (Foffix_start_drag_internal):
8957         * gpmevent.c (Freceive_gpm_event):
8958         * keymap.c:
8959         * keymap.c (bucky_sym_to_bucky_bit):
8960         * keymap.c (control_meta_superify):
8961         * keymap.c (make_key_description):
8962         * keymap.c (keymap_lookup_directly):
8963         * keymap.c (create_bucky_submap):
8964         * keymap.c (keymap_store):
8965         * keymap.c (define_key_check_and_coerce_keysym):
8966         * keymap.c (define_key_parser):
8967         * keymap.c (define_key_alternate_name):
8968         * keymap.c (Fdefine_key):
8969         * keymap.c (raw_lookup_key_mapper):
8970         * keymap.c (struct map_keymap_unsorted_closure):
8971         * keymap.c (map_keymap_unsorted_mapper):
8972         * keymap.c (map_keymap_sort_predicate):
8973         * keymap.c (map_keymap_sorted):
8974         * keymap.c (accessible_keymaps_mapper_1):
8975         * keymap.c (where_is_recursive_mapper):
8976         * keymap.c (describe_map_mapper):
8977         * keymap.c (describe_map_sort_predicate):
8978         * keymap.c (describe_map):
8979         * keymap.c (complex_vars_of_keymap):
8980         And a number of other files, the key modifier preprocessor
8981         constants that xemacs uses have names that conflict with constants
8982         defined under MS Windows for other purposes, so they were renamed
8983         to begin with the prefix XEMACS_. The variables that hold such
8984         modifiers were changed to consistently be of type int to fix
8985         various compile warnings.
8986
8987         * console.c (complex_vars_of_console):
8988         * device.c:
8989         * device-msw.c:
8990         * device-msw.c (mswindows_finish_init_device):
8991         * device-msw.c (msw_get_workspace_coords):
8992         * device-msw.c (mswindows_device_system_metrics):
8993         and various other files, added support for a new
8994         device property called offset-workspace which returns the position
8995         of the upper left corner of the workspace area and goes along with
8996         the existing size-workspace property.
8997
8998         * dialog-msw.c:
8999         * dialog-msw.c (push_bufbyte_string_as_unicode):
9000         * dialog-msw.c (mswindows_popup_dialog_box):
9001         Added support for XEmacs-style accelerator specifications in
9002         button text.  Note: I didn't add support for this under X Windows,
9003         and somebody needs to do this.
9004
9005         * dialog.c:
9006         * dialog.c (Fpopup_dialog_box):
9007         Documented the support for accelerators that was just mentioned.
9008
9009         editfns.c (get_home_directory): Changed behavior under Windows
9010         when HOME not defined; former behavior was irretrievably broken.
9011
9012         * emacs.c:
9013         * emacs.c (main_1):
9014         * emacs.c (main):
9015         * minibuf.c (clear_echo_area_internal):
9016         * minibuf.c (echo_area_append):
9017         * print.c:
9018         * print.c (std_handle_out_external):
9019         * print.c (std_handle_out_va):
9020         * print.c (fatal):
9021         * print.c (write_string_to_stdio_stream):
9022         * print.c (output_string):
9023         * print.c (debug_print):
9024         * print.c (debug_backtrace):
9025         * print.c (debug_short_backtrace):
9026         Cleaned up the code that prints text to stdout so that this can be
9027         changed to output into a console window instead under MS Windows,
9028         as described above.
9029
9030         * eval.c:
9031         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9032         * eval.c (internal_catch):
9033         * eval.c (unwind_to_catch):
9034         * eval.c (throw_or_bomb_out):
9035         * eval.c (condition_case_1):
9036         * eval.c (signal_1):
9037         * eval.c (check_error_state_sanity):
9038         * eval.c (call_with_suspended_errors_1):
9039         * eval.c (call_with_suspended_errors):
9040         * eval.c (reinit_vars_of_eval):
9041         Added code to catch throw loops and check for a pesky bug that may
9042         be gone now.
9043
9044         * event-msw.c:
9045         * event-msw.c (key_needs_default_processing_p):
9046         * event-msw.c (mswindows_wnd_proc):
9047         * event-msw.c (mswindows_modifier_state):
9048         * event-msw.c (emacs_mswindows_quit_p):
9049         * event-msw.c (vars_of_event_mswindows):
9050         a) Added support for using the alt key to select menu items as is
9051         standard under MS Windows.  This is controlled using the variable
9052         menu-accelerator-enabled, just like under X Windows.  There is an
9053         option on the options menu to turn this support on.  I really
9054         think that it should be on by default under Windows, but I'm not
9055         going to make this change yet.
9056
9057         b)  Added support for dynamic display size changes under Windows.
9058
9059         * event-stream.c:
9060         * event-stream.c (maybe_echo_keys):
9061         * event-stream.c (Fnext_event):
9062         * event-stream.c (command_builder_find_leaf):
9063         * event-stream.c (lookup_command_event):
9064         * event-stream.c (execute_command_event):
9065         * event-stream.c (pre_command_hook):
9066         * event-stream.c (post_command_hook):
9067         * event-stream.c (syms_of_event_stream):
9068         * event-stream.c (vars_of_event_stream):
9069         * event-stream.c (complex_vars_of_event_stream):
9070         * events.h (struct command_builder):
9071
9072         a) Tried to clean up a little bit the horribly written x-specific
9073         accelerator code that crept into this file.  I moved this code
9074         into menubar-x.c where it belongs. I also needed to move the
9075         command builder structure into the file events.h because it is
9076         accessed directly by this accelerator code.  What I didn't do, but
9077         which should be done at some point, is to properly abstract this
9078         code using device methods instead of the kludgy way that it
9079         currently hooks into the event code.
9080
9081         b) Added the lisp variables this-command-properties and
9082         last-command- properties, which should be used to synchronize two
9083         adjacent commands in preference to playing games with the variable
9084         this-command, which is typically what happens.
9085
9086         c) Added some slightly nasty code to hook into the lisp support
9087         for shifted- motion-key selection.  This is actually necessary for
9088         somewhat complicated reasons, which are described in
9089         simple.el. (NB: I think the proper thing would be to have the code
9090         that calls the pre and post command hooks also call out to generic
9091         lisp functions in simple.el, where all built-in stuff could be
9092         added.  I will think about this more.)
9093
9094         * event-unixoid.c (poll_fds_for_input):
9095         * lread.c (readchar):
9096         * redisplay-tty.c (tty_clear_frame):
9097         * redisplay-x.c (x_get_gc):
9098         * signal.c (interrupt_signal):
9099         And a whole bunch of other files: fixed up places that printed
9100         directly to stderr to instead call the function stderr_out so that
9101         the changes I made under Windows work correctly.
9102
9103         * filemode.c (mode_string):
9104         Warning fixes.
9105
9106         * frame-msw.c:
9107         * frame-msw.c (mswindows_size_frame_internal):
9108         Fixed the computation of frame size and position to keep the frame
9109         within the workspace area, rather than within the physical
9110         dimensions of the screen, so that the frame doesn't overlap window
9111         manager decorations, such as the start menu and toolbar, typically
9112         at the bottom of the screen.
9113
9114         * frame.c (vars_of_frame):
9115         Changed the default frame title format under MS Windows to consist
9116         of buffername-XEmacs, which is standard under MS Windows.  I think
9117         it might be a good idea to change this everywhere because I think
9118         it is superior to the current frame title format, but this is the
9119         kind of change that is likely to cause some people to get annoyed,
9120         so I'm not making it.
9121
9122         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9123
9124         * gui-msw.c (mswindows_handle_gui_wm_command):
9125         Fixed compile warnings.
9126
9127         * gui-x.c:
9128         * gui-x.c (strdup_and_add_accel):
9129         * gui-x.c (button_item_to_widget_value):
9130         * gui-x.h:
9131         Added code to automatically put an accelerator onto the beginning
9132         of menu items that don't have one as is now the standard, and is
9133         described more later.  Also fixed things so that the menu item
9134         name can be an evaluated expression, again a new standard.
9135
9136         * gui.c:
9137         * gui.c (gui_item_add_keyval_pair):
9138         * gui.c (make_gui_item_from_keywords_internal):
9139         * gui.c (gui_add_item_keywords_to_plist):
9140         * gui.c (gui_item_accelerator):
9141         * gui.c (gui_name_accelerator):
9142         * gui.c (gui_item_included_p):
9143         * gui.c (gui_item_display_flush_left):
9144         * gui.c (gui_item_display_flush_right):
9145         * gui.c (parse_gui_item_tree_item):
9146         * gui.c (parse_gui_item_tree_children):
9147         * gui.c (parse_gui_item_tree_list):
9148         Mule-ized.  Cleanup.  GCPRO addition.
9149
9150         * line-number.c (buffer_line_number):
9151         * lisp.h:
9152         * lisp.h (EMACS_INT_MAX):
9153         Added the manifest constant EMACS_INT_MIN corresponding to the
9154         existing constant EMACS_INT_MAX.  This is partially to fix compile
9155         warnings under Windows, and partly for cleanliness.
9156
9157         * menubar-msw.c:
9158         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9159         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9160         * menubar-msw.c (displayable_menu_item):
9161         * menubar-msw.c (populate_menu_add_item):
9162         * menubar-msw.c (populate_or_checksum_helper):
9163         * menubar-msw.c (populate_menu):
9164         * menubar-msw.c (update_frame_menubar_maybe):
9165         * menubar-msw.c (prune_menubar):
9166         * menubar-msw.c (msw_char_is_accelerator):
9167         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9168         * menubar-msw.c (mswindows_handle_wm_command):
9169         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9170         * menubar-msw.c (mswindows_handle_wm_initmenu):
9171         * menubar-msw.c (mswindows_update_frame_menubars):
9172         * menubar-msw.c (mswindows_free_frame_menubars):
9173         * menubar-msw.c (mswindows_popup_menu):
9174         Fixed a bug in handling accelerators where an extra character
9175         would be displayed in the menu item.  Also generalized the
9176         function displayable_menu_item because it is now used by the
9177         dialog box code as well.  And finally, added code in the functions
9178         that create the menubar to extract a list of accelerators for the
9179         top level menubar, which is used in the event code to determine
9180         whether a particular alt-key combination should be used to invoke
9181         a menu item, or should be passed through to access the standard
9182         XEmacs keymap binding for this key combination.
9183
9184         Much needed GCPROing.
9185
9186         * menubar-x.c:
9187         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9188         * menubar-x.c (menu_item_descriptor_to_widget_value):
9189         * menubar-x.c (restore_in_menu_callback):
9190         * menubar-x.c (x_popup_menu):
9191         * menubar-x.c (menu_move_up):
9192         * menubar-x.c (menu_move_down):
9193         * menubar-x.c (menu_move_left):
9194         * menubar-x.c (menu_move_right):
9195         * menubar-x.c (menu_select_item):
9196         * menubar-x.c (command_builder_operate_menu_accelerator):
9197         * menubar-x.c (menu_accelerator_junk_on_error):
9198         * menubar-x.c (command_builder_find_menu_accelerator):
9199         * menubar-x.c (Faccelerate_menu):
9200         * menubar.h:
9201         Moved a whole bunch of code here that was previously in
9202         event-stream.c as described above.  There is also code connected
9203         to the new standard of adding an accelerator to the beginning of
9204         menu items that don't have one as described above and below.
9205
9206         * menubar.c:
9207         * menubar.c (menu_parse_submenu_keywords):
9208         * menubar.c (Fmenu_find_real_submenu):
9209         * menubar.c (Fnormalize_menu_item_name):
9210         * menubar.c (syms_of_menubar):
9211         * menubar.c (vars_of_menubar):
9212         * menubar.c (complex_vars_of_menubar):
9213
9214         a) Cleaned up a bunch of documentation and improved it.
9215
9216         b) XEmacs now automatically adds an accelerator onto the beginning
9217         of any menu items that don't have one.  I did this because there
9218         will inevitably be some menu items on the main menubar that don't
9219         have accelerators on them because the package that adds that
9220         particular menu item hasn't yet been fixed up to have accelerators
9221         in them and it looked rather strange to have some items with and
9222         some items without accelerators, especially since even in items
9223         without accelerators, you can, at least under windows, still
9224         access the item through an accelerator corresponding to the first
9225         character in the item's name.  If people don't like this behavior,
9226         I can add a variable to turn it off optionally, but I'm not sure
9227         this is a good idea because we really do need to have accelerators
9228         on all of the menu items, and if a package doesn't like the
9229         accelerators being put on the first character, then it should put
9230         the accelerators where they belong.
9231
9232         c) I made a behavior change, which is that the descriptor that
9233         specifies the text of the menu item, which formerly was just a
9234         string, can now also be an evaluated expression.  This makes this
9235         descriptor parallel with all of the others, which could also be
9236         evaluated expressions.  This also obviates the need for the
9237         keyword :label, which was previously listed in the documentation
9238         as unimplemented, and which was for the same purpose.
9239
9240         d) GCPROing.
9241
9242         * ntproc.c:
9243         * ntproc.c (new_child):
9244         * ntproc.c (sys_spawnve):
9245         * ntproc.c (find_child_console):
9246         * ntproc.c (sys_kill):
9247         Fixed compile warnings.  By the way, this file should really go
9248         away entirely, and this will happen as soon as Kirill makes his
9249         final round of process cleanups, which affect the function
9250         call-process.
9251
9252         * process-nt.c:
9253         * process-nt.c (struct nt_process_data):
9254         * process-nt.c (find_process_from_pid):
9255         * process-nt.c (send_signal_the_nt_way):
9256         * process-nt.c (enable_child_signals):
9257         * process-nt.c (find_child_console):
9258         * process-nt.c (send_signal_the_95_way):
9259         * process-nt.c (nt_finalize_process_data):
9260         * process-nt.c (ensure_console_window_exists):
9261         * process-nt.c (nt_create_process):
9262         * process-nt.c (nt_kill_child_process):
9263         * process-nt.c (nt_kill_process_by_pid):
9264         * process-nt.c (nt_open_network_stream):
9265         * process-nt.c (vars_of_process_nt):
9266         Copied over code from Emacs 20.5 to correctly send signals to sub-
9267         processes under Windows 95.  Also added code to automatically
9268         create and hide console window when a sub-process is created under
9269         Windows 95, which obviates the need for the separate runemacs.exe
9270         executable, and finally implemented some variables that were
9271         implemented in Emacs 20.5, but previously not in XEmacs.  These
9272         include mswindows- start-process-share-console and
9273         mswindows-start-process-inherit-error-mode. (Both of these only
9274         apply to Windows 95.)
9275
9276         * regex.c (regex_compile): Fixed a compile warning.
9277
9278         * select-msw.c:
9279         * select-msw.c (mswindows_own_selection):
9280         * select-msw.c (mswindows_get_foreign_selection):
9281         * select-msw.c (mswindows_disown_selection):
9282         * select-msw.c (console_type_create_select_mswindows):
9283         * select-msw.c (syms_of_select_mswindows):
9284         Cleaned up the file and implemented the device method
9285         selection_exists_p, which had accidentally been left out.  Also
9286         removed four lisp functions that were remnants from before the
9287         time when the selection code was properly device abstracted.
9288         These functions are no longer needed because there are generic
9289         equivalents, and because they were added recently and don't exist
9290         in FSF Emacs, I don't think there's any problem with just deleting
9291         them.
9292
9293         * sysdep.c:
9294         * sysdep.c (sys_subshell):
9295         Fixed a compile warning, although in this case there's probably
9296         something wrong with this code, and it ought to be looked into
9297         more thoroughly by somebody who understands it.
9298
9299         * window.c:
9300         * window.c (Fwindow_text_area_height):
9301         * window.c (Fwindow_width):
9302         * window.c (Fwindow_full_width):
9303         * window.c (Fwindow_pixel_width):
9304         * window.c (debug_print_window):
9305         * window.c (syms_of_window):
9306         Added functions window-text-area-height and window-full-width,
9307         which are functions for returning various width and height
9308         characteristics of a window. (One of these functions is necessary
9309         for making the file dialog box work correctly, and the other one
9310         was added for completeness.)  Also added a table to the
9311         documentation for window-height which describes the entire scheme
9312         for accessing width and height characteristics of a window.
9313
9314 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9315
9316         * nt.c (fstat): Added a comment for another problem with
9317         non-encapsulated [f]stat(), reported by Adrian Aichner
9318         <aichner@ecf.teradyne.com>.
9319
9320 2000-03-11  Andy Piper  <andy@xemacs.org>
9321
9322         * window.c (make_dummy_parent): initialize subwindow instance
9323         cache.
9324         (Fset_window_configuration): zero extent_modiff.
9325
9326 2000-03-10  Andy Piper  <andy@xemacs.org>
9327
9328         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9329         more changes can be triggered.
9330         (Fredisplay_frame): ditto.
9331         (Fredraw_device): ditto.
9332         (Fredisplay_device): ditto.
9333         (redisplay_frame): make non-static.
9334         (redisplay_frame): call update_frame_gutter_geometry outside of
9335         display proper.
9336
9337         * gutter.h: declare update_frame_gutter_geometry.
9338
9339         * redisplay.h: declare redisplay_frame.
9340
9341         * gutter.c (update_frame_gutter_geometry): move geometry changes
9342         in update_frame_gutters here. Geometry changes can only occur
9343         outside of redisplay.
9344         (update_frame_gutters): remove geometry change code.
9345         (Fredisplay_gutter_area): make sure that we are in display when we
9346         update and that we have flushed any size changes.
9347
9348 2000-03-11  Andy Piper  <andy@xemacs.org>
9349
9350         * alloc.c (pdump_dump_data): remove i & count shadows.
9351
9352 2000-02-27  Mike Alexander  <mta@arbortext.com>
9353
9354         * sysdep.h: Declare pdump_read_file
9355
9356         * sysdep.c (pdump_read_file): New function
9357
9358         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9359         dump data
9360
9361 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9362
9363         * lrecord.h: add `lrecord_type_pgsetenv'.
9364
9365 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9366
9367         * symsinit.h: declare (vars|syms)_of* functions.
9368         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9369
9370 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9371
9372         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9373
9374         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9375         GCCs.
9376
9377         * emacs.c (main_1): Call postgres initialization code.
9378
9379         * postgresql.h: New file.  PostgreSQL RDBMS support.
9380         * postgresql.c: New file.
9381
9382 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9383
9384         * redisplay-output.c (redisplay_output_display_block): Disable
9385         redundant code.
9386
9387 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9388
9389         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9390         (Fcanna_henkan_next): Ditto.
9391         (Fcanna_bunsetu_henkou): Ditto.
9392         (Fcanna_henkan_kakutei): Ditto.
9393         (Fcanna_henkan_end): Ditto.
9394         (Fcanna_henkan_quit): Ditto.
9395         (Fcanna_henkan_next): Set retun value correctly.
9396         (c2mu): Use unsigned char instead of signed char.
9397
9398 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9399
9400         * emacs.c (main_1): Always call syms_of_gui.
9401         * inline.c: include gui.h
9402
9403 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9404
9405         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9406         converted to Lisp_Object.
9407         (Qtop_bottom): New variable.
9408         (syms_of_redisplay): Initialize it.
9409         * redisplay.h (Vvisible_bell): Ditto.
9410         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9411         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9412         only flash top and bottom.
9413
9414 2000-03-08  Andy Piper  <andy@xemacs.org>
9415
9416         * buffer.c (Frename_buffer): record new buffer name the right way.
9417
9418 2000-03-08  Andy Piper  <andy@xemacs.org>
9419
9420         * glyphs.c (update_subwindow): increase hash depth so that widget
9421         items get picked up properly.
9422
9423         * redisplay-output.c (compare_runes): increase hash depth so that
9424         widget items get picked up properly.
9425
9426 2000-03-08  Andy Piper  <andy@xemacs.org>
9427
9428         * gutter.c (output_gutter): add some debug.
9429
9430         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9431         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9432         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9433
9434         * redisplay-output.c (compare_runes): use display_hash to
9435         determine if glyphs really are not the same.
9436
9437         * glyphs.c (update_subwindow): check display_hash to see if
9438         anything really needs to be updated. If not then do
9439         nothing. Record the display_hash after updating.
9440         (image_instance_equal): compare the image_instance face also.
9441
9442 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9443
9444         * redisplay.h: Fix comment style.
9445
9446 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9447
9448         * consle-msw.h (struct mswindows_frame):
9449         Added new member paint_pending to indicate whether a WM_PAINT
9450         magic event has been queued for this frame.
9451
9452         * event-msw.c (mswindows_drain_windows_queue):
9453         Don't queue a WM_PAINT magic event if one is already queued.
9454         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9455
9456         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9457
9458 2000-03-07  Didier Verna  <didier@xemacs.org>
9459
9460         * dired.c: #include `regex.h' after `sysfile.h'.
9461
9462 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9463
9464         * sound.c (init_nas_sound): Fix compiler warning.
9465
9466         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9467         (FREE_STRUCT_P):
9468         (MARK_STRUCT_AS_FREE):
9469         (MARK_STRUCT_AS_NOT_FREE):
9470         Make `gcc -fstrict-aliasing' work properly.
9471
9472 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9473
9474         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9475         (mswindows_delete_device): Call CoUnnitialize().
9476
9477         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9478
9479 2000-02-25    <CraigL@DyCon.com>
9480
9481         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9482         <errno.h>.
9483
9484         * sysdep.c: This extern declaration for environ prevents MinGW
9485         from finding the variable in CRTDLL.DLL.
9486
9487         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9488         windows headers.
9489         (SHGFI_EXETYPE): ..
9490         (WM_MOUSEWHEEL): ..
9491         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9492         definitions.
9493         (MMRESULT): Removed, now defined in cygwin's windows headers.
9494         (TIMECAPS): ..
9495         (uid_t,gid_t,pid_t,ssize_t): ..
9496         (_timeb): Removed, MinGW defines both _timeb and timeb.
9497         (HAVE_H_ERRNO): Added.
9498         (HAVE_TZNAME): Added, configure is not detecting this.
9499
9500 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9501
9502         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9503         * syntax.c (syntax_match): Use it.
9504
9505         * cmds.c: Import auto-fill-chars from FSF Emacs.
9506         (Vauto_fill_chars): New variables.
9507         (internal_self_insert): Check Vauto_fill_chars.
9508         (vars_of_cmds):
9509         Declare auto-fill-chars as a Lisp variable and initialize it.
9510
9511 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9512
9513         * fileio.c (Fmake_symbolic_link):
9514         (Ffile_symlink_p):
9515         Run handlers even if local machine doesn't have symlinks.
9516
9517 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9518
9519         * event-msw.c (mswindows_drain_windows_queue):
9520         Don't generate paint magic events for non-XEmacs frames.
9521
9522 2000-03-05  Andy Piper  <andy@xemacs.org>
9523
9524         * redisplay.c (redisplay_frame): generate_displayable_area and
9525         friends assumes that we are not in GC, we therefore have to make
9526         sure that this doesn't happen.
9527
9528         * gutter.c (calculate_gutter_size): generate_displayable_area
9529         assumes that we are not in GC, we therefore have to make sure that
9530         this doesn't happen.
9531
9532 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9533
9534         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9535
9536 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9537
9538         * redisplay.c (regenerate_window): Make sure we set a sane value
9539         for end_pos even if we jump out of the loop.
9540         (regenerate_window): Answer Ben's question :-).
9541         (start_end_of_last_line): Add may_error argument.
9542         (start_of_last_line):
9543         (end_of_last_line): Pass may_error = 0.
9544         (end_of_last_line_may_error): New function.
9545         (pixel_to_glyph_translation): Use it, so we don't crash in
9546         event_to_glyph.
9547
9548 2000-03-04  Andy Piper  <andy@xemacs.org>
9549
9550         * window.h (struct window): add gutter_extent_modiff.
9551
9552         * window.c (allocate_window): zero out gutter_extent_modiff.
9553
9554         * redisplay.h: declare sync_display_line_structs.
9555
9556         * redisplay.c (add_glyph_rune): add a better comment.
9557
9558         * redisplay-output.c (sync_display_line_structs): made non-static.
9559         (compare_runes): remove unneccesary glyph cachel access.
9560
9561         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9562
9563         * gutter.c (output_gutter): don't output the gutter if extent
9564         changes only involve extents in buffers. use 4 sets of display
9565         lines.
9566         (gutter_extent_signal_changed_region_maybe): new function. Mark
9567         extents in gutters as changed.
9568         (update_frame_gutters): use 4 sets of display lines.
9569         (reset_gutter_display_lines): ditto.
9570         (free_frame_gutters): ditto.
9571         (redraw_exposed_gutter): force output of gutters.
9572
9573         * frame.h (struct frame): add 4 sets of gutter display lines.
9574
9575         * extents.c: (extent_changed_for_redisplay): signal changes to
9576         extents in strings in the gutter as well as extents in buffers.
9577
9578 2000-03-02  Andy Piper  <andy@xemacs.org>
9579
9580         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9581
9582         * frame.c (Fmake_frame): make sure the gutters get initialized
9583         after the frame is visible.
9584         (set_frame_selected_window): re-arrange compilation macros a
9585         little.
9586         (change_frame_size_1): mark gutters changed.
9587
9588         * device.c (Fset_device_class): mark gutters changed.
9589
9590 2000-03-01  Andy Piper  <andy@xemacs.org>
9591
9592         * window.c (window_top_frame_gutter_height): deleted.
9593         (window_bottom_frame_gutter_height): ditto.
9594         (window_left_frame_gutter_height): ditto.
9595         (window_right_frame_gutter_height): ditto.
9596         (window_top_gutter_height): don't use them.
9597         (window_bottom_gutter_height): ditto.
9598         (window_left_gutter_width): ditto.
9599         (window_right_gutter_width): ditto.
9600         (Fsplit_window): ditto.
9601         (Fwindow_pixel_edges): don't use border dimensions here.
9602
9603         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9604         (update_scrollbar_instance): ditto.
9605
9606         * redisplay.c (generate_modeline): don't take gutters into account.
9607         (generate_modeline): ditto.
9608         (redisplay_frame): small gutter display optimization.
9609
9610         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9611
9612         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9613         gutters into account.
9614
9615         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9616         for window position and type.
9617
9618         * gutter.c (get_gutter_coords): fix for frame gutters.
9619         (update_frame_gutters): update frame geometry if the gutters have
9620         changed.
9621         (init_frame_gutters): record current gutter geometries.
9622
9623         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
9624         var.
9625         (mswindows_widget_instantiate): ditto.
9626
9627         * frame.h (struct frame): add current_gutter_bounds.
9628
9629         * frame.c (change_frame_size_1): position window and minibuffer
9630         appropriately taking into account the frame gutters.
9631
9632         * frame-x.c: (x_initialize_frame_size): take into account the
9633         frame gutters.
9634
9635 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9636
9637         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
9638
9639 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9640
9641         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
9642
9643 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9644
9645         * file-coding.c (reset_decoding_stream): Clear previous
9646         detection state when autodetect.
9647
9648 2000-02-29  Didier Verna  <didier@xemacs.org>
9649
9650         * extents.c (set_extent_glyph_1): don't require extents to be
9651         attached.
9652
9653 2000-02-27  Andy Piper  <andy@xemacs.org>
9654
9655         * gutter.c (Fset_default_gutter_position): don't default left and
9656         right gutter visibility to t.
9657         (Fset_default_gutter_position): run
9658         default-gutter-position-changed-hook.
9659         (syms_of_gutter): add default-gutter-position-changed-hook.
9660
9661 2000-02-26  Andy Piper  <andy@xemacs.org>
9662
9663         * specifier.c (Fmake_specifier): add gutter references.
9664
9665         * gutter.h (RAW_WINDOW_GUTTER): new macro.
9666
9667         * lisp.h: declare Fvalid_plist_p.
9668
9669         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
9670         as changed.
9671         (default_gutter_visible_p_changed_in_window): invalidate gutter as
9672         well as its visibility so that it gets reconstructed.
9673         (construct_window_gutter_spec): new function. Construct a string
9674         to be displayed in the gutter from a plist of strings. Take care
9675         to only use elements that are declared as visible.
9676         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
9677         WINDOW_GUTTER.
9678         (gutter_validate): allow plists of strings in the specifier.
9679         (gutter_specs_changed): construct the real_gutter from the gutter
9680         specs using construct_window_gutter_spec.
9681         (gutter_visible_validate): gutter-visible is a new specifier type.
9682         (Fgutter_visible_specifier_p): new function for the new specifier.
9683         (syms_of_gutter): declare gutter-visible and
9684         Fgutter_visible_specifier_p.
9685         (specifier_type_create_gutter): intitalize new gutter-visible
9686         specifier.
9687         (reinit_specifier_type_create_gutter): ditto.
9688         (specifier_vars_of_gutter): use new specifier type for gutter
9689         visibility.
9690         (init_frame_gutters): construct real_gutter correctly.
9691         (Fgutter_specifier_p): beef up documentation.
9692         (Fgutter_size_specifier_p): ditto.
9693
9694         * winslots.h: add real_gutter slots.
9695
9696 2000-02-25  Andy Piper  <andy@xemacs.org>
9697
9698         * device-msw.c: Be kind to older cygwin versions. From Raymond
9699         Toy <toy@rtp.ericsson.se>.
9700
9701         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
9702         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
9703
9704 2000-02-25  Martin Buchholz  <martin@xemacs.org>
9705
9706         * elhash.c (MARK_OBJ): Practice macro hygiene.
9707
9708 2000-02-24  Martin Buchholz  <martin@xemacs.org>
9709
9710         * miscplay.c: s/__inline__/inline/g;
9711         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
9712         (get_device_compdc): INLINE ==> static inline
9713         * *.[ch]: Change INLINE to INLINE_HEADER globally.
9714         find -name '*.h' | \
9715         xargs global-replace \
9716         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
9717
9718 2000-02-25  Andy Piper  <andy@xemacs.org>
9719
9720         * window.c (window_top_frame_gutter_height): new function.
9721         (window_top_window_gutter_height): ditto.
9722         (window_top_gutter_height): use them.
9723         (window_bottom_frame_gutter_height): new function.
9724         (window_bottom_window_gutter_height): ditto.
9725         (window_bottom_gutter_height): use them.
9726         (window_left_window_gutter_width): new function.
9727         (window_left_frame_gutter_width): ditto.
9728         (window_left_gutter_width): use them.
9729         (window_right_window_gutter_width): new function.
9730         (window_right_frame_gutter_width): ditto.
9731         (window_right_gutter_width): use them.
9732         (window_pixel_height): new function. calulate window pixel height
9733         with frame gutter involvement.
9734         (Fsplit_window): calculate new sizes taking frame gutters into
9735         account.
9736         (window_char_height_to_pixel_height): don't include frame gutters.
9737         (window_char_height): use window_pixel_height.
9738         (window_pixheight): rename from window_pixel_height.
9739         (change_window_height): use it.
9740         (window_pixel_height_to_char_height): don't include frame gutters.
9741         (window_char_width_to_pixel_width): ditto.
9742
9743 2000-02-25  Andy Piper  <andy@xemacs.org>
9744
9745         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
9746         if it is.
9747
9748 2000-02-24  Martin Buchholz  <martin@xemacs.org>
9749
9750         * alloc.c (staticpro):
9751         (staticpro_nodump):
9752         (dumpstruct):
9753         (dumpopaque):
9754         (pdump_wire):
9755         (pdump_wire_list):
9756         (compact_string_chars):
9757         (pdump_dump_wired):
9758         Convert:  if (foo) abort();  ==>  assert (! foo);
9759
9760         * eldap.c (Fldap_search_basic):
9761         (Fldap_add):
9762         (Fldap_modify):
9763         (Fldap_delete):
9764         Fix compiler warnings, and possible crashes if (random) return
9765         value were to be used.
9766
9767 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9768
9769         * device-msw.c: Workaround ResetDC failure.
9770
9771         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
9772         applying a devmode.
9773
9774         * redisplay-msw.c (get_frame_dc): Added start_page_p.
9775         (mswindows_text_width): Do not start printer page.
9776
9777         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
9778
9779         * glyphs-msw.c: Added image methods to msprinter console and
9780         msprinter-specific image instantiation.
9781
9782 2000-02-20  Mike Alexander  <mta@arbortext.com>
9783
9784         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
9785         to avoid crashes when selection-sets-clipboard is on
9786         (mswindows_own_selection): ditto
9787
9788 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9789
9790         * glyphs-msw.c:
9791         * redisplay-msw.c (get_frame_dc):
9792         (get_frame_compdc):
9793         * console-msw.h:
9794         * device-msw.c (mswindows_init_device):
9795         (mswindows_delete_device):
9796         (msprinter_init_device):
9797         (msprinter_delete_device):
9798         * frame-msw.c (mswindows_init_frame_1):
9799         (mswindows_delete_frame):
9800         (msprinter_init_frame_3):
9801         (msprinter_delete_frame): Move compatible DC to device object from
9802         frame object, for both mswindows and msprinter. Only one at a time
9803         is needed, it is a real waste to have one per frame!
9804
9805 2000-02-23  Andy Piper  <andy@xemacs.org>
9806
9807         * glyphs.c: add dynamic width and height elements.
9808         (image_instance_equal): ditto.
9809
9810         * glyphs-widget.c (widget_query_geometry): calculate width and
9811         height dynamically if required.
9812         (initialize_widget_image_instance): initialize dynamic dimensions.
9813         (widget_instantiate): pick-up dynamic dimensions.
9814
9815         * glyphs.h (struct Lisp_Image_Instance): add width and height for
9816         dynamic determination. Add appropriate macros.
9817
9818         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
9819         dimensions safe.
9820         (WINDOW_GUTTER_SIZE): ditto.
9821         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
9822
9823         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
9824         inline.
9825         (get_frame_dc): ditto.
9826
9827         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
9828         here.
9829
9830 2000-02-23  Martin Buchholz <martin@xemacs.org>
9831
9832         * XEmacs 21.2.31 is released.
9833
9834 2000-02-22  Ben Wing <ben@xemacs.org>
9835
9836         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
9837
9838 2000-02-22  Andy Piper  <andy@xemacs.org>
9839
9840         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
9841
9842 2000-02-21  Mike Sperber <mike@xemacs.org>
9843
9844         * .dbxrc:
9845         * .gdbinit:
9846         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
9847         variables.
9848
9849 2000-02-21  Mike Sperber <mike@xemacs.org>
9850
9851         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
9852
9853 2000-02-21  Martin Buchholz <martin@xemacs.org>
9854
9855         * XEmacs 21.2.30 is released.
9856
9857 2000-02-20  Martin Buchholz  <martin@xemacs.org>
9858
9859         Performance hacking.
9860         * *.c (syms_of_*):
9861         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
9862         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
9863         * emacs.c (main_1):
9864         * lisp.h (DEFUN):
9865         * console.c (DEFVAR_CONSOLE_LOCAL_1):
9866         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
9867         * symeval.h (DEFVAR_SYMVAL_FWD):
9868         * symbols.c (guts_of_unbound_marker):
9869         Make all c_readonly objects also lisp_readonly and marked for life.
9870         * lrecord.h (struct lrecord_implementation):
9871         Document flags better.
9872         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
9873         * lrecord.h (DECLARE_LRECORD):
9874         * lrecord.h (XSETRECORD):
9875         * lrecord.h (RECORDP):
9876         * lrecord.h (RECORD_TYPEP):
9877         * lrecord.h (RECORD_MARKER): New.
9878         * lrecord.h (error_check_*):
9879         * lrecord.h (CONCHECK_NONRECORD):
9880         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
9881         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
9882         * lrecord.h (set_lheader_implementation):
9883         * lrecord.h (enum lrecord_type): New.
9884         * symeval.h (SYMBOL_VALUE_MAGIC_P):
9885         * alloc.c (disksave_object_finalization_1):
9886         * alloc.c (mark_object):
9887         * alloc.c (lrecord_type_index):
9888         * alloc.c (tick_lcrecord_stats):
9889         * alloc.c (Fgarbage_collect):
9890         * alloc.c (init_alloc_once_early):
9891         * alloc.c (pdump_load):
9892         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
9893         * alloc.c (lrecord_type_index): Delete.
9894         Make lisp object type indexes be constant.
9895           Makes (byte-compile) 5% faster.
9896         Put all marker functions into their own array.
9897           Makes (garbage-collect) 5% faster.
9898         Optimize SYMBOL_VALUE_MAGIC_P.
9899           Makes (byte-compile) 2-3% faster.
9900         * config.h.in (gc_checking_assert): New.
9901         * alloc.c: Use gc_checking_assert().
9902         * .dbxrc: Make compatible with new object type implementation.
9903         * .gdbinit: Make compatible with new object type implementation.
9904         * alloc.c: Delete all symbols defined only for debugging, such as
9905         Lisp_Type_Vector and lrecord_charset.
9906
9907 2000-02-21  Andy Piper  <andy@xemacs.org>
9908
9909         * gui-msw.c (Fmswindows_shell_execute): fix file location
9910         problems.
9911
9912         * buffer.c (Fkill_buffer): remove buffer from alist buffer
9913         unshowing so that set_window_buffer doesn't undo
9914         kill_buffer_hook's hard work.
9915
9916         * glyphs-widget.c (tab_control_query_geometry): don't count the
9917         first item when calculating geometry.
9918
9919         * glyphs.c (map_subwindow): remove redundant code.
9920         (update_frame_subwindows): be more circumspect about when to
9921         update subwindows.
9922
9923         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
9924         when items haven't changed. Update faces if faces have changed as
9925         well as just the widget face.
9926         (x_tab_control_update): Update faces if faces have changed as well
9927         as just the widget face.
9928
9929 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9930
9931         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
9932         registration.
9933         (build_syscolor_string): Use mswindows_color_to_string to try to
9934         get a named color.
9935         (mswindows_device_system_metrics): Reverse the foreground and
9936         background colors so that they match the documentation.
9937
9938         * objects-msw.c: (mswindows_X_color_map): tweak some values so
9939         they match the default Windows palette.
9940         (mswindows_color_to_string): New function.
9941
9942 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9943
9944         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
9945
9946 2000-02-18  Olivier Galibert  <galibert@pobox.com>
9947
9948         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
9949         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
9950
9951         * symbols.c (init_symbols_once_early): Removed obsolete
9952         DATA_SEG_BITS related kludge.
9953         (defvar_magic): Ditto.
9954
9955         * malloc.c: Removed obsolete DATA_SEG_BITS
9956         * ralloc.c: Ditto.
9957         * mem-limits.h: Ditto.
9958
9959         * Makefile.in.in: Removed obsolete HAVE_SHM
9960         * emacs.c: Ditto.
9961
9962 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9963
9964         *  device-msw.c (mswindows_delete_device): Free DDE string
9965         handles.
9966
9967 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9968
9969         * keymap.c (get_keyelt):
9970         * unexnt.c (unexec):
9971         * vm-limit.c (memory_warnings):
9972         * ntheap.c (recreate_heap):
9973         * ntheap.h (UNINIT_PTR):
9974         * select-msw.c (Fmswindows_get_clipboard):
9975         (Fmswindows_set_clipboard):
9976         * objects-msw.h (MSWINDOWS_BAD_HFONT):
9977         * objects-msw.c:
9978         * menubar-msw.c (displayable_menu_item):
9979         * glyphs-msw.c:
9980         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
9981         * sysdep.c (sys_subshell):
9982         * process-nt.c (nt_create_process):
9983         * nt.c (normalize_filename):
9984         (dostounix_filename):
9985         (unixtodos_filename):
9986         * ntproc.c (win32_executable_type):
9987         * ntplay.c (play_sound_data_1):
9988         (play_sound_file):
9989         * editfns.c (get_home_directory):
9990         * event-msw.c (struct winsock_stream):
9991         (mswindows_dde_callback):
9992         * device-msw.c (msprinter_init_device):
9993         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
9994
9995         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
9996         mswindows_clear_toolbar were swapped!
9997
9998         * objects-msw.c:(colormap_t):
9999         (fontmap_t):
10000         * emacs.c (struct standard_args): Fixed const jumble.
10001
10002         * glyphs-widget.c (update_widget): Fixed comparison notation.
10003
10004         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10005
10006         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10007         __declspec(noreturn) syntax.
10008
10009 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10010
10011         * eldap.c (Fldap_open):
10012         (Fldap_search_basic):
10013         (Fldap_add):
10014         (Fldap_modify):
10015         Use new coding system conversion macros.
10016
10017 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10018
10019         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10020
10021 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10022
10023         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10024         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10025
10026         * eldap.c (Qadd, Qreplace): New constant symbols
10027         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10028         interruptions by XEmacs signals
10029         Remove unnecessary calls to slow_down_interrupts and
10030         speed_up_interrupts
10031         (Fldap_search_basic): Renamed from Fldap_search_internal
10032         Added new optional parameter VERBOSE that triggers the
10033         display of progress messages
10034         Remove unnecessary calls to slow_down_interrupts and
10035         speed_up_interrupts
10036         LDAP result code analysis rewritten
10037         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10038         (syms_of_eldap): Define the new symbols and functions
10039
10040
10041 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10042
10043         * realpath.c: Determine PATH_MAX maximally portably.
10044
10045         * insdel.c (bytecount_to_charcount): Optimize.
10046         The function used to be optimized for entirely ASCII sequences.
10047         Now it is optimized for successive characters from the same
10048         charset.  This also wins big for _mostly_ ASCII sequences.
10049
10050         * fileio.c (Ffile_truename): convert return from realpath() using
10051         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10052         - Rewrite GCPROing slightly.
10053
10054         * sysdep.c (sys_open): Do filename conversion, like all other
10055         sys_* functions.  Fixes bug:
10056         (let ((file-name-coding-system 'iso-8859-2))
10057            (write-region x y latin2-name))
10058         ==> writes filename using internal encoding.
10059
10060 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10061
10062         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10063         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10064         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10065         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10066         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10067         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10068         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10069         (CONST_IF_NOT_DEBUG): Delete.
10070         * alloc.c (this_one_is_unmarkable): Delete.
10071         (mark_object): Don't check for this_one_is_unmarkable. Use the
10072         c_readonly flag instead.
10073         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10074
10075 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10076
10077         * event-msw.c (mswindows_drain_windows_queue):
10078         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10079         away redundant repaint events.
10080
10081 2000-02-17  Andy Piper  <andy@xemacs.org>
10082
10083         * redisplay.h: declare mark_redisplay_structs.
10084
10085         * redisplay.c (redisplay_window):
10086         (redisplay_frame): don't check subwindows_state_changed.
10087         (mark_redisplay): mark gutters here.
10088
10089         * glyphs.c: (instantiate_image_instantiator): always layout if we
10090         haven't done so already.
10091         (allocate_image_instance): don't mark as dirty.
10092         (update_subwindow): bind inhibit_quit.
10093
10094         * gutter.c (mark_gutters): new function.
10095
10096         * glyphs-x.c (x_update_widget): Always resize to get round a
10097         widget bug.
10098
10099         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10100         breaking absolutely everything.
10101
10102         * gutter.h: declare mark_gutters.
10103
10104 2000-02-16  Martin Buchholz <martin@xemacs.org>
10105
10106         * XEmacs 21.2.29 is released.
10107
10108 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10109
10110         * fns.c (size_bit_vector): Fix computation of the size.
10111
10112 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10113
10114         * *.[ch]: Change CONST to const globally.
10115         find -name '*.[ch]' | \
10116         xargs global-replace \
10117         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10118         - Remove vestigial references to CONST_IS_LOSING
10119
10120 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10121
10122         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10123         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10124         events instead of dispatching them directly.
10125         (mswindows_handle_paint): New function to do repainting.
10126         (mswindows_wnd_proc):
10127         (emacs_mswindows_handle_magic_event): Call above function.
10128
10129 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10130
10131         * objects-msw.c (mswindows_create_font_variant): Return the new
10132         font handle.
10133         (initialize_font_instance): Get font metrics from the underlined
10134         variant of the font to cope with the case where the underlined
10135         font has a bigger descent.
10136
10137 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10138
10139         * gui.c (gui_item_accelerator): Return the first underlined
10140         character in item name.
10141
10142 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10143
10144         * lisp.h: Added Qprinter.
10145
10146         * general.c (syms_of_general): Initialized it.
10147
10148         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10149         (get_frame_dc):
10150         (get_frame_compdc): Made inline.
10151
10152         * console.h (struct console_methods): Added eject_page method.
10153
10154         * frame.h: Added FRAME_DISPLAY_P and friends.
10155         Aligned backslahes in many macros in more readable fashion.
10156         Added page_number to struct frame, and an accessor macro
10157         for it.
10158
10159         * defice.h: Added DEVICE_DISPLAY_P and friends.
10160
10161         * device.c (Fdevice_printer_p): Used these.
10162
10163         * frame.c (allocate_frame_core): Initialize page number.
10164         (Fprint_job_page_number):
10165         (Fprint_job_eject_page): Implemented.
10166
10167         * frame-msw.c (msprinter_eject_page): Added method.
10168         (msprinter_start_page): Added.
10169
10170         * window.c (Fwindow_truncated_p): Fixed docstring.
10171         (Fwindow_last_line_visible_height): Implemented.
10172
10173 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10174
10175         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10176
10177 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10178
10179         * syntax.c (scan_words): Always advance at least one character.
10180
10181 2000-02-13  Andy Piper  <andy@xemacs.org>
10182
10183         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10184         to make sure the glyph is in the cachels.
10185
10186         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10187         global image instance flag.
10188         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10189         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10190
10191         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10192         (Fset_image_instance_property): mark layout as changed.
10193         (invalidate_glyph_geometry_maybe): mark layout as changed.
10194         (glyph_width): use new NEEDS_LAYOUT macro.
10195         (glyph_ascent): ditto.
10196         (glyph_descent): ditto.
10197         (glyph_height): ditto.
10198         (image_instance_layout): mark layout as clean after laying out.
10199         (update_subwindow): don't mark layout as clean here.
10200
10201         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10202         should no longer be needed.
10203
10204         * glyphs-x.c (x_update_widget): sanitize asserts.
10205         (x_finalize_image_instance): sanitize assignment to widgets.
10206
10207         * glyphs-widget.c (widget_instantiate): don't need to clear the
10208         layout flag here.
10209
10210 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10211
10212         * sysdep.c (getcwd): Use standard prototype.
10213         * sysdep.h (getcwd): Use standard prototype.
10214
10215         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10216         (sequence, start, end).
10217         Remove redundant type checking.
10218         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10219         view of `caller-protects') to avoid a crash where the real fix was
10220         found elsewhere.
10221
10222 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10223
10224         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10225
10226         * s/sol2.h: Remove feature macro initialization.
10227
10228         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10229         (vector_hash): New.  Code from internal_hash.
10230         * lrecord.h:
10231         Fix up allocation subsystem comments.
10232
10233         * config.h.in: Add __EXTENSIONS__ for Solaris.
10234
10235         * systime.h (EMACS_GETTIMEOFDAY): New.
10236         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10237         Remove Solaris-specific code.
10238         Use void* for the (ignored) second arg for gettimeofday().
10239
10240         * elhash.c (hash_table_hash): Implement it, finally.
10241         * elhash.c:  Use hashcode_t.
10242
10243         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10244         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10245
10246         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10247         * fns.c (size_bit_vector):
10248         * alloc.c (size_vector):
10249         (make_vector_internal):
10250         (make_bit_vector_internal):
10251         (sweep_bit_vectors_1):
10252         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10253
10254 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10255
10256         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10257         Include strings.h to avoid warnings for bzero and strcasecmp.
10258
10259 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10260
10261         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10262         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10263
10264         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10265         sequence.
10266
10267 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10268
10269         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10270         use a value field instead.
10271         (symbol_value_forward_forward): Use value field.
10272         (DEFVAR_SYMVAL_FWD): Use value field.
10273         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10274         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10275         (DEFVAR_CONST_INT): Ditto.
10276         (DEFVAR_BOOL): Ditto.
10277         (DEFVAR_CONST_BOOL): Ditto.
10278         (DEFVAR_INT_MAGIC): Ditto.
10279         (DEFVAR_BOOL_MAGIC): Ditto.
10280
10281         * symbols.c (guts_of_unbound_marker): Use value field.
10282         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10283         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10284
10285         * lisp.h: Declare dumpopaque and noninteractive1.
10286
10287         * alloc.c (dumpopaque): Added.
10288         (pdump_dump_opaquevec): Added.
10289         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10290         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10291         noninteractive.
10292
10293 2000-02-10  Andy Piper  <andy@xemacs.org>
10294
10295         * glyphs.c (image_instance_layout): if the size changes, mark it
10296         as such.
10297
10298         * redisplay-output.c (redisplay_output_layout): Update the
10299         subwindow here.
10300         (redisplay_output_subwindow): ditto.
10301
10302         * glyphs.c (update_subwindow): make sure we reset flags for
10303         layouts as well as everything else.
10304
10305         * glyphs-widget.c (layout_layout): don't need to set the instances
10306         dimensions here.
10307
10308 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10309
10310         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10311         not HAVE_DLOPEN, which is a lower-level thing.
10312
10313         * .cvsignore: Ignore gmon.out
10314
10315 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10316
10317         * .cvsignore: Ignore portable dumper xemacs.dmp file
10318
10319 2000-02-09  Andy Piper  <andy@xemacs.org>
10320
10321         * redisplay-output.c (redisplay_output_layout): be more clever
10322         about when we output based on the changed flags.
10323
10324         * glyphs.h (struct image_instantiator_methods): add update_method.
10325         (struct Lisp_Image_Instance): add changed flags. Declare new
10326         macros for manipulating them.
10327
10328         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10329         (image_instance_parent_glyph): find an image_instance's parent
10330         glyph or image_instance.
10331         (image_instance_layout): mark the size as changed.
10332         (set_image_instance_dirty_p): new function. mark an image
10333         instance, plus all of its parents, as dirty.
10334         (Fset_image_instance_property): use it.
10335         (Fglyph_animated_timeout_handler): use it.
10336         (update_subwindow): call update_widget and device methods for
10337         update_subwindow. Mark all changed flags as clean.
10338         (Fresize_subwindow): mark size as changed.
10339
10340         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10341         failures.
10342         (x_update_subwindow): only resize subwindows here.
10343         (x_update_widget): new function. Update all changed properties of
10344         a widget.
10345         (x_resize_subwindow): deleted.
10346         (x_widget_set_property): deleted.
10347         (x_progress_gauge_set_property): deleted.
10348         (x_progress_gauge_update): new function. Implement recorded
10349         changes.
10350         (x_tab_control_update): ditto.
10351         (x_tab_control_set_property): deleted.
10352         (console_type_create_glyphs_x): declare new functions.
10353         (image_instantiator_format_create_glyphs_x): ditto.
10354
10355         * glyphs-widget.c (widget_set_property): mark text changed.
10356         (update_widget): new function. Update properties of a widget.
10357         (widget_instantiate): for layouts make sure we set their
10358         children's parent correctly.
10359         (tab_control_set_property): new function. Record changes that will
10360         take place under redisplay's control.
10361         (progress_gauge_set_property): ditto.
10362         (image_instantiator_progress_guage): declare new functions.
10363         (image_instantiator_tab_control): ditto.
10364
10365         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10366         now.
10367         (mswindows_update_widget): new function. Update all properties on
10368         a widget that have changed.
10369         (mswindows_button_update): new function. Update a button's set
10370         state.
10371         (mswindows_tab_control_update): new function. Update the items in
10372         a tab.
10373         (mswindows_tab_control_set_property): deleted.
10374         (mswindows_progress_gauge_update): new function. Update the
10375         progress gauge's progress.
10376         (mswindows_widget_set_property): deleted. This is all done
10377         asynchronously now.
10378         (mswindows_progress_gauge_set_property): ditto.
10379         (console_type_create_glyphs_mswindows): declare new methods.
10380         (image_instantiator_format_create_glyphs_mswindows): ditto.
10381
10382         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10383         (msprinter_set_frame_properties): ditto.
10384
10385         * console.h (struct console_methods): Add update_widget_method.
10386
10387 2000-02-09  Andy Piper  <andy@xemacs.org>
10388
10389         * gui-msw.c (Fmswindows_shell_execute): Make
10390         mswindows-shell-execute industrial strength.
10391
10392 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10393
10394         * lrecord.h: Make macro argument `props' match member function `plist'.
10395         * fns.c (Fget):
10396         * fns.c (Fput):
10397         * fns.c (Fremprop):
10398         * fns.c (Fobject_plist):
10399         * alloc.c:
10400         * symbols.c:
10401         Object property list frobbing cleanup.
10402         - Allow any lisp object (compared with `eq'), not just symbols, as
10403           keys in object plists.
10404         - Move symbol plist frobbing into symbols.c, where it belongs.
10405         - Move string plist frobbing into alloc.c, where it belongs.
10406         - Everything's an lrecord now, so no need to test for symbolp, etc.
10407         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10408
10409         * extents.c: Reorder code to remove declarations.
10410
10411         * frame.h (store_in_alist): Remove useless declaration.
10412
10413 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10414
10415         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10416         * config.h.in: Add HAVE_XCONVERTCASE.
10417
10418 2000-02-07  Andy Piper  <andy@xemacs.org>
10419
10420         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10421         it breaks many things.
10422
10423 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10424
10425         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10426         actually can start a common comment type.
10427         * src/syntax.h (SYNTAX_END_P): ditto for end.
10428
10429 2000-02-07  Martin Buchholz <martin@xemacs.org>
10430
10431         * XEmacs 21.2.28 is released.
10432
10433 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10434
10435         * event-Xt.c (x_keysym_to_character): New.
10436         (maybe_define_x_key_as_self_inserting_character): New.
10437         (x_has_keysym): New.
10438         Auto-define all keys on the keyboard as self-insert-key.
10439
10440 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10441
10442         * menubar.c (vars_of_menubar): A small code simplification.
10443
10444         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10445
10446         * ExternalShell.c:
10447         * ExternalClient.c:
10448         * EmacsShell-sub.c:
10449         * EmacsManager.c:
10450         * EmacsFrame.c:
10451         Use consistent style for specifying X resources.
10452
10453         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10454         This makes (dontusethis-set-symbol-value-handler) actually usable.
10455
10456         * lrecord.h (lrecord_decription_type):
10457         * alloc.c (pdump_register_sub):
10458         (pdump_dump_data):
10459         (pdump_reloc_one):
10460         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10461         Comply with XEmacs coding style.
10462         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10463         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10464
10465         * keymap.c (Faccessible_keymaps):
10466         Make (accessible-keymaps map "\C-h") do the Right Thing.
10467         Make (accessible-keymaps map []) do the Right Thing.
10468         Make (accessible-keymaps map "") do the Right Thing.
10469         (check_keymap_definition_loop): New function.
10470         (keymap_store_internal): Keep luser from shooting self in foot,
10471           via (define-key ctl-x-4-map "p" global-map).
10472         Remove fullness slot from struct Lisp_Keymap, since hash tables
10473         are now reliable.
10474         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10475
10476 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10477
10478         * redisplay.c (init_redisplay): Fix small memory leak.
10479         * elhash.h:
10480         * elhash.c (pdump_reorganize_hash_table):
10481         Rename from reorganize_hash_table. Change prototype.
10482         Reuse the original memory for hentries.  Save 100k.
10483         * alloc.c (PDUMP_READ): new macro.
10484         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10485         * alloc.c: No need to #ifndef before #undef.
10486
10487         * print.c: Allow debug_print() to print readably by modifying
10488         debug_print_readably.  Use consistent variable names.
10489
10490         * .dbxrc: Try to get things to work even if stopped in a function
10491         without source available by explicitly specifying source files.
10492 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10493
10494         * unexnt.c (_start): Removed bogus code which caused loading heap
10495         from differrent executable file.
10496         Removed bogus assignment to _fmode, which caused inconsistencies.
10497
10498 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10499
10500         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10501         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10502         Do not preliminary `#define signal sigset'.
10503
10504         * systime.h: Do not prototype environ on windows nt and cygwin,
10505         this conflicts with system header.
10506
10507         * syssignal.h: Use correct define for WINDOWSNT
10508
10509         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10510         with system header.
10511
10512         * sysdep.c (near start of file): Fixed commentary and rearranged
10513         ifdefs in readable order.
10514         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10515         (start_of_text):
10516         (end_of_text):
10517         (end_of_data): Do not compile in if using PDUMP.
10518
10519         * symsinit.h: Prototyped vars_of_nt().
10520
10521         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10522         (find_child_console): Use it.
10523         (sys_kill): Use it.
10524
10525         * ntheap.h: Do not extern os_subtype.
10526
10527         * ntheap.c (cache_system_info): Do not cache unneeded:
10528         nt_major_version, nt_minor_version and os_subtype.
10529         (recreate_heap): Do not compile in when PDUMPing.
10530
10531         * nt.c (geteuid and friends): Use the new varibale
10532         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10533         (init_user_info): Removed the above mentioned hackery.
10534         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10535         stat has been fixed in the C runtime.
10536         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10537
10538         * file-coding.c (struct file_coding_dump): Do not define
10539         ucs_to_mule_table in the struct if not MULE.
10540         (struct struct lrecord_description fcd_description_1): Do not dump
10541         the above.
10542
10543         * emacs.c (main_1): Call vars_of_nt().
10544         (right before Fdump_emacs_data): Don't need lastfile if using both
10545         portabe dumper and system malloc.
10546
10547         * alloc.c (Fmemory_limit): Conditionalized out.
10548         (pdump): Use OPEN_BINARY for the portable dump file.
10549         (pdump_load): Ditto.
10550
10551 2000-02-02  Mike Alexander  <mta@arbortext.com>
10552
10553         * nt.c (convert_time): Set tm_isdst before calling mktime and
10554         avoid calling it at all if the compiler supports 64 bit integers.
10555         Also initialize utc_base_ft before using it.
10556
10557 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10558
10559         * frame.c (change_frame_size_1): Take f->internal_border_width
10560         into consideration when calculating the width of the frame.
10561
10562 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10563
10564         * window.c (frame_min_height):
10565         (frame_size_valid_p):
10566         (frame_pixsize_valid_p): Added.
10567         (check_frame_size): Generalized.
10568
10569         * window.h: Prototyped the above.
10570
10571         * lisp.h:
10572         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10573         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10574         Deleted Vwin32_* and Vbinary_process_* unused variables.
10575
10576         * device-msw.c (msprinter_init_device): Do not get printer font
10577         list; Added DEVMODE functions.
10578
10579         * frame-msw.c: Added lots of printer code.
10580
10581         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10582         general.c.
10583
10584         * console-msw.h: Added more msprinter device private slots.
10585
10586 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10587
10588         * event-msw.c (key_needs_default_processing_p): Added.
10589         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10590
10591 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10592
10593         * glyphs.c (image_instance_layout): Mark image instance as clean
10594         after layout.
10595         (glyph_dirty_p): Removed redundant function.
10596         (invalidate_glyph_geometry_maybe): Added.
10597         (update_glyph_cachel_data): Call it.
10598
10599         * glyphs.h: Prototyped it.
10600
10601         * redisplay.c (add_glyph_rune): Call it.
10602         (redisplay_window): Reset glyphs cachels when frame faces have
10603         changed, thus forcing recomputation of built-in border glyphs.
10604
10605 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10606
10607         * Makefile.in.in: Make portable dumper and purify play well together.
10608         Add imperfect, but better than nothing, support for pdump.
10609         Remove xemacs.dmp when temacs is re-generated.
10610         Don't ignore errors when dumping xemacs.
10611
10612         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10613
10614 2000-01-28  Andy Piper  <andy@xemacs.org>
10615
10616         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10617         (setup_normal_frame): ditto.
10618         (setup_frame_without_minibuffer): ditto.
10619         (setup_minibuffer_frame): ditto.
10620         (delete_frame_internal): ditto.
10621         (Fmake_frame_invisible): ditto.
10622         (Ficonify_frame): ditto.
10623
10624         * window.h: change Fset_window_buffer signature.
10625
10626         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
10627         (Fset_window_buffer): allow recording of buffer if the window is
10628         the selected window.
10629         (window_loop): Use new Fset_window signature.
10630
10631 2000-01-23  Daniel Pittman  <daniel@danann.net>
10632
10633         * config.h.in: Added template for `HAVE_ATHENA_3D'
10634
10635 2000-01-29  Andy Piper  <andy@xemacs.org>
10636
10637         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
10638
10639         * gutter.c (output_gutter): Don't output if the window isn't live.
10640
10641 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10642
10643         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
10644         of 01/12/00: Moved SetFocus back here where it belongs.
10645
10646 2000-01-23  Andy Piper  <andy@xemacs.org>
10647
10648         * s/cygwin32.h: declare printer things.
10649
10650 2000-01-26  Andy Piper  <andy@xemacs.org>
10651
10652         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
10653         Alexander.
10654
10655 2000-01-24  Andy Piper  <andy@xemacs.org>
10656
10657         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
10658         (mswindows_button_instantiate): Make sure glyph is a pixmap.
10659
10660         * glyphs-widget.c (widget_instantiate): Avoid shadows.
10661
10662         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
10663
10664         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
10665
10666         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
10667         (mswindows_output_display_block): Avoid local shadows.
10668
10669         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
10670         (mswindows_enqueue_mouse_button_event): ditto.
10671         (mswindows_handle_gui_wm_command): remove declaration.
10672
10673         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
10674         warnings.
10675
10676         * console-msw.h: Avoid shadows.
10677         (mswindows_get_toolbar_button_text):
10678         (emacs_mswindows_create_stream_pair):
10679         (emacs_mswindows_delete_stream_pair):
10680         (mswindows_handle_toolbar_wm_command): declare.
10681
10682         * device-msw.c (build_syscolor_string): Avoid shadows.
10683
10684 2000-01-23  Andy Piper  <andy@xemacs.org>
10685
10686         * glyphs-widget.c (widget_instantiate): reverse the items for
10687         layouts so that children are in the expected order.
10688
10689 2000-01-28  Martin Buchholz  <martin@xemacs.org>
10690
10691         * ralloc.c: safe_bcopy ==> memmove
10692         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
10693         * s/msdos.h: Remove BCOPY macros.
10694         * insdel.c (gap_right): Remove BCOPY conditional code.
10695         * insdel.c (gap_left): Remove BCOPY conditional code.
10696         XEmacs demands a working ANSI C compiler - hence memmove.
10697
10698         * regex.c (regex_compile): Remove accidental use of trigraphs.
10699
10700 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10701
10702         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
10703         event timestamp.
10704
10705 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10706
10707         * event-msw.c (mswindows_drain_windows_queue): Added the
10708         parameter.
10709         (mswindows_need_event): Commented the call to
10710         mswindows_drain_windows_queue().
10711         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
10712         only.
10713
10714         * console-msw.h: Moved a few function prototypes here from
10715         event-msw.c.
10716
10717         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
10718         parameter from unsigned short to unsigned long.
10719         (Fmswindows_shell_execute): Added return value.
10720
10721 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
10722
10723         * sysdep.c (init_system_name):
10724           process-unix.c (unix_canonicalized_host_name):
10725         Don't call freeaddrinfo() if getaddrinfo() fails.
10726
10727         * process-unix.c (unix_open_unix_network_stream):
10728         Moved the code to get a port # into address loop.
10729
10730 2000-01-27  Martin Buchholz  <martin@xemacs.org>
10731
10732         * buffer.c (reinit_vars_of_buffer):
10733         The right place to initialize conversion_in_dynarr and
10734         conversion_out_dynarr.
10735
10736         * alloc.c (pdump): Use the real open() till sys_open() is functional.
10737
10738         * process-unix.c (unix_canonicalize_host_name): Muleize.
10739         (unix_open_network_stream): Muleize.
10740
10741         * buffer.h: Fix up prototypes for ralloc.c functions.
10742
10743 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
10744         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
10745         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
10746                 instead of gethostbyname()
10747         * process-unix.c: In unix_canonicalize_host_name() and
10748                 unix_open_network_stream(), add code to use getaddrinfo()
10749                 instead of gethostbyname().
10750
10751 2000-01-27  Daniel Pittman <daniel@danann.net>
10752
10753         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
10754         libs when built with flat Athena.
10755
10756 2000-01-27  Martin Buchholz  <martin@xemacs.org>
10757
10758         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
10759         Use coding standards for function prototypes.
10760
10761 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10762
10763         * dialog-msw.c (push_lisp_string_as_unicode):
10764         * doc.c (unparesseuxify_doc_string):
10765         * dired.c (Fuser_name_completion_1):
10766         * dired.c (Fuser_name_all_completions):
10767         * dired.c (free_user_cache):
10768         * dired.c (user_name_completion):
10769         * console-x.c (get_display_arg_connection):
10770         * minibuf.c (clear_echo_area_internal):
10771         * minibuf.c (echo_area_append):
10772         * eldap.c (Fldap_open):
10773         * eldap.c (Fldap_search_internal):
10774         * frame-x.c (x_set_frame_text_value):
10775         * frame-x.c (x_set_frame_properties):
10776         * frame-x.c (x_create_widgets):
10777         * redisplay-tty.c (term_get_fkeys_1):
10778         * objects-x.c (x_parse_nearest_color):
10779         * objects-x.c (x_valid_color_name_p):
10780         * objects-x.c (x_initialize_font_instance):
10781         * objects-x.c (x_list_fonts):
10782         * objects-x.c (x_find_charset_font):
10783         * tooltalk.c (Fadd_tooltalk_message_arg):
10784         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10785         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10786         * process-unix.c (unix_create_process):
10787         * ntproc.c (sys_spawnve):
10788         * sound.c (Fplay_sound_file):
10789         * sound.c (Fplay_sound):
10790         * buffer.c (init_initial_directory):
10791         * buffer.c (init_buffer):
10792         * editfns.c (init_editfns):
10793         * editfns.c (Ftemp_directory):
10794         * editfns.c (Fuser_full_name):
10795         * editfns.c (uncache_home_directory):
10796         * editfns.c (get_home_directory):
10797         * editfns.c (Fuser_home_directory):
10798         * editfns.c (Fformat_time_string):
10799         * editfns.c (Fcurrent_time_string):
10800         * gui-x.c (button_item_to_widget_value):
10801         * database.c (Fopen_database):
10802         * event-Xt.c (x_to_emacs_keysym):
10803         * event-Xt.c (x_event_to_emacs_event):
10804         * event-Xt.c (describe_event_window):
10805         * event-msw.c (mswindows_wnd_proc):
10806         * glyphs-eimage.c (jpeg_instantiate):
10807         * glyphs-eimage.c (gif_instantiate):
10808         * glyphs-eimage.c (png_instantiate):
10809         * glyphs-eimage.c (tiff_instantiate):
10810         * glyphs-x.c (xbm_instantiate_1):
10811         * glyphs-x.c (x_xbm_instantiate):
10812         * glyphs-x.c (x_xface_instantiate):
10813         * glyphs-x.c (autodetect_instantiate):
10814         * glyphs-x.c (cursor_font_instantiate):
10815         * glyphs-x.c (x_widget_instantiate):
10816         * glyphs-x.c (x_widget_set_property):
10817         * glyphs-x.c (x_widget_property):
10818         * glyphs-x.c (BUILD_GLYPH_INST):
10819         * print.c (write_string_to_stdio_stream):
10820         * print.c (output_string):
10821         * print.c (Falternate_debugging_output):
10822         * print.c (Fexternal_debugging_output):
10823         * glyphs-msw.c (extract_xpm_color_names):
10824         * glyphs-msw.c (mswindows_xpm_instantiate):
10825         * glyphs-msw.c (bmp_instantiate):
10826         * glyphs-msw.c (resource_name_to_resource):
10827         * glyphs-msw.c (mswindows_resource_instantiate):
10828         * glyphs-msw.c (xbm_instantiate_1):
10829         * glyphs-msw.c (mswindows_xbm_instantiate):
10830         * glyphs-msw.c (mswindows_xface_instantiate):
10831         * glyphs-msw.c (mswindows_widget_instantiate):
10832         * glyphs-msw.c (add_tree_item):
10833         * glyphs-msw.c (add_tab_item):
10834         * glyphs-msw.c (mswindows_combo_box_instantiate):
10835         * glyphs-msw.c (mswindows_widget_property):
10836         * glyphs-msw.c (mswindows_combo_box_property):
10837         * glyphs-msw.c (mswindows_widget_set_property):
10838         * console.c (stuff_buffered_input):
10839         * objects-msw.c (mswindows_initialize_color_instance):
10840         * objects-msw.c (mswindows_valid_color_name_p):
10841         * objects-msw.c (mswindows_list_fonts):
10842         * objects-msw.c (mswindows_font_instance_truename):
10843         * bytecode.c (optimize_compiled_function):
10844         * select-x.c (symbol_to_x_atom):
10845         * select-x.c (x_atom_to_symbol):
10846         * select-x.c (hack_motif_clipboard_selection):
10847         * select-x.c (selection_data_to_lisp_data):
10848         * select-x.c (lisp_data_to_selection_data):
10849         * select-x.c (Fx_get_cutbuffer_internal):
10850         * select-x.c (Fx_store_cutbuffer_internal):
10851         * buffer.h (TO_EXTERNAL_FORMAT): New function.
10852         * buffer.h (TO_INTERNAL_FORMAT): New function.
10853         * emacs.c (make_arg_list_1):
10854         * emacs.c (make_argc_argv):
10855         * emacs.c (main_1):
10856         * emacs.c (Fdump_emacs):
10857         * emacs.c (split_string_by_emchar_1):
10858         * file-coding.h:
10859         * lisp.h:
10860         * lstream.h:
10861         * symsinit.h:
10862         * device-x.c (x_init_device):
10863         * device-x.c (Fx_valid_keysym_name_p):
10864         * device-x.c (Fx_get_font_path):
10865         * device-x.c (Fx_set_font_path):
10866         * glyphs.c (bitmap_to_lisp_data):
10867         * glyphs.c (pixmap_to_lisp_data):
10868         * alloc.c (make_ext_string): Use coding system arguments.  Update
10869         all callers.
10870         * alloc.c (build_string):
10871         * callproc.c (child_setup):
10872         * callproc.c (init_callproc):
10873         * fileio.c (lisp_strerror):
10874         * fileio.c (directory_file_name):
10875         * fileio.c (Fexpand_file_name):
10876         * fileio.c (Ffile_truename):
10877         * fileio.c (Fsysnetunam):
10878         * fileio.c (Fdo_auto_save):
10879         * sysdep.c (sys_readdir):
10880         * tests.c: New file.  Allow adding C tests.
10881         Replace GET_* macros with a more comprehensible and flexible
10882         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
10883         Modify all calls.
10884         Any coding system can be used to do format conversion.
10885         Eliminate enum external_data_format.
10886         Eliminate convert_to_external_format.
10887         Eliminate convert_to_internal_format.
10888         Make sure file-name, keyboard, terminal, and ctext are always
10889         defined as coding systems or aliases.  Make
10890         file-name-coding-system, terminal-coding-system, and
10891         keyboard-coding-system magical variables that are equivalent to
10892         defining the corresponding coding system aliases.
10893
10894         * file-coding.c (Fcoding_system_canonical_name_p): New function.
10895         * file-coding.c (Fcoding_system_alias_p): New function.
10896         * file-coding.c (Fcoding_system_aliasee): New function.
10897         * file-coding.c (append_suffix_to_symbol): New function.
10898         * file-coding.c (dangling_coding_system_alias_p): New function.
10899         * file-coding.c (Ffind_coding_system):
10900         * file-coding.c (Fcopy_coding_system):
10901         * file-coding.c (encode_coding_no_conversion):
10902         * file-coding.c (syms_of_file_coding):
10903         * file-coding.c (vars_of_file_coding):
10904         Rewrite coding system alias code.
10905         Allow nested aliases, like symbolic links.
10906         Allow redefinition of coding system aliases.
10907         Prevent existence of dangling coding system aliases.
10908
10909         * dired.c (Fuser_name_completion_1):
10910         * dired.c (Fuser_name_all_completions):
10911         A crash would happen if user did QUIT in the middle of building
10912         user_name_cache.  Remove redundant code in mainline and unwind_protect.
10913
10914         * lisp.h:
10915         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
10916
10917         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
10918         an unsigned char *.  Update all callers.
10919
10920 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10921
10922         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
10923
10924 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10925
10926         * elhash.c (hentry_description): Use more portable definition.
10927         (resize_hash_table): Initialize new hentries using
10928         xnew_array_and_zero, thereby simplifying the code.
10929
10930         * mule-charset.c (make_charset): Make sure entire object is
10931         initialized, to avoid Purify warnings.
10932
10933         * alloc.c (resize_string): Fix unlikely crash with big strings.
10934
10935 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10936
10937         * realpath.c (xrealpath):
10938         Don't call getwd().
10939
10940 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10941
10942         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
10943
10944 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
10945
10946         * unexelfsgi.c (unexec): Change the way we decide which segment
10947         should be extended.
10948
10949         Assumption that .bss section should be outside the PT_LOADable
10950         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
10951         it's present) is inside the 'data' segment. This would fail the
10952         test which was used to find a segment to grow and cover new
10953         heap. Instead of this assumption, I created another one - on IRIX
10954         the segment to grow should start below .bss and it's address
10955         should extent above the end of .bss. Once this segment is
10956         identified, it's grown to accommodate the new heap and new
10957         zero-length .bss section is added at the end of .data2.
10958
10959 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10960
10961         * eval.c (Feval): Wrong number of arguments should use original
10962         function, not the indirect_function version of it.
10963
10964 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10965
10966         * glyphs-x.c (x_button_instantiate): Don't add image if
10967         it is not a pixmap.
10968         (x_locate_pixmap_file): Call Fexpand_file_name when file name
10969         is relative.
10970
10971 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10972
10973         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
10974         declaration.
10975         (DEFVAR_INT_MAGIC): Ditto.
10976         (DEFVAR_BOOL_MAGIC): Ditto.
10977         * glyphs.h: Reindent backslash.
10978
10979 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10980
10981         * glyphs-widget.c (layout_query_geometry):
10982         (layout_layout): Use correct types for gheight, gwidth.
10983
10984 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10985
10986         * EmacsManager.c (QueryGeometry): Purified.
10987
10988 2000-01-23  Martin Buchholz  <martin@xemacs.org>
10989
10990         * alloc.c (make_float): Make sure entire object is initialized, to
10991         avoid Purify warnings.
10992         (pdump_register_sub): Remove useless assignment.
10993         (pdump): Use xmalloc, not malloc.
10994         (pdump_load): Use xmalloc, not malloc.
10995
10996 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10997
10998         * callproc.c:
10999         * dired-msw.c:
11000         * fileio.c:
11001         * process-nt.c:
11002         * redisplay-msw.c:
11003         * sysdep.c: Removed redundant #include <windows.h>
11004
11005 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11006
11007         * frame.c (delete_frame_internal): Do not delete device when its
11008         implementation so declares.
11009         (delete_frame_internal): Set device selected frame to nil when
11010         last frame goes away.
11011
11012         * device-msw.c (msprinter_device_system_metrics): Implemented.
11013         (mswindows_device_system_metrics): Added 'device-dpi property.
11014
11015         * device.c: (Fdevice_printer_p): Added.
11016         Added 'offset-workspace device metric.
11017
11018         * console.h (device_metrics): Declared DM_offset_workspace.
11019
11020 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11021
11022         * fileio.c (Ffile_truename): Remove pointless and confusing
11023         initialization of elen.
11024
11025         * glyphs-widget.c: Compiler warning fixes.
11026
11027 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11028
11029         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11030         instead of a Lisp_Object as argument to make it consistent with
11031         the other LIVE_P macros.
11032         (CHECK_LIVE_PROCESS): New macro.
11033
11034         * process.c: Declare Qprocess_live_p.
11035         (Fprocess_live_p): New function.
11036         (create_process): Use PROCESS_LIVE_P.
11037         (read_process_output): Ditto.
11038         (set_process_filter): Ditto.
11039         (Fdelete_process): Ditto.
11040         (kill_buffer_processes): Ditto
11041         (process_send_signal): Use CHECK_LIVE_PROCESS.
11042         (Fprocess_input_coding_system): Check whether process is still
11043         alive (fix PR#1061).
11044         (Fprocess_output_coding_system): Ditto.
11045         (Fprocess_coding_system): Ditto.
11046         (Fset_process_input_coding_system): Ditto.
11047         (Fset_process_output_coding_system): Ditto.
11048
11049 2000-01-23  Andy Piper  <andy@xemacs.org>
11050
11051         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11052         layout and widget.
11053
11054         * glyphs.c (mark_image_instance): take into account changed
11055         image_instance format.
11056         (image_instance_equal): ditto.
11057         (image_instance_hash): ditto.
11058
11059         * glyphs-widget.c (widget_instantiate): Incorporate layout
11060         instantiation here. Delay layout of the layout until later.
11061         (layout_instantiate): deleted.
11062         (layout_query_geometry): new function. get the geometry of a
11063         layout.
11064         (layout_layout): layout a layout dynamically.
11065         (image_instantiator_widget): New function - splitting up
11066         image_instantiator_format_create_glyphs_widget for netwinder
11067         compilation.
11068         (image_instantiator_buttons):
11069         (image_instantiator_edit_fields):
11070         (image_instantiator_combo_box):
11071         (image_instantiator_scrollbar):
11072         (image_instantiator_progress_guage):
11073         (image_instantiator_tree_view):
11074         (image_instantiator_tab_control):
11075         (image_instantiator_labels):
11076         (image_instantiator_layout): ditto.
11077         (image_instantiator_format_create_glyphs_widget): Call preceding
11078         functions.
11079
11080 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11081
11082         * process.c (Fset_process_coding_system):
11083         * device-x.c (Fx_keysym_hash_table):
11084         Docstring fixes.
11085
11086         * lstream.c (Lstream_write): Return documented value, not 0.
11087
11088         * fileio.c (directory_file_name):
11089         (Fsubstitute_in_file_name):
11090         (Fsubstitute_insert_file_contents_internal):
11091         (Fwrite_region_internal):
11092         * emacs.c:
11093         * sysdep.c:
11094         * getloadavg.c:
11095         * systty.h:
11096         Remove vestigial APOLLO-conditional code.
11097
11098 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11099
11100         * getpagesize.h: Add guard macros.
11101         * libsst.h: Add guard macros.
11102         * libst.h: Add guard macros.
11103         * line-number.h: Add guard macros.
11104         * ndir.h: Add guard macros.
11105         * sysfloat.h: Add guard macros.
11106         * sysfile.h: Add guard macros.
11107         * sysproc.h: Add guard macros.
11108         * syswait.h: Add guard macros.
11109         * xintrinsic.h: Add guard macros.
11110         * xintrinsicp.h: Add guard macros.
11111         * xmmanager.h: Add guard macros.
11112         * xmmanagerp.h: Add guard macros.
11113         * xmprimitive.h: Add guard macros.
11114         * xmu.h: Add guard macros.
11115         * gpmevent.h: Add copyright statement. Add guard macros.
11116         * miscplay.h: Add guard macros.
11117         * *.h: Use consistent C-standards-approved guard macro names.
11118
11119         * opaque.c (make_opaque): Switch parameter order.
11120         * opaque.h (make_opaque): Switch parameter order.
11121         Update all callers.
11122         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11123
11124         * config.h.in (type_checking_assert): Added.
11125         (bufpos_checking_assert): Added.
11126
11127 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11128
11129         * alloc.c: Harmless pdump changes.
11130         - Use countof().
11131         - spell alignment correctly.
11132         * sysdep.c: Use countof()
11133
11134 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11135
11136         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11137         initially_selected_for_input() console method, default to 0.
11138         (semi_canonicalize_console_connection): Try to delegate to
11139         canonicalize_console_connection if no such console method.
11140         (canonicalize_console_connection): Vice versa.
11141         (print_console): Do not print nil connection.
11142
11143         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11144         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11145         (XDEVIMPF_FRAMELESS_OK): Added.
11146         (CONSOLE_INHERITS_METHOD): Added.
11147
11148         * console-msw.c (mswindows_canonicalize_console_connection):
11149         Added.
11150         (mswindows_canonicalize_device_connection): Added.
11151
11152         * console-msw.h (struct msprinter_device): Added this struct and
11153         accessor macros.
11154         (mswindows_device): Made fontlist a lisp object.
11155
11156         * device.c (semi_canonicalize_device_connection):  Try to delegate
11157         to canonicalize_device_connection if no such console method.
11158         (canonicalize_device_connection): Vice versa.
11159         (print_device): Do not print nil connection.
11160
11161         * device-msw.c (mswindows_init_device): Call InitCommonControls
11162         when have widgets.
11163         (mswindows_delete_device): Removed fontlist deallocation.
11164         (mswindows_mark_device): Added.
11165
11166         * events.c (event_equal): Added abort() at unreached code.
11167         (event_hash): Ditto.
11168
11169         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11170         fallback tags of Windows devices.
11171
11172         * general.c (syms_of_general): Initialized Qmsprinter.
11173
11174         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11175         of fallback tags of Windows devices.
11176
11177         * lisp.h: Declared Qmsprinter.
11178
11179         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11180         of strings.
11181         (mswindows_list_fonts): Ditto.
11182         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11183         that it can be used by both mswindows and msprinter devices.
11184         (initialize_font_instance): Added.
11185         (mswindows_initialize_font_instance): Use it.
11186         (msprinter_initialize_font_instance): Added.
11187
11188         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11189         and implementation flags check.
11190         (redisplay_without_hooks): Changed the call to the above.
11191         (Fredraw_device): Ditto.
11192         (Fredisplay_device): Ditto.
11193
11194         * redisplay-msw.c (get_frame_dc): Implemented.
11195         (get_frame_compdc): Implemented.
11196         (many functions): Use the two functions above to get device
11197         contexts, ether for a window or a printer.
11198
11199 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11200
11201         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11202         initialization here.
11203         (init_symbols_once_early): Call it.
11204         * emacs.c (main_1): Call it.
11205         * symsinit.h: Declare it.
11206
11207 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11208
11209         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11210         Lisp_Object.
11211         (pdump_backtrace): Ditto.
11212         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11213         (pdump_get_entry): Abort if trying to register a null pointer.
11214         (pdump_dump_data): Cleanup types when relocating.
11215         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11216         (pdump_dump_rtables): Remove bad casts.
11217         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11218         Lisp_Object instead of a EMACS_INT for the hashtable
11219         reorganization.
11220
11221 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11222
11223         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11224
11225         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11226
11227         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11228
11229         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11230
11231 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11232
11233         * faces.h (FACE_STRIKETHRU_P): Added.
11234
11235         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11236         of font variants.
11237
11238         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11239         (mswindows_set_dc_font): New function, aware of font variants,
11240         separated from mswindows_update_dc.
11241
11242         * objects-msw.h (struct mswindows_font_instance_data): Added
11243         definition.
11244
11245         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11246         cached fonts and the data structure.
11247         (mswindows_initialize_font_instance): Added creation of font data
11248         structure.
11249         (mswindows_print_font_instance): Print at least something.
11250         (mswindows_create_font_variant): Implemented.
11251         (mswindows_get_hfont): Implemented.
11252
11253 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11254
11255         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11256         prototyping problem with msvc.
11257
11258         * emacs.c (main_1): added syms_of_gui_mswindows() call
11259
11260         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11261         syms_of_gui_mswindows() function
11262
11263         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11264
11265 2000-01-18  Martin Buchholz <martin@xemacs.org>
11266
11267         * XEmacs 21.2.27 is released.
11268
11269 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11270
11271         * glyphs-eimage.c (struct tiff_error_struct):
11272         (tiff_error_func):
11273         (tiff_warning_func):
11274         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11275
11276         * unexmips.c:
11277         * unexhp9k3.c:
11278         * unexfreebsd.c:
11279         * unexec.c: Remove vestigial Lucid C code.
11280         * unexalpha.c:
11281         * unexaix.c:
11282         * termcap.c:
11283         * libsst.c: Ansify.
11284         Remove declarations of errno and strerror().
11285
11286         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11287
11288         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11289
11290 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11291
11292         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11293         Optimize.
11294
11295 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11296
11297         * md5.c:
11298         * file-coding.c:
11299         * file-coding.h:
11300         Change enum eol_type to eol_type_t.
11301
11302 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11303
11304         * gui.c (get_gui_callback): Check cons before accessing car.
11305
11306 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11307
11308         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11309         (XSETSPECIFIER_TYPE): Ditto.
11310
11311 2000-01-17  Didier Verna  <didier@xemacs.org>
11312
11313         * redisplay.c (generate_fstring_runes): compute string size in
11314         characters, not bytes.
11315
11316 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11317
11318         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11319
11320 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11321
11322         * print.c (print_error_message): Call print_prepare().
11323
11324 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11325
11326         * .dbxrc: Renamed from dbxrc.
11327
11328         * events.c (event_to_character):
11329         Use `assert (foo)' instead of `if (!foo) abort()'
11330
11331         * .gdbinit (xtype): Add documentation.
11332         * .gdbinit (check-temacs): New function.
11333         * .gdbinit (check-xemacs): New function.
11334         * dbxrc (check-xemacs): New function.
11335         * dbxrc (check-xemacs): New function.
11336
11337 2000-01-14  Andy Piper  <andy@xemacs.org>
11338
11339         * glyphs-widget.c (widget_query_geometry): Make sure that we
11340         calculate default dimensions correctly.
11341
11342 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11343
11344         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11345
11346         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11347         pdump_wire'd variable.
11348
11349         * emacs.c: (main_1): Conditionalized calls to
11350         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11351
11352 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11353
11354         * window.c (Fset_window_configuration):
11355         * sysdep.c (_start):
11356         * input-method-motif.c (res):
11357         * event-Xt.c (Xt_process_to_emacs_event):
11358         Simple compiler warning fixes.
11359
11360         * bytecode.c (funcall_compiled_function): Use the original
11361         function symbol on the backtrace list in preference to the
11362         compiled_function object in error messages.
11363
11364 2000-01-13  Andy Piper  <andy@xemacs.org>
11365
11366         * glyphs-x.c (update_widget_face): Make sure we update the widget
11367         background as well as foreground.
11368
11369 2000-01-13  Andy Piper  <andy@xemacs.org>
11370
11371         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11372         fields to subwindow.
11373         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11374         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11375         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11376         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11377
11378         * glyphs-widget.c (check_valid_tab_orientation): new function.
11379         (initialize_widget_image_instance): zero orientation and
11380         justification.
11381         (widget_instantiate): pick up orientation.
11382         (tab_control_query_geometry): return appropriate values for
11383         vertical tabs.
11384
11385         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11386         appropriate creation flags for left, right and bottom tabs.
11387
11388         * s/cygwin32.h: add tab definitions.
11389
11390 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11391
11392         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11393         frame upon hiding a subwindow.
11394         (mswindows_button_instantiate): Changed the push button style to
11395         BS_PUSHBUTTON.
11396         (mswindows_button_instantiate): Removed button BS_NOTIFY
11397         style.
11398         (mswindows_button_instantiate): Removed redundant check for
11399         a disabled gui item.
11400         (mswindows_button_instantiate): Made use of WS_TABSTOP
11401         consistent: "operable" controls (edit, button, tree, scroll) have
11402         this style, "display-only" ones (static, progress gauge) do
11403         not. This style is currently ignored by XEmacs though. Also,
11404         removed the WS_EX_CONTROLPARENT style - it is not for children,
11405         it is for their parents!
11406         (mswindows_edit_field_instantiate): Ditto.
11407         (mswindows_progress_gauge_instantiate): Ditto.
11408         (mswindows_tree_view_instantiate): Ditto.
11409         (mswindows_tab_control_instantiate): Ditto.
11410         (mswindows_scrollbar_instantiate): Ditto.
11411         (mswindows_combo_box_instantiate): Ditto.
11412         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11413         style to the "clip" window.
11414         (mswindows_button_instantiate): Removed compilation warning by
11415         equally typing terms of the ?: operator.
11416
11417 2000-01-12  Didier Verna  <didier@xemacs.org>
11418
11419         * redisplay.c (generate_fstring_runes): new parameter holding the
11420         last modeline-format extent.
11421         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11422         extent, fill the glyph block with it.
11423         (generate_fstring_runes): handle these parameters.
11424         (generate_formatted_string_db): ditto.
11425
11426         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11427         glyphs'extents in the modeline.
11428
11429 1999-01-11  Mike Woolley  <mike@bulsara.com>
11430
11431         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11432         256Mb, as a workaround for the non-starting problem many people
11433         have experienced.
11434
11435 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11436
11437         * console-tty.c (Fset_console_tty_output_coding_system):
11438         Force redrawing tty frame.
11439
11440 2000-01-10  Didier Verna  <didier@xemacs.org>
11441
11442         * redisplay.c (generate_fstring_runes): fix size computation bug.
11443
11444 2000-01-09  William M. Perry <wmperry@aventail.com>
11445
11446         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11447
11448 2000-01-09  Andy Piper  <andy@xemacs.org>
11449
11450         * glyphs-msw.c: index -> i to avoid shadows.
11451         (xbm_create_bitmap_from_data): make static.
11452         (check_valid_string_or_int): deleted.
11453         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11454
11455         * glyphs-x.c (x_update_subwindow): remove unused args.
11456
11457         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11458         back pointer - this is done in allocate_image_instance.
11459         (query_string_font): return Qnil to make the compiler happy.
11460         (unmap_subwindow): set to ~0 to make the compiler happy.
11461         (glyph_query_geometry): comment out until used.
11462         (glyph_layout): ditto.
11463
11464 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11465
11466         * insdel.c (signal_after_change): Remove extraneous unbind_to().