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