Sync up with r21-2-39.
[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-31  Martin Buchholz <martin@xemacs.org>
2862
2863         * XEmacs 21.2.39 is released.
2864
2865 2000-12-29  Andy Piper  <andy@xemacs.org>
2866
2867         * menubar.c (menubar_visible_p_changed): signal the frame changed.
2868
2869         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
2870         the frame has changed so that we pick up geometry changes such as
2871         menubar visibility.
2872
2873 2000-12-28  Andy Piper  <andy@xemacs.org>
2874
2875         * lastfile.c (my_ebss): make a char array so we can pad the
2876         bss. Fixes cygwin unexec.
2877
2878         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
2879
2880 2000-12-26  Andy Piper  <andy@xemacs.org>
2881
2882         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
2883         comments and try and be more precise about a non-/SIGIO world.
2884         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
2885         SIGIO.
2886
2887         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
2888         we don't normalize to zero width or height.
2889
2890 2000-12-24  Andy Piper  <andy@xemacs.org>
2891
2892         * Makefile.in.in (ldflags): add -mwindows when appropriate.
2893
2894 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
2895
2896         * s/sco5.h: SCO 5 has pty support.
2897
2898 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
2899
2900         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
2901         input-method-xlib.c contains whole contents of input-method-xfs.c,
2902         so we can use input-method-xlib.c's code for USE_XFONTSET
2903         using #ifdefs.
2904         * input-method-xfs.c: removed.
2905
2906 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
2907
2908         * file-coding.h (enum coding_category_type): reorder enumerators to
2909         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
2910         (now one greater than largest real coding_category_type enumerator).
2911         * file-coding.c (coding_category_symbol, coding_category_by_priority,
2912         coding_category_system, fcd_descriptihon_1, decode_coding_category,
2913         Fcoding_category_list, Fset_coding_priority_list,
2914         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
2915         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
2916
2917 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
2918
2919         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
2920         * redisplay-output.c (redisplay_output_window): Clear top of window
2921         when face is changed.
2922         * redisplay-x.c (x_redraw_exposed_window): Call
2923         redisplay_clear_top_of_window.
2924         * redisplay.h: Publish redisplay_clear_top_of_window.
2925
2926 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
2927
2928         * buffer.c (Fkill_buffer): Map over all devices.
2929         * window.c (window_loop): Remove UNSHOW_BUFFER code.
2930         (list_windows): New function.
2931         (list_all_windows): Ditto.
2932         (Freplace_buffer_in_windows): Use them.
2933
2934 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
2935
2936         * database.c (berkdb_subtype): Recognize new subtype `queue'.
2937         (Fopen_database): Use `db_create' instead of `db_open'.
2938         (syms_of_database): Initialize Qqueue.
2939
2940 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
2941
2942         * buffer.c (common_init_complex_vars_of_buffer): Initialize
2943         buffer_local_face_property.
2944         * buffer.h (struct buffer): New member buffer_local_face_property.
2945         * window.c (Fset_window_buffer):  Mark window's face as changed
2946         when buffer has buffer local face.
2947         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
2948         * objects.c (color_after_change): Set buffer_local_face_property
2949         when locale of face specifier is buffer.
2950         * objects.c (font_after_change): Ditto.
2951         * objects.c (face_boolean_after_change): Ditto.
2952         * glyphs.c (image_after_change): Ditto.
2953
2954 2000-12-09  Dan Holmsand  <dan@eyebee.com>
2955
2956         * nt.c (mswindows_fstat): Report file permissions, volume serial
2957         number, etc. Code adapted from FSF Emacs 20.7.
2958
2959 2000-12-09  Dan Holmsand  <dan@eyebee.com>
2960
2961         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
2962         of stat when we don't have symbolic links, to make sure
2963         mswindows_stat is called on mswindows.
2964
2965 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
2966
2967         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
2968
2969 2000-12-12  Martin Buchholz  <martin@xemacs.org>
2970
2971         * doprnt.c (emacs_doprnt_1): More printing fixes.
2972         Make printing of numbers compatible with libc and FSF Emacs.
2973         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
2974         Use the system printf to do most of the hard work of formatting,
2975         instead of doprnt_1().
2976         Calculate memory to allocate for format string.
2977         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
2978         (doprnt_1): Cleaner code and documentation.
2979
2980 2000-12-01  Jerry James  <james@eecs.ukans.edu>
2981
2982         * Makefile.in.in: Use the loop variable to install headers.
2983
2984 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
2985
2986         * window.c (Fsplit_window): Don't invalidate face cache.
2987
2988 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
2989
2990         * minibuf.c (Fall_completions): Undo the previous change
2991         which removed checking elements start with space.
2992
2993 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
2994
2995         * mule-canna.c: Didier suppression.
2996
2997 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
2998
2999         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3000         (warning suppression).  Add English comment translations.
3001
3002 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3003
3004         * unexelfsgi.c (unexec): Better test for mmap failure.
3005
3006 2000-12-05  Martin Buchholz <martin@xemacs.org>
3007
3008         * XEmacs 21.2.38 is released.
3009
3010 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3011
3012         * redisplay.c (bar-cursor): Make a user variable.
3013
3014         * symsinit.h: Add init_postgresql_from_environment.
3015
3016 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3017
3018         * regex.c: Convert to clean C.
3019
3020 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3021
3022         * realpath.c:
3023         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3024         initialization.
3025         (sys_readlink): renamed to system_readlink to avoid conflict with
3026         the other sys_readlink.
3027
3028 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3029
3030         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3031
3032 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3033
3034         * postgresql.c (init_postgresql_from_environment): new function.
3035         (vars_of_postgresql): Move code initializing Lisp variables out and
3036         into init_postgresql_from_environment.
3037         emacs.c (main_1): Call init_postgresql_from_environment if and only
3038         if running a dumped XEmacs.
3039
3040 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3041
3042         * buffer.c: Make find-file-compare-truenames default to true on
3043         windows.
3044
3045         * realpath.c (win32_abs_start): 
3046         (cygwin_readlink):
3047         (win32_readlink): New functions.
3048         (xrealpath): Return really real filenames on windows.
3049
3050         * fileio.c (Ffile_truename): Make file-truename work on windows.
3051
3052 2000-11-29  Didier Verna  <didier@xemacs.org>
3053
3054         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3055         * faces.c (update_face_cachel_data): use it.
3056         * faces.c (add_face_cachel): use it. Complete background pixmap
3057         frobbing in face cache if `update_face_cachel_data' has not done so.
3058
3059 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3060
3061         * search.c (string_match_1): Don't set last_thing_searched
3062         when search failed.
3063
3064 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3065
3066         * buffer.c: Include casetab.h
3067         (common_init_complex_vars_of_buffer): Use new case-table object.
3068         * buffer.h: Include casetab.h
3069         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3070         (DOWNCASE_TABLE_OF): Ditto.
3071         * bufslots.h: Remove char-tables and add case-table.
3072         * casetab.c: Include casetab.h
3073         (CASE_TABLE_P): Removed.
3074         (mark_case_table): New function.
3075         (allocate_case_table): New function.
3076         (Fcase_table_p): Use new case-table.
3077         (case_table_char): New function.
3078         (Fget_case_table): Ditto.
3079         (Fput_case_table): Ditto.
3080         (Fput_case_table_pair): Ditto.
3081         (Fcopy_case_table): Ditto.
3082         (Fcurrent_case_table): Return case-table.
3083         (Fstandard_case_table): Return case-table.
3084         (Fset_case_table): Fix doc-string.
3085         (set_case_table): Use case-table
3086         (syms_of_casetab): DEFSUBR new functions.
3087         (complex_vars_of_casetab): Set up standard case-table.
3088         * casetab.h: New file.
3089         * editfns.c: Include casetab.h
3090         (Fcompare_buffer_substrings): Use case-table.
3091         * inline.c: Include casetab.h
3092         * lisp.h: Remove bogus extern.
3093         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3094         * search.c: Include casetab.h
3095         (TRANSLATE_ASCII): Removed.
3096         (TRANSLATE): Unconditionally translate character.
3097         (looking_at_1): Use case-table.
3098         (string_match_1): Ditto.
3099         (fast_string_match): Ditto.
3100         (search_command): Ditto.
3101         (search_buffer): Separate boyer_moore.  Check whether
3102         boyer_moore is poosible.
3103         (simple_search): New function.
3104         (boyer_moore): Separated from search_buffer. Translate char.
3105
3106 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3107
3108         * regex.c (RE_TR_ASCII): Removed.
3109         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3110         (PATFETCH): Call PATFETCH_RAW.
3111         (PATFETCH_RAW): Fetch Emchar.
3112         (PATUNFETCH): Decrement charptr.
3113         (GET_BUFFER_SPACE): Rename b to buf_end.
3114         (BUF_PUSH): Ditto.
3115         (BUF_PUSH_2): Ditto.
3116         (BUF_PUSH_3): Ditto.
3117         (EXTEND_BUFFER): Ditto.
3118         (SET_LIST_BIT): Ditto.
3119         (regex_compile): Ditto.  Translate non ASCII char.
3120         (compile_range): Ditto.
3121         (re_search_2): Ditto.
3122         (re_match_2_internal): Compare Emchar.
3123         (bcmp_translate): Ditto.
3124
3125 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3126
3127         * lisp.h (basic char/int typedefs):  comment improvement.
3128
3129 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3130
3131         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3132         unstomp inhibit_site_lisp.  Improve comments.
3133
3134 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3135
3136         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3137
3138 2000-11-28  Andy Piper  <andy@xemacs.org>
3139
3140         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3141         clipped display for windows in the gutter also.
3142         (redisplay_display_boxes_in_window_p): change semantics of return
3143         codes to be more intuitive.
3144
3145         * gutter.h: declare display_boxes_in_gutter_p.
3146
3147         * gutter.c (display_boxes_in_gutter_p): new function for
3148         redisplay.
3149
3150 2000-11-22  Andy Piper  <andy@xemacs.org>
3151
3152         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3153         autodetect domain.
3154
3155 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3156
3157         * callproc.c (Fold_call_process_internal):
3158         * gpm.c (Freceive_gpm_event):
3159         (tty_get_foreign_selection): Might be just warning supression.
3160         * fileio.c (Fwrite_region_internal):
3161         (Fset_visited_file_modtime):
3162         * keymap.c (event_matches_key_specifier_p):
3163         Initialize GCPROed variable.
3164
3165         * menubar-x.c (command_builder_find_menu_accelerator):
3166         Initialize before use.
3167
3168 2000-11-23  Andy Piper  <andy@xemacs.org>
3169
3170         * unexcw.c (unexec): make the resulting executable executable.
3171
3172 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3173
3174         * doc.c (get_doc_string):
3175         Use size_t, not int, for result of XSTRING_LENGTH.
3176
3177         * cmds.c (Fdelete_char):
3178         * cmds.c (Fpoint_at_eol):
3179         * cmds.c (Fself_insert_command):
3180         Use EMACS_INT, not int, for result of XINT.
3181         Someday, someone will want to insert more than 2**31 identical characters.
3182
3183         * cmds.c (Fdelete_char):
3184         * cmds.c (Fdelete_backward_char):
3185         * syntax.c (Fforward_word):
3186         * syntax.c (Fforward_comment):
3187         Make COUNT argument optional, for consistency with forward-char et al.
3188
3189 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3190
3191         * lisp.h:
3192         * print.c (long_to_string):
3193         Return a useful value: the pointer at end of data written.
3194
3195         * doprnt.c:
3196         Use `static const char * const' for constant strings.
3197         (union printf_arg): Delete `i', `ui' members.
3198         (get_doprnt_args):
3199         (emacs_doprnt_1):
3200         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3201         Do all printf-ing via the `l' specifier.
3202         Use EMACS_INT instead of int.
3203         Optimize.
3204
3205 2000-11-20  Didier Verna  <didier@xemacs.org>
3206
3207         * faces.c (update_face_cachel_data): don't frob the background
3208         pixmap when the window is being created. The face is needed but
3209         does not exist yet.
3210
3211 2000-11-20  Andy Piper  <andy@xemacs.org>
3212
3213         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3214         messing with a debug environment.
3215
3216 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3217
3218         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3219
3220 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3221
3222         * casetab.c (Fcase_table_p): Fix compile error and crash.
3223
3224 2000-11-18  Philip Aston  <philipa@mail.com>
3225
3226         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3227
3228 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3229
3230         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3231         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3232
3233 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3234
3235         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3236         * unexelf.c: Use HAVE_ELF_H.
3237         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3238         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3239         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3240         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3241         for testing.
3242         So this is an unexelfsgi.c from a different line of development.
3243
3244 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3245
3246         * regex.c (RE_TR_ASCII): New function.
3247         (RE_TRANSLATE): Call it.
3248
3249 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3250
3251         * buffer.h (TRT_TABLE_OF): Remove assert.
3252         (IN_TRT_TABLE_DOMAIN): Removed.
3253
3254 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3255
3256         * free-hook.c (log_gcpro):
3257         (show_gcprohist): Add support for GCPRO5.
3258
3259 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3260
3261         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3262
3263 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3264
3265         * symeval.h: Declare flush_all_buffer_local_cache.
3266
3267         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3268         (flush_buffer_local_cache): Added.
3269         (flush_all_buffer_local_cache): Added.
3270
3271         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3272
3273         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3274         (pdump_dump_data): Ditto.
3275         (pdump_reloc_one): Ditto.
3276         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3277         before dumping.
3278
3279
3280 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3281
3282         * buffer.c: Remove if 0'ed entry.
3283         * buffer.h: Rewrite TRT to use char-table.
3284         * bufslots.h: Remove mirror tables.
3285         * casetab.c: Remove mirror tables.
3286         (CASE_TABLE_P): New macro.
3287         (Fcase_table_p): Element of a case table is string or char-table.
3288         (make_mirror_trt_table): Removed.
3289         (set_case_table): Setup char-table from strings for backward
3290         compatibility.
3291         * dired.c (Fdirectory_files):
3292         * dired-msw.c: (mswindows_get_files):
3293         * lisp.h: Change prototype of re_pattern_buffer.
3294         * regex.c: (RE_TRANSLATE): New macro.
3295         (TRANSLATE_P): Ditto.
3296         Change translate to type RE_TRANSLATE_TYPE.
3297         * regex.h: Define RE_TRANSLATE_TYPE
3298         * search.c (TRANSLATE): New macro.
3299         (TRANSLATE_ASCII): New macro.
3300         Translate table is changed to Lisp_Object.
3301         (signal_failure): Inhibit return.
3302
3303 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3304
3305         * device-msw.c:
3306         * eldap.c:
3307         * event-Xt.c:
3308         * event-stream.c:
3309         * print.c:
3310         Do UNGCPRO before return.
3311
3312 2000-11-14  Martin Buchholz <martin@xemacs.org>
3313
3314         * XEmacs 21.2.37 is released.
3315
3316 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3317
3318         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
3319         Add comments about discarded return value.
3320
3321 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3322
3323         * callint.c:
3324         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
3325
3326 2000-10-27  Andy Piper  <andy@xemacs.org>
3327
3328         * gutter.c (Fset_default_gutter_position): default left and right
3329         gutters to visible.
3330         (calculate_gutter_size): calculate resonable heuristic for left
3331         and right gutter sizes.
3332         (specifier_vars_of_gutter): change left and right gutter sizes to
3333         autodetect.
3334         (calculate_gutter_size_from_display_lines): new function.
3335         (output_gutter): check for resizing on left and right gutters.
3336         (clear_gutter): don't special case top and left gutters.
3337         (specifier_vars_of_gutter): use new signature for
3338         set_specifier_caching.
3339
3340         * glyphs-x.c (x_redisplay_widget): spelling fix.
3341         * glyphs.c (specifier_vars_of_glyphs):
3342         * menubar.c (specifier_vars_of_menubar):
3343         * redisplay.c (specifier_vars_of_redisplay):
3344         * toolbar.c (specifier_vars_of_toolbar):
3345         * window.c (specifier_vars_of_window):
3346         * scrollbar.c (specifier_vars_of_scrollbar):
3347         (complex_vars_of_scrollbar): use new signature for
3348         set_specifier_caching.
3349
3350         * specifier.c (set_specifier_caching): include recompute flag.
3351         (recompute_one_cached_specifier_in_window): always recompute if
3352         flag set.
3353         (recompute_one_cached_specifier_in_frame): ditto.
3354
3355         * specifier.h (struct specifier_caching): add recompute flag.
3356
3357 2000-10-24  Andy Piper  <andy@xemacs.org>
3358
3359         * unexcw.c (copy_executable_and_dump_data_section): add new
3360         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
3361         5.0 happy.
3362
3363 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3364
3365         * console-x.h (x_device): New member modifier_release_time.
3366         * event-Xt.c (x_handle_sticky_modifiers):
3367         Bound interval modifier keys are sticky.
3368         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
3369         * events.h: extern it.
3370
3371 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3372
3373         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
3374
3375 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3376
3377         * event-stream.c (execute_command_event): Preserve current_events
3378         and the like when event is misc-user-event.
3379         Inhibit quit during the call to maybe_echo_keys.
3380
3381 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
3382
3383         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
3384         symlink when buffer is killed.
3385         (inhibit_clash_detection): New variable.
3386
3387 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
3388
3389         * console.c (Fset_input_method): Trigger redisplay on tty.
3390
3391 2000-11-07  Martin Buchholz  <martin@xemacs.org>
3392
3393         * process.c (Fprocess_status): Revert to previous behavior:
3394         (process-status "nosuchprocess") ==> nil
3395
3396 2000-11-06  Martin Buchholz  <martin@xemacs.org>
3397
3398         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
3399         Work around another GCC 2.95.2 optimizer bug.
3400
3401 2000-11-02  Martin Buchholz  <martin@xemacs.org>
3402
3403         * process.c (Fget_process): Use LIST_LOOP_2.
3404         (kill_buffer_processes): Use LIST_LOOP_2.
3405
3406         * minibuf.c (Fall_completions):
3407         Delete old non-functional code for FSF fourth argument.
3408
3409         * frame.c (frame_matches_frame_spec):
3410         Renamed from `frame_matches_frametype'.  Update all callers.
3411         (device_matches_device_spec):
3412         Renamed from 'device_matches_console_spec'.  Update all callers.
3413
3414         * doc.c (Fsubstitute_command_keys):
3415         Remove buffer overflow crash.  Small code cleanups.
3416
3417         * casetab.c (check_case_table): Simpler code.
3418
3419         * window.c (Freplace_buffer_in_windows):
3420         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
3421         (and similar implementation) as Fdelete_windows_on.
3422         Update all callers.
3423
3424         * alloc.c (Fmake_list):
3425         * alloc.c (make_vector):
3426         * alloc.c (Fmake_vector):
3427         * alloc.c (make_bit_vector):
3428         * alloc.c (Fmake_bit_vector):
3429         * alloc.c (Fbit_vector):
3430         * alloc.c (Fmake_string):
3431         * alloc.c (Fpurecopy):
3432         * alloc.c (Fmemory_limit):
3433         * buffer.c:
3434         * buffer.c (Fget_buffer):
3435         * buffer.c (Fkill_buffer):
3436         * buffer.c (complex_vars_of_buffer):
3437         * bytecode.c (Fcompiled_function_stack_depth):
3438         * callint.c (Fprefix_numeric_value):
3439         * event-stream.c:
3440         * event-stream.c (Fread_key_sequence):
3441         * casetab.c:
3442         * casetab.c (Fcase_table_p):
3443         * casetab.c (check_case_table):
3444         * casetab.c (Fset_case_table):
3445         * casetab.c (Fset_standard_case_table):
3446         * chartab.c:
3447         * chartab.c (Fchar_table_type):
3448         * chartab.c (Freset_char_table):
3449         * chartab.c (Fget_char_table):
3450         * chartab.c (Fget_range_char_table):
3451         * chartab.c (Fput_char_table):
3452         * chartab.c (Fmap_char_table):
3453         * chartab.c (Fcategory_table_p):
3454         * chartab.c (Fcheck_category_at):
3455         * chartab.c (Fchar_in_category_p):
3456         * chartab.c (Fcategory_table):
3457         * chartab.c (Fcopy_category_table):
3458         * chartab.c (Fset_category_table):
3459         * chartab.c (Fcategory_designator_p):
3460         * chartab.c (Fcategory_table_value_p):
3461         * cmds.c (Fdelete_char):
3462         * cmds.c (Fdelete_backward_char):
3463         * cmds.c (Fself_insert_command):
3464         * cmds.c (Fself_insert_internal):
3465         * console.c (Fvalid_console_type_p):
3466         * console.c (Fcdfw_console):
3467         * console.c (Fconsole_type):
3468         * console.c (Fconsole_name):
3469         * console.c (Fconsole_device_list):
3470         * console.c (Fconsole_on_window_system_p):
3471         * data.c:
3472         * data.c (Feq):
3473         * data.c (Fold_eq):
3474         * data.c (Fsubr_interactive):
3475         * data.c (Fchar_to_int):
3476         * data.c (Fint_to_char):
3477         * data.c (Fsetcar):
3478         * data.c (Fsetcdr):
3479         * data.c (Fnumber_to_string):
3480         * data.c (Fstring_to_number):
3481         * data.c (Frem):
3482         * database.c (mark_database):
3483         * database.c (finalize_database):
3484         * database.c (Fdatabase_live_p):
3485         * database.c (Fdatabasep):
3486         * device-x.c (Fx_get_resource):
3487         * device.c (Fdfw_device):
3488         * dired.c:
3489         * dired.c (Ffile_name_completion):
3490         * dired.c (Ffile_name_all_completions):
3491         * dired.c (Fuser_name_completion):
3492         * dired.c (Fuser_name_completion_1):
3493         * dired.c (Fuser_name_all_completions):
3494         * doc.c (Fdocumentation):
3495         * doc.c (Fdocumentation_property):
3496         * doc.c (Fsubstitute_command_keys):
3497         * editfns.c:
3498         * editfns.c (Fchar_to_string):
3499         * editfns.c (Fstring_to_char):
3500         * editfns.c (Ftemp_directory):
3501         * editfns.c (Finsert_char):
3502         * editfns.c (Fbuffer_substring_no_properties):
3503         * editfns.c (Fnarrow_to_region):
3504         * editfns.c (Fchar_equal):
3505         * editfns.c (Fchar_Equal):
3506         * editfns.c (Ftranspose_regions):
3507         * emacs.c (Fdump_emacs):
3508         * eval.c (Fthrow):
3509         * eval.c (Fcommand_execute):
3510         * eval.c (Fautoload):
3511         * eval.c (Fbacktrace):
3512         * eval.c (Fbacktrace_frame):
3513         * events.c:
3514         * events.c (Fcopy_event):
3515         * events.c (Fcharacter_to_event):
3516         * events.c (Fevent_button):
3517         * events.c (Fevent_process):
3518         * extents.c:
3519         * extents.c (Fnext_extent_change):
3520         * extents.c (Fextent_property):
3521         * faces.c (Ffacep):
3522         * faces.c (Fmake_face):
3523         * file-coding.c:
3524         * file-coding.c (Fencode_shift_jis_char):
3525         * file-coding.c (Fencode_big5_char):
3526         * fileio.c (Ffile_name_directory):
3527         * fileio.c (Ffile_name_nondirectory):
3528         * fileio.c (Ffile_name_as_directory):
3529         * fileio.c (Fdirectory_file_name):
3530         * fileio.c (Ffile_truename):
3531         * fileio.c (Fsubstitute_in_file_name):
3532         * fileio.c (Ffile_modes):
3533         * fileio.c (Fset_file_modes):
3534         * fileio.c (Fset_default_file_modes):
3535         * fileio.c (Fverify_visited_file_modtime):
3536         * floatfns.c (Facos):
3537         * floatfns.c (Fasin):
3538         * floatfns.c (Fatan):
3539         * floatfns.c (Fcos):
3540         * floatfns.c (Fsin):
3541         * floatfns.c (Ftan):
3542         * floatfns.c (Fbessel_j0):
3543         * floatfns.c (Fbessel_j1):
3544         * floatfns.c (Fbessel_jn):
3545         * floatfns.c (Fbessel_y0):
3546         * floatfns.c (Fbessel_y1):
3547         * floatfns.c (Fbessel_yn):
3548         * floatfns.c (Ferf):
3549         * floatfns.c (Ferfc):
3550         * floatfns.c (Flog_gamma):
3551         * floatfns.c (Fexp):
3552         * floatfns.c (Fexpt):
3553         * floatfns.c (Flog):
3554         * floatfns.c (Flog10):
3555         * floatfns.c (Fsqrt):
3556         * floatfns.c (Fcube_root):
3557         * floatfns.c (Facosh):
3558         * floatfns.c (Fasinh):
3559         * floatfns.c (Fatanh):
3560         * floatfns.c (Fcosh):
3561         * floatfns.c (Fsinh):
3562         * floatfns.c (Ftanh):
3563         * floatfns.c (Fabs):
3564         * floatfns.c (Ffloat):
3565         * floatfns.c (Flogb):
3566         * floatfns.c (Fceiling):
3567         * floatfns.c (Ffloor):
3568         * floatfns.c (Fround):
3569         * floatfns.c (Ftruncate):
3570         * floatfns.c (Ffceiling):
3571         * floatfns.c (Fffloor):
3572         * floatfns.c (Ffround):
3573         * floatfns.c (Fftruncate):
3574         * fns.c (Fstring_equal):
3575         * fns.c (Fstring_lessp):
3576         * fns.c (concat2):
3577         * fns.c (concat3):
3578         * fns.c (vconcat2):
3579         * fns.c (vconcat3):
3580         * fns.c (Fsubstring):
3581         * fns.c (Fassoc):
3582         * fns.c (Fold_assoc):
3583         * fns.c (assoc_no_quit):
3584         * fns.c (Fassq):
3585         * fns.c (Fold_assq):
3586         * fns.c (assq_no_quit):
3587         * fns.c (Frassoc):
3588         * fns.c (Fold_rassoc):
3589         * fns.c (Frassq):
3590         * fns.c (Fold_rassq):
3591         * fns.c (rassq_no_quit):
3592         * fns.c (Fremassoc):
3593         * fns.c (remassoc_no_quit):
3594         * fns.c (Fremassq):
3595         * fns.c (remassq_no_quit):
3596         * fns.c (Fremrassoc):
3597         * fns.c (Fremrassq):
3598         * fns.c (remrassq_no_quit):
3599         * fns.c (Fsort):
3600         * fns.c (Fplist_get):
3601         * fns.c (Fplist_put):
3602         * fns.c (Fplist_remprop):
3603         * fns.c (Fplist_member):
3604         * fns.c (Flax_plist_get):
3605         * fns.c (Flax_plist_put):
3606         * fns.c (Flax_plist_remprop):
3607         * fns.c (Flax_plist_member):
3608         * fns.c (Fequal):
3609         * fns.c (Fold_equal):
3610         * fns.c (Frequire):
3611         * fns.c (Fbase64_encode_region):
3612         * fns.c (Fbase64_encode_string):
3613         * fns.c (Fbase64_decode_region):
3614         * frame.c:
3615         * frame.c (frame_matches_frame_spec):
3616         * frame.c (device_matches_device_spec):
3617         * frame.c (next_frame):
3618         * frame.c (previous_frame):
3619         * frame.c (Fnext_frame):
3620         * frame.c (Fprevious_frame):
3621         * frame.c (Fframe_property):
3622         * frame.c (Fset_frame_height):
3623         * frame.c (Fset_frame_size):
3624         * frame.h:
3625         * glyphs.c:
3626         * glyphs.c (if):
3627         * glyphs.c (decode_error_behavior_flag):
3628         * glyphs.c (Fmake_image_instance):
3629         * indent.c (Findent_to):
3630         * intl.c (Fignore_defer_gettext):
3631         * keymap.c (Fkeymapp):
3632         * keymap.c (Flookup_key):
3633         * lread.c:
3634         * lread.c (Fload_internal):
3635         * lread.c (Feval_buffer):
3636         * lread.c (Feval_region):
3637         * macros.c (Fexecute_kbd_macro):
3638         * marker.c (set_marker_internal):
3639         * marker.c (Fset_marker):
3640         * marker.c (set_marker_restricted):
3641         * marker.c (Fcopy_marker):
3642         * marker.c (noseeum_copy_marker):
3643         * menubar.c:
3644         * menubar.c (Fpopup_menu):
3645         * minibuf.c:
3646         * mule-charset.c (Fcharset_name):
3647         * mule-charset.c (Fchar_charset):
3648         * mule-charset.c (Fchar_octet):
3649         * mule-charset.c (Fsplit_char):
3650         * mule-wnnfns.c (Fwnn_open):
3651         * mule-wnnfns.c (Fwnn_dict_comment):
3652         * mule-wnnfns.c (Fwnn_quit_henkan):
3653         * mule-wnnfns.c (Fwnn_word_toroku):
3654         * mule-wnnfns.c (Fwnn_word_sakujo):
3655         * mule-wnnfns.c (Fwnn_word_use):
3656         * mule-wnnfns.c (Fwnn_hindo_set):
3657         * objects.c:
3658         * objects.c (Fmake_color_instance):
3659         * objects.c (Fmake_font_instance):
3660         * print.c (Fwrite_char):
3661         * process.c:
3662         * process.c (mark_process):
3663         * process.c (print_process):
3664         * process.c (get_process_from_usid):
3665         * process.c (Fprocessp):
3666         * process.c (Fprocess_live_p):
3667         * process.c (Fget_process):
3668         * process.c (Fget_buffer_process):
3669         * process.c (get_process):
3670         * process.c (Fprocess_id):
3671         * process.c (Fprocess_name):
3672         * process.c (Fprocess_command):
3673         * process.c (init_process_io_handles):
3674         * process.c (start_process_unwind):
3675         * process.c (Fstart_process_internal):
3676         * process.c (Fopen_multicast_group_internal):
3677         * process.c (Fset_process_window_size):
3678         * process.c (read_process_output):
3679         * process.c (send_process):
3680         * process.c (Fprocess_tty_name):
3681         * process.c (Fset_process_buffer):
3682         * process.c (Fprocess_buffer):
3683         * process.c (Fprocess_mark):
3684         * process.c (set_process_filter):
3685         * process.c (Fset_process_filter):
3686         * process.c (Fprocess_filter):
3687         * process.c (Fprocess_send_region):
3688         * process.c (Fprocess_send_string):
3689         * process.c (exec_sentinel):
3690         * process.c (Fset_process_sentinel):
3691         * process.c (Fprocess_sentinel):
3692         * process.c (status_notify):
3693         * process.c (Fprocess_status):
3694         * process.c (Fprocess_exit_status):
3695         * process.c (process_send_signal):
3696         * process.c (Fprocess_send_eof):
3697         * process.c (deactivate_process):
3698         * process.c (remove_process):
3699         * process.c (Fdelete_process):
3700         * process.c (kill_buffer_processes):
3701         * process.c (Fprocess_kill_without_query):
3702         * process.c (Fprocess_kill_without_query_p):
3703         * rangetab.c:
3704         * rangetab.c (Fget_range_table):
3705         * rangetab.c (Fput_range_table):
3706         * rangetab.c (Fremove_range_table):
3707         * rangetab.c (Fclear_range_table):
3708         * search.c:
3709         * search.c (Fskip_chars_forward):
3710         * search.c (Fskip_chars_backward):
3711         * search.c (Fskip_syntax_forward):
3712         * search.c (Fskip_syntax_backward):
3713         * search.c (search_command):
3714         * search.c (Freplace_match):
3715         * search.c (Fregexp_quote):
3716         * select.c (Fown_selection_internal):
3717         * select.c (Fselection_owner_p):
3718         * select.c (Fselection_exists_p):
3719         * select.c (Fget_selection_internal):
3720         * specifier.c:
3721         * symbols.c:
3722         * symbols.c (Fintern):
3723         * symbols.c (Fintern_soft):
3724         * symbols.c (Funintern):
3725         * symbols.c (Fapropos_internal):
3726         * symbols.c (Fset_default):
3727         * syntax.c:
3728         * syntax.c (Fsyntax_table_p):
3729         * syntax.c (Fcopy_syntax_table):
3730         * syntax.c (Fset_syntax_table):
3731         * syntax.c (Fchar_syntax):
3732         * syntax.c (syntax_match):
3733         * syntax.c (Fmatching_paren):
3734         * syntax.c (Fforward_word):
3735         * syntax.c (scan_lists):
3736         * syntax.c (Fscan_lists):
3737         * syntax.c (Fscan_sexps):
3738         * syntax.c (Fparse_partial_sexp):
3739         * toolbar.c (Fcheck_toolbar_button_syntax):
3740         * tooltalk.doc:
3741         * window.c:
3742         * window.c (Fwindowp):
3743         * window.c (Fwindow_live_p):
3744         * window.c (Fwindow_point):
3745         * window.c (Fdelete_window):
3746         * window.c (Fnext_window):
3747         * window.c (Fprevious_window):
3748         * window.c (Fother_window):
3749         * window.c (window_loop):
3750         * window.c (Fget_lru_window):
3751         * window.c (Fsplit_window):
3752         * window.c (Fenlarge_window):
3753         * window.c (Fenlarge_window_pixels):
3754         * window.c (Fshrink_window):
3755         * window.c (Fshrink_window_pixels):
3756         * window.c (change_window_height):
3757         * window.c (Fwindow_configuration_p):
3758         * window.c (Fcurrent_window_configuration):
3759         * window.h:
3760         * casefiddle.c (casify_object):
3761         * casefiddle.c (Fupcase):
3762         * casefiddle.c (Fdowncase):
3763         * casefiddle.c (Fcapitalize):
3764         * casefiddle.c (Fupcase_initials):
3765         * casefiddle.c (casify_region_internal):
3766         * casefiddle.c (casify_region):
3767         * casefiddle.c (Fupcase_region):
3768         * casefiddle.c (Fdowncase_region):
3769         * casefiddle.c (Fcapitalize_region):
3770         * casefiddle.c (Fupcase_initials_region):
3771         * casefiddle.c (Fupcase_word):
3772         * casefiddle.c (Fdowncase_word):
3773         * casefiddle.c (Fcapitalize_word):
3774         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3775         Replace 0 with '\0' when working with bytes.
3776         Replace initial "(" with "\(" in docstrings.
3777
3778 2000-11-01  Martin Buchholz  <martin@xemacs.org>
3779
3780         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
3781
3782         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
3783
3784 2000-10-31  Martin Buchholz  <martin@xemacs.org>
3785
3786         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
3787
3788 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
3789
3790         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
3791         correctly.
3792
3793 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
3794
3795         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
3796         (inhibit_auto_save_session): New variable.
3797         (vars_of_fileio): Declare and initialize them.
3798         * fileio.c (Fdo_auto_save): Don't create session file if
3799         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
3800
3801 2000-10-31  Martin Buchholz  <martin@xemacs.org>
3802
3803         * sgiplay.c (play_internal): C++ compilability.
3804         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
3805         * callproc.c (Fold_call_process_internal):
3806         Remove unused vars `env', `first'.
3807         * scrollbar.c (update_scrollbar_instance):
3808         #### unused var `current_window'.
3809         * redisplay-tty.c: Put currently unused vars insert_mode_on,
3810         etc. within #ifdef NOT_YET.
3811         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
3812         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
3813         * specifier.c (specifier_instance):
3814         #### unused var `tag'.
3815         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
3816
3817 2000-10-27  Martin Buchholz  <martin@xemacs.org>
3818
3819         * fns.c (Fbutlast):
3820         * fns.c (list_sort):
3821         * fns.c (Ffillarray):
3822         * fns.c (bytecode_nconc2):
3823         * fns.c (Fnconc):
3824         * fns.c (mapcar1):
3825         * fns.c (Fmapconcat):
3826         Be pedantically 64-bit correct.  For the time when someone will
3827         want to have a list with length > 2**32.
3828
3829         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
3830         Work around MIPSpro compiler bug.
3831
3832         * process-unix.c (unix_kill_child_process): Add snarky comment.
3833         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
3834
3835         * config.h.in: Oops, _getpt ==> _getpty
3836
3837 2000-10-26  Martin Buchholz  <martin@xemacs.org>
3838
3839         * config.h.in:
3840         * regex.c:
3841         Use void*, not char*, as return type of alloca().
3842
3843         * alloc.c (free_marker): Side effect inside assert expression!
3844
3845 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
3846
3847         * mule-charset.c (Fset_charset_ccl_program): To check
3848         if the given ccl program is valid, use setup_ccl_program()
3849         instead of CHECK_VECTOR().
3850         (Fmake_charset): Likewise.
3851
3852 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
3853
3854         * faces.c (get_extent_fragment_face_cache_index):
3855         Fix cachel.merged_faces memory leak.
3856
3857 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
3858
3859         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
3860         Reset MSB of octets obtained by DECODE_SJIS
3861         because of the incompatibility with Emacs.
3862         (ccl_driver)<CCL_ENCODE_SJIS>:
3863         Set MSB of octets before passing them to
3864         ENCODE_SJIS because of the incompatibility
3865         with Emacs.
3866
3867 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
3868
3869         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
3870         (DECLARE_LRECORD): Undo the last change.
3871         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
3872
3873 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
3874
3875         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
3876         the implementation to lrecord_implementations_table.
3877
3878 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
3879
3880         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
3881         initial value of `lrecord_type_##c_name' and
3882         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
3883         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
3884         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
3885         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
3886         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
3887
3888 2000-10-17  Martin Buchholz  <martin@xemacs.org>
3889
3890         * miscplay.c (sndcnv8S_2mono):
3891         (sndcnv2monounsigned):
3892         (sndcnvULaw_2linear):
3893         (sndcnv16swap):
3894         Remove implementation-defined behavior.
3895
3896 2000-10-12  Martin Buchholz  <martin@xemacs.org>
3897
3898         * input-method-xlib.c: Warning suppression.
3899
3900 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
3901
3902         * mule-ccl.c: Sync up with Emacs 21.0.90.
3903         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
3904         Do nothing.
3905         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
3906         Likewise.
3907         (ccl_driver[WriteMultibyteChar2]): Bug fix.
3908         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
3909         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
3910         leading char belongs to official 2-dimensional charset.
3911         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
3912         write the given character as is.  Otherwise,
3913         if it is a multibyte char, convert it by
3914         non_ascii_set_charptr_emchar, then write it.
3915         (CCL_WRITE_STRING): Likewise.
3916         (ccl_get_compiled_code): New function.
3917         (setup_ccl_program): When ccl_prog is invalid,
3918         return -1.
3919         (Fregister_code_conversion_map): New function.
3920         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
3921
3922         * mule-ccl.h: Sync up with Emacs 21.0.90.
3923         (Fregister_ccl_program): export it.
3924
3925         * redisplay-msw.c (separate_textual_runs):
3926         If ccl program is not valid, don't do ccl conversion.
3927
3928         * redisplay-x.c (separate_textual_runs): Ditto.
3929
3930         * file-coding.c (Fmake_coding_system):
3931         When type is ccl and value is vector, register it
3932         with a proper symbol.  And checks whether the
3933         given ccl program is valid.
3934         (mule_decode): When calling ccl_driver, if src indicates
3935         NULL pointer, set an empty string instead.
3936         (mule_encode): Likewise.
3937
3938 2000-10-11  Martin Buchholz  <martin@xemacs.org>
3939
3940         The following large batch of changes gets us back to a state of
3941         C++ compilability.  Extbyte is now a char, which means that
3942         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
3943
3944         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
3945
3946         * sound.c (Fplay_sound): Type correctness.
3947
3948         * select-x.c (hack_motif_clipboard_selection): Type correctness.
3949         (x_get_window_property): Type correctness.
3950         (receive_incremental_selection): unsigned char ==> Extbyte
3951         (selection_data_to_lisp_data): unsigned char ==> Extbyte
3952         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
3953         (Fx_store_cutbuffer_internal): Type correctness.
3954
3955         * process-unix.c (try_to_initialize_subtty): Type correctness.
3956
3957         * objects-x.c (x_print_color_instance): Type correctness.
3958         (x_print_font_instance): Type correctness.
3959         (x_list_fonts): SExtbyte ==> Extbyte.
3960         (valid_x_font_name_p): SExtbyte ==> Extbyte.
3961         (x_find_charset_font): SExtbyte ==> Extbyte.
3962         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
3963         (truename_via_XListFonts): SExtbyte ==> Extbyte.
3964         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
3965         Use bufbyte_strcmp.
3966
3967         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
3968         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
3969         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
3970         (BYTE_C0_P): Use bit ops for char-signedness safety.
3971         (BYTE_C1_P): Use bit ops for char-signedness safety.
3972         (CHARSET_BY_LEADING_BYTE):
3973         (CHARSET_BY_ATTRIBUTES):
3974         Always use inline function.
3975         Use type_checking_assert.
3976         Hide chlook.
3977
3978         * mule-charset.c (non_ascii_charptr_copy_char):
3979         Modify to work with both ASCII and non-ASCII characters.
3980         Improve docs and variable names.
3981         Replace over-clever fall-through switch with a simple loop.
3982         (Lstream_get_emchar_1):
3983         Replace over-clever fall-through switch with a simple loop.
3984
3985         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3986         Warning suppression.
3987
3988         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
3989         the return value of Lstream_getc, which could be EOF as well.
3990
3991         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
3992
3993         * lisp.h: Make Extbyte a char, not unsigned char, so that external
3994         APIs can be used on Extbytes without casts.  Risky!
3995         (SExtbyte): Remove.
3996         (UExtbyte): Remove.
3997
3998         * input-method-xlib.c (XIM_init_device):
3999         Use Xlib.h instead of IntrinsicP.h.
4000         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4001         which will break in X11R7.
4002         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4003         to call XRegisterIMInstantiateCallback with correct types.
4004
4005         * gui-x.c (button_item_to_widget_value): Type correctness.
4006
4007         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4008
4009         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4010         (xbm_instantiate_1): Type correctness.
4011         (BUILD_GLYPH_INST):  Type correctness.
4012
4013         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4014
4015         * file-coding.c:
4016         (decode_coding_sjis):
4017         (decode_coding_big5):
4018         (decode_coding_ucs4):
4019         (decode_coding_utf8):
4020         (decode_coding_iso2022):
4021         (decode_coding_no_conversion):
4022         Make all decoding functions take an Extbyte * arg.
4023         (encode_coding_sjis):
4024         (encode_coding_big5):
4025         (encode_coding_ucs4):
4026         (encode_coding_utf8):
4027         (encode_coding_iso2022):
4028         (encode_coding_no_conversion):
4029         Make all encoding functions take a Bufbyte * arg.
4030         Use size_t instead of unsigned int for memory sizes.
4031         Only cast to unsigned char whenever dereferencing Extbyte *.
4032
4033         * doc.c (unparesseuxify_doc_string): Type correctness.
4034
4035         * console-x.c (split_up_display_spec):
4036         Rewrite without using details of internal string representation.
4037         (x_semi_canonicalize_device_connection): Type correctness.
4038
4039         * config.h.in:
4040         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4041         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4042         (HAVE_XFREE386): Removed.
4043
4044         * buffer.h (DEC_CHARPTR): `const' correctness.
4045         (bufbyte_strcmp): New.
4046         (bufbyte_memcmp): New.
4047
4048         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4049
4050         * buffer.h (XCHAR_OR_CHAR_INT):
4051         Always use inline function.
4052         Remove redundant type checking assert() - XINT will abort quite nicely.
4053
4054 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4055
4056         * search.c (Freplace_match): Set newtext to an empty string.
4057
4058 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4059
4060         * s/decosf1-3.h: Remove #include of stropts.h
4061         * s/ptx.h: Remove #include of stropts.h
4062         * s/usg5-4.h: Remove #include of stropts.h
4063         * sysproc.h:
4064         * config.h.in:
4065         Use stropts.h, not sys/stropts.h.
4066         Use strtio.h, not sys/strtio.h.
4067
4068 2000-10-04  Martin Buchholz <martin@xemacs.org>
4069
4070         * XEmacs 21.2.36 is released.
4071
4072 2000-09-21  Andy Piper  <andy@xemacs.org>
4073
4074         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4075         changes still involve copying the widget tree.
4076         (update_widget_face): make sure a change is register in the widget
4077         tree. Call update_tab_widget_face appropriately.
4078         (update_tab_widget_face): ditto.
4079         (x_tab_control_redisplay): make sure non-structural changes still
4080         involve copying the widget tree.
4081
4082 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4083
4084         * lread.c (locate_file): Check the path element is non-nil.
4085
4086 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4087
4088         * lisp.h: Warning suppression for SCO compilers.
4089
4090         * redisplay-tty.c (reset_tty_modes): Fix crash.
4091         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4092
4093 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4094
4095         Big signal/process handling overhaul.  Bugs fixed:
4096         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4097         M-x comint-kill-subjob should work for both values nil and t of
4098         process-connection-type. It was broken on most platforms.
4099         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4100         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4101         * process-unix.c: Signal/Process handling overhaul.
4102         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4103         (allocate_pty): Use all available modern methods of allocating
4104         ptys, falling back to old style BSD allocation as a last resort.
4105         Use allegedly more secure Unix98 pty allocation by default.
4106         (allocate_pty_the_old_fashioned_way): New. the last resort.
4107         (unix_create_process): Push ptem, ldterm, ttcompat where
4108         available.  Autoconfiscate.
4109         (try_to_initialize_subtty): New.
4110         (unix_kill_child_process): Proper signal handling for ptys on most
4111         platforms, using special knowledge of AIX, BSD, etc...
4112         (unix_create_process): Always disconnect_controlling_terminal() for
4113         subprocesses, whether using ptys or not.
4114         * process.h: Remove old getpt-dependent PTY code.
4115         * process.c (Fprocess_send_signal): New, obvious generic function.
4116         (decode_signal): New.
4117         (Finterrupt_process):
4118         (Fkill_process):
4119         (Fquit_process):
4120         (Fstop_process):
4121         (Fcontinue_process):
4122         (Fsignal_process): Use decode_signal.
4123         (process_send_signal):
4124         Many docstring corrections.
4125         Allow any signal to be sent to a process object.
4126         * config.h.in: Add symbols for big signal/process overhaul.
4127         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4128         * sysproc.h: Include process-related headers, where available:
4129         sys/stropts.h sys/strtio.h pty.h libutil.h
4130         * s/irix4-0.h:
4131         * s/irix5-0.h:
4132         * s/cygwin32.h:
4133         * s/gnu.h:
4134         * s/linux.h:
4135         * s/hpux.h:
4136         * s/aix3-1.h:
4137         Remove old S&M pty stuff.
4138         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4139         * systty.h: Simplify cpp hackery, improve comments.
4140         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4141
4142         * editfns.c (Fformat_time_string):
4143         Be a little more paranoid with the return value of ctime.
4144
4145         * fileio.c (check_executable):
4146         (check_writable):
4147         Use symbolic constants X_OK, W_OK.
4148
4149         * console-x.c (split_up_display_spec): Fix a warning.
4150
4151 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4152
4153         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4154         * ntproc.c (sys_spawnve): make_string ==> build_string
4155         Small clarity improvements.
4156
4157 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4158
4159         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4160
4161         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4162
4163         * config.h.in (HAVE_STRCASECMP): Remove.
4164
4165 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4166
4167         * redisplay-output.c (redisplay_output_pixmap):
4168         Cleaner and possibly more 64-bit correct code.
4169
4170 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4171
4172         * dumper.c (pdump_load_finish): move restoration of
4173         `noninteractive1' to emacs.c (main_1).
4174         * emacs.c (main_1): protect LISP-visible command-line flags
4175         from pdump_load().
4176
4177 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4178
4179         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4180         DUMP_TARGET instead of literal program names.
4181
4182 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4183
4184         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4185
4186 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4187
4188         * *: Spelling mega-patch
4189
4190 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4191
4192         * fns.c (bad_bad_turtle):
4193         Delete "Eek!" comment, since we fixed the bug to which it refers.
4194
4195 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4196
4197         * alloca.c: Replace REGISTER with register.
4198
4199 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4200
4201         * file-coding.c (ucs_to_char): Use countof.
4202
4203 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4204
4205         * file-coding.c: (ucs_to_char):
4206         (complex_vars_of_file_coding):
4207         Use countof instead of sizeof.
4208         Use CHECK_NATNUM instead of CHECK_INT.
4209
4210         * sysdep.c (strcasecmp): Remove.
4211         * device-x.c (ascii_strcasecmp): New.
4212         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4213         Avoid using non-standard non-portable strcasecmp.
4214
4215 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4216
4217         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4218         * font-lock.c: remove reference to emacsfns.h.
4219         * search.c: small doc improvement.
4220         * event-Xt.c: correct file names in comments.
4221         * console-x.h Correct file names in comments.
4222         * frame.c: Correct file names in comments.
4223         * event-stream.c: remove Energize from comments.
4224
4225 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4226
4227         * symeval.h (DEFERROR_STANDARD):
4228         (DEFERROR):
4229         (DEFSYMBOL):
4230         (DEFSYMBOL_NO_DUMP):
4231         (DEFSYMBOL_MULTIWORD_PREDICATE):
4232         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4233         (DEFKEYWORD):
4234         The construct &##name is not sensible C.
4235         Fixes compilation errors with Unixware native compiler.
4236
4237 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4238
4239         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4240         (next_frame_internal): Removed.  We now just have next_frame.
4241         (next_frame):
4242         Write a simpler and cleaner one-pass algorithm.
4243         Remove called_from_delete_device arg and #ifdefed-out code.
4244         (previous_frame):
4245         Renamed from prev_frame.  Update callers.
4246         Cleaned up to have an analogous implementation to next_frame.
4247         (other_visible_frames_internal): Remove the
4248         called_from_delete_device bogus arg, and hence, remove this
4249         function.  Just use other_visible_frames().
4250
4251         * window.c (Fnext_window):
4252         Prettify docstring.
4253         Since next_frame() is guaranteed to return a frame, remove check
4254         for nil inserted in previous patch.
4255         (Fprevious_window):
4256         Prettify docstring.
4257         Make code look more like Fnext_window.
4258         (window_loop):
4259         Respect the `console' arg when iterating through windows.
4260         Fixes bug: (get-buffer-window buffer t device) not respecting
4261         the `device' arg.
4262         This function needs more work, as others have pointed out.
4263
4264         * frame.h: Rename prev_frame to previous_frame.
4265         device_matches_console_spec no longer takes a `frame' arg.
4266
4267         * s/gnu.h:
4268         * s/linux.h:
4269         * s/hpux.h:
4270         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4271         From "Golubev I. N." <gin@mo.msk.ru>.
4272
4273         * make-src-depend: Fix typo.
4274
4275 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4276
4277         * window.c (Fnext_window):
4278         next_frame() might return nil, not a frame.
4279         Fixes this crash:
4280         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4281
4282         * frame.c (next_frame_internal):
4283         We've passed a frame if we've passed its device.
4284         Fixes this crash:
4285         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4286 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4287
4288 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4289
4290         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4291         Allow option to suppress accelerators in menu/dialog items.
4292         (populate_or_checksum_helper): Pass dialog title through above.
4293
4294 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4295
4296         * event-msw.c (mswindows_key_to_emacs_keysym):
4297         Add "pause" key, fix "menu" key.
4298
4299 2000-09-09  Martin Buchholz  <martin@xemacs.org>
4300
4301         * eval.c (reinit_vars_of_eval):
4302         Increase max_lisp_eval_depth to 1000,
4303         required for thai-xtis.el to byte-compile under some circumstances.
4304
4305 2000-09-04  Martin Buchholz  <martin@xemacs.org>
4306
4307         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
4308         From Kenichi Handa.
4309
4310 2000-09-01  Martin Buchholz  <martin@xemacs.org>
4311
4312         * make-src-depend: Make the generated Makefiles smaller.
4313
4314         * s/hpux.h (SETUP_SLAVE_PTY):
4315         Provide a %d in the format string for the errno argument.
4316
4317         * editfns.c (Ftemp_directory):
4318         Warning fix.
4319         Avoid buffer overrun on very long file name.
4320
4321         * input-method-xlib.c (XIM_init_device):
4322         6th parameter of XRegisterIMInstantiateCallback has different
4323         pointer types on different OSes, so simply cast to (void *).
4324
4325         * unexhp9k800.c: Warning fixes.  Fiddly changes.
4326
4327         * sysdll.c (dll_open):
4328         shl_load will hang hard if passed a NULL filename.
4329         Simply return NULL for compatibility with dlopen.
4330         * sysdll.c: Conform to XEmacs coding standards.
4331
4332         * sysdep.c (get_pty_max_bytes):
4333         Support pty input lines longer than 512 bytes on HP-UX 10.20.
4334
4335 2000-08-31  Martin Buchholz  <martin@xemacs.org>
4336
4337         * tooltalk.c: Add #include <syssignal.h>
4338
4339 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
4340
4341         * s/hpux.h: Don't use undefined function sigunblock().
4342
4343 2000-08-31  Martin Buchholz  <martin@xemacs.org>
4344
4345         * config.h.in: Add HAVE_BALLOON_HELP.
4346         * emacs.c: Use HAVE_BALLOON_HELP.
4347         * Makefile.in.in (x_objs):
4348         Make Balloon Help conditional on finding shape.h.
4349
4350 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
4351
4352         * syntax.c (regex_emacs_buffer_p): New variable.
4353         * syntax.h (regex_emacs_buffer_p): extern.
4354         * search.c (looking_at_1):
4355         (string_match_1):
4356         (fast_string_match):
4357         (search_buffer): Set regex_emacs_buffer_p.
4358         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
4359         when before_dot, at_dot, after_dot.
4360
4361 2000-08-23  Andy Piper  <andy@xemacs.org>
4362
4363         * gui-x.c (popup_selection_callback): Only set action_occurred
4364         when we really have an image instance.
4365         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
4366
4367 2000-08-23  Andy Piper  <andy@xemacs.org>
4368
4369         * gui-msw.c (mswindows_handle_gui_wm_command): set
4370         action_occurred.
4371         * gui-x.c (popup_selection_callback): ditto.
4372
4373         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
4374         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
4375         (struct Lisp_Image_Instance): add action_occurred flag.
4376
4377         * glyphs.c (redisplay_subwindow): use action_occurred flag.
4378         (image_instance_changed): ditto.
4379         (reset_frame_subwindow_instance_cache): only unmap windows - do
4380         not remove them from the cache also.
4381
4382         * glyphs-widget.c (tab_control_update): better debug.
4383         (progress_gauge_update): ditto.
4384         (layout_update): ditto.
4385         (layout_instantiate): ditto.
4386         (tab_control_order_only_changed): cope with null pending items.
4387
4388         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
4389         debug. Force selection of an item when an action occurred. Cope
4390         with null pending_items.
4391         (mswindows_progress_gauge_redisplay): better debug.
4392         * glyphs-x.c (x_tab_control_redisplay): ditto.
4393
4394         * redisplay.c (redisplay_frame): reset the frame cache if the
4395         frame is garbaged.
4396
4397         * window.c (Fset_window_configuration): potentially re-enable
4398         frame cache reset.
4399         (window_unmap_subwindows): need to finalize instances here since
4400         it is only used in mark_window_as_deleted.
4401
4402 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
4403
4404         * nas.c (SndOpenDataForReading):
4405         nas.c (WaveOpenDataForReading):
4406         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
4407         Somehow escaped from the 2000-08-14 patch.
4408
4409 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4410
4411         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
4412         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
4413
4414 2000-08-21  Andy Piper  <andy@xemacs.org>
4415
4416         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
4417         window if it is not already displayed.
4418
4419         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
4420         it is not already displayed.
4421
4422         * window.c (Fset_window_configuration): don't reset the frame
4423         cache.
4424
4425         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
4426         instances from the frame cache if we are actually finalizing them.
4427         (reset_frame_subwindow_instance_cache): reset frame cache only
4428         after unmapping everything.
4429         (map_subwindow): set displayed flag after mapping.
4430
4431 2000-08-21  Martin Buchholz  <martin@xemacs.org>
4432
4433         * data.c (indirect_function):
4434         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
4435
4436         * eval.c (function_argcount):
4437         Use original function when signaling errors.
4438
4439 2000-08-18  Andy Piper  <andy@xemacs.org>
4440
4441         * frame.c (delete_frame_internal): use new
4442         free_frame_subwindow_instances name.
4443
4444         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
4445         (add_tab_item): make return type correct.
4446         (mswindows_tab_control_instantiate): assert index of tab.
4447         (mswindows_tab_control_redisplay): Re-code to use
4448         gui_item_equal_sans_selected and gui_item_list_find_selected.
4449
4450         * glyphs-widget.c (tab_control_update): Correct comment.
4451
4452         * window.c (window_unmap_subwindows): use new
4453         unmap_subwindow_instance_cache_mapper.
4454         (window_unmap_subwindows_cache_mapper): deleted.
4455         (Fset_window_configuration): comparisons should now be with
4456         EQ. Preserve the subwindow instance cache across configuration
4457         changes.
4458         (allocate_window): ditto.
4459         (make_dummy_parent): ditto.
4460
4461         * glyphs.c (free_frame_subwindow_instances): rename from
4462         free_frame_subwindow_instance_cache. finalize all instances rather
4463         than just those in the display cache.
4464         (finalize_all_subwindow_instances): walk windows unmapping and
4465         finalizing subwindows.
4466         (unmap_subwindow_instance_cache_mapper): moved from
4467         window.c. Allow finalization as well as unmapping.
4468
4469         * gui.c (gui_item_list_find_selected): new function.
4470
4471         * gui.h (gui_item_list_find_selected): declare.
4472
4473         * glyphs-x.c (x_tab_control_redisplay): pick tab
4474         explicitly. Re-code to use gui_item_equal_sans_selected and
4475         gui_item_list_find_selected.
4476
4477         * glyphs-x.h: add lwlib-utils.h
4478
4479         * buffer.c (Frecord_buffer): undo previous change.
4480
4481 2000-08-09  Vin Shelton  <acs@xemacs.org>
4482
4483         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
4484         possible.  Create temporary files more securely.  The patch was
4485         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
4486         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
4487         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
4488         for details.
4489
4490 2000-08-07  Ben Wing  <ben@xemacs.org>
4491
4492         * getloadavg.c: remove duplicate (and windows-breaking)
4493         includes of fcntl.h and sys/file.h.
4494
4495         * nt.c: remove duplicate getloadavg() definition.
4496
4497         * sysdll.h (Qdll_filename_encoding): add missing stand-in
4498         encodings.
4499
4500 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4501
4502         * eval.c (function_argcount): If function needs to be autoloaded
4503         actually use the loaded definition.
4504         GCPRO function.
4505
4506 2000-08-05  Ben Wing  <ben@xemacs.org>
4507
4508         * getloadavg.c: add prototype for getloadavg().  remove
4509         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
4510         of the code).  remove duplicate header includes.
4511
4512         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
4513
4514         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
4515         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
4516         useful load average.
4517
4518         * alloc.c (reinit_alloc_once_early): removed references to
4519         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
4520         the lisp vars are the only things referencing the malloc_sbrk_*
4521         vars, and they were already if 0'd out.  these vars only exist
4522         in the older malloc.c, which is basically unused, and they're
4523         only for informational purposes.
4524
4525         * m\*.h: removed useless VIRT_ADDR_VARIES.
4526
4527         * m\powerpc.h: removed stray NO_ARG_ARRAY.
4528
4529 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
4530
4531         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
4532         color if the image is a mono pixmap.
4533
4534 2000-07-30  Ben Wing  <ben@xemacs.org>
4535
4536         * Makefile.in.in (release):
4537         Remove stray @.
4538
4539         * buffer.c (directory_is_current_directory):
4540         * dired-msw.c (mswindows_get_files):
4541         * dired.c:
4542         * dired.c (Fdirectory_files):
4543         * dired.c (file_name_completion_stat):
4544         * dired.c (Ffile_attributes):
4545         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
4546         preprocessor tricks, to avoid problems on some machines
4547         (e.g. SCO).
4548
4549         * callproc.c (egetenv): GC docs.
4550
4551         * console-msw.h:
4552         * console-msw.h (struct mswindows_dialog_id):
4553         * lrecord.h (lrecord_type):
4554         New object for use with MSW dialogs.
4555
4556         * console.h (struct console_methods):
4557         New enable/disable frame methods, for proper modal dialogs.
4558
4559         * device-msw.c (msprinter_default_printer): Fix to follow
4560         proper Mule conventions.
4561
4562         * device-msw.c:
4563         * device-msw.c (signal_open_printer_error):
4564         * device-msw.c (msprinter_init_device):
4565         * device-msw.c (ensure_not_printing):
4566         * device-msw.c (plist_get_margin):
4567         * device-msw.c (Fmsprinter_select_settings):
4568         * device-msw.c (finalize_devmode):
4569         * device-msw.c (Fmsprinter_settings_despecialize):
4570         * device-msw.c (signal_enum_priner_error):
4571         * extents.c (decode_extent):
4572         * extents.c (decode_map_extents_flags):
4573         * extents.c (decode_extent_at_flag):
4574         * extents.c (Fextent_at):
4575         * extents.c (Fextents_at):
4576         * extents.c (symbol_to_glyph_layout):
4577         [[[[2]]]] Use structured errors.
4578
4579         * dialog-msw.c:
4580         * dialog-msw.c (mswindows_is_dialog_msg):
4581         * dialog-msw.c (mark_mswindows_dialog_id):
4582         * dialog-msw.c (dialog_proc):
4583         * dialog-msw.c (handle_question_dialog_box):
4584         * dialog-msw.c (syms_of_dialog_mswindows):
4585         Define new object to clean up marking; use it as a dialog identifier.
4586         Call new delete-dialog-box-hook.
4587
4588         * dialog-x.c (dbox_selection_callback):
4589         * dialog-x.c (dbox_descriptor_to_widget_value):
4590         * dialog-x.c (x_make_dialog_box_internal):
4591         Call new delete-dialog-box-hook.
4592         Return an id.
4593
4594         * dialog.c:
4595         * dialog.c (syms_of_dialog):
4596         * dialog.c (vars_of_dialog):
4597         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
4598
4599         * eval.c:
4600         * eval.c (signal_call_debugger):
4601         when noninteractive, output stack traces on the console instead
4602         of in a (never-seen) buffer.
4603
4604         * eval.c (signal_type_error):
4605         * eval.c (invalid_argument_2):
4606         * lisp.h:
4607         new funs for use w/structured errors.
4608
4609         * event-Xt.c:
4610         * event-Xt.c (x_to_emacs_keysym):
4611         * event-Xt.c (describe_event):
4612         * event-Xt.c (emacs_Xt_event_handler):
4613         * event-Xt.c (vars_of_event_Xt):
4614         * event-msw.c:
4615         * event-msw.c (mswindows_wnd_proc):
4616         * event-msw.c (vars_of_event_mswindows):
4617         rename {x,mswindows}-debug-events to debug-{}-events for
4618         consistency with other debug-foo variables.
4619
4620         * event-stream.c:
4621         document next-event more clearly.
4622
4623         * fileio.c (Ffile_name_directory):
4624         * fileio.c (Ffile_name_nondirectory):
4625         * fileio.c (Funhandled_file_name_directory):
4626         * fileio.c (file_name_as_directory):
4627         * fileio.c (Ffile_name_as_directory):
4628         * fileio.c (directory_file_name):
4629         * fileio.c (Fdirectory_file_name):
4630         * fileio.c (Fmake_temp_name):
4631         * fileio.c (Ffile_truename):
4632         * fileio.c (Fsubstitute_in_file_name):
4633         * fileio.c (expand_and_dir_to_file):
4634         * fileio.c (barf_or_query_if_file_exists):
4635         * fileio.c (check_executable):
4636         * fileio.c (Ffile_exists_p):
4637         * fileio.c (Ffile_writable_p):
4638         * fileio.c (Ffile_directory_p):
4639         * fileio.c (Ffile_regular_p):
4640         * fileio.c (Ffile_modes):
4641         * fileio.c (Ffile_newer_than_file_p):
4642         * fileio.c (Fverify_visited_file_modtime):
4643         * fileio.c (Fset_visited_file_modtime):
4644         * fileio.c (auto_save_1):
4645         (1). (2).
4646         fix up gcpro's.
4647
4648         * frame-msw.c:
4649         * frame-msw.c (mswindows_init_frame_1):
4650         * frame-msw.c (mswindows_enable_frame):
4651         * frame-msw.c (error_frame_unsizable):
4652         * frame-msw.c (msprinter_init_frame_1):
4653         * frame-msw.c (msprinter_init_frame_3):
4654         * frame-msw.c (console_type_create_frame_mswindows):
4655         (2).
4656         implement new enable/disable frame methods.
4657
4658         * frame-x.c:
4659         * frame-x.c (x_enable_frame):
4660         * frame-x.c (console_type_create_frame_x):
4661         implement new enable/disable frame methods.
4662
4663         * frame.c:
4664         * frame.c (Fdisable_frame):
4665         * frame.c (syms_of_frame):
4666         * frame.h (struct frame):
4667         implement new enable/disable frame methods/functions.
4668
4669         * general-slots.h:
4670         add initial-focus.
4671
4672         * glyphs-msw.c (mswindows_widget_instantiate):
4673         comment that initial-focus should be implemented.
4674
4675         * glyphs-widget.c:
4676         * glyphs-widget.c (check_valid_instantiator):
4677         * glyphs-widget.c (check_valid_orientation):
4678         * glyphs-widget.c (check_valid_tab_orientation):
4679         * glyphs-widget.c (check_valid_justification):
4680         * glyphs-widget.c (check_valid_border):
4681         * glyphs-widget.c (check_valid_callback):
4682         * glyphs-widget.c (check_valid_int_or_function):
4683         * glyphs-widget.c (check_valid_string_or_vector):
4684         * glyphs-widget.c (check_valid_item_list_1):
4685         * glyphs-widget.c (widget_validate):
4686         * glyphs-widget.c (combo_box_validate):
4687         * glyphs-widget.c (widget_instantiate):
4688         * glyphs-widget.c (syms_of_glyphs_widget):
4689         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
4690         * glyphs-widget.c (image_instantiator_combo_box):
4691         * glyphs-widget.c (image_instantiator_scrollbar):
4692         * glyphs-widget.c (image_instantiator_tab_control):
4693         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
4694         (2).
4695         support (unimplemented) keyword initial-focus.
4696         reindent long macros.
4697
4698         * glyphs-x.c (x_redisplay_widget):
4699         * glyphs-x.c (x_button_instantiate):
4700         * glyphs-x.c (x_button_redisplay):
4701         * glyphs-x.c (x_progress_gauge_instantiate):
4702         * glyphs-x.c (x_edit_field_instantiate):
4703         * glyphs-x.c (x_combo_box_instantiate):
4704         * glyphs-x.c (x_tab_control_instantiate):
4705         * glyphs-x.c (x_label_instantiate):
4706         * gui-x.c:
4707         * gui-x.c (button_item_to_widget_value):
4708         * gui-x.c (gui_items_to_widget_values_1):
4709         * gui-x.c (gui_item_children_to_widget_values):
4710         * gui-x.c (gui_items_to_widget_values):
4711         * gui-x.h:
4712         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4713         add new flag to gui-parsing routines to indicate whether
4714         accelerator specs should be supported.
4715
4716         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
4717
4718         * glyphs.h (struct Lisp_Image_Instance):
4719         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
4720         add initial-focus flag.
4721
4722         * gui.c:
4723         * gui.c (syms_of_gui):
4724         * gui.c (vars_of_gui):
4725         clean up menu-no-selection-hook.
4726
4727         * gui.h:
4728         support delete-dialog-box-hook.
4729
4730         * lread.c (Fload_internal):
4731         * lread.c (locate_file_in_directory_mapper):
4732         (1).
4733
4734         * lrecord.h:
4735         * lrecord.h (struct toolbar_button):
4736         * lrecord.h (syms_of_toolbar):
4737         document how to create a new object.
4738
4739         * menubar-msw.c (mswindows_char_is_accelerator):
4740         may be called on frames w/o menus.
4741
4742         * menubar.c (vars_of_menubar):
4743         clean up :filter docs.
4744
4745         * nt.c (readdir):
4746         * ntproc.c:
4747         (1).
4748
4749         * process-nt.c:
4750         * process-nt.c (validate_signal_number):
4751         * process-nt.c (signal_cannot_launch):
4752         * process-nt.c (nt_create_process):
4753         * process-nt.c (nt_send_process):
4754         * process-nt.c (nt_kill_child_process):
4755         * process-nt.c (nt_open_network_stream):
4756         * process-nt.c (syms_of_process_nt):
4757         (2).
4758         delete quote-handling.  call new lisp code that does it better.
4759
4760         * process-unix.c (connect_to_file_descriptor):
4761         * process-unix.c (allocate_pty):
4762         * process-unix.c (unix_send_process):
4763         * process-unix.c (unix_kill_child_process):
4764         * process-unix.c (unix_open_network_stream):
4765         * process-unix.c (unix_open_multicast_group):
4766         (1). (2).
4767
4768         * process.c:
4769         * process.c (Fstart_process_internal):
4770         (2).  need to canonicalize process path even if absolute.
4771
4772         * select-msw.c (symbol_to_ms_cf):
4773         * select-msw.c (ms_cf_to_symbol):
4774         * select-msw.c (cf_is_autofreed):
4775         * select-msw.c (mswindows_destroy_selection):
4776         * select.c:
4777         * select.c (syms_of_select):
4778         * select.h:
4779         support dibv5, fix bugs. (from Mike Alexander)
4780
4781         * select.c (Fget_selection_internal):
4782         * select.c (select_convert_out):
4783
4784         * sysdep.c:
4785         * sysdep.c (xemacs_stat):
4786         renamed.
4787
4788         * sysdep.c (mkdir):
4789         * sysdep.c (rmdir):
4790         but keep original stat() here because we provide encapsulation
4791         around these funs.
4792
4793         * sysfile.h:
4794         * sysfile.h (fstat):
4795         remove stat garbage.
4796
4797         * syswindows.h:
4798         fix X/MSW conflict.
4799         don't include tchar.h.  it's inappropriate because it makes
4800         compile-time distinctions when we want runtime distinctions.
4801         (we provide our own tchar replacements)
4802
4803         * toolbar.c:
4804         use default object printer for toolbar-button.
4805
4806         * unexcw.c:
4807         make sure we don't encapsulate.
4808
4809         * window.c (vars_of_window):
4810         emphasize that temp-buffer-show-hook is obsolete.
4811
4812 2000-08-05  Martin Buchholz  <martin@xemacs.org>
4813
4814         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
4815         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
4816
4817         * events.c (Fevent_timestamp_lessp):
4818         Not 64-bit clean.  Use EMACS_INT, not int.
4819
4820 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
4821
4822         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
4823         unsigned int and changed the last enum to
4824         lrecord_type_last_built_in_type.
4825         (lrecord_implementations_table): changed prototype to know how
4826         long the array is supposed to be.
4827         (lrecord_type_count): new unsigned int to keep track of the
4828         current number of lisp lrecord types.
4829         (DEFINE_EXTERNAL_LRECORD):
4830         (DECLARE_EXTERNAL_LRECORD): Added these two for external
4831         dynamic-modules to declare new lisp types. They are the same
4832         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
4833         int for each new type, and increment lrecord_type_count by 1.
4834
4835         * alloc.c (lrecord_implementations_table): Changed to reference
4836         lrecord_type_last_built_in_type for the size of the array.
4837         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
4838
4839 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4840
4841         * glyphs.h (check_valid_item_list): Renamed from
4842         check_valid_item_list_1.
4843
4844 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
4845
4846         * select.c (Qselect_coerce): New.
4847         * select.c (Vselection_coercion_alist): New.
4848         * select.c (syms_of_select): Declare.
4849         * select.c (get-selection-internal): Use it.
4850         Use the new select-coerce functionality.
4851
4852         * select.c (select_coerce): New.
4853         * select.h (select_coerce): Declare.
4854         New function to coerce one type of data into another.
4855
4856 2000-08-03  Martin Buchholz  <martin@xemacs.org>
4857
4858         * callproc.c (Fcall_process_internal):
4859         (Fcall_process_internal):
4860         * process-unix.c (unix_create_process):
4861         Save and restore the value of errno, so that error messages are accurate.
4862
4863 2000-08-01  Martin Buchholz  <martin@xemacs.org>
4864
4865         * elhash.c (print_hash_table):
4866         Fix printing of hash tables to also use `key-and-value' instead of `t'.
4867         Prettify docstrings and indentation.
4868
4869 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4870
4871         * window.c (Fwindow_pixel_edges): Subtract frame border and
4872         gutter size.
4873
4874 2000-07-31  Andy Piper  <andy@xemacs.org>
4875
4876         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
4877         will acknowledge the change.
4878
4879         * glyphs.h: declare tab_control_order_only_changed.
4880
4881         * glyphs-x.c (x_tab_control_redisplay): use
4882         tab_control_order_only_changed.
4883
4884         * glyphs-widget.c (tab_control_order_only_changed): new function.
4885
4886         * glyphs-msw.c (mswindows_tab_control_redisplay): use
4887         tab_control_order_only_changed.
4888
4889         * gui.c (gui_item_equal_sans_selected): new function.
4890         (gui_item_equal): use it.
4891
4892         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
4893         :properties in favor of :items..
4894
4895         * glyphs-widget.c (check_valid_item_list): rename from
4896         check_valid_item_list_1.
4897         (check_valid_item_list_1): renamed.
4898         (combo_box_validate): deprecate :properties in favor of :items.
4899         (widget_instantiate): ditto.
4900         (tab_control_update): ditto.
4901         (image_instantiator_combo_box): ditto.
4902         (image_instantiator_tree_view): ditto.
4903         (image_instantiator_tab_control): ditto.
4904         (layout_post_instantiate): remove dead code.
4905
4906         * print.c (debug_print_no_newline): only write to debugger if in
4907         WIN32_NATIVE.
4908
4909         * elhash.c (Fmake_hash_table): update doc string.
4910
4911         * event-msw.c (mswindows_wnd_proc): don't allow processing of
4912         messages whilst in GC. This at least stops XEmacs crashing but has
4913         the potential for wierd behaviour.
4914
4915 2000-07-31  Martin Buchholz  <martin@xemacs.org>
4916
4917         * config.h.in:
4918         Make existence of s&m files optional.
4919
4920         * s/bsd386.h: Remove HAVE_GETLOADAVG.
4921         * s/freebsd.h: Remove HAVE_GETLOADAVG.
4922         * s/gnu.h: Remove HAVE_GETLOADAVG.
4923         * s/netbsd.h: Remove HAVE_GETLOADAVG.
4924         * s/sol2.h: Remove HAVE_GETLOADAVG.
4925         * lisp.h: Remove getloadavg() declaration.
4926         * fns.c:
4927         Include <sys/loadavg.h> if available.
4928         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
4929         * config.h.in:  Group together getloadavg()-related macros.
4930         Use only configure-time tests to detect getloadavg().
4931
4932 2000-07-30  Martin Buchholz  <martin@xemacs.org>
4933
4934         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
4935
4936 2000-07-25  Andy Piper  <andy@xemacs.org>
4937
4938         * syswindows.h: add tchar.h for native builds.
4939
4940         * frame.c (syms_of_frame): remove set-glyph-image.
4941
4942         * general-slots.h: add Qset_glyph_image.
4943
4944         * glyphs-widget.c (layout_update): add domain arg to
4945         set-glyph-image.
4946         (syms_of_glyphs_widget): remove set-glyph-image.
4947
4948 2000-07-23  Ben Wing  <ben@xemacs.org>
4949
4950         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
4951         Vpopup_frame_list.
4952
4953 2000-07-22  Andy Piper  <andy@xemacs.org>
4954
4955         * symsinit.h: add syms_of_win32().
4956
4957         * gui-msw.c (syms_of_gui_mswindows): remove
4958         Fmswindows_shell_execute.
4959         (Fmswindows_shell_execute): moved to win32.c.
4960
4961         * emacs.c (main_1): add syms_of_win32 ().
4962
4963         * win32.c (init_potentially_nonexistent_functions): rewrite in
4964         compiler-friendly terms.
4965         (Fmswindows_shell_execute): move here from gui-msw.c.
4966         (syms_of_win32): new.
4967
4968         * device-msw.c (Fmswindows_printer_list): clean up args to
4969         EnumPrinters.
4970         Don't include tchar under cygwin or mingw.
4971         (msprinter_default_printer): make cygwin-friendly.
4972
4973 2000-07-21  Andy Piper  <andy@xemacs.org>
4974
4975         * glyphs-widget.c (image_instantiator_tree_view): use tab
4976         control's update function.
4977         (layout_property): new function. Retrieve items.
4978
4979         * glyphs-msw.c (mswindows_tree_view_redisplay): new
4980         function. Re-populate the tree view from the pending items.
4981
4982         * glyphs.c (instantiate_image_instantiator): Make sure the domain
4983         is designated the parent if the domain is an image instance. This
4984         is needed so that dirtiness can be cascade up the hierarchy and
4985         thus for layout children to be redisplayed correctly.
4986         (allocate_image_instance): rename glyph -> parent.
4987
4988         * redisplay.h: change redisplay_output_layout signature.
4989
4990         * redisplay-msw.c (mswindows_output_display_block): use domain
4991         arg.
4992
4993         * redisplay-x.c (x_output_display_block): use domain arg.
4994
4995 2000-07-10  Andy Piper  <andy@xemacs.org>
4996
4997         * window.c (Fset_window_configuration): add comment.
4998
4999         * redisplay-output.c (compare_runes):
5000         (redisplay_output_subwindow): redisplay rather than update subwindow.
5001         (redisplay_output_layout): ditto.
5002
5003         * redisplay-msw.c (mswindows_frame_output_end):
5004         (mswindows_frame_output_end): make defer window pos optional.
5005
5006         * lisp.h: add Flast.
5007
5008         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5009         normalize method. Change update method to be for changed
5010         instantiators. Add redisplay method. Change signature of layout
5011         method.
5012         (struct Lisp_Image_Instance): add instantiator.
5013         (IMAGE_INSTANCE_INSTANTIATOR): new.
5014         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5015         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5016         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5017
5018         * glyphs.c:
5019         (find_instantiator_differences): new function.
5020         (Fset_instantiator_property): new convenience function.
5021         (check_image_instance_structure): strictly check for vector
5022         instantiators.
5023         (normalize_image_instantiator): make non-static.
5024         (instantiate_image_instantiator): pass on dest_mask and use new
5025         signatures for image_instance_layout and friends.
5026         (mark_image_instance): mark the instantiator. Mark the subwindow
5027         face not the widget face.
5028         (image_instance_equal): add instantiator.
5029         (image_instance_hash): ditto.
5030         (allocate_image_instance): ditto.
5031         (Fset_image_instance_property): removed.
5032         (Fimage_instance_file_name): ditto.
5033         (Fcolorize_image_instance): ditto.
5034         (image_instance_layout): add offsets to be set.
5035         (update_image_instance): new function. update an image instance
5036         from its changed instantiator.
5037         (inherit_normalize): add dest_mask.
5038         (xbm_normalize): ditto.
5039         (xface_normalize): ditto.
5040         (xpm_normalize): ditto.
5041         (text_update): set_property -> update.
5042         (image_instantiate): use the glyph identity as a hash key, not the
5043         instantiator.
5044         (glyph_width): use new image_instance_layout signature.
5045         (glyph_ascent): ditto.
5046         (glyph_descent): ditto.
5047         (glyph_height): ditto.
5048         (glyph_query_geometry): ressurrect.
5049         (glyph_layout): ditto.
5050         (redisplay_subwindow): update -> redisplay.
5051         (syms_of_glyphs): add Fset_instantiator_property.
5052         (image_instantiator_format_create): set_property -> update.
5053
5054         * glyphs-x.c:
5055         (autodetect_normalize): add dest_maks to signature.
5056         (x_redisplay_subwindow): update -> redisplay.
5057         (x_redisplay_widget): ditto.
5058         (x_button_redisplay): ditto.
5059         (x_progress_gauge_redisplay): ditto.
5060         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5061         stacking order.
5062         (console_type_create_glyphs_x): update -> redisplay.
5063         (image_instantiator_format_create_glyphs_x): ditto.
5064
5065         * glyphs-widget.c:
5066         (check_valid_instantiator): disallow glyphs in the instantiator,
5067         they must now be vectors.
5068         (check_valid_instantiator_list): ditto.
5069         (glyph_instantiator_to_glyph): use internal symbol rather than
5070         intern.
5071         (widget_update): renamed from widget_set_property. Call cascaded
5072         update methods.
5073         (redisplay_widget): renamed from update_widget.
5074         (widget_layout): image_instance_layout now takes position as well
5075         as size.
5076         (widget_normalize): ditto.
5077         (widget_instantiate): ditto.
5078         (tab_control_query_geometry) ditto.:
5079         (tab_control_update): renamed from tab_control_set_property.
5080         (progress_gauge_update): set_property -> update.
5081         (layout_normalize): rewrite so that child instantiators are
5082         normalized also.
5083         (layout_update): new function. Create glyphs from the normalized
5084         children and cope with any other layout keywords. We do not
5085         instantiate children here that will be take care of by
5086         redisplay_output_layout.
5087         (layout_instantiate): call layout_update and not much else.
5088         (layout_post_instantiate): not sure whether this is needed
5089         anymore.
5090         (layout_query_geometry): query glyph geometry rather than
5091         image_instance geometry.
5092         (layout_layout): set offsets from pass in parameters. Use glyph
5093         geometry and layout functions rather than image instance ones.
5094         (native_layout_layout): ditto.
5095         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5096         (image_instantiator_widget): set_property -> update.
5097         (image_instantiator_buttons): ditto.
5098         (image_instantiator_progress_guage): ditto.
5099         (image_instantiator_tab_control): ditto.
5100         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5101         (image_instantiator_layout): add update method.
5102
5103         * glyphs-msw.c (bmp_normalize):
5104         (mswindows_resource_normalize): add dest_mask so that it can be
5105         proprogated by layout_normalize.
5106         (begin_defer_window_pos): make optional because it may not be the
5107         right thing to do and it introduces differences with X.
5108         (mswindows_unmap_subwindow): ditto.
5109         (mswindows_map_subwindow): ditto.
5110         (mswindows_redisplay_subwindow): renamed from
5111         mswindows_update_subwindow.
5112         (mswindows_redisplay_widget): ditto.
5113         (mswindows_button_redisplay): renamed from
5114         mswindows_button_update. Update is now what the instantiation
5115         function does for a changed instantiator.
5116         (mswindows_progress_gauge_instantiate): set the progress value
5117         here if appropriate.
5118         (mswindows_tab_control_redisplay): cope with re-ordering of the
5119         members of the tab widget by simply selecting the new top
5120         widget. This makes things appear ok if you click on a tab.
5121         (mswindows_combo_box_instantiate): image_instance_layout now takes
5122         position as well as size.
5123         (mswindows_progress_gauge_redisplay): renamed from
5124         mswindows_progress_gauge_update.
5125         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5126         (image_instantiator_format_create_glyphs_mswindows): ditto.
5127
5128         * glyphs-eimage.c (jpeg_normalize):
5129         (gif_normalize):
5130         (png_normalize):
5131         (tiff_normalize): add dest_mask so that it can be proprogated by
5132         layout_normalize.
5133
5134         * elhash.c:
5135         (print_hash_table):
5136         (hash_table_weakness_validate):
5137         (decode_hash_table_weakness):
5138         (Fhash_table_weakness):
5139         (Fhash_table_type):
5140         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5141
5142         * console.h (struct console_methods): move update_* to
5143         redisplay_*.
5144
5145 2000-07-20  Ben Wing  <ben@xemacs.org>
5146
5147         * *.[ch] (XSETOBJ): remove unused middle argument.
5148         lisp-disunion.h: correct wrap_object() to one argument.
5149
5150 2000-07-15  Ben Wing  <ben@xemacs.org>
5151
5152         * s/cygwin32.h:
5153         * s/cygwin32.h (CYGWIN_CONV_PATH):
5154         Add missing logb prototype for v1.1.
5155         Use post-b20 names and alias to pre-b20 names when pre-b20.
5156
5157         * s/windowsnt.h: [5].
5158
5159 2000-07-15  Ben Wing  <ben@xemacs.org>
5160
5161         * Makefile.in.in (x_objs):
5162         * Makefile.in.in (sheap_objs):
5163         * Makefile.in.in (objs):
5164         added win32.o, cosmetic cleanups.
5165
5166         * alloc.c (Fmake_byte_code):
5167         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5168         etc. macros which declare their own args now.
5169
5170         * alloc.c (syms_of_alloc):
5171         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5172
5173         * buffer.c:
5174         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5175
5176         * buffer.c (Fget_file_buffer):
5177         Fixed GCPRO problem.
5178
5179         * buffer.c (get_truename_buffer):
5180         Fixed comment about GC checking.
5181
5182         * buffer.c (syms_of_buffer):
5183         Undeclared those dedicated frame funs.
5184         [2].
5185
5186         * buffer.h:
5187         Define convenience macros for internal/external conversions.
5188         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5189         and Qenvironment_variable_encoding for cleaner code.
5190
5191         * bufslots.h:
5192         Remove dedicated-frame; in lisp.
5193
5194         * bytecode.c (funcall_compiled_function):
5195         [1].
5196
5197         * bytecode.c (syms_of_bytecode):
5198         [2].
5199
5200         * console-msw.c:
5201         * console-msw.c (mswindows_show_console): Rewrote.
5202
5203         * console-msw.c (Fmswindows_debugging_output): New.
5204         Sends to OutputDebugString (special MSWin debugger interface).
5205
5206         * console-msw.c (Fmswindows_message_box):
5207         Fixed stupid bugs so it works when called from kill-emacs.
5208
5209         * console-msw.c (syms_of_console_mswindows):
5210         Declare Fmswindows_debugging_output.
5211
5212         * console-msw.h:
5213         New MSWin prototypes.
5214
5215         * console-msw.h (struct mswindows_frame):
5216         New entry last-click-mods for improved button-modifier support.
5217
5218         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5219         New struct entry `popup' with corresponding accessor.
5220
5221         * console-x.c:
5222         * console-x.c (split_up_display_spec):
5223         * console-x.c (get_display_arg_connection):
5224         * console-x.c (x_semi_canonicalize_console_connection):
5225         * console-x.c (x_canonicalize_device_connection):
5226         [[[6]]]: Change char to more specific type.
5227         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5228
5229         * console-x.c (x_semi_canonicalize_console_connection):
5230         * console-x.c (x_canonicalize_device_connection):
5231         [[[9]]]: Fix up error signalling to use new structured error system.
5232
5233         * console-x.h:
5234         [[[4]]]: Define codesys aliases:
5235         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5236         Qx_color_name_encoding, Qx_display_name_encoding.
5237
5238         * console.h (struct console_methods):
5239         New method make_dialog_box_internal supersedes older
5240         popup_dialog_box method.
5241
5242         * data.c:
5243         Define many new errors, part of new structured errors.
5244
5245         * data.c (init_errors_once_early):
5246         * data.c (syms_of_data):
5247         [2].
5248
5249         * device-msw.c (mswindows_init_device):
5250         [[[5]]]: Cleanup to support NT 3.51.
5251
5252         * device-msw.c (decode_devmode): Cleanup.
5253
5254         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5255         * device-msw.c (mswindows_handle_print_dialog_box):
5256         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5257         * device-msw.c (syms_of_device_mswindows):
5258         Delete the dialog box primitives recently introduced by Kirill and
5259         instead interface to general dialog box interface.
5260
5261         * device-x.c:
5262         * device-x.c (compute_x_app_name):
5263         * device-x.c (x_init_device):
5264         * device-x.c (Fx_valid_keysym_name_p):
5265         * device-x.c (Fx_set_font_path):
5266         [6].
5267         [7].
5268
5269         * device.h (wrap_device): New.
5270         First of its kind; meant to replace XSETDEVICE.
5271
5272         * dialog-msw.c: Many file-dialog symbols.
5273
5274         * dialog-msw.c (mswindows_register_popup_frame): New.
5275         * dialog-msw.c (mswindows_is_dialog_msg): New.
5276         For supporting kbd traversal in dialog boxes.
5277
5278         * dialog-msw.c (dialog_proc):
5279         Support hitting ESC in dialogs.
5280
5281         * dialog-msw.c (struct):
5282         Common dialog box errors.
5283
5284         * dialog-msw.c (handle_file_dialog_box): New.
5285         Add file dialog code.
5286
5287         * dialog-msw.c (handle_question_dialog_box):
5288         Redo existing code to support new question dialog syntax.
5289
5290         * dialog-msw.c (console_type_create_dialog_mswindows):
5291         We support new dialog console method.
5292
5293         * dialog-msw.c (syms_of_dialog_mswindows):
5294         * dialog-msw.c (vars_of_dialog_mswindows):
5295         New file dialog symbols, vars.
5296
5297         * dialog-x.c:
5298         * dialog-x.c (maybe_run_dbox_text_callback):
5299         * dialog-x.c (dbox_descriptor_to_widget_value):
5300         * dialog-x.c (x_make_dialog_box_internal):
5301         * dialog-x.c (console_type_create_dialog_x):
5302         Mule-ize entire file.
5303         Redo to support question dialog syntax.
5304         [6].
5305
5306         * dialog.c:
5307         * dialog.c (Fmake_dialog_box_internal):
5308         * dialog.c (syms_of_dialog):
5309         Kill old popup-dialog-box, replace with new primitive.
5310         Just call device method or signal error.
5311
5312         * eldap.c (Fldap_open):
5313         * eldap.c (Fldap_search_basic):
5314         * eldap.c (Fldap_add):
5315         * eldap.c (Fldap_modify):
5316         [1].
5317         [7].
5318
5319         * emacs.c:
5320         * emacs.c (make_arg_list_1):
5321         * emacs.c (make_arg_list):
5322         Mule-ize call to dll_init().
5323         [6].
5324         [8].
5325
5326         * emacs.c (make_argc_argv):
5327         * emacs.c (free_argc_argv):
5328         * emacs.c (init_cmdargs):
5329         * emacs.c (main_1):
5330         * emacs.c (Fkill_emacs):
5331         * emacs.c (Fdump_emacs):
5332         Update comments about what can be used in syms_* etc.
5333         Call init_win32() when necessary.
5334         Fix up MS Win dialog box in kill-buffer to actually work right.
5335         [7].
5336
5337         * eval.c:
5338         * eval.c (For):
5339         * eval.c (Fand):
5340         * eval.c (Fprogn):
5341         * eval.c (Fprog1):
5342         * eval.c (Fprog2):
5343         * eval.c (FletX):
5344         * eval.c (Flet):
5345         * eval.c (condition_case_3):
5346         * eval.c (Feval):
5347         * eval.c (function_argcount):
5348         * eval.c (funcall_lambda):
5349         [1].
5350
5351         * eval.c (type_error): New.
5352         * eval.c (maybe_type_error): New.
5353         * eval.c (continuable_type_error): New.
5354         * eval.c (maybe_continuable_type_error): New.
5355         * eval.c (type_error_with_frob): New.
5356         * eval.c (maybe_type_error_with_frob): New.
5357         * eval.c (continuable_type_error_with_frob): New.
5358         * eval.c (maybe_continuable_type_error_with_frob): New.
5359         New functions for use with structured errors.
5360
5361         * event-Xt.c:
5362         * event-Xt.c (x_event_to_emacs_event):
5363         Buttons are now modifiers too.
5364
5365         * event-Xt.c (emacs_Xt_current_event_timestamp):
5366         Implement new event method.
5367         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
5368
5369         * event-msw.c:
5370         * event-msw.c (ntpipe_shove_writer): [5].
5371         * event-msw.c (mswindows_enqueue_mouse_button_event):
5372         * event-msw.c (mswindows_drain_windows_queue):
5373         * event-msw.c (mswindows_wnd_proc): [7].
5374         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
5375         * event-msw.c (mswindows_modifier_state):
5376         Throughout: support new button modifiers.
5377
5378         * event-msw.c (emacs_mswindows_current_event_timestamp):
5379         Implement new event method.
5380         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
5381
5382         * event-stream.c:
5383         * event-stream.c (event_stream_current_event_timestamp): New.
5384         * event-stream.c (maybe_kbd_translate): New functionality.
5385         * event-stream.c (vars_of_event_stream):
5386         Document new kbd-translate-table functionality.
5387
5388         * event-stream.c (Fcurrent_event_timestamp): New.
5389         New primitive for use in fabricated events.
5390         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
5391
5392         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
5393
5394         * events.c:
5395         * events.c (Fmake_event):
5396         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
5397         [1].
5398         [9].
5399
5400         * events.c (format_event_object): fix gcc warnings.
5401
5402         * events.c (Fevent_timestamp): Document new primitives.
5403
5404         * events.c (TIMESTAMP_HALFSPACE): New.
5405
5406         * events.c (Fevent_timestamp_lessp): New.  New primitive for
5407         comparing timestamps correctly (half-space algorithm).
5408
5409         * events.c (Fevent_modifier_bits): Doc fix.
5410
5411         * events.c (Fevent_modifiers): Major doc addition.
5412         * events.c (event_x_y_pixel_internal): Typo fix.
5413         * events.c (syms_of_events): Declare new primitives.
5414
5415         * events.h:
5416         Update long comment for button modifiers, timestamps.
5417
5418         * events.h (struct event_stream):
5419         New current_event_timestamp method.
5420
5421         * extents.c:
5422         * extents.c (extent_in_region_p):
5423         * extents.c (decode_extent):
5424         * extents.c (Fset_extent_parent):
5425         * extents.c (decode_map_extents_flags):
5426         Fix gcc warnings.
5427         [9].
5428
5429         * extents.c (struct extent_at_arg):
5430         * extents.c (decode_extent_at_flag):
5431         * extents.c (extent_at_mapper):
5432         * extents.c (extent_at_bytind):
5433         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
5434         * extents.c (Fextents_at): New primitive. [9].
5435         * extents.c (symbol_to_glyph_layout): [9].
5436         Support new primitive `extents-at'.
5437
5438
5439         * extents.c (get_text_property_bytind):
5440         extent_at_bytind has another arg.
5441         [9].
5442
5443         * extents.c (syms_of_extents): New primitive.
5444
5445         * file-coding.c (Fmake_coding_system): [1].
5446         * file-coding.c (subsidiary_coding_system): fix gcc warning
5447         * file-coding.c (syms_of_file_coding): [2].
5448
5449         * fileio.c (Fexpand_file_name):
5450         * fileio.c (Fsysnetunam):
5451         * fileio.c (Ffile_exists_p):
5452         * fileio.c (Ffile_executable_p):
5453         * fileio.c (Fverify_visited_file_modtime):
5454         Clean up GCPROing.
5455
5456         * fileio.c (syms_of_fileio): [2].
5457
5458         * filelock.c (lock_file_1):
5459         * filelock.c (current_lock_owner):
5460         * filelock.c (lock_if_free):
5461         * filelock.c (lock_file):
5462         * filelock.c (unlock_file):
5463         Clean up GCPROing.
5464
5465         * fns.c (concat): Fix gcc warning.
5466
5467         * fns.c (Fmember):
5468         * fns.c (Fold_member):
5469         * fns.c (Fmemq):
5470         * fns.c (Fold_memq):
5471         * fns.c (memq_no_quit):
5472         * fns.c (Fassoc):
5473         * fns.c (Fold_assoc):
5474         * fns.c (Fassq):
5475         * fns.c (Fold_assq):
5476         * fns.c (assq_no_quit):
5477         * fns.c (Frassoc):
5478         * fns.c (Fold_rassoc):
5479         * fns.c (Frassq):
5480         * fns.c (Fold_rassq):
5481         * fns.c (rassq_no_quit):
5482         * fns.c (Fdelete):
5483         * fns.c (Fold_delete):
5484         * fns.c (Fdelq):
5485         * fns.c (Fold_delq):
5486         * fns.c (delq_no_quit):
5487         * fns.c (Fremassoc):
5488         * fns.c (Fremassq):
5489         * fns.c (remassq_no_quit):
5490         * fns.c (Fremrassoc):
5491         * fns.c (Fremrassq):
5492         * fns.c (remrassq_no_quit):
5493         * fns.c (Freverse):
5494         * fns.c (mapcar1):
5495         [1].
5496
5497         * frame-msw.c (mswindows_init_frame_1):
5498         * frame-msw.c (mswindows_delete_frame):
5499         Register popups with dialog code so keyboard traversing works.
5500
5501         * frame-tty.c (tty_raise_frame_no_select): [1].
5502
5503         * frame-x.c:
5504         * frame-x.c (x_set_frame_text_value):
5505         * frame-x.c (x_set_frame_properties):
5506         * frame-x.c (x_create_widgets):
5507         [7].
5508
5509         * frame.c:
5510         * frame.c (Fmouse_pixel_position): Minor doc fixes.
5511
5512         * frame.h (wrap_frame): New.
5513         Macro like wrap_device.
5514
5515         * general.c:
5516         * general.c (SYMBOL):
5517         * general.c (syms_of_general):
5518         Major reorg.  This is now just a wrapper and symbols themselves
5519         are listed in general-slots.h.
5520
5521         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
5522         * glyphs-msw.c (mswindows_resource_instantiate): [5].
5523
5524         * glyphs-msw.c (mswindows_native_layout_instantiate):
5525         Add DS_CONTROL so keyboard traversal will work.
5526
5527         * glyphs-widget.c:
5528         * glyphs-widget.c (syms_of_glyphs_widget):
5529         Move some symbols to general-slots.h.
5530
5531         * glyphs-x.c:
5532         * glyphs-x.c (xbm_instantiate_1):
5533         * glyphs-x.c (x_xbm_instantiate):
5534         * glyphs-x.c (x_xface_instantiate):
5535         * glyphs-x.c (autodetect_instantiate):
5536         * glyphs-x.c (cursor_font_instantiate):
5537         * glyphs-x.c (x_update_widget):
5538         * glyphs-x.c (x_widget_instantiate):
5539         * glyphs.c (bitmap_to_lisp_data):
5540         * glyphs.c (pixmap_to_lisp_data):
5541         [7].
5542
5543         * glyphs.c (syms_of_glyphs):
5544         [2].
5545
5546         * gui-x.c:
5547         * gui-x.c (print_widget_value):
5548         * gui-x.c (menu_separator_style_and_to_external):
5549         * gui-x.c (add_accel_and_to_external):
5550         * gui-x.c (button_item_to_widget_value):
5551         * gui-x.c (gui_items_to_widget_values_1):
5552         * gui-x.c (gui_items_to_widget_values):
5553         * gui-x.c (syms_of_gui_x):
5554         * gui-x.c (vars_of_gui_x):
5555         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
5556         [9].
5557
5558         * gui-x.h:
5559         Muleize, prototype changes matching gui-x.c.
5560
5561         * gui.c:
5562         * gui.c (separator_string_p):
5563         * gui.c (gui_item_add_keyval_pair):
5564         * gui.c (make_gui_item_from_keywords_internal):
5565         * gui.c (signal_too_long_error):
5566         * gui.c (parse_gui_item_tree_item):
5567         * gui.c (syms_of_gui):
5568         * gui.c (vars_of_gui):
5569         * gui.h:
5570         menu-no-selection-hook moved here (used by MSWin).
5571         Move some symbols to general-slots.h.
5572         [6].
5573         [9].
5574
5575         * insdel.c (get_buffer_pos_char):
5576         * insdel.c (get_buffer_range_char):
5577         Add GC comments.
5578
5579         * keymap.c (keymap_lookup_directly):
5580         * keymap.c (keymap_store):
5581         * keymap.c (ensure_meta_prefix_char_keymapp):
5582         * keymap.c (describe_map):
5583         * keymap.h:
5584         Support new button modifiers.
5585
5586         * lisp-disunion.h (wrap_object):
5587         * lisp-disunion.h (XSETOBJ):
5588         Rename make_obj to wrap_object.
5589
5590         * lisp-union.h:
5591         * lisp-union.h (make_int):
5592         * lisp-union.h (make_char):
5593         Support wrap_object.
5594
5595         * lisp.h:
5596         * lisp.h (LIST_LOOP):
5597         * lisp.h (EXTERNAL_LIST_LOOP):
5598         * lisp.h (LIST_LOOP_2):
5599         * lisp.h (EXTERNAL_LIST_LOOP_1):
5600         * lisp.h (EXTERNAL_LIST_LOOP_2):
5601         * lisp.h (EXTERNAL_LIST_LOOP_3):
5602         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
5603         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5604         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
5605         * lisp.h (EXTERNAL_ALIST_LOOP_5):
5606         * lisp.h (EXTERNAL_ALIST_LOOP_6):
5607         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
5608         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
5609         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
5610         * lisp.h (struct Lisp_Symbol):
5611         * lisp.h (maybe_continuable_error_with_frob):
5612         Fix up section comments.
5613         Add new types for char to indicate usage.
5614         Delete symbols auto-generated from general-slots.h.
5615         Add prototypes for structured error functions.
5616         Add long comments describing looping macros and change interface
5617         so that lvalues are automatically declared.
5618         Add NO_DECLARE macro in case callers want to declare lvalues
5619         themselves.
5620
5621         * lread.c (read_syntax_error):
5622         * lread.c (continuable_read_syntax_error):
5623         * lread.c (read_structure):
5624         * lread.c (sequence_reader):
5625         * lread.c (read_list_conser):
5626         * lread.c (read_compiled_function):
5627         Rename syntax_error and continuable_syntax_error to avoid clash
5628         with same-named structured error functions.
5629
5630         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5631         * menubar-msw.c (populate_menu_add_item):
5632         * menubar-msw.c (populate_or_checksum_helper):
5633         [5].
5634         [9].
5635
5636         * menubar-x.c:
5637         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5638         Mule-ize whole file.
5639
5640         * menubar.c (Fnormalize_menu_item_name): Add optimization.
5641
5642         * mule-charset.c (Fmake_charset):
5643         * mule-wnnfns.c (Fwnn_set_param):
5644         [1].
5645
5646         * ntproc.c (create_child):
5647         * ntproc.c (Fwin32_set_current_locale):
5648         Add comments portending doom.
5649
5650         * objects-msw.c:
5651         * objects-msw.c (old_font_enum_callback_2):
5652         * objects-msw.c (font_enum_callback_1):
5653         * objects-msw.c (mswindows_enumerate_fonts):
5654         [5].
5655
5656         * objects-x.c:
5657         * objects-x.c (allocate_nearest_color):
5658         * objects-x.c (x_parse_nearest_color):
5659         * objects-x.c (x_initialize_color_instance):
5660         * objects-x.c (x_print_color_instance):
5661         * objects-x.c (x_finalize_color_instance):
5662         * objects-x.c (x_valid_color_name_p):
5663         * objects-x.c (x_initialize_font_instance):
5664         * objects-x.c (x_print_font_instance):
5665         * objects-x.c (valid_x_font_name_p):
5666         * objects-x.c (truename_via_FONT_prop):
5667         * objects-x.c (truename_via_random_props):
5668         * objects-x.c (truename_via_XListFonts):
5669         * objects-x.c (x_font_truename):
5670         * objects-x.c (x_font_instance_truename):
5671         * objects-x.c (x_font_instance_properties):
5672         * objects-x.c (x_list_fonts):
5673         * objects-x.c (x_find_charset_font):
5674         Mule-ize entire file.
5675         [7].
5676
5677         * objects-x.h:
5678         Mule-verify.
5679
5680         * print.c:
5681         * print.c (std_handle_out_external):
5682         * print.c (debug_print_no_newline):
5683         * print.c (syms_of_print):
5684         Output to all debugger kinds in debug-print.
5685         Fix console-output code under MSWin to actually work.
5686
5687         * process-nt.c (send_signal):
5688         * process-nt.c (nt_create_process):
5689         Use newer Unicode macros.
5690
5691         * process-unix.c (unix_create_process):
5692         * process-unix.c (unix_canonicalize_host_name):
5693         * process-unix.c (unix_open_network_stream):
5694         [7].
5695
5696         * scrollbar-x.c:
5697         Mule-verify.
5698
5699         * search.c (syms_of_search):
5700         [2].
5701
5702         * select-msw.c (mswindows_destroy_selection):
5703         Use LIST_LOOP_2.
5704
5705         * select-x.c (symbol_to_x_atom):
5706         [7].
5707
5708         * select.c (syms_of_select):
5709         [2].
5710
5711         * sound.c (Fplay_sound_file):
5712         [7].
5713
5714         * specifier.c:
5715         * specifier.c (decode_specifier_type):
5716         * specifier.c (Fvalid_specifier_locale_type_p):
5717         * specifier.c (check_valid_locale_or_locale_type):
5718         * specifier.c (decode_locale):
5719         * specifier.c (decode_locale_type):
5720         * specifier.c (decode_locale_list):
5721         * specifier.c (check_valid_domain):
5722         * specifier.c (decode_specifier_tag_set):
5723         * specifier.c (Fcanonicalize_tag_set):
5724         * specifier.c (Fdefine_specifier_tag):
5725         * specifier.c (Fspecifier_tag_predicate):
5726         * specifier.c (check_valid_inst_list):
5727         * specifier.c (check_valid_spec_list):
5728         * specifier.c (decode_how_to_add_specification):
5729         * specifier.c (check_modifiable_specifier):
5730         * specifier.c (specifier_add_spec):
5731         * specifier.c (boolean_validate):
5732         * specifier.c (display_table_validate):
5733         [9].
5734
5735         * specifier.c (syms_of_specifier):
5736         Move some symbols to general-slots.h.
5737         [2].
5738
5739         * symbols.c:
5740         * symbols.c (Fmapatoms):
5741         * symbols.c (Fapropos_internal):
5742         Add GCPROs.
5743
5744         * symbols.c (set_default_buffer_slot_variable):
5745         * symbols.c (set_default_console_slot_variable):
5746         [1].
5747
5748         * symbols.c (defsymbol_massage_name_1):
5749         * symbols.c (defkeyword_massage_name):
5750         * symbols.c (deferror_1):
5751         * symbols.c (deferror):
5752         * symbols.c (deferror_massage_name_and_message):
5753         * symeval.h:
5754         * symeval.h (DEFSYMBOL):
5755         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
5756
5757         * symbols.c (syms_of_symbols):
5758         [2].
5759
5760         * symsinit.h:
5761         * symsinit.h (init_win32): New.
5762         Also new is syms_of_dialog_mswindows.
5763
5764         * syswindows.h:
5765         Add new Unicode macros, missing Cygwin wide-char functions,
5766         convenience conversion macros for Qmswindows_tstr, macros for
5767         encapsulating required MSWin <-> Cygwin filename conversions,
5768         prototype for dynamically-extracted (not in NT 3.51) functions.
5769
5770         * toolbar-x.c:
5771         Mule-verify.
5772
5773         * tooltalk.c (Fadd_tooltalk_message_arg):
5774         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
5775         * tooltalk.c (Fadd_tooltalk_pattern_arg):
5776         [7].
5777
5778         * tooltalk.c (syms_of_tooltalk):
5779         [2].
5780
5781         * unexnt.c:
5782         * unexnt.c (unexec):
5783         Fix up headers, declaration of unexec() to be more standard.
5784
5785 2000-07-20  Martin Buchholz  <martin@xemacs.org>
5786
5787         * offix.h: Revert change to guard macros - they're used in offix.c!
5788
5789 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5790
5791         * lisp.h: Defsubred Fdelete.
5792
5793         * console-msw.h:  (msprinter_default_printer): Added.
5794
5795         * console-msw.c (msprinter_canonicalize_console_connection):
5796         (msprinter_canonicalize_device_connection): Added.
5797
5798         * device-msw.c (msprinter_default_printer):
5799         (Fmswingows_get_default_printer):
5800         (signal_enum_priner_error):
5801         (Fmswingows_printer_list): Added.
5802
5803 2000-07-19  Martin Buchholz <martin@xemacs.org>
5804
5805         * XEmacs 21.2.35 is released.
5806
5807 2000-07-19  Martin Buchholz  <martin@xemacs.org>
5808
5809         * select-x.c (x_handle_selection_request):
5810         Text selected in xemacs and pasted into xterm failed to appear.
5811         Spelling fixes and cosmetic changes.
5812
5813 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5814
5815         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
5816         XEmacs frame (fix for doubling chars in dialog boxes).
5817
5818 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
5819
5820         * select.c (select_convert_in, select_convert_out):
5821         Don't call intern() every time.
5822
5823         * select.c (Qselect_convert_in, Qselect_convert_out): New.
5824         * select.c (vars_of_select): Initialise them.
5825
5826 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
5827
5828         * select.c (selection-coercible-types): New.
5829
5830         * select.c (own-selection-internal):
5831         * select.c (get-selection-internal):
5832         MULE bug fix - these should default to COMPOUND_TEXT and not
5833         STRING for MULE. I think.
5834
5835         * select.c (select_convert_out): Use selection-coercible-types
5836         to find types that we can attempt to perform coercions on.
5837
5838 2000-07-18  Martin Buchholz  <martin@xemacs.org>
5839
5840         * mule-wnnfns.c:
5841         * mule-canna.c:
5842         Add coding: cookie to identify encoding.
5843
5844         * mule-canna.c (CANNA_mode_keys): make static.
5845         Use proper prototypes, even for functions of no arguments.
5846         Remove external prototype for Fding().
5847
5848         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
5849
5850         * select.c (syms_of_select): Add missing DEFSUBR.
5851
5852 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
5853
5854         * select.c (get_selection_internal, own_selection_internal):
5855         Make the type default to STRING, rather than placing a nil type
5856         into Vselection_alist.
5857
5858 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
5859
5860         * gpmevent.c (tty_selection_exists_p):
5861         * gpmevent.c (tty_own_selection):
5862         Updated parameter lists.
5863
5864 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
5865
5866         * select.h (selection-alist): Removed declaration.
5867
5868         * select.h (get_local_selection):
5869         * select.c (get_local_selection):
5870         Made static.
5871
5872         * select.h (convert_selection): Removed declaration.
5873         * select.c (convert_selection): Removed.
5874         This function belongs in Lisp.
5875
5876         * select.h (select_convert_in): Declare.
5877         * select.h (select_convert_out): Declare.
5878         * select.c (select_convert_in): New.
5879         * select.c (select_convert_out): New.
5880         New conversion functions for other files to call.
5881
5882         * select.h (select_notify_buffer_kill): Declare.
5883         * select.c (select_notify_buffer_kill): New.
5884         New functions that get called from kill-buffer.
5885
5886         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
5887         X-specific lisp code.
5888
5889         * select.h: Declare some of the lisp-visible functions for
5890         external use.
5891
5892         * select.c (clean_local_selection_data): Removed. This was
5893         a disgusting function, and previously should have been in
5894         select-x.c in any case. The functionality is now provided
5895         in select-convert-from-integer (select.el).
5896
5897         * select.c (available-selection-types): Fixed stupidity where
5898         INTEGER and ATOM got added twice. Also add STRING when we see an
5899         extent.
5900
5901         * select.c (get-selection-internal): Removed symbol stripping. No
5902         longer causes conversion when data comes from the internal cache.
5903
5904         * select.c (syms_of_select): Added new functions.
5905
5906         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
5907         error checking - previously this called abort!
5908
5909         * select-x.c (x_own_selection): Changed comment.
5910
5911         * select-x.c (x_handle_selection_request): Use select_convert_out.
5912         Don't mess with selection-alist; it's an internal variable of select.c.
5913
5914         * select-x.c (x_get_foreign_selection): Use select_convert_in.
5915
5916         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
5917         rather than messing with selection-alist.
5918
5919         * select-msw.c (mswindows_get_foreign_selection):
5920         Use TO_INTERNAL_FORMAT rather than hacking.
5921
5922 2000-07-14  Martin Buchholz  <martin@xemacs.org>
5923
5924         * process-unix.c (unix_open_multicast_group):
5925         (unix_open_multicast_group): Remove useless casts.
5926
5927 2000-07-13  Martin Buchholz  <martin@xemacs.org>
5928
5929         * sound.c (Fplay_sound): Fix `unused variable' warning.
5930
5931         * emacs.c (main): Use correct type for _environ on SCO5.
5932
5933 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
5934
5935         * console.h (own_selection_method):
5936         * console.h (selection_exists_p_method):
5937         * console.h (available_selection_types_method): New.
5938         * console.h (register_selection_data_type_method): New.
5939         * console.h (selection_data_type_name): New.
5940
5941         * console-msw.h (mswindows_destroy_selection): Declare it.  New
5942         function & alist to track GlobalAlloc()'d handles that need
5943         releasing when the clipboard data gets replaced or emptied.
5944
5945         * event-msw.c (mswindows_wnd_proc): Call it.
5946
5947         * lisp.h, general.c (Qappend): New symbol representing a
5948         `how-to-add' mode.
5949
5950         * select.c (own-selection-internal):
5951         * select.c (selection-exists-p):
5952         * select.c (available-selection-types): New.
5953         * select.c (register-selection-data-type): New.
5954         * select.c (selection-data-type-name): New.  New functions to deal
5955         with device-specific selection data formats.
5956         * select.c (selection-converter-out-alist): Renamed.
5957         * select.c (selection-converter-in-alist): New.
5958         * select.c (selection-appender-alist): New.  Added new alists.
5959         * select.c (syms_of_select, vars_of_select): Added new symbols &
5960         variables.
5961         * select.c (get_local_selection): Split.
5962         * select.c: Removed spurious type checking - selections may now be
5963         of any type, not just strings.
5964         * select.c (own-selection-internal):
5965
5966         * select.h, select.c (convert_selection): New. Created
5967         convert_selection() function based on get_local_selection().
5968         * select.h, select.c (QCF_*): New symbols representing mswindows
5969         clipboard formats.
5970         * select.h, select.c (Qreplace_all, Qreplace_existing): New
5971         symbols representing `how-to-add' modes.
5972
5973         * select-msw.c (x_sym_p): New.
5974         * select-msw.c (symbol_to_ms_cf): New.
5975         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
5976         symbols & clipboard formats. Can also handle string names.
5977         * select-msw.c (mswindows_own_selection):
5978         * select-msw.c (mswindows_selection_exists_p):
5979         Added `data-type' parameter. Use it.
5980         * select-msw.c (mswindows_available_selection_types): New.
5981         * select-msw.c (mswindows_register_selection_data_type): New.
5982         * select-msw.c (mswindows_selection_data_type_name): New.
5983         * select-msw.c (mswindows_own_selection):
5984         * select-msw.c (mswindows_get_foreign_selection):
5985         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
5986         * select-msw.c (console_create_select_mswindows): Added new methods.
5987         * select-msw.c (mswindows_destroy_selection): New.
5988         * select-msw.c (Vhandle_alist): New list.
5989         * select-msw.c (mswindows_own_selection):
5990
5991         * select-x.c (x_own_selection):
5992         * select-x.c (x_selection_exists_p):
5993         * select-x.c: Added some comments about maybe using new
5994         functionality.
5995         * select-x.c (x_own_selection):
5996
5997         * specifier.c: Remove definition of Qappend (now in general.c)
5998         * specifier.c (syms_of_specifier): Remove Qappend.
5999
6000 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6001
6002         * config.h.in: Add socklen_t.
6003
6004         * s/decosf4-0.h: No special compiler flags needed or desired.
6005         In particular, undefine _BSD for DEC OSF 4.0.
6006
6007 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6008
6009         * redisplay-msw.c (msprinter_frame_output_end): Added.
6010         (console_type_create_redisplay_mswindows): Referred the above.
6011
6012         * frame.c (setup_frame_without_minibuffer): Do not create a
6013         default minibuffer frame on a printer device.
6014
6015         * frame-msw.c (apply_dc_geometry): Added.
6016         (msprinter_start_page):
6017         (msprinter_init_frame_3):
6018         (msprinter_eject_page): Use it.
6019
6020         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6021         and removed residual duplex and orientation properties.
6022
6023 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6024
6025         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6026
6027         * unexalpha.c: Remove system prototypes from C sources!
6028
6029 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6030
6031         * eval.c: Remove references to M-x edit-options in DEFUNs for
6032         `defvar' and `defconst'.
6033
6034 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6035
6036         * config.h.in: Remove SMART_INCLUDE hackery.
6037
6038         PostgreSQL hacking:
6039         * config.h.in: Don't use SMART_INCLUDE.
6040
6041         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6042         * inline.c: Simply #include "postgresql.h"
6043         * postgresql.c:
6044         - Don't use SMART_INCLUDE
6045         - Use simply "const".
6046         - Use standard doc string conventions.
6047         - Use correct type for result of PQstatus.
6048
6049 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6050
6051         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6052
6053         C++ compilation changes.
6054         * config.h.in (EXTERN_C): Define.
6055         * config.h.in (not): This is also a C++ keyword.
6056         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6057         * cm.c: Use EXTERN_C.
6058         * redisplay-tty.c: Use EXTERN_C.
6059         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6060
6061 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6062
6063         * general.c: Remove duplicate definition for Qfunction.
6064
6065 2000-07-08  Ben Wing  <ben@xemacs.org>
6066
6067         * device-msw.c (msprinter_init_device):
6068         * device-msw.c (sync_printer_with_devmode):
6069         * device-msw.c (handle_devmode_changes):
6070         * device-msw.c (print_dialog_worker):
6071         * device-msw.c (Fmsprinter_apply_settings):
6072         * device-msw.c (hash_devmode):
6073         * device-msw.c (Fmsprinter_settings_despecialize):
6074         use Qmswindows_tstr, not Qctext.
6075
6076         * vm-limit.c (check_memory_limits):
6077         avoid infinite loop printing warning messages.
6078
6079 2000-07-05  Craig Lanning  <lanning@scra.org>
6080
6081         * Makefile.in.in: Add support for including the Windows resources
6082         when building with the cygwin and mingw targets.
6083
6084         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6085         not set or not correct.
6086         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6087         (init_initial_directory): Don't try to use $PWD on the
6088         WIN32_NATIVE target.
6089
6090         * s\cygwin32.h:
6091         [[Add -mwindows to eliminate console window.]] not required --ben
6092         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6093         (MAIL_USE_POP): removed; now handled by configure.
6094
6095         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6096         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6097         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6098         (MAIL_USE_POP): removed; now handled by configure.
6099         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6100         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6101         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6102         constant string.
6103         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6104         up from <winsock.h> via systime.h.
6105         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6106         (getpagesize): from Dan Holmsand, added.
6107         Added #endif which was left dangling by Ben's mega patch; added
6108         comment to help prevent this in the future.
6109
6110         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6111
6112 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6113
6114         * console-msw.h (struct mswindows_device): Removed unnecessary
6115         cached device geometry values.
6116         Added update_tick and an accessor macro.
6117         (Lisp_Devmode): Added lrecord declaration.
6118         (struct msprinter_device): Contain devmode as a Lisp object.
6119         Added mswindows_get_selected_frame_hwnd();
6120
6121         * console.h (struct console_methods): Indentation nitpicking.
6122
6123         * device-msw.c (mswindows_init_device): Do not initialize geometry
6124         cache. Initialize update tick.
6125         (mswindows_device_system_metrics): Ask the device for its geometry.
6126         (global_free_2_maybe):
6127         (devmode_to_hglobal):
6128         (handle_printer_changes):
6129         (ensure_not_printing):
6130         (print_dialog_worker):
6131         (Fmsprinter_print_setup_dialog):
6132         (Fmsprinter_print_dialog):
6133         (plist_get_margin):
6134         (plist_set_margin):
6135         (Fmsprinter_page_setup_dialog): Added functions.
6136         (sync_printer_with_devmode):
6137         (handle_devmode_changes):
6138         (Fmsprinter_get_settings):
6139         (Fmsprinter_select_settings):
6140         (Fmsprinter_apply_settings):
6141         (allocate_devmode):
6142         (Fmsprinter_settings_copy):
6143         (Fmsprinter_settings_despecialize):
6144         (print_devmode):
6145         (finalize_devmode):
6146         (equal_devmode):
6147         (hash_devmode): Added functions
6148         (syms_of_device_mswindows): Init devmode lrecord class.
6149
6150         * device.h: Added an exfun for find-device.
6151
6152         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6153         geometry; although, recreate the device compatible DC.
6154
6155         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6156         (msprinter_init_frame_3):
6157         (msprinter_frame_property):
6158         (msprinter_internal_frame_property_p):
6159         (msprinter_frame_properties):
6160         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6161         print job properties (will move to device settings).
6162
6163         * lisp.h: Added symbols.
6164
6165         * general.c (syms_of_general): Declared them.
6166
6167         * hash.c (string_hash): Added.
6168
6169         * lrecord.h (lrecord_type): Added devmode lrecord type.
6170
6171 2000-07-02  Mike Sperber <mike@xemacs.org>
6172
6173         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6174         FreeBSD 4.0.
6175
6176 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6177
6178         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6179         integer.
6180
6181 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6182
6183         * data.c (Fstring_to_number): Don't recognize floating point if
6184         base is not 10.
6185
6186 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6187
6188         * glyphs-widget.c (tab_control_query_geometry):
6189         (widget_query_geometry):
6190         (button_query_geometry):
6191         * glyphs.c (text_query_geometry):
6192         Enforce type correctness.
6193
6194 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6195
6196         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6197         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6198
6199 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6200
6201         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6202         conflicts with gcc's fixincluded version of FOO.h.
6203
6204         * glyphs.h (image_instance_geometry): Remove trailing `,'
6205
6206 2000-06-08  Mike Alexander  <mta@arbortext.com>
6207
6208         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6209         (shove_thread): Don't write the same output twice
6210         (make_ntpipe_output_stream): Increase priority of shove thread
6211         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6212         chance to run
6213         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6214         it.
6215
6216 2000-06-12  Ben Wing  <ben@xemacs.org>
6217
6218         * s\mingw32.h (sigset):
6219         * s\windowsnt.h (sigset):
6220         rename msw_ to mswindows_ for consistency with general convention.
6221
6222 2000-06-12  Ben Wing  <ben@xemacs.org>
6223
6224         * console-msw.c:
6225         * console-msw.c (mswindows_get_console_hwnd):
6226         * console-msw.c (mswindows_ensure_console_allocated):
6227         * console-msw.c (mswindows_hide_console):
6228         * console-msw.c (mswindows_show_console):
6229         * console-msw.c (mswindows_ensure_console_buffered):
6230         * console-msw.c (mswindows_output_console_string):
6231         * console-msw.c (mswindows_windows9x_p):
6232         * console-msw.h:
6233         * device-msw.c (mswindows_get_workspace_coords):
6234         * device-msw.c (mswindows_device_system_metrics):
6235         * dialog-msw.c (mswindows_popup_dialog_box):
6236         * event-msw.c (mswindows_wnd_proc):
6237         * frame-msw.c (mswindows_size_frame_internal):
6238         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6239         * menubar-msw.c (displayable_menu_item):
6240         * menubar-msw.c (mswindows_char_is_accelerator):
6241         * nt.c:
6242         * nt.c (mswindows_sigset):
6243         * nt.c (mswindows_sigrelse):
6244         * nt.c (mswindows_sigpause):
6245         * nt.c (mswindows_raise):
6246         * nt.c (timer_proc):
6247         * ntproc.c:
6248         * ntproc.c (find_child_console):
6249         * ntproc.c (sys_kill):
6250         * print.c:
6251         * print.c (std_handle_out_external):
6252         * process-nt.c (find_child_console):
6253         * process-nt.c (send_signal_the_95_way):
6254         * process-nt.c (ensure_console_window_exists):
6255         * process-nt.c (nt_create_process):
6256         * syssignal.h:
6257         rename msw_ to mswindows_ for consistency with general convention.
6258
6259         * emacs.c:
6260         * dumper.c:
6261         include nt.h, not syswindows.h.
6262
6263         * nt.c (mswindows_fstat):
6264         * nt.c (mswindows_stat):
6265         prefix mswindows_ instead of attempting to directly override the
6266         library functions.  fix declarations.
6267
6268         * nt.h:
6269         include syswindows.h.  move some sysdep.h stuff here.
6270
6271         * ntheap.h:
6272         include syswindows.h, not <windows.h>.
6273
6274         * ntplay.c:
6275         clean up headers.
6276
6277         * sysdep.c:
6278         clean up headers.
6279
6280         * sysdep.c (sys_fstat):
6281         * sysdep.c (sys_stat):
6282         call mswindows versions when appropriate.
6283
6284         * sysdep.h:
6285         move mswin decls to nt.h.
6286
6287         * syswindows.h:
6288         add long comment describing appropriate use of the various windows
6289         headers.
6290
6291 2000-06-11  Ben Wing  <ben@xemacs.org>
6292
6293         * device-x.c: Correct doc string for sixth arg of x-get-resource.
6294
6295 2000-06-10  Ben Wing  <ben@xemacs.org>
6296
6297         * Makefile.in.in (release):
6298         Correction to make sure xemacs.exe always dumped when correct.
6299
6300         * alloca.c:
6301         * balloon_help.c:
6302         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
6303
6304         * buffer.c (set_buffer_internal):
6305         [[[[2]]]]: Remove HAVE_FEP code.
6306
6307         * buffer.c (init_initial_directory):
6308         [3].
6309
6310         * bytecode.c:
6311         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
6312         individual files.
6313
6314         * callproc.c:
6315         * callproc.c (call_process_cleanup):
6316         * callproc.c (Fold_call_process_internal):
6317         * callproc.c (child_setup):
6318         * callproc.c (getenv_internal):
6319         * callproc.c (init_callproc):
6320         * callproc.c (vars_of_callproc):
6321         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
6322         __CYGWIN32__ -> CYGWIN.
6323         DOS_NT -> WIN32_NATIVE.
6324         Remove MSDOS support/references, converting to WIN32_NATIVE
6325           where correct.
6326         __MINGW32__ -> MINGW.
6327         Fix windows.h includes.
6328         Remove bogus HAVE_NTGUI.
6329
6330         * config.h.in:
6331         [2].
6332
6333         * console-msw.c:
6334         mswindows_message_outputted added for use in allowing startup
6335         errors on the console to be seen.
6336
6337         * console-msw.c (msw_ensure_console_allocated):
6338         * console-msw.c (msw_output_console_string):
6339         * console-msw.c (DHEADER):
6340         * console-msw.c (DOPAQUE_DATA):
6341         * console-msw.c (DEVENT):
6342         * console-msw.c (DCONS):
6343         * console-msw.c (DCONSCDR):
6344         * console-msw.c (DSTRING):
6345         * console-msw.c (DVECTOR):
6346         * console-msw.c (DSYMBOL):
6347         * console-msw.c (DSYMNAME):
6348         Fix warnings.
6349
6350         * console-stream.c (stream_init_console):
6351         Fix text/binary problems.
6352
6353         * device-msw.c:
6354         * device-msw.c (mswindows_finish_init_device):
6355         * device-msw.c (mswindows_delete_device):
6356         [1].
6357
6358         * device.c (handle_asynch_device_change):
6359         [3].
6360
6361         * dgif_lib.c:
6362         * dgif_lib.c (DGifOpenFileName):
6363         * dgif_lib.c (DGifOpenFileHandle):
6364         * dgif_lib.c (DGifGetLine):
6365         * dgif_lib.c (DGifGetPixel):
6366         Added config.h/lisp.h, fix up includes.
6367         [1].
6368
6369         * dired-msw.c:
6370         [4].
6371
6372         * dired.c:
6373         * dired.c (file_name_completion):
6374         * dired.c (Ffile_attributes):
6375         * dired.c (syms_of_dired):
6376         [1].
6377
6378         * dumper.c:
6379         * dumper.c (pdump_file_unmap):
6380         * dumper.c (pdump_load):
6381         [1].
6382
6383         * editfns.c:
6384         * editfns.c (Ftemp_directory):
6385         * editfns.c (user_login_name):
6386         * editfns.c (Fuser_real_login_name):
6387         * editfns.c (get_home_directory):
6388         [1].
6389
6390         * elhash.c (finish_marking_weak_hash_tables):
6391         [[[[5]]]]: Fix GCC warnings.
6392
6393         * emacs.c:
6394         * emacs.c (mswindows_handle_hardware_exceptions):
6395         * emacs.c (make_arg_list_1):
6396         * emacs.c (main_1):
6397         * emacs.c (Fkill_emacs):
6398         * emacs.c (Fdump_emacs):
6399         [1].
6400         Fix problems with nested crashes, add long comment.
6401
6402         * event-Xt.c (init_event_Xt_late):
6403         [1].
6404
6405         * event-msw.c:
6406         * event-msw.c (mswindows_dde_callback):
6407         * event-msw.c (mswindows_handle_sticky_modifiers):
6408         * event-msw.c (mswindows_wnd_proc):
6409         [1].
6410         [5].
6411
6412         * events.c (character_to_event):
6413         [1].
6414
6415         * fileio.c:
6416         * fileio.c (Ffile_name_directory):
6417         * fileio.c (Ffile_name_nondirectory):
6418         * fileio.c (directory_file_name):
6419         * fileio.c (Fexpand_file_name):
6420         * fileio.c (Fsubstitute_in_file_name):
6421         * fileio.c (Ffile_name_absolute_p):
6422         * fileio.c (check_executable):
6423         * fileio.c (Ffile_readable_p):
6424         * fileio.c (Ffile_accessible_directory_p):
6425         * fileio.c (Ffile_modes):
6426         * fileio.c (Funix_sync):
6427         * fileio.c (vars_of_fileio):
6428         [1]. [4].
6429
6430         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
6431
6432         Expand getdefdir defn.
6433         Fix bogus rename() comment.
6434
6435         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
6436         to use standard XEmacs include files, e.g. sysfile.h, rather
6437         than system-specific includes.
6438
6439         * fns.c:
6440         * fns.c (Fsubseq):
6441         [5]. [6].
6442
6443         * frame.c (vars_of_frame):
6444         [1].
6445
6446         * getloadavg.c:
6447         * getloadavg.c (getloadavg):
6448         [1]. [6].
6449         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
6450         (We don't use it elsewhere in the code; just add a comment.)
6451
6452         * gif_io.c:
6453         [6].
6454         Add config.h.
6455
6456         * glyphs-msw.c:
6457         * glyphs-msw.c (mswindows_resource_instantiate):
6458         [1].
6459
6460         * glyphs-x.c (x_native_layout_instantiate):
6461         [5].
6462
6463         * gui-msw.c (Fmswindows_shell_execute):
6464         [1].
6465
6466         * insdel.c:
6467         [4].
6468
6469         * lisp.h:
6470         [4]. [5].
6471
6472         * lread.c (locate_file_in_directory_mapper):
6473         [1].
6474
6475         * lstream.c:
6476         [4].
6477
6478         * mem-limits.h:
6479         * mem-limits.h (get_lim_data):
6480         [1].
6481
6482         * menubar-msw.c:
6483         [4].
6484
6485         * ndir.h:
6486         [1].
6487
6488         * nt.c:
6489         * nt.c (getwd):
6490         * nt.c (closedir):
6491         * nt.c (rva_to_section):
6492         * nt.c (mswindows_executable_type):
6493         [1]. [6].
6494         Fix closedir() defn.
6495
6496         * nt.h:
6497         [[[[8]]]]: *_OK defs moved to sysfile.h.
6498
6499         * ntproc.c:
6500         [6]. [7].
6501
6502         * objects-x.c:
6503         [4].
6504
6505         * print.c:
6506         * print.c (std_handle_out_external):
6507         [1]. [4].
6508
6509         * process-nt.c:
6510         * process-nt.c (nt_create_process):
6511         [6].
6512         try to fix process quoting somewhat.
6513
6514         * process-unix.c (unix_create_process):
6515         [1].
6516
6517         * process.c:
6518         * process.c (vars_of_process):
6519         Add Vnull_device.
6520
6521         * process.h:
6522         [1].
6523
6524         * realpath.c:
6525         * realpath.c (xrealpath):
6526         [1].
6527
6528         * redisplay-tty.c (init_tty_for_redisplay):
6529         [3].
6530
6531         * redisplay.c:
6532         [4]. [6].
6533
6534         * scrollbar-msw.c:
6535         [4].
6536
6537         * sheap.c:
6538         * sheap.c (more_static_core):
6539         * sheap.c (report_sheap_usage):
6540         [5]. [6].
6541
6542         * signal.c:
6543         * signal.c (alarm_signal):
6544         [1]. [6].
6545
6546         * sound.c:
6547         [6].
6548
6549         * strftime.c:
6550         * strftime.c (zone_name):
6551         [1]. [5].
6552
6553         * symsinit.h (init_sunpro):
6554         [1].
6555
6556         * syscommctrl.h:
6557         commctrl.h not in Cygwin b20.1.
6558
6559         * sysdep.c:
6560         * sysdep.c (endif):
6561         * sysdep.c (sys_subshell):
6562         * sysdep.c (init_baud_rate):
6563         * sysdep.c (emacs_get_tty):
6564         * sysdep.c (emacs_set_tty):
6565         * sysdep.c (tty_init_sys_modes_on_device):
6566         * sysdep.c (init_system_name):
6567         * sysdep.c (sys_open):
6568         * sysdep.c (interruptible_open):
6569         * sysdep.c (sys_fopen):
6570         * sysdep.c (sys_mkdir):
6571         * sysdep.c (sys_rename):
6572         * sysdep.c (get_process_times_1):
6573         [1]. [6].
6574
6575         * sysdep.h:
6576         [1].
6577
6578         * sysdir.h:
6579         * sysdir.h (DIRENTRY_NONEMPTY):
6580         [1]. [6].
6581
6582         * sysdll.c (dll_init):
6583         * sysdll.h:
6584         [1].
6585
6586         * sysfile.h:
6587         [1]. [6]. [8].
6588         added text/binary defs.
6589
6590         * sysfloat.h:
6591         [1].
6592
6593         * sysproc.h:
6594         * sysproc.h (EDESTADDRREQ):
6595         * sysproc.h (poll_fds_for_input):
6596         [1]. [6].
6597
6598         * syspwd.h:
6599         [6].
6600
6601         * syssignal.h:
6602         [1].
6603
6604         * systime.h:
6605         [1]. [6].
6606
6607         * systty.h:
6608         [1].
6609
6610         * syswindows.h:
6611         [1].
6612         Always define WIN32_LEAN_AND_MEAN.
6613
6614         * unexcw.c (unexec):
6615         [5].
6616
6617         * unexec.c:
6618         * unexec.c (copy_text_and_data):
6619         * unexec.c (adjust_lnnoptrs):
6620         [1].
6621
6622         * unexnt.c:
6623         * unexnt.c (_start):
6624         [1].
6625
6626 2000-06-07  Ben Wing  <ben@xemacs.org>
6627
6628         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
6629         was used only as a model.  We've long since extracted any useful
6630         logic or code out of this. (I just did an exhaustive search.)
6631
6632         * s\msdos.h: Removed.
6633
6634         * s\windows95.h: Removed.
6635
6636 2000-06-10  Ben Wing  <ben@xemacs.org>
6637
6638         * s\cygwin32.h:
6639         [1]. [5].
6640         Don't use extern with fun defs.
6641
6642         * s\mingw32.h:
6643         [1]. [7].
6644         Remove nt\inc include.
6645         Remove getdisk, getdefdir. (The former is unused, the latter
6646         expanded in fileio.h.)
6647
6648         * s\windowsnt.h:
6649         * s\windowsnt.h (WIN32_NATIVE):
6650         * s\windowsnt.h (HAVE_STRCASECMP):
6651         [1]. [7].
6652         Add long comment about preprocessor changes.
6653         Remove getdisk, getdefdir. (The former is unused, the latter
6654         expanded in fileio.h.)
6655
6656 2000-06-10  Ben Wing  <ben@xemacs.org>
6657
6658         * m\arm.h:
6659         * m\delta.h:
6660         * m\intel386.h:
6661         * m\sequent.h:
6662         * m\template.h:
6663         * m\windowsnt.h:
6664         [1].
6665         Remove bogus/unused NO_SOCK_SIGIO.
6666
6667 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
6668
6669         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
6670         not an Emchar.
6671
6672 2000-06-04  Mike Sperber <mike@xemacs.org>
6673
6674         * casetab.c (set_case_table): For `set-standard-case-table',
6675         actually deposit the new case tables where the rest of XEmacs can
6676         see them.
6677
6678 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
6679
6680         * data.c (Faset): Don't cast XCHAR() to unsigned char.
6681
6682 2000-06-05  Ben Wing  <ben@xemacs.org>
6683
6684         * callproc.c (child_setup): Don't do close_load_descs() under
6685         MS Windows.  Put in a comment explaining why.
6686
6687 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
6688
6689         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
6690         Toolkit shell" which breaks `kill-compilation' on Windows NT
6691         native, retaining STDERR handling improvements.
6692
6693 2000-06-01  Andreas Jaeger  <aj@suse.de>
6694
6695         * s/s390.h: Support for S390, based on a patch by Martin
6696         Schwidefsky <schwidefsky@de.ibm.com>.
6697
6698 2000-05-30  Andy Piper  <andy@xemacs.org>
6699
6700         * window.c (allocate_window):
6701         (make_dummy_parent):
6702         (Fset_window_configuration): use new hashtable type.
6703
6704         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
6705         (struct image_instantiator_methods):
6706         (struct Lisp_Image_Instance): make instance geometry signed.
6707
6708         * glyphs.c (instantiate_image_instantiator):
6709         (image_instance_query_geometry):
6710         (image_instance_layout):
6711         (image_instance_layout):
6712         (query_string_geometry):
6713         (text_query_geometry):
6714         (image_instantiate):
6715         (image_instantiate):
6716         (cache_subwindow_instance_in_frame_maybe):
6717         (subwindow_query_geometry): make instance geometry signed.
6718
6719         * glyphs-widget.c (widget_query_geometry):
6720         (widget_layout):
6721         (button_query_geometry):
6722         (tree_view_query_geometry):
6723         (tab_control_query_geometry):
6724         (layout_query_geometry):
6725         (layout_layout):
6726         (native_layout_layout): make instance geometry signed.
6727
6728 2000-05-29  Olivier Galibert  <galibert@pobox.com>
6729
6730         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
6731         constant.
6732
6733         * general.c (syms_of_general): Add Qfull_assoc symbol.
6734
6735         * data.c (finish_marking_weak_lists): Mark full-assoc lists
6736         correctly.
6737         (decode_weak_list_type): Decode full-assoc type.
6738         (encode_weak_list_type): Encode full-assoc type.
6739         (Fmake_weak_list): Update doc string.
6740
6741 2000-05-30  Andy Piper  <andy@xemacs.org>
6742
6743         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
6744
6745         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
6746         (decode_hash_table_weakness): ditto.
6747         (Fhash_table_weakness): ditto.
6748         (Fhash_table_type): ditto.
6749         (finish_marking_weak_hash_tables): ditto.
6750         (hash_table_weakness_validate): ditto.
6751         (syms_of_elhash): ditto.
6752
6753 2000-05-28  Martin Buchholz <martin@xemacs.org>
6754
6755         * XEmacs 21.2.34 is released.
6756
6757 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
6758
6759         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
6760         start cache.
6761         (updating_line_start_cache): Gone.
6762         (regenerate_window): Replace resetting of VERTICAL_CLIP by
6763         generic code to force a minimum of 1 line laid out in the
6764         CMOTION_DISP case.
6765
6766 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
6767
6768         * glyphs.c (instantiate_image_instantiator): Check for initialized
6769         height & width no longer special cases IMAGE_NOTHING.
6770         (nothing_instantiate): Set height and width of instance.
6771
6772 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6773
6774         * unexelf.c (unexec): Search for ".data" section.
6775         Initialize new_data2_offset from old_data_index.
6776         Remove redundant check for ElfW.
6777
6778 2000-05-23  Andy Piper  <andy@xemacs.org>
6779
6780         * glyphs.c (get_image_instantiator_governing_domain): allow more
6781         specific domains as the governing domain rather than expecting an
6782         exact match. This fixes problems with layouts.
6783
6784 2000-05-22  Andy Piper  <andy@xemacs.org>
6785
6786         * redisplay-output.c (compare_runes): check for non-images
6787
6788         * glyphs.c (set_glyph_dirty_p): ditto.
6789         (update_glyph_cachel_data): ditto.
6790
6791         * glyphs-widget.c (layout_post_instantiate): ditto.
6792         (layout_post_instantiate): ditto.
6793
6794         * event-msw.c (mswindows_wnd_proc): warning removal.
6795
6796 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
6797
6798         * s\mingw32.h: Added #undef for CLASH_DETECTION.
6799
6800         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
6801
6802         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
6803
6804         * nt.c (rva_to_section): mingw32 needs rva_to_section.
6805         (mswindows_executable_type): mingw32 now has enough headers for
6806         this to work.
6807
6808 2000-05-20  Andy Piper  <andy@xemacs.org>
6809
6810         * console-msw.c (mswindows_output_last_error): ; -> ,
6811
6812 2000-05-12  Andy Piper  <andy@xemacs.org>
6813
6814         * console-msw.c (FROB): compare ints with ints.
6815
6816 2000-05-11  Andy Piper  <andy@xemacs.org>
6817
6818         * glyphs-x.c (x_finalize_image_instance): make minimal build
6819         happy.
6820
6821 2000-05-20  Ben Wing  <ben@xemacs.org>
6822
6823         * event-Xt.c:
6824         * event-Xt.c (vars_of_event_Xt):
6825         move modifier-keys-are-sticky to event-stream.c.
6826
6827         * event-msw.c:
6828         * event-msw.c (mswindows_enqueue_mouse_button_event):
6829         * event-msw.c (key_needs_default_processing_p):
6830         * event-msw.c (XEMSW_LCONTROL):
6831         * event-msw.c (mswindows_handle_sticky_modifiers):
6832         * event-msw.c (FROB):
6833         * event-msw.c (clear_sticky_modifiers):
6834         * event-msw.c (output_modifier_keyboard_state):
6835         * event-msw.c (output_alt_keyboard_state):
6836         * event-msw.c (mswindows_wnd_proc):
6837         * event-msw.c (mswindows_modifier_state):
6838         * event-msw.c (emacs_mswindows_handle_magic_event):
6839         implement sticky modifiers.
6840
6841         * event-stream.c:
6842         * event-stream.c (vars_of_event_stream):
6843         move modifier-keys-are-sticky here.
6844
6845         * lisp.h:
6846         add CHECK_FUNCTION.
6847
6848         * rangetab.c:
6849         implement map-range-table.
6850
6851
6852 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
6853
6854         * redisplay-tty.c (reset_tty_modes):
6855         (tty_redisplay_shutdown): Adjust argument type to
6856         tty_frame_output_end.
6857
6858 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6859
6860         * eval.c (Fbacktrace): Don't output a line with only right
6861         parenthesis.
6862
6863 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
6864
6865         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
6866         (Fpq_reset_poll): Ditto.
6867
6868 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
6869
6870         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
6871
6872 2000-05-16  Ben Wing  <ben@xemacs.org>
6873
6874         * buffer.c:
6875         * buffer.c (dfc_convert_to/from_internal_format):
6876         * buffer.c (reinit_vars_of_buffer):
6877         Fix conversion functions to allow reentrancy.
6878
6879         * console-msw.c:
6880         * console-msw.c (mswindows_output_last_error):
6881         New fun, generally useful -- output a human-readable
6882         version of GetLastError() on the console.
6883
6884         * console-msw.h:
6885         * console-msw.h (struct mswindows_frame):
6886         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
6887
6888         * console-stream.c (stream_output_begin):
6889         * console-stream.c (stream_output_end):
6890         * console-stream.c (stream_output_vertical_divider):
6891         * console-stream.c (stream_clear_region):
6892         * console-stream.c (stream_flash):
6893         * console-stream.c (console_type_create_stream):
6894         Delete blank stream methods, not needed.
6895
6896         * console.h (struct console_methods):
6897         Split begin/end methods into window and frame.
6898
6899         * event-msw.c:
6900         * event-msw.c (mswindows_handle_paint):
6901         * event-msw.c (output_alt_keyboard_state):
6902         * event-msw.c (mswindows_wnd_proc):
6903         * event-msw.c (vars_of_event_mswindows):
6904         Comment about problems with ignored-expose.
6905         Define mswindows-debug-events; not really implemented.
6906
6907         * frame-msw.c (mswindows_init_frame_1):
6908         random cleanups.
6909
6910         * glyphs-msw.c:
6911         * glyphs-msw.c (begin_defer_window_pos):
6912         * glyphs-msw.c (mswindows_unmap_subwindow):
6913         * glyphs-msw.c (mswindows_map_subwindow):
6914         * glyphs-msw.c (mswindows_resize_subwindow):
6915         Use DeferWindowPos to reduce flashing when mapping/unmapping.
6916
6917         * glyphs.c (make_image_instance_1):
6918         Fix crash.
6919
6920         * gutter.c (Fredisplay_gutter_area):
6921         Use new begin/end methods.
6922
6923         * lisp.h (Dynarr_new2):
6924         New creation fun.
6925
6926         * redisplay-msw.c:
6927         * redisplay-msw.c (mswindows_frame_output_begin):
6928         * redisplay-msw.c (mswindows_frame_output_end):
6929         * redisplay-msw.c (console_type_create_redisplay_mswindows):
6930         New begin/end methods -- handle DeferWindowPos.
6931
6932         * redisplay-output.c (redisplay_move_cursor):
6933         * redisplay-output.c (redraw_cursor_in_window):
6934         * redisplay-output.c (redisplay_update_line):
6935         * redisplay-output.c (redisplay_output_window):
6936         New begin/end methods.
6937
6938         * redisplay-tty.c:
6939         * redisplay-tty.c (tty_frame_output_begin):
6940         * redisplay-tty.c (tty_frame_output_end):
6941         * redisplay-tty.c (console_type_create_redisplay_tty):
6942         New begin/end methods.
6943
6944         * redisplay-x.c:
6945         * redisplay-x.c (x_window_output_begin):
6946         * redisplay-x.c (x_window_output_end):
6947         * redisplay-x.c (console_type_create_redisplay_x):
6948         New begin/end methods.
6949
6950         * redisplay.c (redisplay_frame):
6951         * redisplay.c (Fredisplay_echo_area):
6952         New begin/end methods.
6953         use MAYBE_DEVMETH for clear_frame; it may not exist.
6954
6955         * window.h (WINDOW_XFRAME):
6956         WINDOW_XFOO macros -- get locale and decode struct pointer.
6957
6958
6959 2000-05-12  Ben Wing  <ben@xemacs.org>
6960
6961         * emacs.c:
6962         * emacs.c (ensure_no_quitting_from_now_on):
6963         * emacs.c (fatal_error_signal):
6964         * emacs.c (mswindows_handle_hardware_exceptions):
6965         * emacs.c (main):
6966         * emacs.c (Fkill_emacs):
6967         * emacs.c (shut_down_emacs):
6968         * emacs.c (assert_failed):
6969         various improvements in fatal error handling.
6970
6971         * eval.c:
6972         move preparing_for_armageddon to emacs.c.
6973
6974         * lisp.h:
6975         declare fatal_error_in_progress.
6976
6977         * print.c:
6978         * print.c (std_handle_out_external):
6979         * print.c (std_handle_out_va):
6980         * print.c (stderr_out):
6981         * print.c (stdout_out):
6982         use console under mswin when no standard output.
6983         don't do code conversion during fatal error.
6984
6985         * scrollbar.c (Fscrollbar_page_up):
6986         * scrollbar.c (Fscrollbar_page_down):
6987         fix missing else.  reindent.
6988
6989 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
6990
6991         Emergency fix.
6992
6993         * glyphs.h (GLYPH_CACHEL_DESCENT):
6994         (GLYPH_CACHEL_DESCENT):
6995         (GLYPH_CACHEL_DESCENT):
6996         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
6997         used in case these are inline functions.
6998         Use more absurd values to error check.
6999
7000         include window.h for error check functions.
7001
7002 2000-05-11  Ben Wing  <ben@xemacs.org>
7003
7004         * cmdloop.c (Freally_early_error_handler):
7005         Display message box under windows; otherwise, message will disappear
7006         before it can be viewed.
7007
7008         * console-msw.c:
7009         * console-msw.c (Fmswindows_message_box):
7010         * console-msw.c (FROB):
7011         * console-msw.c (syms_of_console_mswindows):
7012         Define new fun `mswindows-message-box'.
7013         #### I will merge this into `popup-dialog-box'; just give me
7014         a bit of time.
7015
7016         * general.c:
7017         * general.c (syms_of_general):
7018         Some new symbols used in `mswindows-message-box'.
7019
7020         * glyphs.c:
7021         * glyphs.c (Fset_image_instance_property):
7022         put warning in this fun.
7023
7024         * glyphs.h:
7025         * glyphs.h (GLYPH_CACHEL_WIDTH):
7026         * glyphs.h (GLYPH_CACHEL_ASCENT):
7027         * glyphs.h (GLYPH_CACHEL):
7028         * glyphs.h (GLYPH_CACHEL_GLYPH):
7029         define error-checking versions to try to catch a bug i've seen --
7030         redisplay gets in an infinite loop because the glyph width of the
7031         continuation glyph is 65535.
7032
7033         * lisp.h:
7034         Extern message-box stuff.
7035
7036         * window.c (allocate_window):
7037         * window.c (make_dummy_parent):
7038         * window.c (Fset_window_configuration):
7039         Use EQUAL not EQ for subwindow caches to make them work a bit
7040         better. (Something is still very broken.)
7041
7042
7043 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7044
7045         * glyphs.c (image_instantiate): Suppress gcc warnings.
7046         (Fmake_image_instance): Fix doc string.
7047         * specifier.c (Fmake_specifier): Ditto.
7048
7049 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7050
7051         * paths.h.in (PATH_LOCK): Removed.
7052         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7053         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7054
7055 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7056
7057         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7058         Document (featurep '(and xemacs 21.02)).
7059
7060 2000-05-09  Ben Wing  <ben@xemacs.org>
7061
7062         * buffer.c (complex_vars_of_buffer):
7063         update modeline-format doc.
7064
7065         * device.h:
7066         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7067
7068         * emacs.c:
7069         timeline of all released versions of Emacs, for use in creating
7070         authorship comments and in synching up.
7071
7072         * glyphs-widget.c (image_instantiator_buttons):
7073         * glyphs-widget.c (image_instantiator_edit_fields):
7074         * glyphs-widget.c (image_instantiator_combo_box):
7075         * glyphs-widget.c (image_instantiator_scrollbar):
7076         * glyphs-widget.c (image_instantiator_progress_guage):
7077         * glyphs-widget.c (image_instantiator_tree_view):
7078         * glyphs-widget.c (image_instantiator_tab_control):
7079         * glyphs-widget.c (image_instantiator_labels):
7080         * glyphs-widget.c (image_instantiator_layout):
7081         * glyphs-widget.c (image_instantiator_native_layout):
7082         rename decode_domain method to governing_domain.
7083
7084         * glyphs.c:
7085         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7086         * glyphs.c (add_entry_to_device_ii_format_list):
7087         make sure we don't put an entry more than once into the list.
7088         * glyphs.c (check_instance_cache_mapper):
7089         *************************************************************
7090         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7091         HAVE BEEN GETTING.
7092         *************************************************************
7093         * glyphs.c (get_image_instantiator_governing_domain):
7094         clean up, expand on new concept of governing domain.
7095         * glyphs.c (instantiate_image_instantiator):
7096         * glyphs.c (allocate_image_instance):
7097         use governing_domain instead of cache_domain in naming.
7098         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7099         * glyphs.c (make_image_instance_1):
7100         * glyphs.c (Fmake_image_instance):
7101         allow for any domain (not just device), and process the
7102         governing domain correctly.  very big doc fix.
7103         * glyphs.c (Fimage_instance_domain):
7104         new primitive, to retrieve the governing domain of an image instance.
7105         * glyphs.c (image_instantiate):
7106         use new governing_domain stuff.  this fixes a crash you could get
7107         by instantiating certain widget glyphs in frame locales. (should
7108         signal an error instead of crashing.)
7109         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7110         * glyphs.c (Fglyphp): clean up doc.
7111         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7112         * glyphs.c (syms_of_glyphs):
7113         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7114         * glyphs.c (image_instantiator_format_create): add some comments about
7115         bogus code.
7116         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7117         for current-display-table. (Apparently Hrjove implemented in 1998 a
7118         design I wrote up in 1996, but didn't update the doc string.)
7119
7120         * glyphs.h: clean up a doc string.
7121         * glyphs.h (governing_domain):
7122         * glyphs.h (struct image_instantiator_methods):
7123         changes for governing_domain stuff.
7124
7125         * gutter.c:
7126         * gutter.c (Fgutter_specifier_p):
7127         * gutter.c (Fgutter_size_specifier_p):
7128         * gutter.c (Fgutter_visible_specifier_p):
7129         * objects.c:
7130         * objects.c (Fcolor_specifier_p):
7131         * objects.c (Ffont_specifier_p):
7132         * objects.c (Fface_boolean_specifier_p):
7133         doc strings moved to make-*-specifier.
7134
7135         * redisplay.c (add_disp_table_entry_runes_1):
7136         * redisplay.c (generate_fstring_runes):
7137         * redisplay.c (screen):
7138         add random comments and doc strings.
7139
7140         * specifier.c:
7141         * specifier.c (Fmake_specifier):
7142         major overhaul of this doc string.
7143
7144         * specifier.c (Fvalid_specifier_domain_p):
7145         comment about the bogosity of image instances being domains.
7146         * specifier.c (decode_domain):
7147         now non-static, used in glyphs.c.
7148         * specifier.c (specifier_instance):
7149         comment about the bogosity of image instances being domains.
7150         * specifier.c (Fgeneric_specifier_p):
7151         move doc string to make-generic-specifier.
7152         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7153         rebackslashify.
7154
7155         * specifier.h:
7156         * specifier.h (DOMAIN_FRAME):
7157         * specifier.h (DOMAIN_LIVE_P):
7158         * specifier.h (DOMAIN_XDEVICE):
7159         rebackslashify.
7160         add comments about problems with these macros.
7161         prototype for decode_domain.
7162
7163         * toolbar.c:
7164         * toolbar.c (Ftoolbar_specifier_p):
7165         move doc string to `make-toolbar-specifier'.
7166
7167         * window.c (window_unmap_subwindows_cache_mapper):
7168         *************************************************************
7169         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7170         HAVE BEEN GETTING.
7171         *************************************************************
7172
7173 2000-05-09  Andy Piper  <andy@xemacs.org>
7174
7175         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7176
7177         * window.c (Fset_window_configuration): reset the frame subwindow
7178         cache and re-initialize the window subwindow caches.
7179
7180         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7181
7182 2000-05-09  Ben Wing  <ben@xemacs.org>
7183
7184         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7185         DWORD.
7186
7187 2000-04-26  Mike Woolley  <mike@bulsara.com>
7188
7189         * ntheap.c: Changed recreate_heap to limit the amount reserved
7190         for the heap to that which is actually available. Also now
7191         displays a message box (with some dignostics) in the event that
7192         it still can't start.
7193
7194 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7195
7196         * callproc.c (Fold_call_process_internal): GCPRO path
7197
7198 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7199
7200         Patch by Bill Perry.
7201
7202         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7203         back data instead of #ifdef.
7204         (Fscrollbar_page_down): ditto.
7205
7206 2000-05-07  Ben Wing  <ben@xemacs.org>
7207
7208         * buffer.h:
7209         Kludge for defining Qmswindows_tstr.
7210
7211         * nt.c:
7212         * nt.c (open_input_file):
7213         * nt.c (open_output_file):
7214         * nt.c (rva_to_section):
7215         * nt.c (mswindows_executable_type):
7216         Move all memory-mapped-file routines here (some were in unexnt.c,
7217         which is bad because they are used by process-nt.c, and unexnt
7218         won't be around when portable dumping).  Synched the above routines
7219         with FSF 20.6.
7220
7221         * nt.h:
7222         Removed ifdef'd out bogus code.
7223         Fixed some prototypes.
7224
7225         * nt.h (file_data):
7226         * nt.h (OFFSET_TO_RVA):
7227         * nt.h (RVA_TO_OFFSET):
7228         * nt.h (RVA_TO_PTR):
7229         Moved the memory-mapped-file structures, macros and prototypes
7230         here, to parallel nt.c.  ntheap.h should really be removed
7231         entirely, and it's a non-portable-dumper specific file.
7232
7233         * ntheap.h (round_to_next):
7234         Moved the memory-mapped-file structures, macros and prototypes
7235         to nt.h.
7236
7237         * ntproc.c (compare_env):
7238         Moved rva_to_section and mswindows_executable_type to nt.c.
7239         Moved compare_env to process-nt.c.
7240         ntproc.c will die, one day.
7241
7242         * ntproc.c (sys_spawnve):
7243         Account for win32_ -> mswindows_.
7244
7245         * process-nt.c:
7246         * process-nt.c (struct nt_process_data):
7247         * process-nt.c (ensure_console_window_exists):
7248         * process-nt.c (compare_env):
7249         * process-nt.c (nt_create_process):
7250         * process-nt.c (nt_kill_process_by_pid):
7251         * process-nt.c (syms_of_process_nt):
7252         * process-nt.c (vars_of_process_nt):
7253         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7254         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7255         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7256         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7257         Move compare_env here from ntproc.c.
7258
7259         * process.c (Fprocess_send_region):
7260         Takes an optional fourth argument, BUFFER, which should fix some
7261         problems with call-process.
7262
7263         * syscommctrl.h:
7264         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7265
7266         * syswindows.h:
7267         Move ICC_BAR_CLASSES to syscommctrl.h.
7268         Add preliminary macros for MSWindows/Mule.  More to come.
7269
7270         * unexnt.c:
7271         * unexnt.c (unexec):
7272         open_output_file moved to nt.c.
7273
7274
7275 2000-05-05  Andy Piper  <andy@xemacs.org>
7276
7277         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7278         instance from the frame cache also since GC may catch up too late
7279         to make frame deletion sane.
7280
7281 2000-05-04  Andy Piper  <andy@xemacs.org>
7282
7283         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7284         (x_finalize_image_instance): ungcpro on deletion.
7285
7286         * glyphs.c (image_instantiator_format_create): give pointers a
7287         query geometry method so that the geometry is at least set.
7288
7289         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
7290         initialize layouts if using widgets.
7291
7292 2000-05-03  Andy Piper  <andy@xemacs.org>
7293
7294         * nt.c: remove bogus reference to sysmmsystem.h
7295
7296         * gui-x.c (popup_selection_callback): fix no selection abort.
7297
7298 2000-05-02  Andy Piper  <andy@xemacs.org>
7299
7300         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
7301         (mswindows_widget_instantiate): ditto.
7302
7303         * glyphs-widget.c (initialize_widget_image_instance): initialize
7304         children correctly.
7305         (widget_instantiate): cope with children and items in the same
7306         instance.
7307
7308         * glyphs.c (mark_image_instance): cope with children as a first
7309         class member.
7310         (image_instance_equal): ditto.
7311         (image_instance_hash): ditto.
7312         (image_instance_changed): ditto.
7313
7314 2000-04-30  Andy Piper  <andy@xemacs.org>
7315
7316         * glyphs.c (subwindow_query_geometry): new function. Return some
7317         defaults.
7318         (subwindow_instantiate): don't assign dimensions if none have been
7319         given.
7320         (image_instantiator_format_create): add subwindow_query_geometry.
7321         (print_image_instance): cope with layouts as widgets.
7322
7323 2000-04-29  Andy Piper  <andy@xemacs.org>
7324
7325         * frame.c (delete_frame_internal): call
7326         free_frame_subwindow_instance_cache so that all subwindows are
7327         finalized before their parent.
7328         (mark_frame): remove subwindow_cachels.
7329         (Fmake_frame): remove subwindow_cachel manipulation.
7330         (allocate_frame_core): subwindow_instance_cache is a weak list.
7331         (delete_frame_internal): set subwindow_instance_cache to nil.
7332
7333         * glyphs-msw.c (mswindows_finalize_image_instance): make double
7334         finalization safe.
7335         (mswindows_finalize_image_instance): use the device
7336         not the domain as the domain may have died already.
7337
7338         * glyphs-x.c (x_finalize_image_instance): ditto.
7339         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
7340         HEIGHT.
7341
7342         * redisplay-output.c (redisplay_unmap_subwindows): update for
7343         subwindow instance cache as a weak list.
7344         (redisplay_unmap_subwindows_maybe): ditto.
7345         (redisplay_unmap_subwindows_except_us): ditto.
7346
7347         * glyphs.c (unmap_subwindow): error checking will check the domain
7348         so don't deal with it here. Don't use cachels anymore.
7349         (map_subwindow): ditto.
7350         (update_subwindow_cachel_data): remove old accessor names.
7351         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
7352         (Fresize_subwindow): don't update cachel.
7353         (mark_subwindow_cachels):
7354         (update_subwindow_cachel_data):
7355         (add_subwindow_cachel):
7356         (get_subwindow_cachel_index):
7357         (update_subwindow_cachel):
7358         (reset_subwindow_cachels):
7359         (mark_subwindow_cachels_as_not_updated): deleted.
7360         (cache_subwindow_instance_in_frame_maybe): new function. Add a
7361         subwindow instance to the frame cache.
7362         (find_matching_subwindow): update for subwindow instance cache as
7363         a weak list.
7364         (update_widget_instances): ditto.
7365         (image_instance_type_to_mask):inlined.
7366         (free_frame_subwindow_instance_cache): new function. finalize all
7367         subwindows that are instantiated.
7368
7369         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
7370         of cachel information.
7371         (IMAGE_INSTANCE_DISPLAY_X):
7372         (IMAGE_INSTANCE_DISPLAY_Y):
7373         (IMAGE_INSTANCE_DISPLAY_WIDTH):
7374         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
7375         (XIMAGE_INSTANCE_DISPLAY_X):
7376         (XIMAGE_INSTANCE_DISPLAY_Y):
7377         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
7378         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
7379         remove subwindow_cachel structure and function references.
7380         (image_instance_type_to_mask): inline from glyphs.c
7381
7382         * redisplay.c (redisplay_frame): remove subwindow_cachel
7383         references.
7384
7385         * frame.h (struct frame): remove subwindow_cachels.
7386         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
7387
7388         * frameslots.h: add subwindow_instance_cache.
7389
7390         * window.c (replace_window): check subwindow cache of replacement.
7391         (window_unmap_subwindows_cache_mapper):
7392         (window_unmap_subwindows): new functions. Unmap all subwindows
7393         cached on this window.
7394         (mark_window_as_deleted): unmap all subwindows.
7395
7396 2000-04-27  Andy Piper  <andy@xemacs.org>
7397
7398         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
7399
7400         * glyphs-widget.c (widget_layout): return something.
7401         (layout_layout): return something. Fail if not initialized.
7402         (layout_query_geometry): ditto.
7403         (image_instantiator_native_layout): new function. Initialized the
7404         native layout type.
7405         (widget_instantiate): don't do layout stuff here.
7406
7407         * glyphs.c (instantiate_image_instantiator): reorded calling or
7408         instantiate and post_instantiate with layout in between.
7409         (image_instance_layout): be more selective about deciding whether
7410         the layout has been done or not.
7411
7412         * glyphs.h (struct image_instantiator_methods): return a value
7413         from layout_method.
7414
7415 2000-04-26  Andy Piper  <andy@xemacs.org>
7416
7417         * glyphs.c (allocate_image_instance): make initial width and
7418         height unspecified. Set initialized to 0.
7419
7420         * syscommctrl.h new file. Encapsulates commctrl.h.
7421
7422         * syswindows.h new file. Encapsulates windows.h.
7423
7424         * ntplay.c: use new syswindows.h and syscommctrl.h header.
7425         * nt.c: ditto.
7426         * console-msw.h: ditto.
7427
7428         * redisplay-tty.c (tty_output_display_block): remove layout references.
7429
7430         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
7431         window handle rather than just the frame.
7432
7433         * glyphs.c (mark_image_instance): remove layout references.
7434         (print_image_instance): ditto.
7435         (image_instance_equal): ditto.
7436         (image_instance_hash): ditto.
7437         (decode_image_instance_type): ditto.
7438         (encode_image_instance_type): ditto.
7439         (image_instantiate): ditto.
7440         (allocate_glyph): ditto.
7441         (Fimage_instance_height): ditto.
7442         (Fimage_instance_width): ditto.
7443         (update_subwindow): ditto.
7444
7445         * redisplay-x.c (x_output_display_block): recode for layouts as
7446         widgets.
7447
7448         * redisplay-output.c (redisplay_output_layout): recode for layouts
7449         as widgets.
7450         (compare_runes): remove layout references.
7451
7452         * redisplay-msw.c (mswindows_output_display_block): recode for
7453         layouts as widgets.
7454
7455         * glyphs-widget.c (image_instantiator_layout): remove
7456         layout_possible_dest_types.
7457         (layout_possible_dest_types): deleted.
7458
7459         * glyphs.h (image_instance_type): remove layout references.
7460         (struct Lisp_Image_Instance): ditto. Add initialized flag.
7461         (IMAGE_INSTANCE_INITIALIZED): new accessor.
7462         (XIMAGE_INSTANCE_INITIALIZED): ditto.
7463
7464 2000-04-25  Andy Piper  <andy@xemacs.org>
7465
7466         * glyphs-widget.c (image_instantiator_buttons):
7467         (image_instantiator_edit_fields):
7468         (image_instantiator_combo_box):
7469         (image_instantiator_scrollbar):
7470         (image_instantiator_progress_guage):
7471         (image_instantiator_tree_view):
7472         (image_instantiator_tab_control):
7473         (image_instantiator_labels):
7474         (image_instantiator_layout): call default post_instantiate method.
7475         (widget_post_instantiate): new function. Simply lays out the
7476         widgets.
7477
7478         * glyphs.h (struct image_instantiator_methods): add
7479         post_instantiate method.
7480
7481         * glyphs.c (instantiate_image_instantiator): add post_instantiate
7482         method calls.
7483
7484 2000-04-23  Andy Piper  <andy@xemacs.org>
7485
7486         * glyphs.h (struct image_instantiator_methods): add
7487         decode_domain_method.
7488         (struct Lisp_Image_Instance): remove subwindow frame - it can be
7489         derived from the domain.
7490         (IMAGE_INSTANCE_FRAME): new accessor.
7491         (XIMAGE_INSTANCE_FRAME): ditto.
7492
7493         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
7494         instead of _SUBWINDOW_FRAME.
7495         (finalize_image_instance): ditto.
7496         (Fimage_instance_foreground): ditto.
7497         (Fimage_instance_background): ditto.
7498         (image_instantiate): ditto.
7499         (update_subwindow_cachel): ditto.
7500         (update_subwindow): ditto.
7501         (unmap_subwindow): ditto.
7502         (map_subwindow): ditto
7503         (subwindow_instantiate): ditto.
7504         * glyphs-msw.c (mswindows_update_widget): ditto.
7505         (mswindows_progress_gauge_instantiate): ditto.
7506         (mswindows_tab_control_update): ditto.
7507         * glyphs-x.c (x_update_widget): ditto.
7508         (x_widget_instantiate): ditto.
7509         (x_tab_control_instantiate): ditto.
7510         (x_tab_control_update): ditto.
7511         * event-msw.c (mswindows_wnd_proc): ditto
7512
7513         * glyphs-widget.c (image_instantiator_layout): use
7514         subwindow_decode_domain.
7515         (image_instantiator_buttons): ditto.
7516         (image_instantiator_edit_fields): ditto.
7517         (image_instantiator_combo_box): ditto.
7518         (image_instantiator_scrollbar): ditto.
7519         (image_instantiator_progress_guage): ditto.
7520         (image_instantiator_tree_view): ditto.
7521         (image_instantiator_tab_control): ditto.
7522         (image_instantiator_labels): ditto.
7523         (image_instantiator_layout): ditto.
7524
7525         * glyphs.c: add instance error checking to many functions.
7526         (instantiate_image_instantiator): decode device from cache_domain.
7527         (image_instantiate): partially rewrite by using
7528         decode_image_instantiator_domain to determine what domain the
7529         instance needs to be cached in.
7530         (decode_image_instantiator_domain): new function. Determine what
7531         domain the image needs to be cached in.
7532         (check_window_subwindow_cache): new error checking function.
7533         (check_instance_cache_mapper): ditto.
7534         (check_image_instance_structure): ditto.
7535         (subwindow_decode_domain): new function. Encodes a window as a
7536         subwindow's cache domain.
7537         (image_instantiator_format_create): use it for text and
7538         subwindows.
7539
7540 2000-04-21  Andy Piper  <andy@xemacs.org>
7541
7542         * glyphs.c (image_instance_device): new function.
7543         (image_instance_frame): new function.
7544         (image_instance_window): new function.
7545         (image_instance_live_p): new function.
7546
7547         * window.c (mark_window_as_deleted): reset the subwindow_instance_
7548         cache to nil.
7549
7550         * glyphs.h (struct Lisp_Image_Instance): device->domain.
7551         (IMAGE_INSTANCE_DOMAIN): new accessor.
7552         (XIMAGE_INSTANCE_DOMAIN): ditto.
7553
7554         * glyphs-x.c (x_finalize_image_instance): device->domain.
7555
7556         * glyphs-msw.c (init_image_instance_geometry): device->domain.
7557         (mswindows_finalize_image_instance): ditto.
7558
7559         * glyphs-eimage.c (jpeg_instantiate): device->domain.
7560         (gif_instantiate): ditto.
7561         (png_instantiate): ditto.
7562         (tiff_instantiate): ditto.
7563
7564         * glyphs.c (instantiate_image_instantiator): use domain rather
7565         than device.
7566         (mark_image_instance): device -> domain.
7567         (print_image_instance): ditto.
7568         (finalize_image_instance): ditto.
7569         (image_instance_equal): ditto.
7570         (allocate_image_instance): ditto.
7571         (Fcolorize_image_instance): ditto.
7572         (query_string_geometry): ditto.
7573         (image_instantiate): ditto
7574         (query_string_font): ditto.
7575         (image_instantiate): ditto.
7576         (update_subwindow): ditto.
7577         (unmap_subwindow): ditto.
7578         (map_subwindow): ditto.
7579         (subwindow_instantiate): ditto.
7580
7581         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
7582         (DOMAIN_FRAME): ditto.
7583         (DOMAIN_WINDOW): ditto.
7584         (DOMAIN_LIVE_P): ditto.
7585         (XDOMAIN_DEVICE): ditto.
7586         (XDOMAIN_FRAME): ditto.
7587         (XDOMAIN_WINDOW): ditto.
7588
7589         * specifier.c (Fvalid_specifier_domain_p): add image instances as
7590         a valid specifier domain.
7591
7592 2000-04-19  Andy Piper  <andy@xemacs.org>
7593
7594         * glyphs-widget.c (syms_of_glyphs_widget): remove
7595         widget-callback-current-channel.
7596         (vars_of_glyphs_widget): ditto.
7597         * glyphs.h: ditto
7598
7599         * gui.c (get_gui_callback): revert to previous behaviour.
7600
7601 2000-04-18  Andy Piper  <andy@xemacs.org>
7602
7603         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
7604         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
7605         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
7606
7607         * glyphs.c (image_instance_equal): add margin_width.
7608         (image_instance_hash): ditto.
7609
7610         * glyphs-widget.c (widget_instantiate): deal with margin-width.
7611         (layout_query_geometry): ditto.
7612         (layout_layout): ditto.
7613         (syms_of_glyphs_widget): add margin-width.
7614         (image_instantiator_layout): allow margin-width.
7615
7616         * glyphs.c (update_widget_instances): make a normal function.
7617         (syms_of_glyphs): remove Qupdate_widget_instances.
7618         * glyphs.h: ditto.
7619
7620         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
7621         so that we don't corrupt ideas about the last event or
7622         command. Remove widget-callback-current-channel fiddling.
7623         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
7624
7625 2000-05-01  Martin Buchholz <martin@xemacs.org>
7626
7627         * XEmacs 21.2.33 is released.
7628
7629 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
7630
7631         * make-src-depend: Allow dots in header file name.
7632
7633 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
7634
7635         * mule-charset.h (struct charset_lookup): Add
7636         next_allocated_1_byte_leading_byte and
7637         next_allocated_2_byte_leading_byte.
7638         * mule-charset.c: Move above two variables so that those values
7639         will be dumped.
7640
7641 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
7642
7643         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
7644         when string length is zero.
7645         (find_charsets_in_emchar_string): Ditto.
7646
7647 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
7648
7649         * lisp.h: extern Qdialog and Qmenubar.
7650
7651         * gui-x.c: added events.h.
7652                 also fixed typo which made the file uncompilable.
7653
7654         * general.c: Added Qmenubar and Qdialog
7655
7656 2000-04-28  Ben Wing  <ben@xemacs.org>
7657
7658         * frame-msw.c (mswindows_init_frame_1):
7659         * frame-msw.c (mswindows_mark_frame):
7660         * event-msw.c (mswindows_enqueue_dispatch_event):
7661         * console-msw.h:
7662         * console-msw.h (struct mswindows_frame):
7663         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
7664         there are now three hash tables for callbacks.
7665         mswindows_enqueue_dispatch_event is no longer static.
7666
7667         * dialog-x.c (maybe_run_dbox_text_callback):
7668         * dialog-x.c (dbox_descriptor_to_widget_value):
7669         switch to new cons3 form for callbacks.
7670
7671         * glyphs-msw.c (mswindows_register_gui_item):
7672         * glyphs-msw.c (mswindows_widget_instantiate):
7673         * glyphs-msw.c (add_tree_item):
7674         * glyphs-msw.c (add_tab_item):
7675         new image instance parameter, so it can be passed to callback-ex.
7676         respect :callback-ex as well as :callback.
7677
7678         * glyphs-widget.c (VALID_GUI_KEYWORDS):
7679         add :callback-ex.
7680
7681         * glyphs.c (print_image_instance):
7682         prettify, e.g. now prints widget type.
7683
7684         * gui-x.h:
7685         certain funs have new image instance parameter.
7686
7687         * gui.c:
7688         * gui.c (get_gui_callback):
7689         * gui.c (gui_item_add_keyval_pair):
7690         * gui.c (gui_item_init):
7691         * gui.c (gui_add_item_keywords_to_plist):
7692         * gui.c (mark_gui_item):
7693         * gui.c (gui_item_hash):
7694         * gui.c (gui_item_equal):
7695         * gui.c (copy_gui_item):
7696         * gui.c (syms_of_gui):
7697         recognize callback-ex in a number of places.
7698         also, fix the annoying "can't get out of yes-no dialog" bug.
7699
7700         * gui.h:
7701         * gui.h (struct Lisp_Gui_Item):
7702         recognize callback-ex in a number of places.
7703
7704         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7705         new parameter in button_item_to_widget_value.
7706
7707         * glyphs-x.c (x_update_widget):
7708         * glyphs-x.c (x_button_instantiate):
7709         * glyphs-x.c (x_button_update):
7710         * glyphs-x.c (x_progress_gauge_instantiate):
7711         * glyphs-x.c (x_edit_field_instantiate):
7712         * glyphs-x.c (x_combo_box_instantiate):
7713         * glyphs-x.c (x_tab_control_instantiate):
7714         * glyphs-x.c (x_label_instantiate):
7715         new image instance parameter in various places.
7716
7717         * event-Xt.c:
7718         * event-Xt.c (enqueue_Xt_dispatch_event):
7719         this fun gets exported.
7720
7721         * gui-msw.c:
7722         * gui-msw.c (mswindows_handle_gui_wm_command):
7723         handle both :callback and :callback-ex, and generate our own
7724         event because it's one of the callback-ex arguments.
7725
7726         * gui-x.c:
7727         * gui-x.c (popup_selection_callback):
7728         handle both :callback and :callback-ex, and generate our own
7729         event because it's one of the callback-ex arguments.
7730         * gui-x.c (button_item_to_widget_value):
7731         * gui-x.c (gui_items_to_widget_values_1):
7732         * gui-x.c (gui_item_children_to_widget_values):
7733         * gui-x.c (gui_items_to_widget_values):
7734         new image instance parameter in various places.
7735
7736         * fns.c (Freplace_list):
7737         fix small typo in doc string.
7738
7739         * lisp.h:
7740         declare enqueue_Xt_dispatch_event.
7741
7742 2000-04-28  Ben Wing  <ben@xemacs.org>
7743
7744         * buffer.c:
7745         * buffer.c (Frecord_buffer):
7746         * buffer.c (syms_of_buffer):
7747         delete record-buffer-hook.
7748
7749         * fns.c:
7750         * fns.c (Freplace_list):
7751         * fns.c (syms_of_fns):
7752         new primitive replace-list.
7753
7754         * frameslots.h:
7755         slot for old buffer-alist.
7756
7757         * lisp.h:
7758         exfun replace-list.
7759
7760         * redisplay.c:
7761         * redisplay.c (redisplay_frame):
7762         * redisplay.c (syms_of_redisplay):
7763         * redisplay.c (vars_of_redisplay):
7764         new hook buffer-list-changed-hook.
7765         call it.
7766
7767 2000-04-27  Ben Wing  <ben@xemacs.org>
7768
7769         * extents.h: extern in_modeline_generation.
7770
7771         * redisplay.c (generate_formatted_string_db): set
7772         in_modeline_generation.
7773
7774         * extents.c (extent_changed_for_redisplay): don't mark redisplay
7775         flags if in modeline generation.  otherwise frame-modified-tick
7776         is ticked far too often.
7777         Declare in_modeline_generation.
7778
7779 2000-04-26  Ben Wing  <ben@xemacs.org>
7780
7781         * emacs.c (vars_of_emacs): document quick-build "error-checking"
7782         option.
7783         (vars_of_emacs): add quick-build as an error-checking option.
7784         A bit kludgy, but there doesn't seem much point in creating
7785         a real var for this.
7786
7787         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
7788
7789 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7790
7791         * redisplay.h (struct display_line): Add a new variable,
7792         line_continuation.
7793
7794         * redisplay.c (create_text_block): Set dl->line_continuation if
7795         the line continues.
7796         (create_string_text_block): Ditto.
7797         (regenerate_window_incrementally): Use line_continuation instead
7798         of searching continuation glyph.
7799         (add_margin_runes): Call add_glyph_rune.
7800         (add_glyph_rune): Handle margin glyph.
7801
7802 2000-04-20  Martin Buchholz  <martin@xemacs.org>
7803
7804         * filelock.c (fill_in_lock_file_name):
7805         ANSIfy.
7806         Check for IS_ANY_SEP instead of '/'.
7807         (lock_file_1):
7808         Avoid generating gratuitous garbage.  Call user_login_name() directly.
7809         Never check errno without first seeing that system call failed.
7810         (unlock_file): Add GCPRO.
7811         (Flock_buffer): Fix docstring.
7812         (Ffile_locked_p): Fix docstring.  Add GCPRO.
7813
7814 2000-04-19  Martin Buchholz  <martin@xemacs.org>
7815
7816         * sysdep.c (get_pty_max_bytes):
7817         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
7818         strings longer than 252 bytes.
7819
7820         * md5.c: Unconditionally include ANSI header <limits.h>
7821
7822         * glyphs-x.c (convert_EImage_to_XImage):
7823         * lisp-union.h (union Lisp_Object):
7824         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
7825
7826 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7827
7828         * filelock.c (current_lock_owner): Remove unused variable o, p.
7829
7830 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
7831
7832         * callint.c: Remove multiply defined symbol Qlet
7833         (syms_of_callint): ditto.
7834
7835 2000-04-14  Andy Piper  <andy@xemacs.org>
7836
7837         * general.c (syms_of_general): add last-command, this-command, let
7838         and funcall.
7839
7840         * lisp.h: declare various symbols.
7841
7842         * glyphs.h: declare Qwidget_callback_current_channel;
7843
7844         * glyphs-widget.c (syms_of_glyphs_widget): add
7845         Qgui_callback_current_channel.
7846         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
7847
7848         * gui-msw.c (mswindows_handle_gui_wm_command): bind
7849         widget-callback-current-channel when invoking the interactive
7850         arg. Also bind last-command and next-command when invoking the
7851         widget updates.
7852         * gui-x.c (popup_selection_callback): ditto.
7853
7854         * gui.c (get_gui_callback): massage args so that we are always
7855         calling eval. This allows us to add our own variable bindings
7856         outside.
7857
7858         * glyphs-x.c (x_button_instantiate): use
7859         gui_items_to_widget_values since this is GC safe.
7860         (x_progress_gauge_instantiate): ditto.
7861         (x_edit_field_instantiate): ditto.
7862         (x_label_instantiate): ditto.
7863
7864         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
7865         (emacs_Xt_event_widget_focus_out): new function
7866         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
7867         focus.
7868         (emacs_Xt_event_add_widget_actions): new function. add focus
7869         functions as actions.
7870         (init_event_Xt_late): use it.
7871
7872 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
7873
7874         * event-stream.c (Fdispatch_event): Doc fix.
7875
7876 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
7877
7878         * postgresql.c: Remove all references to PQsetenv*.
7879
7880         * postgresql.h: Remove references to PGsetenvHandler object.
7881         * lrecord.h (lrecord_type): Ditto.
7882
7883 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7884
7885         * glyphs-msw.h (struct mswindows_image_instance_data): Added
7886         real_heigh and real_width members, and accessor macros for these.
7887
7888         * glyphs-msw.c (init_image_instance_geometry): New function.
7889         (init_image_instance_from_dibitmap): Use it.
7890         (mswindows_resource_instantiate): Use it.
7891         (init_image_instance_from_xbm_inline): Use it.
7892         (mswindows_initialize_image_instance_mask): Use real bitmap
7893         geometry.
7894         (mswindows_create_resized_bitmap): Ditto.
7895         (mswindows_create_resized_mask): Ditto.
7896
7897         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
7898         and bitmap to their surface size.
7899
7900 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
7901
7902         * process-unix.c (unix_send_process): Guard against process MIA
7903         after Faccept_process_output.
7904
7905 2000-04-11  Ben Wing  <ben@xemacs.org>
7906
7907         * eval.c (unbind_to_hairy): fix brokenness introduced by
7908         nanosecond speed improvements.
7909
7910 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
7911
7912         * sunplay.c (init_device): To play sounds correctly, the device
7913         apparently needs to be initialized at least once by XEmacs.  Make
7914         it so.
7915
7916 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7917
7918         * redisplay.c (add_margin_runes): Add text image glyph
7919           handling.
7920
7921 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7922
7923         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
7924         gcc is newer than 2.5.
7925
7926 2000-04-06  Colin Rafferty  <colin@xemacs.org>
7927
7928         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
7929
7930         * fns.c (size_bit_vector):
7931         * alloc.c (size_vector):
7932         (make_vector_internal):
7933         (make_bit_vector_internal):
7934         (sweep_bit_vectors_1):
7935         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
7936
7937 2000-04-06  Andy Piper  <andy@xemacs.org>
7938
7939         * gmalloc.c (malloc): undo previous change.
7940         (malloc): ditto.
7941         (free): ditto.
7942         (realloc): ditto.
7943
7944 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
7945
7946         * line-number.c (buffer_line_number): Revert to former version.
7947
7948 2000-04-06  Andy Piper  <andy@xemacs.org>
7949
7950         * gmalloc.c (malloc): add error checking.
7951         (malloc): ditto.
7952         (free): ditto.
7953         (realloc): ditto.
7954
7955         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
7956         button_item_to_widget_value arg.
7957
7958         * glyphs-x.c (x_button_instantiate): add extra
7959         button_item_to_widget_value arg.
7960         (x_progress_gauge_instantiate): ditto.
7961         (x_edit_field_instantiate): ditto.
7962         (x_label_instantiate): ditto.
7963
7964         * gui-x.c (gui_items_to_widget_values_1): add extra
7965         button_item_to_widget_value arg.
7966         (button_item_to_widget_value): add extra menu_item_p arg.
7967
7968         * gui-x.h: change signature of button_item_to_widget_value.
7969
7970         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
7971         button_item_to_widget_value arg.
7972
7973 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7974
7975         * buffer.h (struct buffer): auto_save_modified should be long.
7976
7977 2000-04-05  Andy Piper  <andy@xemacs.org>
7978
7979         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
7980         type.
7981         (button_query_geometry): give a little more room so that athena
7982         buttons fit.
7983
7984 2000-04-05  Andy Piper  <andy@xemacs.org>
7985
7986         * faces.c (complex_vars_of_faces): The widget face should inherit
7987         the font of the gui-element face.
7988
7989 2000-04-04  Andy Piper  <andy@xemacs.org>
7990
7991         * glyphs-x.c (x_button_update): new function. unconditionally
7992         update a button's state when the instance is dirty.
7993         (image_instantiator_format_create_glyphs_x): add x_button_update.
7994         (x_widget_instantiate): remove old resize cruft.
7995
7996 2000-04-02  Andy Piper  <andy@xemacs.org>
7997
7998         * frame.c (change_frame_size_1): The introduction of gutters means
7999         that we need to allow 0 as a potential frame dimension.
8000
8001 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8002
8003         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8004         image glyph if allow_cursor.
8005         (add_hscroll_rune): Don't allow cursor to border glyph.
8006         (create_text_block): Ditto.
8007
8008         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8009         text not in buffer.
8010         (redisplay_output_layout): Call ensure_face_cachel_complete for
8011         text image glyph.
8012
8013
8014 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8015
8016         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8017
8018         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8019         not in buffer
8020
8021         * redisplay-tty.c (tty_output_display_block): Delete the routine
8022         for text image glyph
8023         * redisplay-x.c (x_output_display_block): ditto
8024         * redisplay-msw.c (mswindows_output_display_block): ditto
8025
8026 2000-02-02  Mike Alexander  <mta@arbortext.com>
8027
8028         Note: Some of these were committed by accident as part of other
8029         patches.
8030
8031         * regex.c (regex_compile): Avoid compiler warnings.
8032
8033         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8034
8035         * nt.h: Declare term_ntproc correctly.
8036
8037         * nt.c: Remove incorrect declaration of get_home_directory which
8038         is declared correctly in lisp.h.
8039
8040         * keymap.c (get_keyelt): Avoid compiler warnings.
8041         (raw_lookup_key_mapper): Avoid compiler warnings.
8042
8043         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8044
8045         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8046
8047         * filemode.c (mode_string): Avoid compiler warnings.
8048
8049         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8050         avoid warning.
8051
8052         * events-mod.h: Undef some things that winuser.h defines differently.
8053
8054         * data.c (Faset): Avoid compiler warnings.
8055
8056         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8057
8058 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8059
8060         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8061         Fall through to simple beep on error.
8062         Replace "extern" by real header file.
8063
8064         * linuxplay.c: Use nativesound.h
8065         (play_sound_data): Return error code. Be less verbose on error.
8066
8067         * sunplay.c: Use nativesound.h
8068         (play_sound_data): Return error code. Be less verbose on error.
8069
8070         * ntplay.c: Use nativesound.h
8071         (play_sound_data): Return fake error code
8072
8073         * sgiplay.c: Use nativesound.h
8074         (play_sound_data): Return error code
8075
8076         * hpplay.c: Use nativesound.h, partially implement
8077         new error code. Break compilation until finished.
8078         (play_sound_data): error code.
8079
8080         * nativesound.h (play_sound_file):
8081           (play_sound_data): Prototype in new header.
8082
8083 2000-03-31  Andy Piper  <andy@xemacs.org>
8084
8085         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8086         for toggle and radio buttons.
8087         (image_instantiator_buttons): use it.
8088
8089 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8090
8091         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8092         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8093         found. Scrollbar event probably belonged to some old config.
8094
8095 2000-03-31  Andy Piper  <andy@xemacs.org>
8096
8097         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8098         than 1.
8099         (initialize_widget_image_instance): default layout to
8100         LAYOUT_HORIZONTAL rather than 0.
8101         (widget_instantiate): reverse the item list at the end rather than
8102         every iteration.
8103         (layout_layout): re-code for the border text at the front of the
8104         item list rather than at the end.
8105         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8106         provided by the user.
8107         (widget_query_geometry): comment.
8108
8109 2000-03-30  Andy Piper  <andy@xemacs.org>
8110
8111         * glyphs-widget.c (image_instantiator_layout): allow standard
8112         widget keywords in layouts.
8113
8114         * gutter.c (output_gutter): cope with nil gutter contents.
8115
8116         * frame.c (Fset_frame_properties): add gutter docs.
8117
8118 2000-03-29  Andy Piper  <andy@xemacs.org>
8119
8120         * toolbar-msw.c (TBSTYLE_FLAT): add.
8121         (mswindows_output_toolbar): minor fiddling.
8122
8123 2000-03-29  Andy Piper  <andy@xemacs.org>
8124
8125         * gutter.c (output_gutter): force gutter size recalculation if
8126         what we are trying to display won't fit.
8127         (update_gutter_geometry): new function. A per-gutter version of
8128         update_frame_gutter_geometry.
8129         (update_frame_gutter_geometry): use it.
8130         (redraw_exposed_gutter): add extra debugging output.
8131
8132 2000-03-28  Mike Alexander  <mta@arbortext.com>
8133
8134         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8135         (pdump_file_unmap): Implement it on Windows
8136         (pdump_file_get): Save alocated handles for pdump_file_unmap
8137
8138 2000-03-28  Andy Piper  <andy@xemacs.org>
8139
8140         * gui.c (get_gui_callback): treat Quit specially.
8141
8142 2000-03-27  Andy Piper  <andy@xemacs.org>
8143
8144         * glyphs.c (image_instantiate): be careful to check in the same
8145         way we assigned.
8146
8147 2000-03-27  Didier Verna  <didier@xemacs.org>
8148
8149         * config.h.in: define the proper SMART_INCLUDE macro.
8150         handle renaming of `foo_h_path' to `foo_h_file'.
8151
8152         * database.c: ditto.
8153
8154         * emacs.c: ditto.
8155
8156         * linuxplay.c: ditto.
8157
8158         * terminfo.c: ditto.
8159
8160         * tooltalk.h: ditto.
8161
8162 2000-03-27  Andy Piper  <andy@xemacs.org>
8163
8164         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8165         gets updated whenever the face might have changed.
8166
8167 2000-03-26  Mike Alexander  <mta@arbortext.com>
8168
8169         * dumper.c (pdump_resource_free): Fix the comment.
8170
8171 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8172
8173         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8174
8175 2000-03-22  Mike Alexander  <mta@arbortext.com>
8176
8177         * dumper.c: Include Windows headers on Windows
8178         (pdump_resource_free): Add a body to the function
8179         (pdump_load): exe_name -> exe_path and add some comments.
8180
8181 2000-03-25  Mike Alexander  <mta@arbortext.com>
8182
8183         * gui.c (copy_gui_item_tree): Return a value in all cases
8184
8185 2000-03-21  Didier Verna  <didier@xemacs.org>
8186
8187         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8188         lwlib/config.h.in.
8189         (SMART_INCLUDE): new macro.
8190         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8191         the proper location.
8192
8193         * postgresql.c: use it.
8194
8195         * inline.c: ditto.
8196
8197 2000-03-24  Andy Piper  <andy@xemacs.org>
8198
8199         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8200         do this.
8201
8202 2000-03-24  Andy Piper  <andy@xemacs.org>
8203
8204         * redisplay-output.c (compare_runes): use image_instance_changed
8205         to detect changes. Do not depend on glyphs_changed, only depend on
8206         dirtiness.
8207          (redisplay_output_layout): add debug messages.
8208         (compare_runes): ditto.
8209
8210         * glyphs.h: declare new functions.
8211         (struct Lisp_Image_Instance): remove percent and associated
8212         accessors.
8213
8214         * gui.h: declare new copying functions.
8215
8216         * gui.c (copy_gui_item_tree): new function.
8217         (copy_gui_item): new function.
8218         (gui_item_id_hash): revert to standard hash.
8219         (gui_item_hash): ditto.
8220         (gui_item_hash_internal): deleted.
8221         (mark_gui_item): mark value.
8222         (gui_item_add_keyval_pair): add value.
8223         (gui_item_init): ditto.
8224         (gui_add_item_keywords_to_plist): ditto.
8225         (gui_item_equal): ditto.
8226         (syms_of_gui): add Q_value.
8227
8228         * glyphs-x.c (x_progress_gauge_update): use pending items and
8229         value for setting the state.
8230         (x_update_widget): don't set items from pending here.
8231
8232         * glyphs-widget.c (update_widget): update items here.
8233         (progress_gauge_set_property): use items for storing value. Put
8234         new value in pending items.
8235
8236         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8237         items for new value. Convert percent -> value.
8238         (mswindows_tab_control_update): don't update items here.
8239
8240         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8241         (update_subwindow): ditto.
8242         (image_instance_changed): new function. Compare hash values and
8243         past and present widget items.
8244         (image_instantiate): We more careful about where we instantiate
8245         things.
8246         (image_instantiate): add error checking.
8247
8248         * gutter.c (syms_of_gutter): use -hook.
8249
8250 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8251
8252         * console-tty.c (Fset_console_tty_input_coding_system): Use
8253         Qkeyboard.
8254         (Fset_console_tty_output_coding_system): Use Qterminal.
8255         (tty_init_console): Use Qkeyboard and Qterminal.
8256
8257 2000-03-21  Ben Wing  <ben@xemacs.org>
8258
8259         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8260         From Mike Alexander <mta@arbortext.com>.
8261
8262 2000-03-21  Ben Wing  <ben@xemacs.org>
8263
8264         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8265         process brokenness.  Proper implementation to come.
8266         * callproc.c:
8267         Rename call-process-internal to old-call-process-internal.
8268         New impl. in process.el.
8269
8270 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8271
8272         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8273
8274 2000-03-20  Andy Piper  <andy@xemacs.org>
8275
8276         * glyphs.c (full_list_hash): make hashes of the same elements in
8277         different orders return different values.
8278
8279 2000-03-20  Martin Buchholz <martin@xemacs.org>
8280
8281         * XEmacs 21.2.32 is released.
8282
8283 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8284
8285         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8286         (DFC_MALLOC_USE_CONVERTED_DATA):
8287         Add aliasing-safe casts to allow use with char* or unsigned char*
8288         lvalues.
8289
8290         * eldap.c (Fldap_open):
8291         (Fldap_search_basic):
8292         (Fldap_add):
8293         (Fldap_modify):
8294         Make C++-compilable.
8295         Make sure GCPRO'ed variables are initialized.
8296         Use temp variables to avoid repeated calls to Flength.
8297
8298 2000-03-16  Martin Buchholz  <martin@xemacs.org>
8299
8300         * sysfile.h:
8301         Make sure PATH_MAX is always defined.
8302         Include limits.h for PATH_MAX.
8303         Deprecate use of MAXPATHLEN.
8304
8305 2000-03-10  Martin Buchholz  <martin@xemacs.org>
8306
8307         * emacs.c: Add reinit_vars_of_fileio.
8308         * symsinit.h: Add reinit_vars_of_fileio.
8309         * fileio.c (reinit_vars_of_fileio): New.
8310         * fileio.c (Fmake_temp_name):
8311         Initialize temp_name random number from microseconds to make
8312         collisions even less likely.  Initialize always at process startup
8313         time.  (make-temp-name) used to return the same file name twice in
8314         a row when PDUMP.
8315         Random stylistic fiddling.
8316         Comment fixes.
8317
8318 2000-03-20  Andy Piper  <andy@xemacs.org>
8319
8320         * glyphs.c (image_instantiate): allow text glyphs to be
8321         instantiated in the minibuffer window.
8322
8323 2000-03-19  Andy Piper  <andy@xemacs.org>
8324
8325         * glyphs.c (image_instance_hash): be careful about which items we
8326         hash on.
8327
8328         * glyphs-widget.c (tab_control_set_property): record into pending
8329         items rather than the actual items.
8330
8331         * glyphs-x.c (x_update_widget): use pending items to update with.
8332
8333         * glyphs-msw.c (mswindows_tab_control_update): use pending items
8334         to update with.
8335
8336         * glyphs.c (mark_image_instance): mark pending items.
8337
8338         * window.c (Fset_window_configuration): record the buffer.
8339         (Fselect_window): totally revert previous change which breaks many
8340         things.
8341
8342 2000-03-18  Andy Piper  <andy@xemacs.org>
8343
8344         * glyphs-msw.c (mswindows_tab_control_update): force selected
8345         item.
8346
8347         * glyphs.c (image_instantiate): don't allow the minibuffer as a
8348         window domain cache, otherwise we get inconsistencies at
8349         startup. There is something fishy at startup which can lead to the
8350         minibuffer being the selected window when the gutter content is
8351         instantiated.
8352
8353         * gui.c (parse_gui_item_tree_list): add probably unnecessary
8354         gcpros.
8355         (parse_gui_item_tree_children): ditto.
8356         (parse_gui_item_tree_item): ditto.
8357
8358         * glyphs.c (Fupdate_widget_instances): return something.
8359
8360 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8361
8362         * window.c (Fselect_window): Undo 2000-03-17 change.
8363
8364 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
8365
8366         * postgresql.c (Fpq_setenv): Remove this turkey when linking
8367         against v7.0 libraries.  Insta-coredump city until the postgres
8368         folks fix it.
8369
8370 2000-03-17  Andy Piper  <andy@xemacs.org>
8371
8372         * faces.c (complex_vars_of_faces): don't give the widget face an
8373         inherited background pixmap.
8374
8375         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
8376         selected item.
8377
8378         * event-stream.c (Fdispatch_non_command_events): return something.
8379
8380         * gutter.c (output_gutter): use widget face.
8381         (clear_gutter): ditto.
8382
8383         * NEWS: adjust again.
8384
8385         * window.c (Fselect_window): make sure this runs to completion to
8386         avoid oddities with Fset_window_configuration.
8387         (Fcurrent_window_configuration): in general do not save the
8388         minibuffer as the selected window.
8389
8390         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
8391
8392 2000-03-16  Olivier Galibert  <galibert@pobox.com>
8393
8394         * emacs.c (Frunning_temacs_p): Revert previous patch.
8395         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
8396
8397 2000-03-16  Andy Piper  <andy@xemacs.org>
8398
8399         * glyphs-x.c (x_tab_control_update): if no widget values then
8400         return.
8401
8402         * NEWS: update for new features.
8403
8404         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
8405         synthetic event to the native system.
8406         (reinit_vars_of_event_Xt): set force_event_pending to
8407         emacs_Xt_force_event_pending.
8408
8409         * events.h (struct event_stream): add force_event_pending.
8410
8411         * specifier.c (recompute_one_cached_specifier_in_window): add
8412         comment.
8413
8414         * redisplay.c (redisplay_frame): don't call
8415         update_frame_subwindows. Reset subwindow cachels when
8416         subwindows_changed, removing this was an optimization too far.
8417
8418         * redisplay-output.c (compare_runes): reorganize so that we catch
8419         glyph changes when we want them. Set optimize_output when this
8420         would help layouts.
8421         (redisplay_output_layout): remove frame_really_changed, use
8422         optimize_output instead.
8423
8424         * redisplay-msw.c (mswindows_output_display_block): reset
8425         optimize_output after outputting a glyph.
8426         * redisplay-x.c (x_output_display_block): ditto.
8427         * redisplay-tty.c (tty_output_display_block): ditto.
8428
8429         * gutter.c: (specifier_vars_of_gutter): use new spec changed
8430         functions.
8431         (gutter_specs_changed): do specific gutter positions.
8432         (top_gutter_specs_changed): new function. Only update the
8433         specified gutter specs.
8434         (bottom_gutter_specs_changed): ditto.
8435         (left_gutter_specs_changed): ditto.
8436         (right_gutter_specs_changed): ditto.
8437
8438         * gui.c (gui_item_hash_internal): new function, does a real hash.
8439         (gui_item_id_hash): use it.
8440         (gui_item_hash): hash the eval'ed gui_item.
8441
8442         * gui-x.c (popup_selection_callback): send an eval event to call
8443         Fupdate_widget_instances.
8444
8445         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
8446         to call Fupdate_widget_instances.
8447
8448         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
8449         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
8450
8451         * glyphs.c: (update_frame_subwindows): deleted.
8452         (Fupdate_widget_instances): new function for updating the dirty
8453         state of widgets that might have changed.
8454         (syms_of_glyphs): add Qupdate_widget_instances.
8455         (full_list_hash): hash a list completely.
8456         (image_instance_hash): use it for items and properties.
8457
8458         * frame-msw.c (mswindows_size_frame_internal): remove unused
8459         variable.
8460
8461         * faces.h (struct face_cachel): fix comment.
8462
8463         * event-stream.c (Fdispatch_non_command_events): new
8464         function. Process non-command events, forcing an event cycle
8465         beforehand.
8466         (syms_of_event_stream): declare.
8467         (event_stream_force_event_pending): new function. Force an event
8468         on the native event queue so that an event cycle will occur next
8469         time we check.
8470
8471         * event-msw.c:
8472         (struct ntpipe_shove_stream):
8473         (mswindows_enqueue_dispatch_event):
8474         (mswindows_dequeue_dispatch_event):
8475         (mswindows_cancel_dispatch_event):
8476         (mswindows_pump_outstanding_events):
8477         (mswindows_drain_windows_queue):
8478         (mswindows_handle_paint):
8479         (mswindows_wnd_proc):
8480         (mswindows_key_to_emacs_keysym):
8481         (get_process_input_waitable):
8482         (emacs_mswindows_delete_stream_pair): re-indent file.
8483         (mswindows_need_event): do not process further fds if the windows
8484         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
8485         fixes the 100% cpu problem.
8486         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
8487
8488 2000-03-15  Olivier Galibert  <galibert@pobox.com>
8489
8490         * alloc.h: New.
8491         * dumper.h: New.
8492         * dumper.c: New.
8493
8494         * emacs.c: Moved dump file searching to dumper.c.
8495         (Frunning_temacs_p): Fixed.
8496
8497         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
8498         last_lrecord_type_index_assigned.
8499
8500 2000-02-20  Olivier Galibert  <galibert@pobox.com>
8501
8502         * symsinit.h: Added reinit parameter to init_console_stream
8503         declaration.
8504
8505         * lisp.h: Added file parameter to pdump_load declaration.
8506
8507         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
8508         support.  Added dump file searching.
8509
8510         * config.h.in: Added EMACS_PROGNAME.
8511
8512         * console-stream.c (init_console_stream): Fix reinitialisation
8513         when running from temacs.
8514
8515         * alloc.c (pdump): Add id support.
8516         (pdump_load): Add file parameter and signature/id support.
8517
8518         * Makefile.in.in: Add full pdump support.
8519
8520 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
8521
8522         * postgresql.c: Update documentation to reflect latest code
8523         status.
8524         (print_result): Show tuple counts in printed representation when
8525         appropriate.
8526         (Fpq_put_nbytes): MULE-ize.
8527         (Fpq_get_line_async): Ditto.
8528
8529 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
8530
8531         * postgresql.c (Fpq_lo_import): Fix return value.
8532         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
8533
8534 2000-03-13  Ben Wing  <ben@xemacs.org>
8535
8536         * alloc.c (pdump_load):
8537         Fix compile warning under mswin.
8538
8539 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
8540
8541         * postgresql.c: Mule-ization, bug fixes.
8542         Use PG_CODING to encapsulate coding system name changes.
8543         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
8544         (pg-coding-system): Create.
8545
8546         (Fpq_conn_defaults): Mule-ize.
8547         (Fpq_connectdb): Mule-ize & bug fix.
8548         (Fpq_connect_start): Mule-ize.
8549         (Fpq_set_client_encoding): Mule-ize.
8550         (Fpq_finish): Document `DEAD' connection status.
8551         (Fpq_clear): Ditto.
8552         (Fpq_pgconn): Mule-ize.
8553         (Fpq_exec): Mule-ize & bug fix.
8554         (Fpq_send_query): Ditto.
8555         (Fpq_get_result): Ditto.
8556         (Fpq_res_status): Mule-ize.
8557         (Fpq_result_error_message): Mule-ize.
8558         (Fpq_ntuples): fix comments.
8559         (Fpq_fname): Mule-ize.
8560         (Fpq_fnumber): Mule-ize.
8561         (Fpq_ftype): fix comments.
8562         (Fpq_get_value): Mule-ize.
8563         (Fpq_cmd_status): Ditto.
8564         (Fpq_cmd_tuples): Ditto.
8565         (Fpq_oid_value): Ditto.
8566         (Fpq_notifies): Ditto.
8567         (Fpq_lo_import): Ditto.
8568         (Fpq_lo_export): Ditto.
8569         (Fpq_get_line): Ditto.
8570         (Fpq_put_line): Mule-ize and bug fix.
8571         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
8572
8573 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
8574
8575         * postgresql.c (vars_of_postgresql): Mule-ize.
8576         (Fpq_conn_defaults): Ditto.
8577
8578 2000-03-12  Ben Wing  <ben@xemacs.org>
8579
8580         * alloc.c (Fmake_byte_code):
8581         * alloc.c (debug_string_purity_print):
8582         * alloc.c (pdump_backtrace):
8583         * alloc.c (pdump_get_indirect_count):
8584         * alloc.c (pdump_register_sub):
8585         * alloc.c (pdump_register_object):
8586         * alloc.c (pdump_register_struct):
8587         * alloc.c (pdump_dump_data):
8588         * alloc.c (pdump_reloc_one):
8589         Minor cleanups.
8590
8591         * console-msw.c:
8592         * console-msw.c (GetConsoleHwnd):
8593         * console-msw.c (msw_hide_console):
8594         * console-msw.c (msw_show_console):
8595         * console-msw.c (msw_ensure_console_buffered):
8596         * console-msw.c (msw_output_console_string):
8597         * console-msw.c (console_type_create_mswindows):
8598
8599         a) Added functions to manipulate the console window for use with
8600         shell support.
8601
8602         b) Added support for writing text to the console, which is now
8603         used under Windows when xemacs is not being run non-interactively,
8604         to write text that would otherwise be destined for stdout because
8605         under these circumstances, text written to stdout tends to
8606         disappear and not be seen.
8607
8608         * console-msw.h:
8609         * event-Xt.c:
8610         * event-Xt.c (x_event_to_emacs_event):
8611         * event-Xt.c (describe_event_window):
8612         * events-mod.h (XEMACS_MOD_CONTROL):
8613         * events.c:
8614         * events.c (Fmake_event):
8615         * events.c (character_to_event):
8616         * events.c (event_to_character):
8617         * events.c (format_event_object):
8618         * events.c (Fevent_modifiers):
8619         * events.h:
8620         * events.h (struct key_data):
8621         * events.h (struct button_data):
8622         * events.h (struct misc_user_data):
8623         * frame-x.c (Fcde_start_drag_internal):
8624         * frame-x.c (Foffix_start_drag_internal):
8625         * gpmevent.c (Freceive_gpm_event):
8626         * keymap.c:
8627         * keymap.c (bucky_sym_to_bucky_bit):
8628         * keymap.c (control_meta_superify):
8629         * keymap.c (make_key_description):
8630         * keymap.c (keymap_lookup_directly):
8631         * keymap.c (create_bucky_submap):
8632         * keymap.c (keymap_store):
8633         * keymap.c (define_key_check_and_coerce_keysym):
8634         * keymap.c (define_key_parser):
8635         * keymap.c (define_key_alternate_name):
8636         * keymap.c (Fdefine_key):
8637         * keymap.c (raw_lookup_key_mapper):
8638         * keymap.c (struct map_keymap_unsorted_closure):
8639         * keymap.c (map_keymap_unsorted_mapper):
8640         * keymap.c (map_keymap_sort_predicate):
8641         * keymap.c (map_keymap_sorted):
8642         * keymap.c (accessible_keymaps_mapper_1):
8643         * keymap.c (where_is_recursive_mapper):
8644         * keymap.c (describe_map_mapper):
8645         * keymap.c (describe_map_sort_predicate):
8646         * keymap.c (describe_map):
8647         * keymap.c (complex_vars_of_keymap):
8648         And a number of other files, the key modifier preprocessor
8649         constants that xemacs uses have names that conflict with constants
8650         defined under MS Windows for other purposes, so they were renamed
8651         to begin with the prefix XEMACS_. The variables that hold such
8652         modifiers were changed to consistently be of type int to fix
8653         various compile warnings.
8654
8655         * console.c (complex_vars_of_console):
8656         * device.c:
8657         * device-msw.c:
8658         * device-msw.c (mswindows_finish_init_device):
8659         * device-msw.c (msw_get_workspace_coords):
8660         * device-msw.c (mswindows_device_system_metrics):
8661         and various other files, added support for a new
8662         device property called offset-workspace which returns the position
8663         of the upper left corner of the workspace area and goes along with
8664         the existing size-workspace property.
8665
8666         * dialog-msw.c:
8667         * dialog-msw.c (push_bufbyte_string_as_unicode):
8668         * dialog-msw.c (mswindows_popup_dialog_box):
8669         Added support for XEmacs-style accelerator specifications in
8670         button text.  Note: I didn't add support for this under X Windows,
8671         and somebody needs to do this.
8672
8673         * dialog.c:
8674         * dialog.c (Fpopup_dialog_box):
8675         Documented the support for accelerators that was just mentioned.
8676
8677         editfns.c (get_home_directory): Changed behavior under Windows
8678         when HOME not defined; former behavior was irretrievably broken.
8679
8680         * emacs.c:
8681         * emacs.c (main_1):
8682         * emacs.c (main):
8683         * minibuf.c (clear_echo_area_internal):
8684         * minibuf.c (echo_area_append):
8685         * print.c:
8686         * print.c (std_handle_out_external):
8687         * print.c (std_handle_out_va):
8688         * print.c (fatal):
8689         * print.c (write_string_to_stdio_stream):
8690         * print.c (output_string):
8691         * print.c (debug_print):
8692         * print.c (debug_backtrace):
8693         * print.c (debug_short_backtrace):
8694         Cleaned up the code that prints text to stdout so that this can be
8695         changed to output into a console window instead under MS Windows,
8696         as described above.
8697
8698         * eval.c:
8699         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
8700         * eval.c (internal_catch):
8701         * eval.c (unwind_to_catch):
8702         * eval.c (throw_or_bomb_out):
8703         * eval.c (condition_case_1):
8704         * eval.c (signal_1):
8705         * eval.c (check_error_state_sanity):
8706         * eval.c (call_with_suspended_errors_1):
8707         * eval.c (call_with_suspended_errors):
8708         * eval.c (reinit_vars_of_eval):
8709         Added code to catch throw loops and check for a pesky bug that may
8710         be gone now.
8711
8712         * event-msw.c:
8713         * event-msw.c (key_needs_default_processing_p):
8714         * event-msw.c (mswindows_wnd_proc):
8715         * event-msw.c (mswindows_modifier_state):
8716         * event-msw.c (emacs_mswindows_quit_p):
8717         * event-msw.c (vars_of_event_mswindows):
8718         a) Added support for using the alt key to select menu items as is
8719         standard under MS Windows.  This is controlled using the variable
8720         menu-accelerator-enabled, just like under X Windows.  There is an
8721         option on the options menu to turn this support on.  I really
8722         think that it should be on by default under Windows, but I'm not
8723         going to make this change yet.
8724
8725         b)  Added support for dynamic display size changes under Windows.
8726
8727         * event-stream.c:
8728         * event-stream.c (maybe_echo_keys):
8729         * event-stream.c (Fnext_event):
8730         * event-stream.c (command_builder_find_leaf):
8731         * event-stream.c (lookup_command_event):
8732         * event-stream.c (execute_command_event):
8733         * event-stream.c (pre_command_hook):
8734         * event-stream.c (post_command_hook):
8735         * event-stream.c (syms_of_event_stream):
8736         * event-stream.c (vars_of_event_stream):
8737         * event-stream.c (complex_vars_of_event_stream):
8738         * events.h (struct command_builder):
8739
8740         a) Tried to clean up a little bit the horribly written x-specific
8741         accelerator code that crept into this file.  I moved this code
8742         into menubar-x.c where it belongs. I also needed to move the
8743         command builder structure into the file events.h because it is
8744         accessed directly by this accelerator code.  What I didn't do, but
8745         which should be done at some point, is to properly abstract this
8746         code using device methods instead of the kludgy way that it
8747         currently hooks into the event code.
8748
8749         b) Added the lisp variables this-command-properties and
8750         last-command- properties, which should be used to synchronize two
8751         adjacent commands in preference to playing games with the variable
8752         this-command, which is typically what happens.
8753
8754         c) Added some slightly nasty code to hook into the lisp support
8755         for shifted- motion-key selection.  This is actually necessary for
8756         somewhat complicated reasons, which are described in
8757         simple.el. (NB: I think the proper thing would be to have the code
8758         that calls the pre and post command hooks also call out to generic
8759         lisp functions in simple.el, where all built-in stuff could be
8760         added.  I will think about this more.)
8761
8762         * event-unixoid.c (poll_fds_for_input):
8763         * lread.c (readchar):
8764         * redisplay-tty.c (tty_clear_frame):
8765         * redisplay-x.c (x_get_gc):
8766         * signal.c (interrupt_signal):
8767         And a whole bunch of other files: fixed up places that printed
8768         directly to stderr to instead call the function stderr_out so that
8769         the changes I made under Windows work correctly.
8770
8771         * filemode.c (mode_string):
8772         Warning fixes.
8773
8774         * frame-msw.c:
8775         * frame-msw.c (mswindows_size_frame_internal):
8776         Fixed the computation of frame size and position to keep the frame
8777         within the workspace area, rather than within the physical
8778         dimensions of the screen, so that the frame doesn't overlap window
8779         manager decorations, such as the start menu and toolbar, typically
8780         at the bottom of the screen.
8781
8782         * frame.c (vars_of_frame):
8783         Changed the default frame title format under MS Windows to consist
8784         of buffername-XEmacs, which is standard under MS Windows.  I think
8785         it might be a good idea to change this everywhere because I think
8786         it is superior to the current frame title format, but this is the
8787         kind of change that is likely to cause some people to get annoyed,
8788         so I'm not making it.
8789
8790         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
8791
8792         * gui-msw.c (mswindows_handle_gui_wm_command):
8793         Fixed compile warnings.
8794
8795         * gui-x.c:
8796         * gui-x.c (strdup_and_add_accel):
8797         * gui-x.c (button_item_to_widget_value):
8798         * gui-x.h:
8799         Added code to automatically put an accelerator onto the beginning
8800         of menu items that don't have one as is now the standard, and is
8801         described more later.  Also fixed things so that the menu item
8802         name can be an evaluated expression, again a new standard.
8803
8804         * gui.c:
8805         * gui.c (gui_item_add_keyval_pair):
8806         * gui.c (make_gui_item_from_keywords_internal):
8807         * gui.c (gui_add_item_keywords_to_plist):
8808         * gui.c (gui_item_accelerator):
8809         * gui.c (gui_name_accelerator):
8810         * gui.c (gui_item_included_p):
8811         * gui.c (gui_item_display_flush_left):
8812         * gui.c (gui_item_display_flush_right):
8813         * gui.c (parse_gui_item_tree_item):
8814         * gui.c (parse_gui_item_tree_children):
8815         * gui.c (parse_gui_item_tree_list):
8816         Mule-ized.  Cleanup.  GCPRO addition.
8817
8818         * line-number.c (buffer_line_number):
8819         * lisp.h:
8820         * lisp.h (EMACS_INT_MAX):
8821         Added the manifest constant EMACS_INT_MIN corresponding to the
8822         existing constant EMACS_INT_MAX.  This is partially to fix compile
8823         warnings under Windows, and partly for cleanliness.
8824
8825         * menubar-msw.c:
8826         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
8827         * menubar-msw.c (msw_translate_menu_or_dialog_item):
8828         * menubar-msw.c (displayable_menu_item):
8829         * menubar-msw.c (populate_menu_add_item):
8830         * menubar-msw.c (populate_or_checksum_helper):
8831         * menubar-msw.c (populate_menu):
8832         * menubar-msw.c (update_frame_menubar_maybe):
8833         * menubar-msw.c (prune_menubar):
8834         * menubar-msw.c (msw_char_is_accelerator):
8835         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
8836         * menubar-msw.c (mswindows_handle_wm_command):
8837         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
8838         * menubar-msw.c (mswindows_handle_wm_initmenu):
8839         * menubar-msw.c (mswindows_update_frame_menubars):
8840         * menubar-msw.c (mswindows_free_frame_menubars):
8841         * menubar-msw.c (mswindows_popup_menu):
8842         Fixed a bug in handling accelerators where an extra character
8843         would be displayed in the menu item.  Also generalized the
8844         function displayable_menu_item because it is now used by the
8845         dialog box code as well.  And finally, added code in the functions
8846         that create the menubar to extract a list of accelerators for the
8847         top level menubar, which is used in the event code to determine
8848         whether a particular alt-key combination should be used to invoke
8849         a menu item, or should be passed through to access the standard
8850         XEmacs keymap binding for this key combination.
8851
8852         Much needed GCPROing.
8853
8854         * menubar-x.c:
8855         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8856         * menubar-x.c (menu_item_descriptor_to_widget_value):
8857         * menubar-x.c (restore_in_menu_callback):
8858         * menubar-x.c (x_popup_menu):
8859         * menubar-x.c (menu_move_up):
8860         * menubar-x.c (menu_move_down):
8861         * menubar-x.c (menu_move_left):
8862         * menubar-x.c (menu_move_right):
8863         * menubar-x.c (menu_select_item):
8864         * menubar-x.c (command_builder_operate_menu_accelerator):
8865         * menubar-x.c (menu_accelerator_junk_on_error):
8866         * menubar-x.c (command_builder_find_menu_accelerator):
8867         * menubar-x.c (Faccelerate_menu):
8868         * menubar.h:
8869         Moved a whole bunch of code here that was previously in
8870         event-stream.c as described above.  There is also code connected
8871         to the new standard of adding an accelerator to the beginning of
8872         menu items that don't have one as described above and below.
8873
8874         * menubar.c:
8875         * menubar.c (menu_parse_submenu_keywords):
8876         * menubar.c (Fmenu_find_real_submenu):
8877         * menubar.c (Fnormalize_menu_item_name):
8878         * menubar.c (syms_of_menubar):
8879         * menubar.c (vars_of_menubar):
8880         * menubar.c (complex_vars_of_menubar):
8881
8882         a) Cleaned up a bunch of documentation and improved it.
8883
8884         b) XEmacs now automatically adds an accelerator onto the beginning
8885         of any menu items that don't have one.  I did this because there
8886         will inevitably be some menu items on the main menubar that don't
8887         have accelerators on them because the package that adds that
8888         particular menu item hasn't yet been fixed up to have accelerators
8889         in them and it looked rather strange to have some items with and
8890         some items without accelerators, especially since even in items
8891         without accelerators, you can, at least under windows, still
8892         access the item through an accelerator corresponding to the first
8893         character in the item's name.  If people don't like this behavior,
8894         I can add a variable to turn it off optionally, but I'm not sure
8895         this is a good idea because we really do need to have accelerators
8896         on all of the menu items, and if a package doesn't like the
8897         accelerators being put on the first character, then it should put
8898         the accelerators where they belong.
8899
8900         c) I made a behavior change, which is that the descriptor that
8901         specifies the text of the menu item, which formerly was just a
8902         string, can now also be an evaluated expression.  This makes this
8903         descriptor parallel with all of the others, which could also be
8904         evaluated expressions.  This also obviates the need for the
8905         keyword :label, which was previously listed in the documentation
8906         as unimplemented, and which was for the same purpose.
8907
8908         d) GCPROing.
8909
8910         * ntproc.c:
8911         * ntproc.c (new_child):
8912         * ntproc.c (sys_spawnve):
8913         * ntproc.c (find_child_console):
8914         * ntproc.c (sys_kill):
8915         Fixed compile warnings.  By the way, this file should really go
8916         away entirely, and this will happen as soon as Kirill makes his
8917         final round of process cleanups, which affect the function
8918         call-process.
8919
8920         * process-nt.c:
8921         * process-nt.c (struct nt_process_data):
8922         * process-nt.c (find_process_from_pid):
8923         * process-nt.c (send_signal_the_nt_way):
8924         * process-nt.c (enable_child_signals):
8925         * process-nt.c (find_child_console):
8926         * process-nt.c (send_signal_the_95_way):
8927         * process-nt.c (nt_finalize_process_data):
8928         * process-nt.c (ensure_console_window_exists):
8929         * process-nt.c (nt_create_process):
8930         * process-nt.c (nt_kill_child_process):
8931         * process-nt.c (nt_kill_process_by_pid):
8932         * process-nt.c (nt_open_network_stream):
8933         * process-nt.c (vars_of_process_nt):
8934         Copied over code from Emacs 20.5 to correctly send signals to sub-
8935         processes under Windows 95.  Also added code to automatically
8936         create and hide console window when a sub-process is created under
8937         Windows 95, which obviates the need for the separate runemacs.exe
8938         executable, and finally implemented some variables that were
8939         implemented in Emacs 20.5, but previously not in XEmacs.  These
8940         include mswindows- start-process-share-console and
8941         mswindows-start-process-inherit-error-mode. (Both of these only
8942         apply to Windows 95.)
8943
8944         * regex.c (regex_compile): Fixed a compile warning.
8945
8946         * select-msw.c:
8947         * select-msw.c (mswindows_own_selection):
8948         * select-msw.c (mswindows_get_foreign_selection):
8949         * select-msw.c (mswindows_disown_selection):
8950         * select-msw.c (console_type_create_select_mswindows):
8951         * select-msw.c (syms_of_select_mswindows):
8952         Cleaned up the file and implemented the device method
8953         selection_exists_p, which had accidentally been left out.  Also
8954         removed four lisp functions that were remnants from before the
8955         time when the selection code was properly device abstracted.
8956         These functions are no longer needed because there are generic
8957         equivalents, and because they were added recently and don't exist
8958         in FSF Emacs, I don't think there's any problem with just deleting
8959         them.
8960
8961         * sysdep.c:
8962         * sysdep.c (sys_subshell):
8963         Fixed a compile warning, although in this case there's probably
8964         something wrong with this code, and it ought to be looked into
8965         more thoroughly by somebody who understands it.
8966
8967         * window.c:
8968         * window.c (Fwindow_text_area_height):
8969         * window.c (Fwindow_width):
8970         * window.c (Fwindow_full_width):
8971         * window.c (Fwindow_pixel_width):
8972         * window.c (debug_print_window):
8973         * window.c (syms_of_window):
8974         Added functions window-text-area-height and window-full-width,
8975         which are functions for returning various width and height
8976         characteristics of a window. (One of these functions is necessary
8977         for making the file dialog box work correctly, and the other one
8978         was added for completeness.)  Also added a table to the
8979         documentation for window-height which describes the entire scheme
8980         for accessing width and height characteristics of a window.
8981
8982 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8983
8984         * nt.c (fstat): Added a comment for another problem with
8985         non-encapsulated [f]stat(), reported by Adrian Aichner
8986         <aichner@ecf.teradyne.com>.
8987
8988 2000-03-11  Andy Piper  <andy@xemacs.org>
8989
8990         * window.c (make_dummy_parent): initialize subwindow instance
8991         cache.
8992         (Fset_window_configuration): zero extent_modiff.
8993
8994 2000-03-10  Andy Piper  <andy@xemacs.org>
8995
8996         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
8997         more changes can be triggered.
8998         (Fredisplay_frame): ditto.
8999         (Fredraw_device): ditto.
9000         (Fredisplay_device): ditto.
9001         (redisplay_frame): make non-static.
9002         (redisplay_frame): call update_frame_gutter_geometry outside of
9003         display proper.
9004
9005         * gutter.h: declare update_frame_gutter_geometry.
9006
9007         * redisplay.h: declare redisplay_frame.
9008
9009         * gutter.c (update_frame_gutter_geometry): move geometry changes
9010         in update_frame_gutters here. Geometry changes can only occur
9011         outside of redisplay.
9012         (update_frame_gutters): remove geometry change code.
9013         (Fredisplay_gutter_area): make sure that we are in display when we
9014         update and that we have flushed any size changes.
9015
9016 2000-03-11  Andy Piper  <andy@xemacs.org>
9017
9018         * alloc.c (pdump_dump_data): remove i & count shadows.
9019
9020 2000-02-27  Mike Alexander  <mta@arbortext.com>
9021
9022         * sysdep.h: Declare pdump_read_file
9023
9024         * sysdep.c (pdump_read_file): New function
9025
9026         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9027         dump data
9028
9029 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9030
9031         * lrecord.h: add `lrecord_type_pgsetenv'.
9032
9033 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9034
9035         * symsinit.h: declare (vars|syms)_of* functions.
9036         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9037
9038 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9039
9040         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9041
9042         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9043         GCCs.
9044
9045         * emacs.c (main_1): Call postgres initialization code.
9046
9047         * postgresql.h: New file.  PostgreSQL RDBMS support.
9048         * postgresql.c: New file.
9049
9050 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9051
9052         * redisplay-output.c (redisplay_output_display_block): Disable
9053         redundant code.
9054
9055 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9056
9057         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9058         (Fcanna_henkan_next): Ditto.
9059         (Fcanna_bunsetu_henkou): Ditto.
9060         (Fcanna_henkan_kakutei): Ditto.
9061         (Fcanna_henkan_end): Ditto.
9062         (Fcanna_henkan_quit): Ditto.
9063         (Fcanna_henkan_next): Set retun value correctly.
9064         (c2mu): Use unsigned char instead of signed char.
9065
9066 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9067
9068         * emacs.c (main_1): Always call syms_of_gui.
9069         * inline.c: include gui.h
9070
9071 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9072
9073         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9074         converted to Lisp_Object.
9075         (Qtop_bottom): New variable.
9076         (syms_of_redisplay): Initialize it.
9077         * redisplay.h (Vvisible_bell): Ditto.
9078         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9079         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9080         only flash top and bottom.
9081
9082 2000-03-08  Andy Piper  <andy@xemacs.org>
9083
9084         * buffer.c (Frename_buffer): record new buffer name the right way.
9085
9086 2000-03-08  Andy Piper  <andy@xemacs.org>
9087
9088         * glyphs.c (update_subwindow): increase hash depth so that widget
9089         items get picked up properly.
9090
9091         * redisplay-output.c (compare_runes): increase hash depth so that
9092         widget items get picked up properly.
9093
9094 2000-03-08  Andy Piper  <andy@xemacs.org>
9095
9096         * gutter.c (output_gutter): add some debug.
9097
9098         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9099         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9100         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9101
9102         * redisplay-output.c (compare_runes): use display_hash to
9103         determine if glyphs really are not the same.
9104
9105         * glyphs.c (update_subwindow): check display_hash to see if
9106         anything really needs to be updated. If not then do
9107         nothing. Record the display_hash after updating.
9108         (image_instance_equal): compare the image_instance face also.
9109
9110 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9111
9112         * redisplay.h: Fix comment style.
9113
9114 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9115
9116         * consle-msw.h (struct mswindows_frame):
9117         Added new member paint_pending to indicate whether a WM_PAINT
9118         magic event has been queued for this frame.
9119
9120         * event-msw.c (mswindows_drain_windows_queue):
9121         Don't queue a WM_PAINT magic event if one is already queued.
9122         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9123
9124         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9125
9126 2000-03-07  Didier Verna  <didier@xemacs.org>
9127
9128         * dired.c: #include `regex.h' after `sysfile.h'.
9129
9130 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9131
9132         * sound.c (init_nas_sound): Fix compiler warning.
9133
9134         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9135         (FREE_STRUCT_P):
9136         (MARK_STRUCT_AS_FREE):
9137         (MARK_STRUCT_AS_NOT_FREE):
9138         Make `gcc -fstrict-aliasing' work properly.
9139
9140 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9141
9142         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9143         (mswindows_delete_device): Call CoUnnitialize().
9144
9145         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9146
9147 2000-02-25    <CraigL@DyCon.com>
9148
9149         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9150         <errno.h>.
9151
9152         * sysdep.c: This extern declaration for environ prevents MinGW
9153         from finding the variable in CRTDLL.DLL.
9154
9155         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9156         windows headers.
9157         (SHGFI_EXETYPE): ..
9158         (WM_MOUSEWHEEL): ..
9159         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9160         definitions.
9161         (MMRESULT): Removed, now defined in cygwin's windows headers.
9162         (TIMECAPS): ..
9163         (uid_t,gid_t,pid_t,ssize_t): ..
9164         (_timeb): Removed, MinGW defines both _timeb and timeb.
9165         (HAVE_H_ERRNO): Added.
9166         (HAVE_TZNAME): Added, configure is not detecting this.
9167
9168 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9169
9170         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9171         * syntax.c (syntax_match): Use it.
9172
9173         * cmds.c: Import auto-fill-chars from FSF Emacs.
9174         (Vauto_fill_chars): New variables.
9175         (internal_self_insert): Check Vauto_fill_chars.
9176         (vars_of_cmds):
9177         Declare auto-fill-chars as a Lisp variable and initialize it.
9178
9179 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9180
9181         * fileio.c (Fmake_symbolic_link):
9182         (Ffile_symlink_p):
9183         Run handlers even if local machine doesn't have symlinks.
9184
9185 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9186
9187         * event-msw.c (mswindows_drain_windows_queue):
9188         Don't generate paint magic events for non-XEmacs frames.
9189
9190 2000-03-05  Andy Piper  <andy@xemacs.org>
9191
9192         * redisplay.c (redisplay_frame): generate_displayable_area and
9193         friends assumes that we are not in GC, we therefore have to make
9194         sure that this doesn't happen.
9195
9196         * gutter.c (calculate_gutter_size): generate_displayable_area
9197         assumes that we are not in GC, we therefore have to make sure that
9198         this doesn't happen.
9199
9200 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9201
9202         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9203
9204 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9205
9206         * redisplay.c (regenerate_window): Make sure we set a sane value
9207         for end_pos even if we jump out of the loop.
9208         (regenerate_window): Answer Ben's question :-).
9209         (start_end_of_last_line): Add may_error argument.
9210         (start_of_last_line):
9211         (end_of_last_line): Pass may_error = 0.
9212         (end_of_last_line_may_error): New function.
9213         (pixel_to_glyph_translation): Use it, so we don't crash in
9214         event_to_glyph.
9215
9216 2000-03-04  Andy Piper  <andy@xemacs.org>
9217
9218         * window.h (struct window): add gutter_extent_modiff.
9219
9220         * window.c (allocate_window): zero out gutter_extent_modiff.
9221
9222         * redisplay.h: declare sync_display_line_structs.
9223
9224         * redisplay.c (add_glyph_rune): add a better comment.
9225
9226         * redisplay-output.c (sync_display_line_structs): made non-static.
9227         (compare_runes): remove unneccesary glyph cachel access.
9228
9229         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9230
9231         * gutter.c (output_gutter): don't output the gutter if extent
9232         changes only involve extents in buffers. use 4 sets of display
9233         lines.
9234         (gutter_extent_signal_changed_region_maybe): new function. Mark
9235         extents in gutters as changed.
9236         (update_frame_gutters): use 4 sets of display lines.
9237         (reset_gutter_display_lines): ditto.
9238         (free_frame_gutters): ditto.
9239         (redraw_exposed_gutter): force output of gutters.
9240
9241         * frame.h (struct frame): add 4 sets of gutter display lines.
9242
9243         * extents.c: (extent_changed_for_redisplay): signal changes to
9244         extents in strings in the gutter as well as extents in buffers.
9245
9246 2000-03-02  Andy Piper  <andy@xemacs.org>
9247
9248         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9249
9250         * frame.c (Fmake_frame): make sure the gutters get initialized
9251         after the frame is visible.
9252         (set_frame_selected_window): re-arrange compilation macros a
9253         little.
9254         (change_frame_size_1): mark gutters changed.
9255
9256         * device.c (Fset_device_class): mark gutters changed.
9257
9258 2000-03-01  Andy Piper  <andy@xemacs.org>
9259
9260         * window.c (window_top_frame_gutter_height): deleted.
9261         (window_bottom_frame_gutter_height): ditto.
9262         (window_left_frame_gutter_height): ditto.
9263         (window_right_frame_gutter_height): ditto.
9264         (window_top_gutter_height): don't use them.
9265         (window_bottom_gutter_height): ditto.
9266         (window_left_gutter_width): ditto.
9267         (window_right_gutter_width): ditto.
9268         (Fsplit_window): ditto.
9269         (Fwindow_pixel_edges): don't use border dimensions here.
9270
9271         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9272         (update_scrollbar_instance): ditto.
9273
9274         * redisplay.c (generate_modeline): don't take gutters into account.
9275         (generate_modeline): ditto.
9276         (redisplay_frame): small gutter display optimization.
9277
9278         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9279
9280         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9281         gutters into account.
9282
9283         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9284         for window position and type.
9285
9286         * gutter.c (get_gutter_coords): fix for frame gutters.
9287         (update_frame_gutters): update frame geometry if the gutters have
9288         changed.
9289         (init_frame_gutters): record current gutter geometries.
9290
9291         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
9292         var.
9293         (mswindows_widget_instantiate): ditto.
9294
9295         * frame.h (struct frame): add current_gutter_bounds.
9296
9297         * frame.c (change_frame_size_1): position window and minibuffer
9298         appropriately taking into account the frame gutters.
9299
9300         * frame-x.c: (x_initialize_frame_size): take into account the
9301         frame gutters.
9302
9303 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9304
9305         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
9306
9307 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9308
9309         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
9310
9311 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9312
9313         * file-coding.c (reset_decoding_stream): Clear previous
9314         detection state when autodetect.
9315
9316 2000-02-29  Didier Verna  <didier@xemacs.org>
9317
9318         * extents.c (set_extent_glyph_1): don't require extents to be
9319         attached.
9320
9321 2000-02-27  Andy Piper  <andy@xemacs.org>
9322
9323         * gutter.c (Fset_default_gutter_position): don't default left and
9324         right gutter visibility to t.
9325         (Fset_default_gutter_position): run
9326         default-gutter-position-changed-hook.
9327         (syms_of_gutter): add default-gutter-position-changed-hook.
9328
9329 2000-02-26  Andy Piper  <andy@xemacs.org>
9330
9331         * specifier.c (Fmake_specifier): add gutter references.
9332
9333         * gutter.h (RAW_WINDOW_GUTTER): new macro.
9334
9335         * lisp.h: declare Fvalid_plist_p.
9336
9337         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
9338         as changed.
9339         (default_gutter_visible_p_changed_in_window): invalidate gutter as
9340         well as its visibility so that it gets reconstructed.
9341         (construct_window_gutter_spec): new function. Construct a string
9342         to be displayed in the gutter from a plist of strings. Take care
9343         to only use elements that are declared as visible.
9344         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
9345         WINDOW_GUTTER.
9346         (gutter_validate): allow plists of strings in the specifier.
9347         (gutter_specs_changed): construct the real_gutter from the gutter
9348         specs using construct_window_gutter_spec.
9349         (gutter_visible_validate): gutter-visible is a new specifier type.
9350         (Fgutter_visible_specifier_p): new function for the new specifier.
9351         (syms_of_gutter): declare gutter-visible and
9352         Fgutter_visible_specifier_p.
9353         (specifier_type_create_gutter): intitalize new gutter-visible
9354         specifier.
9355         (reinit_specifier_type_create_gutter): ditto.
9356         (specifier_vars_of_gutter): use new specifier type for gutter
9357         visibility.
9358         (init_frame_gutters): construct real_gutter correctly.
9359         (Fgutter_specifier_p): beef up documentation.
9360         (Fgutter_size_specifier_p): ditto.
9361
9362         * winslots.h: add real_gutter slots.
9363
9364 2000-02-25  Andy Piper  <andy@xemacs.org>
9365
9366         * device-msw.c: Be kind to older cygwin versions. From Raymond
9367         Toy <toy@rtp.ericsson.se>.
9368
9369         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
9370         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
9371
9372 2000-02-25  Martin Buchholz  <martin@xemacs.org>
9373
9374         * elhash.c (MARK_OBJ): Practice macro hygiene.
9375
9376 2000-02-24  Martin Buchholz  <martin@xemacs.org>
9377
9378         * miscplay.c: s/__inline__/inline/g;
9379         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
9380         (get_device_compdc): INLINE ==> static inline
9381         * *.[ch]: Change INLINE to INLINE_HEADER globally.
9382         find -name '*.h' | \
9383         xargs global-replace \
9384         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
9385
9386 2000-02-25  Andy Piper  <andy@xemacs.org>
9387
9388         * window.c (window_top_frame_gutter_height): new function.
9389         (window_top_window_gutter_height): ditto.
9390         (window_top_gutter_height): use them.
9391         (window_bottom_frame_gutter_height): new function.
9392         (window_bottom_window_gutter_height): ditto.
9393         (window_bottom_gutter_height): use them.
9394         (window_left_window_gutter_width): new function.
9395         (window_left_frame_gutter_width): ditto.
9396         (window_left_gutter_width): use them.
9397         (window_right_window_gutter_width): new function.
9398         (window_right_frame_gutter_width): ditto.
9399         (window_right_gutter_width): use them.
9400         (window_pixel_height): new function. calulate window pixel height
9401         with frame gutter involvement.
9402         (Fsplit_window): calculate new sizes taking frame gutters into
9403         account.
9404         (window_char_height_to_pixel_height): don't include frame gutters.
9405         (window_char_height): use window_pixel_height.
9406         (window_pixheight): rename from window_pixel_height.
9407         (change_window_height): use it.
9408         (window_pixel_height_to_char_height): don't include frame gutters.
9409         (window_char_width_to_pixel_width): ditto.
9410
9411 2000-02-25  Andy Piper  <andy@xemacs.org>
9412
9413         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
9414         if it is.
9415
9416 2000-02-24  Martin Buchholz  <martin@xemacs.org>
9417
9418         * alloc.c (staticpro):
9419         (staticpro_nodump):
9420         (dumpstruct):
9421         (dumpopaque):
9422         (pdump_wire):
9423         (pdump_wire_list):
9424         (compact_string_chars):
9425         (pdump_dump_wired):
9426         Convert:  if (foo) abort();  ==>  assert (! foo);
9427
9428         * eldap.c (Fldap_search_basic):
9429         (Fldap_add):
9430         (Fldap_modify):
9431         (Fldap_delete):
9432         Fix compiler warnings, and possible crashes if (random) return
9433         value were to be used.
9434
9435 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9436
9437         * device-msw.c: Workaround ResetDC failure.
9438
9439         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
9440         applying a devmode.
9441
9442         * redisplay-msw.c (get_frame_dc): Added start_page_p.
9443         (mswindows_text_width): Do not start printer page.
9444
9445         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
9446
9447         * glyphs-msw.c: Added image methods to msprinter console and
9448         msprinter-specific image instantiation.
9449
9450 2000-02-20  Mike Alexander  <mta@arbortext.com>
9451
9452         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
9453         to avoid crashes when selection-sets-clipboard is on
9454         (mswindows_own_selection): ditto
9455
9456 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9457
9458         * glyphs-msw.c:
9459         * redisplay-msw.c (get_frame_dc):
9460         (get_frame_compdc):
9461         * console-msw.h:
9462         * device-msw.c (mswindows_init_device):
9463         (mswindows_delete_device):
9464         (msprinter_init_device):
9465         (msprinter_delete_device):
9466         * frame-msw.c (mswindows_init_frame_1):
9467         (mswindows_delete_frame):
9468         (msprinter_init_frame_3):
9469         (msprinter_delete_frame): Move compatible DC to device object from
9470         frame object, for both mswindows and msprinter. Only one at a time
9471         is needed, it is a real waste to have one per frame!
9472
9473 2000-02-23  Andy Piper  <andy@xemacs.org>
9474
9475         * glyphs.c: add dynamic width and height elements.
9476         (image_instance_equal): ditto.
9477
9478         * glyphs-widget.c (widget_query_geometry): calculate width and
9479         height dynamically if required.
9480         (initialize_widget_image_instance): initialize dynamic dimensions.
9481         (widget_instantiate): pick-up dynamic dimensions.
9482
9483         * glyphs.h (struct Lisp_Image_Instance): add width and height for
9484         dynamic determination. Add appropriate macros.
9485
9486         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
9487         dimensions safe.
9488         (WINDOW_GUTTER_SIZE): ditto.
9489         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
9490
9491         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
9492         inline.
9493         (get_frame_dc): ditto.
9494
9495         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
9496         here.
9497
9498 2000-02-23  Martin Buchholz <martin@xemacs.org>
9499
9500         * XEmacs 21.2.31 is released.
9501
9502 2000-02-22  Ben Wing <ben@xemacs.org>
9503
9504         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
9505
9506 2000-02-22  Andy Piper  <andy@xemacs.org>
9507
9508         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
9509
9510 2000-02-21  Mike Sperber <mike@xemacs.org>
9511
9512         * .dbxrc:
9513         * .gdbinit:
9514         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
9515         variables.
9516
9517 2000-02-21  Mike Sperber <mike@xemacs.org>
9518
9519         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
9520
9521 2000-02-21  Martin Buchholz <martin@xemacs.org>
9522
9523         * XEmacs 21.2.30 is released.
9524
9525 2000-02-20  Martin Buchholz  <martin@xemacs.org>
9526
9527         Performance hacking.
9528         * *.c (syms_of_*):
9529         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
9530         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
9531         * emacs.c (main_1):
9532         * lisp.h (DEFUN):
9533         * console.c (DEFVAR_CONSOLE_LOCAL_1):
9534         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
9535         * symeval.h (DEFVAR_SYMVAL_FWD):
9536         * symbols.c (guts_of_unbound_marker):
9537         Make all c_readonly objects also lisp_readonly and marked for life.
9538         * lrecord.h (struct lrecord_implementation):
9539         Document flags better.
9540         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
9541         * lrecord.h (DECLARE_LRECORD):
9542         * lrecord.h (XSETRECORD):
9543         * lrecord.h (RECORDP):
9544         * lrecord.h (RECORD_TYPEP):
9545         * lrecord.h (RECORD_MARKER): New.
9546         * lrecord.h (error_check_*):
9547         * lrecord.h (CONCHECK_NONRECORD):
9548         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
9549         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
9550         * lrecord.h (set_lheader_implementation):
9551         * lrecord.h (enum lrecord_type): New.
9552         * symeval.h (SYMBOL_VALUE_MAGIC_P):
9553         * alloc.c (disksave_object_finalization_1):
9554         * alloc.c (mark_object):
9555         * alloc.c (lrecord_type_index):
9556         * alloc.c (tick_lcrecord_stats):
9557         * alloc.c (Fgarbage_collect):
9558         * alloc.c (init_alloc_once_early):
9559         * alloc.c (pdump_load):
9560         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
9561         * alloc.c (lrecord_type_index): Delete.
9562         Make lisp object type indexes be constant.
9563           Makes (byte-compile) 5% faster.
9564         Put all marker functions into their own array.
9565           Makes (garbage-collect) 5% faster.
9566         Optimize SYMBOL_VALUE_MAGIC_P.
9567           Makes (byte-compile) 2-3% faster.
9568         * config.h.in (gc_checking_assert): New.
9569         * alloc.c: Use gc_checking_assert().
9570         * .dbxrc: Make compatible with new object type implementation.
9571         * .gdbinit: Make compatible with new object type implementation.
9572         * alloc.c: Delete all symbols defined only for debugging, such as
9573         Lisp_Type_Vector and lrecord_charset.
9574
9575 2000-02-21  Andy Piper  <andy@xemacs.org>
9576
9577         * gui-msw.c (Fmswindows_shell_execute): fix file location
9578         problems.
9579
9580         * buffer.c (Fkill_buffer): remove buffer from alist buffer
9581         unshowing so that set_window_buffer doesn't undo
9582         kill_buffer_hook's hard work.
9583
9584         * glyphs-widget.c (tab_control_query_geometry): don't count the
9585         first item when calculating geometry.
9586
9587         * glyphs.c (map_subwindow): remove redundant code.
9588         (update_frame_subwindows): be more circumspect about when to
9589         update subwindows.
9590
9591         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
9592         when items haven't changed. Update faces if faces have changed as
9593         well as just the widget face.
9594         (x_tab_control_update): Update faces if faces have changed as well
9595         as just the widget face.
9596
9597 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9598
9599         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
9600         registration.
9601         (build_syscolor_string): Use mswindows_color_to_string to try to
9602         get a named color.
9603         (mswindows_device_system_metrics): Reverse the foreground and
9604         background colors so that they match the documentation.
9605
9606         * objects-msw.c: (mswindows_X_color_map): tweak some values so
9607         they match the default Windows palette.
9608         (mswindows_color_to_string): New function.
9609
9610 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9611
9612         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
9613
9614 2000-02-18  Olivier Galibert  <galibert@pobox.com>
9615
9616         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
9617         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
9618
9619         * symbols.c (init_symbols_once_early): Removed obsolete
9620         DATA_SEG_BITS related kludge.
9621         (defvar_magic): Ditto.
9622
9623         * malloc.c: Removed obsolete DATA_SEG_BITS
9624         * ralloc.c: Ditto.
9625         * mem-limits.h: Ditto.
9626
9627         * Makefile.in.in: Removed obsolete HAVE_SHM
9628         * emacs.c: Ditto.
9629
9630 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9631
9632         *  device-msw.c (mswindows_delete_device): Free DDE string
9633         handles.
9634
9635 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9636
9637         * keymap.c (get_keyelt):
9638         * unexnt.c (unexec):
9639         * vm-limit.c (memory_warnings):
9640         * ntheap.c (recreate_heap):
9641         * ntheap.h (UNINIT_PTR):
9642         * select-msw.c (Fmswindows_get_clipboard):
9643         (Fmswindows_set_clipboard):
9644         * objects-msw.h (MSWINDOWS_BAD_HFONT):
9645         * objects-msw.c:
9646         * menubar-msw.c (displayable_menu_item):
9647         * glyphs-msw.c:
9648         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
9649         * sysdep.c (sys_subshell):
9650         * process-nt.c (nt_create_process):
9651         * nt.c (normalize_filename):
9652         (dostounix_filename):
9653         (unixtodos_filename):
9654         * ntproc.c (win32_executable_type):
9655         * ntplay.c (play_sound_data_1):
9656         (play_sound_file):
9657         * editfns.c (get_home_directory):
9658         * event-msw.c (struct winsock_stream):
9659         (mswindows_dde_callback):
9660         * device-msw.c (msprinter_init_device):
9661         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
9662
9663         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
9664         mswindows_clear_toolbar were swapped!
9665
9666         * objects-msw.c:(colormap_t):
9667         (fontmap_t):
9668         * emacs.c (struct standard_args): Fixed const jumble.
9669
9670         * glyphs-widget.c (update_widget): Fixed comparison notation.
9671
9672         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
9673
9674         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
9675         __declspec(noreturn) syntax.
9676
9677 2000-02-19  Martin Buchholz  <martin@xemacs.org>
9678
9679         * eldap.c (Fldap_open):
9680         (Fldap_search_basic):
9681         (Fldap_add):
9682         (Fldap_modify):
9683         Use new coding system conversion macros.
9684
9685 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9686
9687         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
9688
9689 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
9690
9691         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
9692         (Fldap_add, Fldap_modify, Fldap_delete): New functions
9693
9694         * eldap.c (Qadd, Qreplace): New constant symbols
9695         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
9696         interruptions by XEmacs signals
9697         Remove unnecessary calls to slow_down_interrupts and
9698         speed_up_interrupts
9699         (Fldap_search_basic): Renamed from Fldap_search_internal
9700         Added new optional parameter VERBOSE that triggers the
9701         display of progress messages
9702         Remove unnecessary calls to slow_down_interrupts and
9703         speed_up_interrupts
9704         LDAP result code analysis rewritten
9705         (Fldap_add, Fldap_modify, Fldap_delete): New functions
9706         (syms_of_eldap): Define the new symbols and functions
9707
9708
9709 2000-02-17  Martin Buchholz  <martin@xemacs.org>
9710
9711         * realpath.c: Determine PATH_MAX maximally portably.
9712
9713         * insdel.c (bytecount_to_charcount): Optimize.
9714         The function used to be optimized for entirely ASCII sequences.
9715         Now it is optimized for successive characters from the same
9716         charset.  This also wins big for _mostly_ ASCII sequences.
9717
9718         * fileio.c (Ffile_truename): convert return from realpath() using
9719         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
9720         - Rewrite GCPROing slightly.
9721
9722         * sysdep.c (sys_open): Do filename conversion, like all other
9723         sys_* functions.  Fixes bug:
9724         (let ((file-name-coding-system 'iso-8859-2))
9725            (write-region x y latin2-name))
9726         ==> writes filename using internal encoding.
9727
9728 2000-02-18  Martin Buchholz  <martin@xemacs.org>
9729
9730         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
9731         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
9732         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
9733         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
9734         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
9735         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
9736         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
9737         (CONST_IF_NOT_DEBUG): Delete.
9738         * alloc.c (this_one_is_unmarkable): Delete.
9739         (mark_object): Don't check for this_one_is_unmarkable. Use the
9740         c_readonly flag instead.
9741         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
9742
9743 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9744
9745         * event-msw.c (mswindows_drain_windows_queue):
9746         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
9747         away redundant repaint events.
9748
9749 2000-02-17  Andy Piper  <andy@xemacs.org>
9750
9751         * redisplay.h: declare mark_redisplay_structs.
9752
9753         * redisplay.c (redisplay_window):
9754         (redisplay_frame): don't check subwindows_state_changed.
9755         (mark_redisplay): mark gutters here.
9756
9757         * glyphs.c: (instantiate_image_instantiator): always layout if we
9758         haven't done so already.
9759         (allocate_image_instance): don't mark as dirty.
9760         (update_subwindow): bind inhibit_quit.
9761
9762         * gutter.c (mark_gutters): new function.
9763
9764         * glyphs-x.c (x_update_widget): Always resize to get round a
9765         widget bug.
9766
9767         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
9768         breaking absolutely everything.
9769
9770         * gutter.h: declare mark_gutters.
9771
9772 2000-02-16  Martin Buchholz <martin@xemacs.org>
9773
9774         * XEmacs 21.2.29 is released.
9775
9776 2000-02-15  Olivier Galibert  <galibert@pobox.com>
9777
9778         * fns.c (size_bit_vector): Fix computation of the size.
9779
9780 2000-02-15  Martin Buchholz  <martin@xemacs.org>
9781
9782         * *.[ch]: Change CONST to const globally.
9783         find -name '*.[ch]' | \
9784         xargs global-replace \
9785         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
9786         - Remove vestigial references to CONST_IS_LOSING
9787
9788 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9789
9790         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
9791         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
9792         events instead of dispatching them directly.
9793         (mswindows_handle_paint): New function to do repainting.
9794         (mswindows_wnd_proc):
9795         (emacs_mswindows_handle_magic_event): Call above function.
9796
9797 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9798
9799         * objects-msw.c (mswindows_create_font_variant): Return the new
9800         font handle.
9801         (initialize_font_instance): Get font metrics from the underlined
9802         variant of the font to cope with the case where the underlined
9803         font has a bigger descent.
9804
9805 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
9806
9807         * gui.c (gui_item_accelerator): Return the first underlined
9808         character in item name.
9809
9810 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9811
9812         * lisp.h: Added Qprinter.
9813
9814         * general.c (syms_of_general): Initialized it.
9815
9816         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
9817         (get_frame_dc):
9818         (get_frame_compdc): Made inline.
9819
9820         * console.h (struct console_methods): Added eject_page method.
9821
9822         * frame.h: Added FRAME_DISPLAY_P and friends.
9823         Aligned backslahes in many macros in more readable fashion.
9824         Added page_number to struct frame, and an accessor macro
9825         for it.
9826
9827         * defice.h: Added DEVICE_DISPLAY_P and friends.
9828
9829         * device.c (Fdevice_printer_p): Used these.
9830
9831         * frame.c (allocate_frame_core): Initialize page number.
9832         (Fprint_job_page_number):
9833         (Fprint_job_eject_page): Implemented.
9834
9835         * frame-msw.c (msprinter_eject_page): Added method.
9836         (msprinter_start_page): Added.
9837
9838         * window.c (Fwindow_truncated_p): Fixed docstring.
9839         (Fwindow_last_line_visible_height): Implemented.
9840
9841 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9842
9843         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
9844
9845 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9846
9847         * syntax.c (scan_words): Always advance at least one character.
9848
9849 2000-02-13  Andy Piper  <andy@xemacs.org>
9850
9851         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
9852         to make sure the glyph is in the cachels.
9853
9854         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
9855         global image instance flag.
9856         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
9857         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
9858
9859         * glyphs.c (allocate_image_instance): set dirty bits correctly.
9860         (Fset_image_instance_property): mark layout as changed.
9861         (invalidate_glyph_geometry_maybe): mark layout as changed.
9862         (glyph_width): use new NEEDS_LAYOUT macro.
9863         (glyph_ascent): ditto.
9864         (glyph_descent): ditto.
9865         (glyph_height): ditto.
9866         (image_instance_layout): mark layout as clean after laying out.
9867         (update_subwindow): don't mark layout as clean here.
9868
9869         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
9870         should no longer be needed.
9871
9872         * glyphs-x.c (x_update_widget): sanitize asserts.
9873         (x_finalize_image_instance): sanitize assignment to widgets.
9874
9875         * glyphs-widget.c (widget_instantiate): don't need to clear the
9876         layout flag here.
9877
9878 2000-02-13  Martin Buchholz  <martin@xemacs.org>
9879
9880         * sysdep.c (getcwd): Use standard prototype.
9881         * sysdep.h (getcwd): Use standard prototype.
9882
9883         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
9884         (sequence, start, end).
9885         Remove redundant type checking.
9886         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
9887         view of `caller-protects') to avoid a crash where the real fix was
9888         found elsewhere.
9889
9890 2000-02-12  Martin Buchholz  <martin@xemacs.org>
9891
9892         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
9893
9894         * s/sol2.h: Remove feature macro initialization.
9895
9896         * alloc.c (alloc_lcrecord): Add more type checking assertions.
9897         (vector_hash): New.  Code from internal_hash.
9898         * lrecord.h:
9899         Fix up allocation subsystem comments.
9900
9901         * config.h.in: Add __EXTENSIONS__ for Solaris.
9902
9903         * systime.h (EMACS_GETTIMEOFDAY): New.
9904         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
9905         Remove Solaris-specific code.
9906         Use void* for the (ignored) second arg for gettimeofday().
9907
9908         * elhash.c (hash_table_hash): Implement it, finally.
9909         * elhash.c:  Use hashcode_t.
9910
9911         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
9912         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
9913
9914         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
9915         * fns.c (size_bit_vector):
9916         * alloc.c (size_vector):
9917         (make_vector_internal):
9918         (make_bit_vector_internal):
9919         (sweep_bit_vectors_1):
9920         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
9921
9922 2000-02-10  Martin Buchholz  <martin@xemacs.org>
9923
9924         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
9925         Include strings.h to avoid warnings for bzero and strcasecmp.
9926
9927 2000-02-10  Olivier Galibert  <galibert@pobox.com>
9928
9929         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
9930         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
9931
9932         * fns.c (size_bit_vector): New.  Declare bit vectors as a
9933         sequence.
9934
9935 2000-02-10  Olivier Galibert  <galibert@pobox.com>
9936
9937         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
9938         use a value field instead.
9939         (symbol_value_forward_forward): Use value field.
9940         (DEFVAR_SYMVAL_FWD): Use value field.
9941         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
9942         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
9943         (DEFVAR_CONST_INT): Ditto.
9944         (DEFVAR_BOOL): Ditto.
9945         (DEFVAR_CONST_BOOL): Ditto.
9946         (DEFVAR_INT_MAGIC): Ditto.
9947         (DEFVAR_BOOL_MAGIC): Ditto.
9948
9949         * symbols.c (guts_of_unbound_marker): Use value field.
9950         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
9951         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
9952
9953         * lisp.h: Declare dumpopaque and noninteractive1.
9954
9955         * alloc.c (dumpopaque): Added.
9956         (pdump_dump_opaquevec): Added.
9957         (pdump): Call pdump_dump_opaquevec to dump opaque data.
9958         (pdump_load): Reload opaque data.  Sync noninteractive1 with
9959         noninteractive.
9960
9961 2000-02-10  Andy Piper  <andy@xemacs.org>
9962
9963         * glyphs.c (image_instance_layout): if the size changes, mark it
9964         as such.
9965
9966         * redisplay-output.c (redisplay_output_layout): Update the
9967         subwindow here.
9968         (redisplay_output_subwindow): ditto.
9969
9970         * glyphs.c (update_subwindow): make sure we reset flags for
9971         layouts as well as everything else.
9972
9973         * glyphs-widget.c (layout_layout): don't need to set the instances
9974         dimensions here.
9975
9976 2000-02-09  Martin Buchholz  <martin@xemacs.org>
9977
9978         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
9979         not HAVE_DLOPEN, which is a lower-level thing.
9980
9981         * .cvsignore: Ignore gmon.out
9982
9983 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
9984
9985         * .cvsignore: Ignore portable dumper xemacs.dmp file
9986
9987 2000-02-09  Andy Piper  <andy@xemacs.org>
9988
9989         * redisplay-output.c (redisplay_output_layout): be more clever
9990         about when we output based on the changed flags.
9991
9992         * glyphs.h (struct image_instantiator_methods): add update_method.
9993         (struct Lisp_Image_Instance): add changed flags. Declare new
9994         macros for manipulating them.
9995
9996         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
9997         (image_instance_parent_glyph): find an image_instance's parent
9998         glyph or image_instance.
9999         (image_instance_layout): mark the size as changed.
10000         (set_image_instance_dirty_p): new function. mark an image
10001         instance, plus all of its parents, as dirty.
10002         (Fset_image_instance_property): use it.
10003         (Fglyph_animated_timeout_handler): use it.
10004         (update_subwindow): call update_widget and device methods for
10005         update_subwindow. Mark all changed flags as clean.
10006         (Fresize_subwindow): mark size as changed.
10007
10008         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10009         failures.
10010         (x_update_subwindow): only resize subwindows here.
10011         (x_update_widget): new function. Update all changed properties of
10012         a widget.
10013         (x_resize_subwindow): deleted.
10014         (x_widget_set_property): deleted.
10015         (x_progress_gauge_set_property): deleted.
10016         (x_progress_gauge_update): new function. Implement recorded
10017         changes.
10018         (x_tab_control_update): ditto.
10019         (x_tab_control_set_property): deleted.
10020         (console_type_create_glyphs_x): declare new functions.
10021         (image_instantiator_format_create_glyphs_x): ditto.
10022
10023         * glyphs-widget.c (widget_set_property): mark text changed.
10024         (update_widget): new function. Update properties of a widget.
10025         (widget_instantiate): for layouts make sure we set their
10026         children's parent correctly.
10027         (tab_control_set_property): new function. Record changes that will
10028         take place under redisplay's control.
10029         (progress_gauge_set_property): ditto.
10030         (image_instantiator_progress_guage): declare new functions.
10031         (image_instantiator_tab_control): ditto.
10032
10033         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10034         now.
10035         (mswindows_update_widget): new function. Update all properties on
10036         a widget that have changed.
10037         (mswindows_button_update): new function. Update a button's set
10038         state.
10039         (mswindows_tab_control_update): new function. Update the items in
10040         a tab.
10041         (mswindows_tab_control_set_property): deleted.
10042         (mswindows_progress_gauge_update): new function. Update the
10043         progress gauge's progress.
10044         (mswindows_widget_set_property): deleted. This is all done
10045         asynchronously now.
10046         (mswindows_progress_gauge_set_property): ditto.
10047         (console_type_create_glyphs_mswindows): declare new methods.
10048         (image_instantiator_format_create_glyphs_mswindows): ditto.
10049
10050         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10051         (msprinter_set_frame_properties): ditto.
10052
10053         * console.h (struct console_methods): Add update_widget_method.
10054
10055 2000-02-09  Andy Piper  <andy@xemacs.org>
10056
10057         * gui-msw.c (Fmswindows_shell_execute): Make
10058         mswindows-shell-execute industrial strength.
10059
10060 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10061
10062         * lrecord.h: Make macro argument `props' match member function `plist'.
10063         * fns.c (Fget):
10064         * fns.c (Fput):
10065         * fns.c (Fremprop):
10066         * fns.c (Fobject_plist):
10067         * alloc.c:
10068         * symbols.c:
10069         Object property list frobbing cleanup.
10070         - Allow any lisp object (compared with `eq'), not just symbols, as
10071           keys in object plists.
10072         - Move symbol plist frobbing into symbols.c, where it belongs.
10073         - Move string plist frobbing into alloc.c, where it belongs.
10074         - Everything's an lrecord now, so no need to test for symbolp, etc.
10075         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10076
10077         * extents.c: Reorder code to remove declarations.
10078
10079         * frame.h (store_in_alist): Remove useless declaration.
10080
10081 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10082
10083         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10084         * config.h.in: Add HAVE_XCONVERTCASE.
10085
10086 2000-02-07  Andy Piper  <andy@xemacs.org>
10087
10088         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10089         it breaks many things.
10090
10091 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10092
10093         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10094         actually can start a common comment type.
10095         * src/syntax.h (SYNTAX_END_P): ditto for end.
10096
10097 2000-02-07  Martin Buchholz <martin@xemacs.org>
10098
10099         * XEmacs 21.2.28 is released.
10100
10101 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10102
10103         * event-Xt.c (x_keysym_to_character): New.
10104         (maybe_define_x_key_as_self_inserting_character): New.
10105         (x_has_keysym): New.
10106         Auto-define all keys on the keyboard as self-insert-key.
10107
10108 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10109
10110         * menubar.c (vars_of_menubar): A small code simplification.
10111
10112         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10113
10114         * ExternalShell.c:
10115         * ExternalClient.c:
10116         * EmacsShell-sub.c:
10117         * EmacsManager.c:
10118         * EmacsFrame.c:
10119         Use consistent style for specifying X resources.
10120
10121         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10122         This makes (dontusethis-set-symbol-value-handler) actually usable.
10123
10124         * lrecord.h (lrecord_decription_type):
10125         * alloc.c (pdump_register_sub):
10126         (pdump_dump_data):
10127         (pdump_reloc_one):
10128         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10129         Comply with XEmacs coding style.
10130         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10131         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10132
10133         * keymap.c (Faccessible_keymaps):
10134         Make (accessible-keymaps map "\C-h") do the Right Thing.
10135         Make (accessible-keymaps map []) do the Right Thing.
10136         Make (accessible-keymaps map "") do the Right Thing.
10137         (check_keymap_definition_loop): New function.
10138         (keymap_store_internal): Keep luser from shooting self in foot,
10139           via (define-key ctl-x-4-map "p" global-map).
10140         Remove fullness slot from struct Lisp_Keymap, since hash tables
10141         are now reliable.
10142         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10143
10144 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10145
10146         * redisplay.c (init_redisplay): Fix small memory leak.
10147         * elhash.h:
10148         * elhash.c (pdump_reorganize_hash_table):
10149         Rename from reorganize_hash_table. Change prototype.
10150         Reuse the original memory for hentries.  Save 100k.
10151         * alloc.c (PDUMP_READ): new macro.
10152         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10153         * alloc.c: No need to #ifndef before #undef.
10154
10155         * print.c: Allow debug_print() to print readably by modifying
10156         debug_print_readably.  Use consistent variable names.
10157
10158         * .dbxrc: Try to get things to work even if stopped in a function
10159         without source available by explicitly specifying source files.
10160 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10161
10162         * unexnt.c (_start): Removed bogus code which caused loading heap
10163         from differrent executable file.
10164         Removed bogus assignment to _fmode, which caused inconsistencies.
10165
10166 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10167
10168         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10169         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10170         Do not preliminary `#define signal sigset'.
10171
10172         * systime.h: Do not prototype environ on windows nt and cygwin,
10173         this conflicts with system header.
10174
10175         * syssignal.h: Use correct define for WINDOWSNT
10176
10177         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10178         with system header.
10179
10180         * sysdep.c (near start of file): Fixed commentary and rearranged
10181         ifdefs in readable order.
10182         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10183         (start_of_text):
10184         (end_of_text):
10185         (end_of_data): Do not compile in if using PDUMP.
10186
10187         * symsinit.h: Prototyped vars_of_nt().
10188
10189         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10190         (find_child_console): Use it.
10191         (sys_kill): Use it.
10192
10193         * ntheap.h: Do not extern os_subtype.
10194
10195         * ntheap.c (cache_system_info): Do not cache unneeded:
10196         nt_major_version, nt_minor_version and os_subtype.
10197         (recreate_heap): Do not compile in when PDUMPing.
10198
10199         * nt.c (geteuid and friends): Use the new varibale
10200         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10201         (init_user_info): Removed the above mentioned hackery.
10202         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10203         stat has been fixed in the C runtime.
10204         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10205
10206         * file-coding.c (struct file_coding_dump): Do not define
10207         ucs_to_mule_table in the struct if not MULE.
10208         (struct struct lrecord_description fcd_description_1): Do not dump
10209         the above.
10210
10211         * emacs.c (main_1): Call vars_of_nt().
10212         (right before Fdump_emacs_data): Don't need lastfile if using both
10213         portabe dumper and system malloc.
10214
10215         * alloc.c (Fmemory_limit): Conditionalized out.
10216         (pdump): Use OPEN_BINARY for the portable dump file.
10217         (pdump_load): Ditto.
10218
10219 2000-02-02  Mike Alexander  <mta@arbortext.com>
10220
10221         * nt.c (convert_time): Set tm_isdst before calling mktime and
10222         avoid calling it at all if the compiler supports 64 bit integers.
10223         Also initialize utc_base_ft before using it.
10224
10225 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10226
10227         * frame.c (change_frame_size_1): Take f->internal_border_width
10228         into consideration when calculating the width of the frame.
10229
10230 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10231
10232         * window.c (frame_min_height):
10233         (frame_size_valid_p):
10234         (frame_pixsize_valid_p): Added.
10235         (check_frame_size): Generalized.
10236
10237         * window.h: Prototyped the above.
10238
10239         * lisp.h:
10240         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10241         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10242         Deleted Vwin32_* and Vbinary_process_* unused variables.
10243
10244         * device-msw.c (msprinter_init_device): Do not get printer font
10245         list; Added DEVMODE functions.
10246
10247         * frame-msw.c: Added lots of printer code.
10248
10249         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10250         general.c.
10251
10252         * console-msw.h: Added more msprinter device private slots.
10253
10254 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10255
10256         * event-msw.c (key_needs_default_processing_p): Added.
10257         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10258
10259 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10260
10261         * glyphs.c (image_instance_layout): Mark image instance as clean
10262         after layout.
10263         (glyph_dirty_p): Removed redundant function.
10264         (invalidate_glyph_geometry_maybe): Added.
10265         (update_glyph_cachel_data): Call it.
10266
10267         * glyphs.h: Prototyped it.
10268
10269         * redisplay.c (add_glyph_rune): Call it.
10270         (redisplay_window): Reset glyphs cachels when frame faces have
10271         changed, thus forcing recomputation of built-in border glyphs.
10272
10273 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10274
10275         * Makefile.in.in: Make portable dumper and purify play well together.
10276         Add imperfect, but better than nothing, support for pdump.
10277         Remove xemacs.dmp when temacs is re-generated.
10278         Don't ignore errors when dumping xemacs.
10279
10280         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10281
10282 2000-01-28  Andy Piper  <andy@xemacs.org>
10283
10284         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10285         (setup_normal_frame): ditto.
10286         (setup_frame_without_minibuffer): ditto.
10287         (setup_minibuffer_frame): ditto.
10288         (delete_frame_internal): ditto.
10289         (Fmake_frame_invisible): ditto.
10290         (Ficonify_frame): ditto.
10291
10292         * window.h: change Fset_window_buffer signature.
10293
10294         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
10295         (Fset_window_buffer): allow recording of buffer if the window is
10296         the selected window.
10297         (window_loop): Use new Fset_window signature.
10298
10299 2000-01-23  Daniel Pittman  <daniel@danann.net>
10300
10301         * config.h.in: Added template for `HAVE_ATHENA_3D'
10302
10303 2000-01-29  Andy Piper  <andy@xemacs.org>
10304
10305         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
10306
10307         * gutter.c (output_gutter): Don't output if the window isn't live.
10308
10309 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10310
10311         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
10312         of 01/12/00: Moved SetFocus back here where it belongs.
10313
10314 2000-01-23  Andy Piper  <andy@xemacs.org>
10315
10316         * s/cygwin32.h: declare printer things.
10317
10318 2000-01-26  Andy Piper  <andy@xemacs.org>
10319
10320         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
10321         Alexander.
10322
10323 2000-01-24  Andy Piper  <andy@xemacs.org>
10324
10325         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
10326         (mswindows_button_instantiate): Make sure glyph is a pixmap.
10327
10328         * glyphs-widget.c (widget_instantiate): Avoid shadows.
10329
10330         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
10331
10332         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
10333
10334         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
10335         (mswindows_output_display_block): Avoid local shadows.
10336
10337         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
10338         (mswindows_enqueue_mouse_button_event): ditto.
10339         (mswindows_handle_gui_wm_command): remove declaration.
10340
10341         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
10342         warnings.
10343
10344         * console-msw.h: Avoid shadows.
10345         (mswindows_get_toolbar_button_text):
10346         (emacs_mswindows_create_stream_pair):
10347         (emacs_mswindows_delete_stream_pair):
10348         (mswindows_handle_toolbar_wm_command): declare.
10349
10350         * device-msw.c (build_syscolor_string): Avoid shadows.
10351
10352 2000-01-23  Andy Piper  <andy@xemacs.org>
10353
10354         * glyphs-widget.c (widget_instantiate): reverse the items for
10355         layouts so that children are in the expected order.
10356
10357 2000-01-28  Martin Buchholz  <martin@xemacs.org>
10358
10359         * ralloc.c: safe_bcopy ==> memmove
10360         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
10361         * s/msdos.h: Remove BCOPY macros.
10362         * insdel.c (gap_right): Remove BCOPY conditional code.
10363         * insdel.c (gap_left): Remove BCOPY conditional code.
10364         XEmacs demands a working ANSI C compiler - hence memmove.
10365
10366         * regex.c (regex_compile): Remove accidental use of trigraphs.
10367
10368 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10369
10370         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
10371         event timestamp.
10372
10373 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10374
10375         * event-msw.c (mswindows_drain_windows_queue): Added the
10376         parameter.
10377         (mswindows_need_event): Commented the call to
10378         mswindows_drain_windows_queue().
10379         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
10380         only.
10381
10382         * console-msw.h: Moved a few function prototypes here from
10383         event-msw.c.
10384
10385         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
10386         parameter from unsigned short to unsigned long.
10387         (Fmswindows_shell_execute): Added return value.
10388
10389 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
10390
10391         * sysdep.c (init_system_name):
10392           process-unix.c (unix_canonicalized_host_name):
10393         Don't call freeaddrinfo() if getaddrinfo() fails.
10394
10395         * process-unix.c (unix_open_unix_network_stream):
10396         Moved the code to get a port # into address loop.
10397
10398 2000-01-27  Martin Buchholz  <martin@xemacs.org>
10399
10400         * buffer.c (reinit_vars_of_buffer):
10401         The right place to initialize conversion_in_dynarr and
10402         conversion_out_dynarr.
10403
10404         * alloc.c (pdump): Use the real open() till sys_open() is functional.
10405
10406         * process-unix.c (unix_canonicalize_host_name): Muleize.
10407         (unix_open_network_stream): Muleize.
10408
10409         * buffer.h: Fix up prototypes for ralloc.c functions.
10410
10411 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
10412         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
10413         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
10414                 instead of gethostbyname()
10415         * process-unix.c: In unix_canonicalize_host_name() and
10416                 unix_open_network_stream(), add code to use getaddrinfo()
10417                 instead of gethostbyname().
10418
10419 2000-01-27  Daniel Pittman <daniel@danann.net>
10420
10421         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
10422         libs when built with flat Athena.
10423
10424 2000-01-27  Martin Buchholz  <martin@xemacs.org>
10425
10426         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
10427         Use coding standards for function prototypes.
10428
10429 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10430
10431         * dialog-msw.c (push_lisp_string_as_unicode):
10432         * doc.c (unparesseuxify_doc_string):
10433         * dired.c (Fuser_name_completion_1):
10434         * dired.c (Fuser_name_all_completions):
10435         * dired.c (free_user_cache):
10436         * dired.c (user_name_completion):
10437         * console-x.c (get_display_arg_connection):
10438         * minibuf.c (clear_echo_area_internal):
10439         * minibuf.c (echo_area_append):
10440         * eldap.c (Fldap_open):
10441         * eldap.c (Fldap_search_internal):
10442         * frame-x.c (x_set_frame_text_value):
10443         * frame-x.c (x_set_frame_properties):
10444         * frame-x.c (x_create_widgets):
10445         * redisplay-tty.c (term_get_fkeys_1):
10446         * objects-x.c (x_parse_nearest_color):
10447         * objects-x.c (x_valid_color_name_p):
10448         * objects-x.c (x_initialize_font_instance):
10449         * objects-x.c (x_list_fonts):
10450         * objects-x.c (x_find_charset_font):
10451         * tooltalk.c (Fadd_tooltalk_message_arg):
10452         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10453         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10454         * process-unix.c (unix_create_process):
10455         * ntproc.c (sys_spawnve):
10456         * sound.c (Fplay_sound_file):
10457         * sound.c (Fplay_sound):
10458         * buffer.c (init_initial_directory):
10459         * buffer.c (init_buffer):
10460         * editfns.c (init_editfns):
10461         * editfns.c (Ftemp_directory):
10462         * editfns.c (Fuser_full_name):
10463         * editfns.c (uncache_home_directory):
10464         * editfns.c (get_home_directory):
10465         * editfns.c (Fuser_home_directory):
10466         * editfns.c (Fformat_time_string):
10467         * editfns.c (Fcurrent_time_string):
10468         * gui-x.c (button_item_to_widget_value):
10469         * database.c (Fopen_database):
10470         * event-Xt.c (x_to_emacs_keysym):
10471         * event-Xt.c (x_event_to_emacs_event):
10472         * event-Xt.c (describe_event_window):
10473         * event-msw.c (mswindows_wnd_proc):
10474         * glyphs-eimage.c (jpeg_instantiate):
10475         * glyphs-eimage.c (gif_instantiate):
10476         * glyphs-eimage.c (png_instantiate):
10477         * glyphs-eimage.c (tiff_instantiate):
10478         * glyphs-x.c (xbm_instantiate_1):
10479         * glyphs-x.c (x_xbm_instantiate):
10480         * glyphs-x.c (x_xface_instantiate):
10481         * glyphs-x.c (autodetect_instantiate):
10482         * glyphs-x.c (cursor_font_instantiate):
10483         * glyphs-x.c (x_widget_instantiate):
10484         * glyphs-x.c (x_widget_set_property):
10485         * glyphs-x.c (x_widget_property):
10486         * glyphs-x.c (BUILD_GLYPH_INST):
10487         * print.c (write_string_to_stdio_stream):
10488         * print.c (output_string):
10489         * print.c (Falternate_debugging_output):
10490         * print.c (Fexternal_debugging_output):
10491         * glyphs-msw.c (extract_xpm_color_names):
10492         * glyphs-msw.c (mswindows_xpm_instantiate):
10493         * glyphs-msw.c (bmp_instantiate):
10494         * glyphs-msw.c (resource_name_to_resource):
10495         * glyphs-msw.c (mswindows_resource_instantiate):
10496         * glyphs-msw.c (xbm_instantiate_1):
10497         * glyphs-msw.c (mswindows_xbm_instantiate):
10498         * glyphs-msw.c (mswindows_xface_instantiate):
10499         * glyphs-msw.c (mswindows_widget_instantiate):
10500         * glyphs-msw.c (add_tree_item):
10501         * glyphs-msw.c (add_tab_item):
10502         * glyphs-msw.c (mswindows_combo_box_instantiate):
10503         * glyphs-msw.c (mswindows_widget_property):
10504         * glyphs-msw.c (mswindows_combo_box_property):
10505         * glyphs-msw.c (mswindows_widget_set_property):
10506         * console.c (stuff_buffered_input):
10507         * objects-msw.c (mswindows_initialize_color_instance):
10508         * objects-msw.c (mswindows_valid_color_name_p):
10509         * objects-msw.c (mswindows_list_fonts):
10510         * objects-msw.c (mswindows_font_instance_truename):
10511         * bytecode.c (optimize_compiled_function):
10512         * select-x.c (symbol_to_x_atom):
10513         * select-x.c (x_atom_to_symbol):
10514         * select-x.c (hack_motif_clipboard_selection):
10515         * select-x.c (selection_data_to_lisp_data):
10516         * select-x.c (lisp_data_to_selection_data):
10517         * select-x.c (Fx_get_cutbuffer_internal):
10518         * select-x.c (Fx_store_cutbuffer_internal):
10519         * buffer.h (TO_EXTERNAL_FORMAT): New function.
10520         * buffer.h (TO_INTERNAL_FORMAT): New function.
10521         * emacs.c (make_arg_list_1):
10522         * emacs.c (make_argc_argv):
10523         * emacs.c (main_1):
10524         * emacs.c (Fdump_emacs):
10525         * emacs.c (split_string_by_emchar_1):
10526         * file-coding.h:
10527         * lisp.h:
10528         * lstream.h:
10529         * symsinit.h:
10530         * device-x.c (x_init_device):
10531         * device-x.c (Fx_valid_keysym_name_p):
10532         * device-x.c (Fx_get_font_path):
10533         * device-x.c (Fx_set_font_path):
10534         * glyphs.c (bitmap_to_lisp_data):
10535         * glyphs.c (pixmap_to_lisp_data):
10536         * alloc.c (make_ext_string): Use coding system arguments.  Update
10537         all callers.
10538         * alloc.c (build_string):
10539         * callproc.c (child_setup):
10540         * callproc.c (init_callproc):
10541         * fileio.c (lisp_strerror):
10542         * fileio.c (directory_file_name):
10543         * fileio.c (Fexpand_file_name):
10544         * fileio.c (Ffile_truename):
10545         * fileio.c (Fsysnetunam):
10546         * fileio.c (Fdo_auto_save):
10547         * sysdep.c (sys_readdir):
10548         * tests.c: New file.  Allow adding C tests.
10549         Replace GET_* macros with a more comprehensible and flexible
10550         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
10551         Modify all calls.
10552         Any coding system can be used to do format conversion.
10553         Eliminate enum external_data_format.
10554         Eliminate convert_to_external_format.
10555         Eliminate convert_to_internal_format.
10556         Make sure file-name, keyboard, terminal, and ctext are always
10557         defined as coding systems or aliases.  Make
10558         file-name-coding-system, terminal-coding-system, and
10559         keyboard-coding-system magical variables that are equivalent to
10560         defining the corresponding coding system aliases.
10561
10562         * file-coding.c (Fcoding_system_canonical_name_p): New function.
10563         * file-coding.c (Fcoding_system_alias_p): New function.
10564         * file-coding.c (Fcoding_system_aliasee): New function.
10565         * file-coding.c (append_suffix_to_symbol): New function.
10566         * file-coding.c (dangling_coding_system_alias_p): New function.
10567         * file-coding.c (Ffind_coding_system):
10568         * file-coding.c (Fcopy_coding_system):
10569         * file-coding.c (encode_coding_no_conversion):
10570         * file-coding.c (syms_of_file_coding):
10571         * file-coding.c (vars_of_file_coding):
10572         Rewrite coding system alias code.
10573         Allow nested aliases, like symbolic links.
10574         Allow redefinition of coding system aliases.
10575         Prevent existence of dangling coding system aliases.
10576
10577         * dired.c (Fuser_name_completion_1):
10578         * dired.c (Fuser_name_all_completions):
10579         A crash would happen if user did QUIT in the middle of building
10580         user_name_cache.  Remove redundant code in mainline and unwind_protect.
10581
10582         * lisp.h:
10583         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
10584
10585         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
10586         an unsigned char *.  Update all callers.
10587
10588 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10589
10590         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
10591
10592 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10593
10594         * elhash.c (hentry_description): Use more portable definition.
10595         (resize_hash_table): Initialize new hentries using
10596         xnew_array_and_zero, thereby simplifying the code.
10597
10598         * mule-charset.c (make_charset): Make sure entire object is
10599         initialized, to avoid Purify warnings.
10600
10601         * alloc.c (resize_string): Fix unlikely crash with big strings.
10602
10603 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10604
10605         * realpath.c (xrealpath):
10606         Don't call getwd().
10607
10608 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10609
10610         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
10611
10612 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
10613
10614         * unexelfsgi.c (unexec): Change the way we decide which segment
10615         should be extended.
10616
10617         Assumption that .bss section should be outside the PT_LOADable
10618         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
10619         it's present) is inside the 'data' segment. This would fail the
10620         test which was used to find a segment to grow and cover new
10621         heap. Instead of this assumption, I created another one - on IRIX
10622         the segment to grow should start below .bss and it's address
10623         should extent above the end of .bss. Once this segment is
10624         identified, it's grown to accommodate the new heap and new
10625         zero-length .bss section is added at the end of .data2.
10626
10627 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10628
10629         * eval.c (Feval): Wrong number of arguments should use original
10630         function, not the indirect_function version of it.
10631
10632 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10633
10634         * glyphs-x.c (x_button_instantiate): Don't add image if
10635         it is not a pixmap.
10636         (x_locate_pixmap_file): Call Fexpand_file_name when file name
10637         is relative.
10638
10639 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10640
10641         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
10642         declaration.
10643         (DEFVAR_INT_MAGIC): Ditto.
10644         (DEFVAR_BOOL_MAGIC): Ditto.
10645         * glyphs.h: Reindent backslash.
10646
10647 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10648
10649         * glyphs-widget.c (layout_query_geometry):
10650         (layout_layout): Use correct types for gheight, gwidth.
10651
10652 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10653
10654         * EmacsManager.c (QueryGeometry): Purified.
10655
10656 2000-01-23  Martin Buchholz  <martin@xemacs.org>
10657
10658         * alloc.c (make_float): Make sure entire object is initialized, to
10659         avoid Purify warnings.
10660         (pdump_register_sub): Remove useless assignment.
10661         (pdump): Use xmalloc, not malloc.
10662         (pdump_load): Use xmalloc, not malloc.
10663
10664 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10665
10666         * callproc.c:
10667         * dired-msw.c:
10668         * fileio.c:
10669         * process-nt.c:
10670         * redisplay-msw.c:
10671         * sysdep.c: Removed redundant #include <windows.h>
10672
10673 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10674
10675         * frame.c (delete_frame_internal): Do not delete device when its
10676         implementation so declares.
10677         (delete_frame_internal): Set device selected frame to nil when
10678         last frame goes away.
10679
10680         * device-msw.c (msprinter_device_system_metrics): Implemented.
10681         (mswindows_device_system_metrics): Added 'device-dpi property.
10682
10683         * device.c: (Fdevice_printer_p): Added.
10684         Added 'offset-workspace device metric.
10685
10686         * console.h (device_metrics): Declared DM_offset_workspace.
10687
10688 2000-01-23  Martin Buchholz  <martin@xemacs.org>
10689
10690         * fileio.c (Ffile_truename): Remove pointless and confusing
10691         initialization of elen.
10692
10693         * glyphs-widget.c: Compiler warning fixes.
10694
10695 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10696
10697         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
10698         instead of a Lisp_Object as argument to make it consistent with
10699         the other LIVE_P macros.
10700         (CHECK_LIVE_PROCESS): New macro.
10701
10702         * process.c: Declare Qprocess_live_p.
10703         (Fprocess_live_p): New function.
10704         (create_process): Use PROCESS_LIVE_P.
10705         (read_process_output): Ditto.
10706         (set_process_filter): Ditto.
10707         (Fdelete_process): Ditto.
10708         (kill_buffer_processes): Ditto
10709         (process_send_signal): Use CHECK_LIVE_PROCESS.
10710         (Fprocess_input_coding_system): Check whether process is still
10711         alive (fix PR#1061).
10712         (Fprocess_output_coding_system): Ditto.
10713         (Fprocess_coding_system): Ditto.
10714         (Fset_process_input_coding_system): Ditto.
10715         (Fset_process_output_coding_system): Ditto.
10716
10717 2000-01-23  Andy Piper  <andy@xemacs.org>
10718
10719         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
10720         layout and widget.
10721
10722         * glyphs.c (mark_image_instance): take into account changed
10723         image_instance format.
10724         (image_instance_equal): ditto.
10725         (image_instance_hash): ditto.
10726
10727         * glyphs-widget.c (widget_instantiate): Incorporate layout
10728         instantiation here. Delay layout of the layout until later.
10729         (layout_instantiate): deleted.
10730         (layout_query_geometry): new function. get the geometry of a
10731         layout.
10732         (layout_layout): layout a layout dynamically.
10733         (image_instantiator_widget): New function - splitting up
10734         image_instantiator_format_create_glyphs_widget for netwinder
10735         compilation.
10736         (image_instantiator_buttons):
10737         (image_instantiator_edit_fields):
10738         (image_instantiator_combo_box):
10739         (image_instantiator_scrollbar):
10740         (image_instantiator_progress_guage):
10741         (image_instantiator_tree_view):
10742         (image_instantiator_tab_control):
10743         (image_instantiator_labels):
10744         (image_instantiator_layout): ditto.
10745         (image_instantiator_format_create_glyphs_widget): Call preceding
10746         functions.
10747
10748 2000-01-22  Martin Buchholz  <martin@xemacs.org>
10749
10750         * process.c (Fset_process_coding_system):
10751         * device-x.c (Fx_keysym_hash_table):
10752         Docstring fixes.
10753
10754         * lstream.c (Lstream_write): Return documented value, not 0.
10755
10756         * fileio.c (directory_file_name):
10757         (Fsubstitute_in_file_name):
10758         (Fsubstitute_insert_file_contents_internal):
10759         (Fwrite_region_internal):
10760         * emacs.c:
10761         * sysdep.c:
10762         * getloadavg.c:
10763         * systty.h:
10764         Remove vestigial APOLLO-conditional code.
10765
10766 2000-01-21  Martin Buchholz  <martin@xemacs.org>
10767
10768         * getpagesize.h: Add guard macros.
10769         * libsst.h: Add guard macros.
10770         * libst.h: Add guard macros.
10771         * line-number.h: Add guard macros.
10772         * ndir.h: Add guard macros.
10773         * sysfloat.h: Add guard macros.
10774         * sysfile.h: Add guard macros.
10775         * sysproc.h: Add guard macros.
10776         * syswait.h: Add guard macros.
10777         * xintrinsic.h: Add guard macros.
10778         * xintrinsicp.h: Add guard macros.
10779         * xmmanager.h: Add guard macros.
10780         * xmmanagerp.h: Add guard macros.
10781         * xmprimitive.h: Add guard macros.
10782         * xmu.h: Add guard macros.
10783         * gpmevent.h: Add copyright statement. Add guard macros.
10784         * miscplay.h: Add guard macros.
10785         * *.h: Use consistent C-standards-approved guard macro names.
10786
10787         * opaque.c (make_opaque): Switch parameter order.
10788         * opaque.h (make_opaque): Switch parameter order.
10789         Update all callers.
10790         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
10791
10792         * config.h.in (type_checking_assert): Added.
10793         (bufpos_checking_assert): Added.
10794
10795 2000-01-21  Martin Buchholz  <martin@xemacs.org>
10796
10797         * alloc.c: Harmless pdump changes.
10798         - Use countof().
10799         - spell alignment correctly.
10800         * sysdep.c: Use countof()
10801
10802 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10803
10804         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
10805         initially_selected_for_input() console method, default to 0.
10806         (semi_canonicalize_console_connection): Try to delegate to
10807         canonicalize_console_connection if no such console method.
10808         (canonicalize_console_connection): Vice versa.
10809         (print_console): Do not print nil connection.
10810
10811         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
10812         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
10813         (XDEVIMPF_FRAMELESS_OK): Added.
10814         (CONSOLE_INHERITS_METHOD): Added.
10815
10816         * console-msw.c (mswindows_canonicalize_console_connection):
10817         Added.
10818         (mswindows_canonicalize_device_connection): Added.
10819
10820         * console-msw.h (struct msprinter_device): Added this struct and
10821         accessor macros.
10822         (mswindows_device): Made fontlist a lisp object.
10823
10824         * device.c (semi_canonicalize_device_connection):  Try to delegate
10825         to canonicalize_device_connection if no such console method.
10826         (canonicalize_device_connection): Vice versa.
10827         (print_device): Do not print nil connection.
10828
10829         * device-msw.c (mswindows_init_device): Call InitCommonControls
10830         when have widgets.
10831         (mswindows_delete_device): Removed fontlist deallocation.
10832         (mswindows_mark_device): Added.
10833
10834         * events.c (event_equal): Added abort() at unreached code.
10835         (event_hash): Ditto.
10836
10837         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
10838         fallback tags of Windows devices.
10839
10840         * general.c (syms_of_general): Initialized Qmsprinter.
10841
10842         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
10843         of fallback tags of Windows devices.
10844
10845         * lisp.h: Declared Qmsprinter.
10846
10847         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
10848         of strings.
10849         (mswindows_list_fonts): Ditto.
10850         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
10851         that it can be used by both mswindows and msprinter devices.
10852         (initialize_font_instance): Added.
10853         (mswindows_initialize_font_instance): Use it.
10854         (msprinter_initialize_font_instance): Added.
10855
10856         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
10857         and implementation flags check.
10858         (redisplay_without_hooks): Changed the call to the above.
10859         (Fredraw_device): Ditto.
10860         (Fredisplay_device): Ditto.
10861
10862         * redisplay-msw.c (get_frame_dc): Implemented.
10863         (get_frame_compdc): Implemented.
10864         (many functions): Use the two functions above to get device
10865         contexts, ether for a window or a printer.
10866
10867 2000-01-21  Olivier Galibert  <galibert@pobox.com>
10868
10869         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
10870         initialization here.
10871         (init_symbols_once_early): Call it.
10872         * emacs.c (main_1): Call it.
10873         * symsinit.h: Declare it.
10874
10875 2000-01-19  Olivier Galibert  <galibert@pobox.com>
10876
10877         * alloc.c: Use a lrecord_header * in the backtrace instead of a
10878         Lisp_Object.
10879         (pdump_backtrace): Ditto.
10880         (pdump_register_object): Ditto.  Cleanup use of the pointers.
10881         (pdump_get_entry): Abort if trying to register a null pointer.
10882         (pdump_dump_data): Cleanup types when relocating.
10883         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
10884         (pdump_dump_rtables): Remove bad casts.
10885         (pdump_load): Cleanup relocation w.r.t union type.  Use a
10886         Lisp_Object instead of a EMACS_INT for the hashtable
10887         reorganization.
10888
10889 2000-01-20  Martin Buchholz  <martin@xemacs.org>
10890
10891         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
10892
10893         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
10894
10895         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
10896
10897         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
10898
10899 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10900
10901         * faces.h (FACE_STRIKETHRU_P): Added.
10902
10903         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
10904         of font variants.
10905
10906         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
10907         (mswindows_set_dc_font): New function, aware of font variants,
10908         separated from mswindows_update_dc.
10909
10910         * objects-msw.h (struct mswindows_font_instance_data): Added
10911         definition.
10912
10913         * objects-msw.c (mswindows_finalize_font_instance): Delete all
10914         cached fonts and the data structure.
10915         (mswindows_initialize_font_instance): Added creation of font data
10916         structure.
10917         (mswindows_print_font_instance): Print at least something.
10918         (mswindows_create_font_variant): Implemented.
10919         (mswindows_get_hfont): Implemented.
10920
10921 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
10922
10923         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
10924         prototyping problem with msvc.
10925
10926         * emacs.c (main_1): added syms_of_gui_mswindows() call
10927
10928         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
10929         syms_of_gui_mswindows() function
10930
10931         * symsinit.h: added the prototype for syms_of_gui_mswindows()
10932
10933 2000-01-18  Martin Buchholz <martin@xemacs.org>
10934
10935         * XEmacs 21.2.27 is released.
10936
10937 2000-01-18  Martin Buchholz  <martin@xemacs.org>
10938
10939         * glyphs-eimage.c (struct tiff_error_struct):
10940         (tiff_error_func):
10941         (tiff_warning_func):
10942         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
10943
10944         * unexmips.c:
10945         * unexhp9k3.c:
10946         * unexfreebsd.c:
10947         * unexec.c: Remove vestigial Lucid C code.
10948         * unexalpha.c:
10949         * unexaix.c:
10950         * termcap.c:
10951         * libsst.c: Ansify.
10952         Remove declarations of errno and strerror().
10953
10954         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
10955
10956         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
10957
10958 2000-01-16  Martin Buchholz  <martin@xemacs.org>
10959
10960         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
10961         Optimize.
10962
10963 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10964
10965         * md5.c:
10966         * file-coding.c:
10967         * file-coding.h:
10968         Change enum eol_type to eol_type_t.
10969
10970 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10971
10972         * gui.c (get_gui_callback): Check cons before accessing car.
10973
10974 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10975
10976         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
10977         (XSETSPECIFIER_TYPE): Ditto.
10978
10979 2000-01-17  Didier Verna  <didier@xemacs.org>
10980
10981         * redisplay.c (generate_fstring_runes): compute string size in
10982         characters, not bytes.
10983
10984 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
10985
10986         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
10987
10988 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
10989
10990         * print.c (print_error_message): Call print_prepare().
10991
10992 2000-01-14  Martin Buchholz  <martin@xemacs.org>
10993
10994         * .dbxrc: Renamed from dbxrc.
10995
10996         * events.c (event_to_character):
10997         Use `assert (foo)' instead of `if (!foo) abort()'
10998
10999         * .gdbinit (xtype): Add documentation.
11000         * .gdbinit (check-temacs): New function.
11001         * .gdbinit (check-xemacs): New function.
11002         * dbxrc (check-xemacs): New function.
11003         * dbxrc (check-xemacs): New function.
11004
11005 2000-01-14  Andy Piper  <andy@xemacs.org>
11006
11007         * glyphs-widget.c (widget_query_geometry): Make sure that we
11008         calculate default dimensions correctly.
11009
11010 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11011
11012         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11013
11014         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11015         pdump_wire'd variable.
11016
11017         * emacs.c: (main_1): Conditionalized calls to
11018         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11019
11020 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11021
11022         * window.c (Fset_window_configuration):
11023         * sysdep.c (_start):
11024         * input-method-motif.c (res):
11025         * event-Xt.c (Xt_process_to_emacs_event):
11026         Simple compiler warning fixes.
11027
11028         * bytecode.c (funcall_compiled_function): Use the original
11029         function symbol on the backtrace list in preference to the
11030         compiled_function object in error messages.
11031
11032 2000-01-13  Andy Piper  <andy@xemacs.org>
11033
11034         * glyphs-x.c (update_widget_face): Make sure we update the widget
11035         background as well as foreground.
11036
11037 2000-01-13  Andy Piper  <andy@xemacs.org>
11038
11039         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11040         fields to subwindow.
11041         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11042         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11043         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11044         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11045
11046         * glyphs-widget.c (check_valid_tab_orientation): new function.
11047         (initialize_widget_image_instance): zero orientation and
11048         justification.
11049         (widget_instantiate): pick up orientation.
11050         (tab_control_query_geometry): return appropriate values for
11051         vertical tabs.
11052
11053         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11054         appropriate creation flags for left, right and bottom tabs.
11055
11056         * s/cygwin32.h: add tab definitions.
11057
11058 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11059
11060         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11061         frame upon hiding a subwindow.
11062         (mswindows_button_instantiate): Changed the push button style to
11063         BS_PUSHBUTTON.
11064         (mswindows_button_instantiate): Removed button BS_NOTIFY
11065         style.
11066         (mswindows_button_instantiate): Removed redundant check for
11067         a disabled gui item.
11068         (mswindows_button_instantiate): Made use of WS_TABSTOP
11069         consistent: "operable" controls (edit, button, tree, scroll) have
11070         this style, "display-only" ones (static, progress gauge) do
11071         not. This style is currently ignored by XEmacs though. Also,
11072         removed the WS_EX_CONTROLPARENT style - it is not for children,
11073         it is for their parents!
11074         (mswindows_edit_field_instantiate): Ditto.
11075         (mswindows_progress_gauge_instantiate): Ditto.
11076         (mswindows_tree_view_instantiate): Ditto.
11077         (mswindows_tab_control_instantiate): Ditto.
11078         (mswindows_scrollbar_instantiate): Ditto.
11079         (mswindows_combo_box_instantiate): Ditto.
11080         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11081         style to the "clip" window.
11082         (mswindows_button_instantiate): Removed compilation warning by
11083         equally typing terms of the ?: operator.
11084
11085 2000-01-12  Didier Verna  <didier@xemacs.org>
11086
11087         * redisplay.c (generate_fstring_runes): new parameter holding the
11088         last modeline-format extent.
11089         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11090         extent, fill the glyph block with it.
11091         (generate_fstring_runes): handle these parameters.
11092         (generate_formatted_string_db): ditto.
11093
11094         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11095         glyphs'extents in the modeline.
11096
11097 1999-01-11  Mike Woolley  <mike@bulsara.com>
11098
11099         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11100         256Mb, as a workaround for the non-starting problem many people
11101         have experienced.
11102
11103 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11104
11105         * console-tty.c (Fset_console_tty_output_coding_system):
11106         Force redrawing tty frame.
11107
11108 2000-01-10  Didier Verna  <didier@xemacs.org>
11109
11110         * redisplay.c (generate_fstring_runes): fix size computation bug.
11111
11112 2000-01-09  William M. Perry <wmperry@aventail.com>
11113
11114         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11115
11116 2000-01-09  Andy Piper  <andy@xemacs.org>
11117
11118         * glyphs-msw.c: index -> i to avoid shadows.
11119         (xbm_create_bitmap_from_data): make static.
11120         (check_valid_string_or_int): deleted.
11121         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11122
11123         * glyphs-x.c (x_update_subwindow): remove unused args.
11124
11125         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11126         back pointer - this is done in allocate_image_instance.
11127         (query_string_font): return Qnil to make the compiler happy.
11128         (unmap_subwindow): set to ~0 to make the compiler happy.
11129         (glyph_query_geometry): comment out until used.
11130         (glyph_layout): ditto.
11131
11132 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11133
11134         * insdel.c (signal_after_change): Remove extraneous unbind_to().