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