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