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