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