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