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