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