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