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