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