f1be2c71a70dbef776a2c69f1144e3f55801b964
[chise/xemacs-chise.git-] / src / ChangeLog
1 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2
3         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4
5         * mule-charset.c (destroy_byte_from_character_table): New macro.
6         (latin_jisx0201_to_ucs): Deleted.
7         (latin_iso8859_2_to_ucs): Deleted.
8         (latin_iso8859_3_to_ucs): Deleted.
9         (latin_iso8859_4_to_ucs): Deleted.
10         (latin_iso8859_9_to_ucs): Deleted.
11         (latin_viscii_lower_to_ucs): Deleted.
12         (latin_viscii_upper_to_ucs): Deleted.
13         (mark_charset): Mark `cs->decoding_table'.
14         (Fcharset_mapping_table): Fix DOC-string.
15         (Fset_charset_mapping_table): New function.
16         (syms_of_mule_charset): Add nwe function
17         `set-charset-mapping-table'.
18         (complex_vars_of_mule_charset): Don't setup and use
19         `latin_*_to_ucs'.
20
21 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
22
23         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
24         charset.
25
26 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
27
28         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
29         (Vcharset_katakana_jisx0208): New variable.
30         (Qhiragana_jisx0208): New variable.
31         (Qkatakana_jisx0208): New variable.
32         (make_charset): Add new argument `byte_offset'.
33         (charset_get_byte1): Modify for new coded-charset definition; use
34         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
35         `XCHARSET_BYTE_OFFSET'.
36         (Fmake_charset): Modify for `make_charset'.
37         (Fmake_reverse_direction_charset): Likewise.
38         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
39         `katakana-jisx0208'.
40         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
41         `.'  in font registry of charset `katakana-jisx0201',
42         `latin-jisx0201', `vietnamese-viscii-lower' and
43         `vietnamese-viscii-upper'; modify DOC-string of charset
44         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
45         registry of charset `japanese-jisx0208' not to use font for JIS
46         X0208:1990; add new charset `hiragana-jisx0208' and
47         `katakana-jisx0208'.
48
49         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
50         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
51         (struct Lisp_Charset): Add `byte_offset'.
52         (CHARSET_BYTE_OFFSET): New macro.
53         (XCHARSET_UCS_MIN): New macro.
54         (XCHARSET_UCS_MAX): New macro.
55         (XCHARSET_CODE_OFFSET): New macro.
56         (XCHARSET_BYTE_OFFSET): New macro.
57         (MIN_CHAR_HIRAGANA): New macro.
58         (MAX_CHAR_HIRAGANA): New macro.
59         (MIN_CHAR_KATAKANA): New macro.
60         (MAX_CHAR_KATAKANA): New macro.
61         (MAKE_CHAR): Modify for new coded-charset definition; use
62         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
63         `XCHARSET_BYTE_OFFSET'.
64
65 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
66
67         * mule-charset.c (CHAR96): Deleted.
68         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
69         <Lisp_Object>.
70         (latin_iso8859_2_to_ucs): Likewise.
71         (latin_iso8859_3_to_ucs): Likewise.
72         (latin_iso8859_4_to_ucs): Likewise.
73         (latin_iso8859_9_to_ucs): Likewise.
74         (latin_viscii_lower_to_ucs): Likewise.
75         (latin_viscii_upper_to_ucs): Likewise.
76         (latin_tcvn5712_to_ucs): Commented out.
77         (make_charset): Change type of argument `decoding_table' from
78         <Emchar*> to <Lisp_Object> [vector of characters].
79         (Fmake_charset): Modify for `make_charset'.
80         (Fmake_reverse_direction_charset): Likewise.
81         (Fcharset_mapping_table): New function in UTF-2000.
82         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
83         UTF-2000.
84         (complex_vars_of_mule_charset): Modify for type change of
85         `*_to_ucs'; modify for `make_charset'.
86
87         * char-ucs.h (struct Lisp_Charset): Change type of
88         `decoding_table' from <Emchar*> to <Lisp_Object>.
89         (MAKE_CHAR): Modify for new specification of `decoding_table'.
90
91 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
92
93         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
94         error with non-UTF-2000-Mule.
95
96 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
97
98         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
99         in lisp again].
100         (Vcharset_chinese_cns11643_4): Likewise.
101         (Vcharset_chinese_cns11643_5): Likewise.
102         (Vcharset_chinese_cns11643_6): Likewise.
103         (Vcharset_chinese_cns11643_7): Likewise.
104         (Qchinese_cns11643_3): Likewise.
105         (Qchinese_cns11643_4): Likewise.
106         (Qchinese_cns11643_5): Likewise.
107         (Qchinese_cns11643_6): Likewise.
108         (Qchinese_cns11643_7): Likewise.
109         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
110         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
111         and `chinese-cns11643-7' to lisp/mule/chinese.el.
112         (complex_vars_of_mule_charset): Likewise.
113
114 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
115
116         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
117         96-set.
118         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
119         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
120
121 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
122
123         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
124         0xFF60.
125         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
126         (breakup_char_1): Likewise.
127
128         * text-coding.c (char_encode_iso2022): Keep designated charsets if
129         one of them includes the specified character.
130
131 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
132
133         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
134
135 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
136
137         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
138
139 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
140
141         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
142         definition for non-UTF-2000 Mule.
143         (latin_iso8859_3_to_ucs): Likewise.
144         (latin_iso8859_4_to_ucs): Likewise.
145         (latin_iso8859_9_to_ucs): Likewise.
146         (latin_jisx0201_to_ucs): Likewise.
147         (MIN_CHAR_THAI): Likewise.
148         (MAX_CHAR_THAI): Likewise.
149         (MIN_CHAR_GREEK): Likewise.
150         (MAX_CHAR_GREEK): Likewise.
151         (MIN_CHAR_HEBREW): Likewise.
152         (MAX_CHAR_HEBREW): Likewise.
153         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
154         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
155         (MIN_CHAR_CYRILLIC): Likewise.
156         (MAX_CHAR_CYRILLIC): Likewise.
157
158 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
159
160         * char-ucs.h (breakup_char_1): Use
161         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
162         thai-tis620 and katakana-jisx0201 area.
163
164 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
165
166         * char-ucs.h (breakup_char_1): Use
167         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
168         area.
169
170         * text-coding.c (reset_encoding_stream): Fixed.
171         (char_encode_ucs4): Delete `& 255'.
172
173         * char-ucs.h (breakup_char_1): Use
174         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
175
176 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
177
178         * file-coding.c (Fmake_coding_system): Don't set up
179         `codesys->fixed.size'.
180         (encode_coding_no_conversion): Don't refer
181         `str->codesys->fixed.size'.
182
183 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
184
185         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
186         (latin_a_char_to_byte1): Deleted.
187         (latin_a_char_to_byte2): Deleted.
188
189 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
190
191         * mule-charset.c (make_charset): Add new argument `ucs_min',
192         `ucs_max' and `code_offset'.
193         (charset_get_byte1): New implementation [delete specific charset
194         depended implementations].
195         (Fmake_charset): Modify for `make_charset'.
196         (Fmake_reverse_direction_charset): Likewise.
197         (complex_vars_of_mule_charset): Likewise.
198
199         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
200         `code_offset'.
201         (CHARSET_UCS_MIN): New macro.
202         (CHARSET_UCS_MAX): New macro.
203         (CHARSET_CODE_OFFSET): New macro.
204         (MAKE_CHAR): Delete charset depended definitions [except
205         katakana-jisx0201].
206
207 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
208
209         * char-ucs.h (breakup_char_1): Use
210         `Vdefault_coded_charset_priority_list' for C0-Controls,
211         Basic-Latin, C1-Controls and Latin-1-Supplement area.
212
213 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
214
215         * char-ucs.h (charset_get_byte1): New function.
216         (XCHARSET_GET_BYTE1): Deleted.
217         (charset_get_byte2): New function.
218         (XCHARSET_GET_BYTE2): Deleted.
219         (Vdefault_coded_charset_priority_list): New external variable.
220         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
221         `Vdefault_preferred_coded_charset_list'.
222
223         * mule-charset.c (charset_get_byte1): New function.
224         (charset_get_byte2): New function.
225         (Vdefault_coded_charset_priority_list): New variable.
226         (vars_of_mule_charset): Add new variable
227         `default-coded-charset-priority-list'.
228
229 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
230
231         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
232         (XCHARSET_GET_BYTE2): New inline function.
233         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
234         `XCHARSET_GET_BYTE2'.
235
236 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
237
238         * mule-charset.c (make_charset): Initialize
239         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
240         NULL if table is not defined.
241
242 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
243
244         * text-coding.c (char_encode_shift_jis): Use
245         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
246         `ucs_to_latin_jisx0201'.
247
248         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
249         (ucs_to_latin_iso8859_2): Deleted.
250         (ucs_to_latin_iso8859_3): Deleted.
251         (ucs_to_latin_iso8859_4): Deleted.
252         (ucs_to_latin_iso8859_9): Deleted.
253         (ucs_to_latin_viscii_lower): Deleted.
254         (ucs_to_latin_viscii_upper): Deleted.
255         (ucs_to_latin_tcvn5712): Deleted.
256         (make_charset): Add new argument `decoding_table'; set up
257         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
258         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
259         `decoding_table' is defined in UTF-2000.
260         (Fmake_charset): Modify for `make_charset'.
261         (Fmake_reverse_direction_charset): Likewise.
262         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
263         and `GENERATE_96_SET'.
264
265         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
266         (ucs_to_latin_jisx0201): Deleted.
267         (latin_iso8859_2_to_ucs): Deleted.
268         (ucs_to_latin_iso8859_2): Deleted.
269         (latin_iso8859_3_to_ucs): Deleted.
270         (ucs_to_latin_iso8859_3): Deleted.
271         (latin_iso8859_4_to_ucs): Deleted.
272         (ucs_to_latin_iso8859_4): Deleted.
273         (latin_iso8859_9_to_ucs): Deleted.
274         (ucs_to_latin_iso8859_9): Deleted.
275         (latin_viscii_lower_to_ucs): Deleted.
276         (ucs_to_latin_viscii_lower): Deleted.
277         (latin_viscii_upper_to_ucs): Deleted.
278         (ucs_to_latin_viscii_upper): Deleted.
279         (struct Lisp_Charset): Renamed `encoding_table' to
280         `to_byte1_table'; add `to_byte2_table'.
281         (CHARSET_DECODING_TABLE): New macro.
282         (CHARSET_TO_BYTE1_TABLE): New macro.
283         (CHARSET_TO_BYTE2_TABLE): New macro.
284         (XCHARSET_DECODING_TABLE): New macro.
285         (XCHARSET_TO_BYTE1_TABLE): New macro.
286         (XCHARSET_TO_BYTE2_TABLE): New macro.
287         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
288         tables.
289         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
290         don't use `ucs_to_*' tables.
291
292 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
293
294         * text-coding.c (Fmake_coding_system): Don't set up
295         `codesys->fixed.size'.
296         (encode_coding_no_conversion): Use `if' instead of `switch'.
297
298         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
299
300 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
301
302         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
303         (Fmake_charset): Modify for `make_charset'.
304         (Fmake_reverse_direction_charset): Likewise.
305         (complex_vars_of_mule_charset): Likewise.
306
307 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
308
309         * text-coding.c (char_encode_shift_jis): Use table
310         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
311
312 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
313
314         * text-coding.c (text_encode_generic): Use `if' instead of
315         `switch'.
316         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
317         decode JIS-Latin.
318
319 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
320
321         * text-coding.c (encode_coding_sjis): Deleted.
322         (char_encode_shift_jis): New function.
323         (char_finish_shift_jis): New function.
324         (reset_encoding_stream): Set up `encode_char' and `finish' for
325         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
326         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
327         (char_encode_utf8): Treat `eol_type'.
328
329 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
330
331         * file-coding.c (decode_coding_iso2022): Use
332         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
333
334 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
335
336         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
337         to 0.7 (Hirano).
338
339 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
340
341         * char-lb.h (CHAR_COLUMNS): New macro.
342
343 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
344
345         * text-coding.c (char_encode_ucs4): New function.
346         (char_finish_ucs4): New function.
347         (encode_coding_ucs4): Deleted.
348         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
349         (text_encode_generic): Delete local variable `charset' and `half'.
350         (ucs_to_mule_table): Deleted.
351         (mule_to_ucs_table): Deleted.
352         (Fset_ucs_char): Deleted.
353         (ucs_to_char): Deleted.
354         (Fucs_char): Deleted.
355         (Fset_char_ucs): Deleted.
356         (Fchar_ucs): Deleted.
357         (decode_ucs4): Deleted.
358         (mule_char_to_ucs4): Deleted.
359         (encode_ucs4): Deleted.
360         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
361         (decode_coding_utf8): Likewise.
362         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
363         (char_encode_iso2022): Fixed.
364         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
365         `Fset_char_ucs' and `Fchar_ucs'.
366         (complex_vars_of_file_coding): Don't initialize
367         `ucs_to_mule_table'.
368
369         * objects-tty.c (tty_initialize_font_instance): Don't use
370         `XCHARSET_COLUMNS'.
371
372         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
373         UTF-2000.
374
375         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
376         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
377
378         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
379         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
380         (emchar_string_displayed_columns): Likewise.
381
382         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
383         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
384         (string_column_at_point): Likewise.
385         (Fmove_to_column): Likewise.
386
387         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
388         `encoding_table' and `decoding_table'.
389         (CHARSET_REP_BYTES): Deleted.
390         (XCHARSET_REP_BYTES): Deleted.
391         (XCHARSET_COLUMNS): Deleted.
392         (CHAR_COLUMNS): New macro.
393         (lookup_composite_char): Deleted unconditionally.
394         (composite_char_string): Likewise.
395
396 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
397
398         * char-ucs.h (Emchar_to_byte_table): New type.
399         (get_byte_from_character_table): New function interface.
400         (Vcharset_latin_jisx0201): New variable.
401         (latin_jisx0201_to_ucs): New variable.
402         (ucs_to_latin_jisx0201): New variable.
403         (Vcharset_latin_iso8859_2): New variable.
404         (latin_iso8859_2_to_ucs): New variable.
405         (ucs_to_latin_iso8859_2): New variable.
406         (Vcharset_latin_iso8859_3): New variable.
407         (latin_iso8859_3_to_ucs): New variable.
408         (ucs_to_latin_iso8859_3): New variable.
409         (Vcharset_latin_iso8859_4): New variable.
410         (latin_iso8859_4_to_ucs): New variable.
411         (ucs_to_latin_iso8859_4): New variable.
412         (Vcharset_latin_iso8859_9): New variable.
413         (latin_iso8859_9_to_ucs): New variable.
414         (ucs_to_latin_iso8859_9): New variable.
415         (Vcharset_latin_viscii_lower): New variable.
416         (latin_viscii_lower_to_ucs): New variable.
417         (ucs_to_latin_viscii_lower): New variable.
418         (Vcharset_latin_viscii_upper): New variable.
419         (latin_viscii_upper_to_ucs): New variable.
420         (ucs_to_latin_viscii_upper): New variable.
421         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
422         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
423         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
424         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
425         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
426         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
427         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
428         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
429         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
430         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
431
432         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
433         (Vcharset_latin_viscii_upper): New variable.
434         (make_byte_from_character_table): New function.
435         (put_byte_from_character_table): New function.
436         (get_byte_from_character_table): New function.
437         (CHAR96): New macro.
438         (ucs_to_latin_jisx0201): New variable.
439         (latin_jisx0201_to_ucs): New variable.
440         (ucs_to_latin_iso8859_2): New variable.
441         (latin_iso8859_2_to_ucs): New variable.
442         (ucs_to_latin_iso8859_3): New variable.
443         (latin_iso8859_3_to_ucs): New variable.
444         (ucs_to_latin_iso8859_4): New variable.
445         (latin_iso8859_4_to_ucs): New variable.
446         (ucs_to_latin_iso8859_9): New variable.
447         (latin_iso8859_9_to_ucs): New variable.
448         (ucs_to_latin_viscii_lower): New variable.
449         (latin_viscii_lower_to_ucs): New variable.
450         (ucs_to_latin_viscii_upper): New variable.
451         (latin_viscii_upper_to_ucs): New variable.
452         (ucs_to_latin_tcvn5712): New variable.
453         (latin_tcvn5712_to_ucs): New variable.
454         (Qlatin_viscii_lower): New variable.
455         (Qlatin_viscii_upper): New variable.
456         (syms_of_mule_charset): Set up new symbol
457         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
458         (complex_vars_of_mule_charset): Set up new charset
459         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
460         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
461         `ucs_to_<CHARSET>' tables.
462
463 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
464
465         * text-coding.c: New file.
466
467 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
468
469         * mule-charset.c (Fmake_char): Fix problem of 256-set.
470
471         * char-ucs.h (Vcharset_ucs_bmp): New variable.
472         (MAKE_CHAR): Modify for `ucs-bmp'.
473         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
474         non-MULE characters of BMP.
475
476 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
477
478         * mule-charset.c (vars_of_mule_charset):
479         Update `utf-2000-version' to 0.6.
480
481 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
482
483         * lstream.h:
484         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
485         - Include character.h for `CHAR_ASCII_P'.
486
487         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
488
489         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
490         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
491
492         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
493         (BYTE_C0_P): Likewise.
494         (BYTE_C1_P): Likewise.
495         (Lstream_get_emchar_1): Likewise.
496         (Lstream_fput_emchar): Likewise.
497         (Lstream_funget_emchar): Likewise.
498         (copy_internal_to_external): Likewise.
499         (copy_external_to_internal): Likewise.
500
501         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
502         (BYTE_C0_P): Likewise.
503         (BYTE_C1_P): Likewise.
504         (Lstream_get_emchar_1): Likewise.
505         (Lstream_fput_emchar): Likewise.
506         (Lstream_funget_emchar): Likewise.
507         (copy_internal_to_external): Likewise.
508         (copy_external_to_internal): Likewise.
509
510         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
511         (REP_BYTES_BY_FIRST_BYTE): Likewise.
512
513         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
514         (BYTE_ASCII_P): Moved to mb-1byte.h.
515
516 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
517
518         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
519
520         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
521         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
522         (VALID_CHARPTR_P): Moved to mb-*byte.h.
523         (VALIDATE_CHARPTR_BACKWARD): Likewise.
524         (VALIDATE_CHARPTR_FORWARD): Likewise.
525         (simple_charptr_emchar): Moved to mb-multibyte.h.
526         (simple_set_charptr_emchar): Likewise.
527         (simple_charptr_copy_char): Likewise.
528         (non_ascii_charptr_emchar): Likewise.
529         (non_ascii_set_charptr_emchar): Likewise.
530         (non_ascii_charptr_copy_char): Likewise.
531         (charptr_emchar): Moved to mb-*byte.h.
532         (set_charptr_emchar): Likewise.
533         (charptr_copy_char): Likewise.
534
535         * mb-1byte.h, mb-multibyte.h: New files.
536
537 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
538
539         * mb-utf-8.h (MULTIBYTE): New macro.
540         (MAX_EMCHAR_LEN): Moved from buffer.h.
541         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
542
543         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
544
545         * mb-lb.h, multibyte.h: New files.
546
547         * char-1byte.h (Charset_ID): Moved from buffer.h.
548         (MIN_LEADING_BYTE): Likewise.
549         (LEADING_BYTE_ASCII): Likewise.
550         (NUM_LEADING_BYTES): Likewise.
551         (CHARSETP): Likewise.
552         (CHARSET_BY_LEADING_BYTE): Likewise.
553         (XCHARSET_LEADING_BYTE): Likewise.
554         (XCHARSET_GRAPHIC): Likewise.
555         (XCHARSET_COLUMNS): Likewise.
556         (XCHARSET_DIMENSION): Likewise.
557         (CHAR_CHARSET): Likewise.
558         (CHAR_LEADING_BYTE): Likewise.
559         (BREAKUP_CHAR): Likewise.
560         (Vcharset_ascii): Likewise.
561
562         * buffer.h: Include multibyte.h unconditionally.
563         (VALID_CHARPTR_P): Moved to multibyte.h.
564         (ASSERT_VALID_CHARPTR): Likewise.
565         (REAL_INC_CHARPTR): Likewise.
566         (REAL_INC_CHARBYTIND): Likewise.
567         (REAL_DEC_CHARPTR): Likewise.
568         (INC_CHARPTR): Likewise.
569         (INC_CHARBYTIND): Likewise.
570         (DEC_CHARPTR): Likewise.
571         (VALIDATE_CHARPTR_BACKWARD): Likewise.
572         (VALIDATE_CHARPTR_FORWARD): Likewise.
573         (charptr_n_addr): Likewise.
574         (MAX_EMCHAR_LEN): Moved to mb-*.h.
575         (simple_charptr_emchar): Moved to multibyte.h.
576         (simple_set_charptr_emchar): Likewise.
577         (simple_charptr_copy_char): Likewise.
578         (non_ascii_charptr_emchar): Likewise.
579         (non_ascii_set_charptr_emchar): Likewise.
580         (non_ascii_charptr_copy_char): Likewise.
581         (charptr_emchar): Likewise.
582         (set_charptr_emchar): Likewise.
583         (charptr_copy_char): Likewise.
584         (charptr_emchar_n): Likewise.
585         (Charset_ID): Moved to char-1byte.h.
586         (Vcharset_ascii): Likewise.
587         (CHAR_CHARSET): Likewise.
588         (CHAR_LEADING_BYTE): Likewise.
589         (LEADING_BYTE_ASCII): Likewise.
590         (NUM_LEADING_BYTES): Likewise.
591         (MIN_LEADING_BYTE): Likewise.
592         (CHARSETP): Likewise.
593         (CHARSET_BY_LEADING_BYTE): Likewise.
594         (XCHARSET_LEADING_BYTE): Likewise.
595         (XCHARSET_GRAPHIC): Likewise.
596         (XCHARSET_COLUMNS): Likewise.
597         (XCHARSET_DIMENSION): Likewise.
598         (BREAKUP_CHAR): Likewise.
599
600 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
601
602         * character.h: Add document about interface for characters.
603
604         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
605         (MAKE_CHAR): Delete comment about
606         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
607         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
608         (BREAKUP_CHAR): Modify name of arguments.
609         (CHAR_CHARSET): Modify name of argument.
610
611         * buffer.h: Delete document about Emchar accessors.
612
613 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
614
615         * character.h (CHAR_INTP): Moved from buffer.h
616         (CHAR_OR_CHAR_INTP): Likewise.
617         (XCHAR_OR_CHAR_INT): Likewise.
618         (CHECK_CHAR_COERCE_INT): Likewise.
619
620         * buffer.h (CHAR_INTP): Moved to character.h
621         (CHAR_OR_CHAR_INTP): Likewise.
622         (XCHAR_OR_CHAR_INT): Likewise.
623         (CHECK_CHAR_COERCE_INT): Likewise.
624
625 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
626
627         * character.h:
628         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
629         - Include char-1byte.h, char-lb.h or char-ucs.h.
630
631         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
632
633         * buffer.h: Include character unconditionally.
634         (valid_char_p): Moved to char-*.h.
635         (non_ascii_valid_char_p): Moved to char-lb.h.
636
637         * char-1byte.h, char-lb.h, char-ucs.h: New files.
638
639 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
640
641         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
642         in UTF-2000 because it is not ported yet and not to use
643         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
644         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
645         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
646
647         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
648         (CHAR_ASCII_P): Moved from character.h.
649
650         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
651         (CHAR_ASCII_P): Likewise.
652         (CHAR_FIELD1_MASK): Deleted.
653         (CHAR_FIELD2_MASK): Deleted.
654         (CHAR_FIELD3_MASK): Deleted.
655         (MAX_CHAR_BASIC_LATIN): New macro.
656         (CHAR_FIELD1): Deleted.
657         (CHAR_FIELD2_INTERNAL): Deleted.
658         (CHAR_FIELD3_INTERNAL): Deleted.
659         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
660         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
661         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
662         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
663         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
664         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
665         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
666         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
667         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
668         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
669         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
670         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
671         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
672         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
673         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
674         (MIN_CHAR_COMPOSITION): Deleted.
675         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
676         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
677
678 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
679
680         * buffer.h: Include mb-utf-8.h in UTF-2000.
681
682         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
683
684         * mb-utf-8.h: New file.
685
686 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
687
688         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
689         instead of `int'.
690
691         * mule-charset.h, buffer.h (Charset_ID): New type.
692
693 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
694
695         * mule-canna.c (c2mu): Use `MAKE_CHAR',
696         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
697         instead of `MULE_CHAR_PRIVATE_OFFSET',
698         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
699         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
700         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
701
702         * character.h (Vcharset_japanese_jisx0212): New variable
703         definition.
704
705 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
706
707         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
708         (charset_by_attributes): Delete array about direction.
709         (latin_a_char_to_charset): New variable in UTF-2000.
710         (latin_a_char_to_byte1): New variable in UTF-2000.
711         (latin_a_char_to_byte2): New variable in UTF-2000.
712         (Qucs_bmp): New variable.
713         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
714         `Bufbyte'.
715         (next_allocated_2_byte_leading_byte): Likewise.
716         (non_ascii_set_charptr_emchar): Likewise.
717         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
718         `CHARSET_TYPE_256X256' in UTF-2000; modify for
719         `charset_by_attributes'.
720         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
721         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
722         and `CHARSET_BY_LEADING_BYTE'.
723         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
724         `utf-2000-version' to `vars_of_mule_charset'.
725         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
726         define `leading-code-private-11' in UTF-2000; move setting of
727         `utf-2000-version' from `syms_of_mule_charset'.
728         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
729         UTF-2000.
730
731         * character.h (Charset_ID): New type.
732         (LEADING_BYTE_UCS_BMP): New macro.
733         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
734         (CHARSET_ID_OFFSET_94): New macro.
735         (MIN_CHARSET_ID_PRIVATE_94): New macro.
736         (MAX_CHARSET_ID_PRIVATE_94): New macro.
737         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
738         final-byte.
739         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
740         (LEADING_BYTE_LATIN_JISX0201): Likewise.
741         (CHARSET_ID_OFFSET_96): New macro.
742         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
743         CHARSET_ID_OFFSET_96 and final-byte.
744         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
745         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
746         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
747         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
748         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
749         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
750         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
751         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
752         (LEADING_BYTE_THAI_TIS620): Likewise.
753         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
754         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
755         (CHARSET_ID_OFFSET_94x94): New macro.
756         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
757         CHARSET_ID_OFFSET_94x94 and final-byte.
758         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
759         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
760         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
761         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
762         (LEADING_BYTE_CHINESE_GB2312): Likewise.
763         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
764         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
765         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
766         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
767         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
768         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
769         (CHARSET_TYPE_128X128): New macro.
770         (CHARSET_TYPE_256X256): New macro.
771         (XCHARSET_PRIVATE_P): Delete unconditionally.
772         (charset_by_attributes): Delete array about direction.
773         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
774         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
775         (MIN_CHAR_94): New macro.
776         (MAX_CHAR_94): New macro.
777         (MIN_CHAR_96): New macro.
778         (MAX_CHAR_96): New macro.
779         (MIN_CHAR_94x94): New macro.
780         (MAX_CHAR_94x94): New macro.
781         (MIN_CHAR_96x96): New macro.
782         (MAX_CHAR_96x96): New macro.
783         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
784         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
785         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
786         - 32)'.
787         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
788         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
789         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
790         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
791         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
792         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
793         `XCHARSET_LEADING_BYTE' to make code-point.
794         (latin_a_char_to_charset): New variable.
795         (latin_a_char_to_byte1): New variable.
796         (latin_a_char_to_byte2): New variable.
797         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
798         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
799         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
800
801         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
802         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
803         (find_charsets_in_emchar_string): Likewise.
804         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
805
806         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
807         `int'.
808         (decode_coding_iso2022): Likewise.
809
810         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
811         of `unsigned char'.
812
813         * redisplay.c (redisplay_text_width_emchar_string): Use
814         `Charset_ID' instead of `unsigned char'.
815         (redisplay_frame_text_width_string): Likewise.
816
817         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
818         `unsigned char'.
819
820         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
821         instead of `unsigned char'.
822         (face_cachel_charset_font_metric_info): Likewise.
823
824         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
825         (get_non_ascii_char_table_value): Likewise.
826         (get_char_table): Likewise.
827         (put_char_table): Likewise.
828         (map_over_other_charset): Likewise.
829         (map_char_table): Likewise.
830
831         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
832         instead of `unsigned char'.
833
834 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
835
836         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
837         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
838
839         * mule-charset.c (leading_code_private_11): Don't define in
840         UTF-2000.
841
842         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
843         in UTF-2000 because it is not ported yet and not to use
844         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
845
846 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
847
848         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
849
850 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
851
852         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
853         in UTF-2000.
854
855         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
856         of unsigned char to store leading-byte.
857
858         * chartab.c (get_non_ascii_char_table_value): Don't use
859         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
860
861         * file-coding.c (encode_coding_big5): Delete bogus implementation
862         in UTF2000.
863
864         * character.h (LEADING_BYTE_*): Delete definition for
865         non-UTF-2000.
866         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
867         (LEADING_BYTE_PREFIX_P): Deleted.
868         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
869         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
870         (BUFBYTE_LEADING_BYTE_P): Deleted.
871         (CHARSET_PRIVATE_P): Deleted unconditionally.
872         (rep_bytes_by_first_byte): Deleted unconditionally.
873         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
874         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
875         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
876         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
877         (CHAR_FIELD2): Deleted.
878         (CHAR_FIELD3): Deleted.
879         (MAKE_CHAR): Delete definition for non-UTF-2000.
880         (BREAKUP_CHAR_1_UNSAFE): Deleted.
881         (breakup_char_1): New implementation.
882         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
883         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
884
885 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
886
887         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
888         condition.
889
890 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
891
892         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
893         (CHARSET_PRIVATE_P): Likewise.
894         (XCHARSET_PRIVATE_P): Likewise.
895         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
896
897         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
898         UTF2000.
899         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
900
901 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
902
903         * character.h (LEADING_BYTE_*): Changed in UTF2000.
904         (NUM_LEADING_BYTES): Changed from 128 to 256.
905         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
906         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
907         UTF2000.
908         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
909
910         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
911         UTF2000.
912         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
913         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
914         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
915         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
916         (Qchinese_cns11643_3): New variable in UTF2000.
917         (Qchinese_cns11643_4): New variable in UTF2000.
918         (Qchinese_cns11643_5): New variable in UTF2000.
919         (Qchinese_cns11643_6): New variable in UTF2000.
920         (Qchinese_cns11643_7): New variable in UTF2000.
921         (syms_of_mule_charset): Define `chinese-cns11643-3',
922         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
923         and `chinese-cns11643-7' in UTF2000.
924         (vars_of_mule_charset): Initialize
925         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
926         + 1 in UTF2000.
927         (complex_vars_of_mule_charset): Setup charset
928         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
929         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
930
931 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
932
933         * mule-charset.c: Move setting for `leading-code-private-11' from
934         `syms_of_mule_charset' to `vars_of_mule_charset'.
935
936 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
937
938         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
939         and `NUM_LEADING_BYTES' in assert.
940
941 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
942
943         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
944         instead of 128.
945         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
946         `NUM_LEADING_BYTES' instead of 128.
947
948 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
949
950         * mule-charset.h (charset_by_leading_byte): Use
951         `NUM_LEADING_BYTES' instead of 128.
952         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
953
954         * mule-charset.c (charset_by_leading_byte): Use
955         `NUM_LEADING_BYTES' instead of 128.
956         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
957
958         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
959         128.
960
961 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
962
963         * mule-charset.c (syms_of_mule_charset): Update to
964         0.4 (Shin-Imamiya).
965
966 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
967
968         * file-coding.c (encode_coding_sjis): New implementation for
969         UTF2000.  (decode_coding_sjis): Ditto.
970
971 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
972
973         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
974         Don't define in UTF2000.
975
976         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
977         defined.
978
979         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
980         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
981         MULE.
982
983 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
984
985         * config.h.in (CHAR_IS_UCS4): New macro.
986
987         * mule-charset.c (rep_bytes_by_first_byte): Modify for
988         conventional MULE representation.
989         (syms_of_mule_charset): Update to 0.3 (Imamiya).
990
991         * mule-charset.h: Reverted to original.
992
993         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
994         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
995         "mule-charset.h" if CHAR_IS_UCS4 is defined.
996
997         * character.h: New file.
998
999         * file-coding.c (Fmake_coding_system): Set 1 to
1000         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
1001         defined.
1002         (encode_coding_no_conversion): New implementation for UTF2000.
1003
1004         * file-coding.h (struct Lisp_Coding_System): Add new member
1005         `fixed.size'.
1006
1007 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1008
1009         * file-coding.c (decode_coding_iso2022): Code-point arguments of
1010         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
1011         (encode_coding_iso2022): New implementation for UTF2000.
1012
1013 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1014
1015         * mule-canna.c (c2mu): New implementation for UTF2000.
1016         (m2c): Likewise.
1017
1018 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1019
1020         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
1021
1022 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1023
1024         * file-coding.c (reset_encoding_stream): Set 0 to
1025         `str->iso2022.current_char_boundary' in UTF2000.
1026         (encode_utf8): Don't define in UTF2000.
1027         (encode_coding_utf8): New implementation for UTF-8 representation
1028         of UTF2000.
1029         (complex_vars_of_file_coding): Define coding-system `utf-8'.
1030
1031 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1032
1033         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
1034
1035         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
1036         UTF2000.
1037         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1038
1039         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
1040
1041         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
1042         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
1043         as UTF-8 in UTF2000.
1044         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
1045         (non_ascii_valid_char_p): Don't define in UTF2000.
1046         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
1047         (Lstream_get_emchar_1): Likewise.
1048         (utf-2000-version): New variable in UTF2000.
1049
1050         * lread.c (read_escape): Add new reader `u'.
1051
1052         * insdel.c (three_to_one_table): Don't define in UTF2000.
1053         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
1054         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1055         UTF2000.
1056         (bytind_to_bufpos_func): Likewise.
1057         (buffer_mule_signal_inserted_region): Likewise.
1058         (vars_of_insdel): Don't initialize `three_to_one_table'.
1059         (init_buffer_text): Use `buf->text->mule_size' instead of
1060         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1061         UTF2000.
1062
1063         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
1064         UTF-8 representation in UTF2000.
1065         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
1066         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
1067         (decode_coding_iso2022): Don't define local variable `lb' in
1068         UTF2000; don't use LEADING_BYTE in UTF2000; use
1069         `DECODE_ADD_UCS_CHAR' in UTF2000.
1070         (convert_to_external_format): Decode as UTF-8 in UTF2000.
1071
1072         * config.h.in (UTF2000): New macro.
1073
1074         * buffer.h (struct buffer_text): Add new member `mule_size' and
1075         don't add `mule_shifter' and `mule_three_p' in UTF2000.
1076         (valid_char_p): Return always 1 in UTF2000.
1077         (MAX_EMCHAR_LEN): 6 in UTF2000.
1078         (three_to_one_table): Don't define in UTF2000.
1079         (real_bufpos_to_bytind): Modify for UTF-8 representation in
1080         UTF2000.
1081         (real_bytind_to_bufpos): Likewise.
1082
1083         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
1084
1085 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1086
1087         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
1088         representation change.
1089         (Vutf_2000_version): New variable.
1090         (leading_code_private_11): New variable.
1091         (syms_of_mule_charset): Add new variables `utf-2000-version' and
1092         `leading-code-private-11'.
1093
1094         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
1095         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
1096         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
1097         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
1098         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
1099         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
1100         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
1101         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
1102         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
1103         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
1104         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
1105         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
1106         (MIN_CHAR_GREEK): New macro.
1107         (MAX_CHAR_GREEK): New macro.
1108         (MIN_CHAR_CYRILLIC): New macro.
1109         (MAX_CHAR_CYRILLIC): New macro.
1110         (MIN_CHAR_HEBREW): New macro.
1111         (MAX_CHAR_HEBREW): New macro.
1112         (MIN_CHAR_THAI): New macro.
1113         (MAX_CHAR_THAI): New macro.
1114         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
1115         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
1116         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
1117         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
1118         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
1119         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
1120         (CHAR_FIELD2): New inline function.
1121         (CHAR_FIELD3): New inline function.
1122         (MULE_CHAR_PRIVATE_OFFSET): New macro.
1123         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
1124         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
1125         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
1126         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
1127         (MIN_CHAR_COMPOSITION): Likewise.
1128         (CHAR_LEADING_BYTE): Modified for character representation change.
1129         (MAKE_CHAR): Likewise.
1130
1131         * lisp.h (Vcharset_latin_iso8859_1): New variable.
1132         (Vcharset_greek_iso8859_7): Likewise.
1133         (Vcharset_cyrillic_iso8859_5): Likewise.
1134         (Vcharset_hebrew_iso8859_8): Likewise.
1135         (Vcharset_thai_tis620): Likewise.
1136         (Vcharset_katakana_jisx0201): Likewise.
1137
1138 1999-08-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1139
1140         * file-coding.c (determine_real_coding_system): Treat `coding:'
1141         cookie.
1142
1143 1999-08-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1144
1145         * file-coding.c (struct decoding_stream): New member `counter'.
1146         (reset_decoding_stream): Initialize `counter'.
1147         (decode_coding_ucs4): Use `counter'.
1148         (decode_coding_utf8): Likewise.
1149
1150 1999-07-30  XEmacs Build Bot <builds@cvs.xemacs.org>
1151
1152         * XEmacs 21.2.19 is released
1153
1154 1999-07-27  Jeff Miller  <jmiller@smart.net>
1155
1156         * add a "#ifdef HAVE_MENUBARS"  wrapper to gui.c around 
1157           menubar_show_keybindings.
1158
1159 1999-07-23  SL Baur  <steve@miho>
1160
1161         * mule-charset.c (syms_of_mule_charset): Delete duplicated
1162         definition of Qccl_program.
1163
1164         * mule-ccl.h: Make a global declaration of it here.
1165
1166 1999-07-20  Bob Weiner  <weiner@beopen.com>
1167
1168         * s/sco7.h: Added from rr@sco.com.
1169
1170 1999-06-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1171
1172         * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'.
1173
1174 1999-06-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1175
1176         * file-coding.c (mule_decode): Setup `str->ccl.last_block'.
1177         (mule_encode): Likewise.
1178
1179         * mule-ccl.c (Qccl_program): New variable.
1180         (CCL_SUSPEND): New macro.
1181         (CCL_INVALID_CMD): New macro.
1182         (CCL_READ_CHAR): Don't regard as invalid command while processing
1183         the last block even if input is empty; use
1184         `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'.
1185         (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'.
1186
1187         * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c.
1188         (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10.
1189         (CCL_STAT_SUSPEND_BY_DST): Likewise.
1190         (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2.
1191         (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3.
1192
1193 1999-05-04  Ken'ichi Handa  <handa@gnu.org>
1194
1195         * mule-ccl.h (struct ccl_program): New member stack_idx.
1196
1197         * mule-ccl.c (ccl_prog_stack_struct): Declare it as static.
1198         (ccl_driver): Setup stack_idx and ccl_prog correctly.  Update them
1199         before returing.
1200         (setup_ccl_program): Initialize ccl->stack_idx to 0.
1201
1202 1998-10-12  Kenichi Handa  <handa@etl.go.jp>
1203
1204         * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the
1205         definitions.
1206
1207 1998-08-18  Kenichi Handa  <handa@etl.go.jp>
1208
1209         * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while
1210         processing the last block, don't just finish but processes eol
1211         block of the current CCL program.
1212         (ccl_driver): Add a new jump label ccl_repeat for the above
1213         change.
1214
1215 1998-04-15  Kenichi Handa  <handa@etl.go.jp>
1216
1217         * mule-ccl.c: Typo in comments fixed.
1218         (Qccl_program_idx): New variables.
1219         (CCL_ReadMultibyteChar2): Macro name changed from
1220         CCL_ReadMultibyteCharacter.
1221         (CCL_WriteMultibyteChar2): Macro name changed from
1222         CCL_WriteMultibyteChar2.
1223         (ccl_driver): Adjusted for the above changes.
1224         (resolve_symbol_ccl_program): New function.
1225         (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
1226         program.  If CCL-PRGRAM is a vector, convert symbols in it to ID
1227         numbers by resolve_symbol_ccl_program.
1228         (Fccl_execute_on_string): Likewise.
1229         (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
1230         convert symbols in it to ID numbers by resolve_symbol_ccl_program.
1231
1232 1998-01-21  Kenichi Handa  <handa@etl.go.jp>
1233
1234         * mule-ccl.h: (struct ccl_program): New member private_state.
1235
1236         * mule-ccl.c
1237         (CCL_Call): Fix the comment.
1238         (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New
1239         macros for CCL Commands.
1240         (EXCMD): New macro.
1241         (ccl_driver): New case lable `CCL_Extention'.
1242         (setup_ccl_program): Initialize the member `private_state' of CCL.
1243
1244 1999-07-08  Katsumi Yamaoka <yamaoka@jpl.org>
1245
1246         * keymap.c (copy_keymap_internal): Inherit the default binding.
1247
1248 1999-07-14  Kazuyuki IENAGA <kazz@imasy.or.jp>
1249
1250         * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
1251         focus the event (XIM_focus_event).
1252         (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because 
1253         XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
1254         the interface for future use (XIM_SetGeometry).
1255         * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot 
1256         location (XIM_SetSpotLocation).
1257         (x_output_eol_cursor): Ditto.
1258
1259 1999-07-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1260
1261         * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match
1262         Olivier's change to lrecord.h of 1999-04-22
1263
1264 1999-07-20  Robert Pluim  <rpluim@bigfoot.com>
1265
1266         * gutter.c (redraw_exposed_gutter): Change type of pos from
1267         enum toolbar_pos -> enum gutter_pos, since former is only defined
1268         if toolbar support is.
1269
1270 1999-07-19  Andy Piper  <andy@xemacs.org>
1271
1272         * glyphs-x.c (x_resize_subwindow): cope with widgets as well as
1273         subwindows.
1274
1275         * gutter.c (gutter_validate): new function for the gutter specifier.
1276         (specifier_type_create_gutter): declare specifier validator.
1277
1278         * buffer.h (INC_CHARBYTIND): add for no error checking version.
1279
1280 1999-07-18  Andy Piper  <andy@xemacs.org>
1281
1282         * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
1283
1284         * glyphs-msw.c (console_type_create_glyphs_mswindows): add
1285         resize_subwindow.
1286         (mswindows_resize_subwindow): new function.
1287
1288         * gutter.c (redraw_exposed_gutter): only reset the
1289         current_display_lines if non-zero.
1290         (Fgutter_pixel_height): new function.
1291         (Fgutter_pixel_width): new function.
1292
1293         * event-msw.c (mswindows_wnd_proc): set the mask of the parameter
1294         we want to retrive from the tab control.
1295
1296 1999-07-17  Andy Piper  <andy@xemacs.org>
1297
1298         * window.c (change_window_height): mark gutters changed when we're
1299         done.
1300
1301         * gutter.c (specifier_vars_of_gutter): make defaults more
1302         sensible.
1303
1304         * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0
1305         height gutter.
1306         (DEFAULT_GUTTER_WIDTH): change.
1307         (DEFAULT_GUTTER_BORDER_WIDTH): change.
1308
1309 1999-07-18  Andy Piper  <andy@xemacs.org>
1310
1311         * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
1312
1313 1999-07-16  Andy Piper  <andy@xemacs.org>
1314
1315         * frame.c (Fmake_frame): call init_frame_gutters().
1316
1317         * redisplay.c (add_emchar_rune): use string functions if we are
1318         working with a string.
1319         (position_redisplay_data_type): add string element.
1320
1321 1999-07-15  Andy Piper  <andy@xemacs.org>
1322
1323         * winslots.h: add real_gutter_size slots to hold the actual gutter
1324         size. This is important for autodetected sizes.
1325
1326         * gutter.c (calculate_gutter_size): calculate size for gutters
1327         that have 'autodetect size.
1328
1329         * redisplay-msw.c (mswindows_output_vertical_divider): adjust
1330         extent of divider for gutters.
1331
1332         * redisplay-x.c (x_output_vertical_divider): adjust extent of
1333         divider for gutters.
1334
1335         * scrollbar.c (update_scrollbar_instance): adjust scrollbar
1336         position to take into account the gutters.
1337
1338         * redisplay.c (generate_modeline): adjust modeline position to
1339         take into account the gutters.
1340
1341 1999-07-14  Andy Piper  <andy@xemacs.org>
1342
1343         * gutter.c (frame_topmost_window): new function.
1344         (frame_bottommost_window): ditto.
1345         (frame_leftmost_window): ditto.
1346         (frame_rightmost_window): ditto.
1347
1348 1999-07-13  Andy Piper  <andy@xemacs.org>
1349
1350         * redisplay.c (calculate_display_line_boundaries): use text
1351         boundaries so that gutters get handled properly.
1352
1353 1999-07-12  Andy Piper  <andy@xemacs.org>
1354
1355         * glyphs-x.c (x_widget_instantiate): set the font Motif-style if
1356         we're using Motif.
1357
1358         * redisplay-output.c (redisplay_clear_to_window_end): generalised
1359         from redisplay-x.c
1360
1361         * redisplay-x.c (redisplay_clear_to_window_end): moved to
1362         redisplay.c
1363         
1364         * redisplay-msw.c (redisplay_clear_to_window_end): deleted.
1365
1366         * gutter.c: new file - implements gutters. All new functions are
1367         semantically equivalent to the toolbar functions.
1368         (gutter_was_visible): new function.
1369         (get_gutter_coords): ditto.
1370         (output_gutter): ditto.
1371         (clear_gutter): ditto.
1372         (update_frame_gutters): ditto.
1373         (redraw_exposed_gutter): ditto.
1374         (redraw_exposed_gutters): ditto.
1375         (free_frame_gutters): ditto.
1376         (init_frame_gutters): ditto.
1377         (decode_gutter_position): ditto.
1378         (Fset_default_gutter_position): ditto.
1379         (Fset_default_gutter_position): ditto.
1380         (Fdefault_gutter_position): ditto.
1381         (gutter_after_change): ditto.
1382         (Fgutter_specifier_p): ditto.
1383         (recompute_overlaying_specifier): ditto.
1384         (gutter_specs_changed): ditto.
1385         (default_gutter_specs_changed): ditto.
1386         (gutter_geometry_changed_in_window): ditto.
1387         (default_gutter_size_changed_in_window): ditto.
1388         (default_gutter_border_width_changed_in_window): ditto.
1389         (default_gutter_visible_p_changed_in_window): ditto.
1390         (syms_of_gutter): ditto.
1391         (vars_of_gutter): ditto.
1392         (specifier_type_create_gutter): ditto.
1393         (specifier_vars_of_gutter): ditto.
1394
1395         * gutter.h: new file. Contains gutter constants and sizing macros
1396         similar to those for the toolbar.
1397
1398         * winslots.h: add gutter variables.
1399
1400         * window.h: declare window_is_* functions.
1401
1402         * window.c (window_is_lowest): make non-static.
1403         (window_is_highest): ditto.
1404         (window_top_toolbar_height): deleted.
1405         (window_bottom_toolbar_height): deleted.
1406         (window_left_toolbar_width): deleted.
1407         (window_right_toolbar_width): deleted.
1408         (window_top_gutter_height): add gutter sizing.
1409         (window_bottom_gutter_height): ditto.
1410         (window_left_gutter_width): ditto.
1411         (window_right_gutter_width): ditto.
1412
1413         * symsinit.h: declarations for gutters vars etc.
1414
1415         * search.c (bi_find_next_emchar_in_string): new function.
1416
1417         * scrollbar.c (update_scrollbar_instance): remove reference to
1418         window_bottom_toolbar_height which did nothing.
1419
1420         * redisplay.h (struct display_line): add face indices for
1421         overriding defaults in output_display_line.
1422         Add gutter_changed flags and declarations.
1423
1424         * redisplay.c (create_string_text_block): new function, similar to
1425         create_text_block but for strings. Display tables etc are used
1426         from the currently selected window.
1427         (generate_string_display_line): ditto. Similar to
1428         generate_display_line.
1429         (generate_displayable_area): generate display lines for a given
1430         area on a frame. Input is the string, with associated extents, to
1431         display.
1432         (redisplay_frame): add gutter_changed check.
1433         (redisplay_device): ditto.
1434         (redisplay_without_hooks): ditto.
1435
1436         * redisplay-x.c (bevel_modeline): moved to redisplay.c.
1437         (x_redraw_exposed_area): redraw exposed gutters.
1438         (x_bevel_area): new redisplay device method.
1439         (x_type_create_redisplay_mswindows): add bevel_area device method.
1440         (x_output_display_block): fiddly Martin-style cleanup.
1441         (x_output_vertical_divider): use bevel_area.
1442
1443         * redisplay-output.c (output_display_line): check display_lines
1444         for face information before using defaults.
1445         (bevel_modeline): new function, calls bevel_area with appropriate
1446         values.
1447
1448         * redisplay-msw.c (bevel_modeline): moved to redisplay.c.
1449         (mswindows_redraw_exposed_area): redraw exposed gutters.
1450         (mswindows_bevel_area): new redisplay device method.
1451         (console_type_create_redisplay_mswindows): add bevel_area device
1452         method.
1453
1454         * indent.c (string_column_at_point): add column_at_point but for
1455         strings.
1456
1457         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
1458         instantiate widgets that we have a toolkit for.
1459
1460         * general.c: add Qgutter.
1461
1462         * frame.h (struct frame): add display lines for gutters and
1463         visibility flags.
1464
1465         * frame.c (set_frame_selected_window): mark gutters changed.
1466
1467         * emacs.c (main_1): add gutter initialisation.
1468
1469         * device.h (struct device): add gutter_changed flag and macros to
1470         manipulate it.
1471
1472         * console.h (struct console_methods): new bevel area redisplay
1473         method.
1474
1475         * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as
1476         REAL_INC_BYTIND is for buffers.
1477         (INC_CHARPTR): ditto.
1478
1479         * Makefile.in.in (objs): add gutter.o
1480
1481 1999-07-13  XEmacs Build Bot <builds@cvs.xemacs.org>
1482
1483         * XEmacs 21.2.18 is released
1484
1485 1999-07-08  SL Baur  <steve@mule.m17n.org>
1486
1487         * event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with
1488         XIM_XLIB.
1489         (emacs_Xt_handle_magic_event): Ditto.
1490         * redisplay-x.c (x_output_string): Ditto.
1491         (x_output_eol_cursor): Ditto.
1492
1493 1999-06-30  Kazuyuki IENAGA <kazz@imasy.or.jp>
1494
1495         *  event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the
1496         problem that when XIM is destroyed or missed with some reason,
1497         xemacs will die.  Now xim=xlib waits the XIM will be ready and
1498         endures the case of XIM end up.
1499
1500 1999-07-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1501
1502         * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
1503         SIGINT and SIGCHLD before calling tt_open and restore the
1504         afterwards. This fixes e.g. the zombie subprocesses on Solaris
1505
1506 1999-07-06  SL Baur  <steve@xemacs.org>
1507
1508         * s/linux.h: gcc-2.8 changes for powerpc
1509         From Justin Vallon <vallon@mindspring.com>
1510
1511 1999-07-05  Didier Verna  <verna@inf.enst.fr>
1512
1513         * indent.c: new symbol Qcoerce.
1514         (Fmove_to_column): use it + doc string update.
1515
1516 1999-07-04  Andy Piper  <andy@xemacs.org>
1517
1518         * console.c: undo earlier Fprovide changes.
1519         * fns.c: ditto.
1520         * console.h: ditto.
1521
1522         * console-tty.c (image_instantiator_format_create_glyphs_tty): new
1523         function. validate appropriate image formats for tty.
1524
1525         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM):
1526         initialize consoles parameter.
1527         (struct image_instantiator_methods): add consoles parameter.
1528         (IIFORMAT_VALID_CONSOLE): new function. validate the format on the
1529         console.
1530         (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given
1531         console.
1532
1533         * glyphs-msw.c: declare instantiators for later use.
1534         (image_instantiator_format_create_glyphs_mswindows): validate xpm
1535         and friends on the mswindows console.
1536         * glyphs-x.c: ditto.
1537
1538         * glyphs.c (valid_image_instantiator_format_p): disallow glyphs
1539         that have not been registered on the supplied device.
1540         (Fvalid_image_instantiator_format_p): add locale argument.
1541         (instantiate_image_instantiator): valid image instantiator on the
1542         device.
1543
1544         * symsinit.h: add image_instantiator_format_create_glyphs_tty()
1545         declaration.
1546
1547         * emacs.c (main_1): add call to
1548         image_instantiator_format_create_glyphs_tty().
1549
1550 1999-06-29  Olivier Galibert  <galibert@pobox.com>
1551
1552         * lisp.h: Add #include <stddef.h>.
1553
1554         * sysdep.c: Remove #include <stddef.h>.
1555         * symbols.c: Remove #include <stddef.h>.
1556         * sheap.c: Remove #include <stddef.h>.
1557         * opaque.c: Remove #include <stddef.h>.
1558         * nt.c: Remove #include <stddef.h>.
1559         * mule-charset.c: Remove #include <stddef.h>.
1560         * marker.c: Remove #include <stddef.h>.
1561         * file-coding.c: Remove #include <stddef.h>.
1562         * extents.c: Remove #include <stddef.h>.
1563         * elhash.c: Remove #include <stddef.h>.
1564         * data.c: Remove #include <stddef.h>.
1565         * chartab.c: Remove #include <stddef.h>.
1566         * bytecode.c: Remove #include <stddef.h>.
1567         * alloc.c: Remove #include <stddef.h>.  Fix vector description
1568
1569 1999-06-30  SL Baur  <steve@miho.m17n.org>
1570
1571         * editfns.c: Document "%s" format spec.
1572         Suggested by Bob Weiner <weiner@altrasoft.com>
1573
1574 1999-06-29  Andy Piper  <andy@xemacs.org>
1575
1576         * event-msw.c: fix definition booboo.
1577
1578 1999-06-28  Andy Piper  <andy@xemacs.org>
1579
1580         * glyphs-x.c: change tree -> tree-view, progress ->
1581         progress_gauge, edit -> edit-field, tab -> tab-control, combo ->
1582         combo-box.
1583         (complex_vars_of_glyphs_x): provide-on-console the implemented
1584         widget types.
1585
1586         * glyphs-msw.c: ditto.
1587         (complex_vars_of_glyphs_mswindows): ditto.
1588
1589         * lisp.h: add Fprovide_on_console.
1590
1591         * fns.c (Ffeaturep): add extra optional console argument.
1592         (Fprovide_on_console): like Fprovide but provides only on the
1593         specified console-type.
1594         (Frequire): check console-features as well as global features.
1595
1596         * console.c (Fconsole_features): new function. return features for
1597         this console.
1598         (syms_of_console): add Fconsole_features.
1599
1600         * console.h (CONMETH_FEATURES): new function for accessing features.
1601         (CONSOLE_FEATURES): ditto.
1602         (struct console_methods): add features slot.
1603         (INITIALIZE_CONSOLE_TYPE): initialize features slot.
1604
1605 1999-06-28  Andy Piper  <andy@xemacs.org>
1606
1607         * event-Xt.c (handle_focus_event_1): conditionally compile for
1608         X11R5.
1609
1610         * s/cygwin32.h: fix me website address.
1611
1612         * event-msw.c: add NMHDR for pre b20 cygwin builds.
1613
1614         * gui-x.c (button_item_to_widget_value): only add callback if it
1615         is non-nil.
1616
1617         * glyphs-x.c: add progress, edit and combo instantiators.
1618         (x_widget_set_property): new function. uses lwlib to set widget
1619         values.
1620         (x_widget_property): new function. uses lwlib to get widget
1621         values.
1622         (x_button_instantiate): support images in buttons.
1623         (x_button_property): new function. use lwlib to get the selected
1624         state.
1625         (x_progress_instantiate): new function for instantiating progress
1626         gauges.
1627         (x_progress_set_property): new function. sets the progress gauge
1628         position.
1629         (x_edit_instantiate): new function. for instantiating edit fields.
1630         (x_combo_instantiate): new function. for instantiating combo
1631         boxes.
1632         (image_instantiator_format_create_glyphs_x): add new device ii
1633         formats.
1634
1635         * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var.
1636
1637         * console.h (CONSOLE_FEATURES): new features accesor.
1638
1639         * conslots.h (MARKED_SLOT): add features entry.
1640
1641 1999-06-25  Andy Piper  <andy@xemacs.org>
1642
1643         * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new
1644         gui functions.
1645
1646         * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h
1647
1648         * gui.h (struct Lisp_Gui_Item): add accelerator.
1649
1650         * gui.c (gui_item_add_keyval_pair): deal with accelerators.
1651         (gui_item_init): ditto.
1652         (gui_add_item_keywords_to_plist): ditto.
1653         (mark_gui_item): ditto.
1654         (gui_item_hash): ditto.
1655         (gui_item_accelerator): new function.
1656         (gui_name_accelerator): new function stolen from gui-x.c
1657
1658         * gui-x.c (popup_selection_callback): always define. mark
1659         subwindows changed after calling a callback.
1660         (menu_name_to_accelerator): deleted.
1661         (button_item_to_widget_value): forward gui_item things to gui_item
1662         functions.
1663
1664         * glyphs-x.h (struct x_subwindow_data): add data for widgets. add
1665         appropriate accesors.
1666
1667         * glyphs-x.c: declare new glyph formats.
1668         (x_finalize_image_instance): unmanage and destroy widgets if they
1669         exist.
1670         (x_unmap_subwindow): handle widgets specially.
1671         (x_map_subwindow): ditto. offset display of widgets by offset of
1672         text widget within container.
1673         (x_update_subwindow): new function. call lw_modify_all_widgets
1674         when we are a widget.
1675         (x_widget_instantiate): new function for generically creating
1676         widgets-glyphs. toolkit specifics forwarded to lwlib.
1677         (x_button_instantiate): new function for instantiating
1678         widgets-glyph buttons.
1679         (console_type_create_glyphs_x): register update_subwindow.
1680         (image_instantiator_format_create_glyphs_x): register widget and
1681         button types.
1682
1683         * event-msw.c (mswindows_wnd_proc): remove redundant variable.
1684
1685         * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1
1686         when we get a button press in case we do not have the focus.
1687         (handle_focus_event_1): set the keyboard focus to the text widget
1688         if we do not have it.
1689
1690         * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item
1691         functions.
1692
1693 1999-06-24  SL Baur  <steve@miho.m17n.org>
1694
1695         * syntax.c (scan_words): Restore non-Mule code.
1696         (word_constituent_p): Restore.
1697
1698 1999-06-23  Olivier Galibert  <galibert@pobox.com>
1699
1700         * config.h.in: Add missing #undef *_USER_DEFINED.
1701
1702 1999-06-23  SL Baur  <steve@miho.m17n.org>
1703
1704         * lisp.h (set_bit_vector_bit): Force promotion to unsigned long
1705         int (fixes a 64-bit problem).
1706
1707         * chartab.c (word_boundary_p): Use EQ not == for lisp_object
1708         comparison.
1709
1710 1999-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
1711
1712         * paths.h.in (PATH_DOC): Made doc-directory configurable.
1713
1714 1999-06-22  Olivier Galibert  <galibert@pobox.com>
1715
1716         * lrecord.h: Added basic external description system.
1717
1718         * symbols.c: Added symbol, symbol-value-buffer-local,
1719         symbol-value-lisp-magic and symbol-value-varalias description.
1720         * mule-charset.c: Added charset description.
1721         * marker.c: Added marker description.
1722         * keymap.c: Added keymap description.
1723         * glyphs.c: Added glyph description.
1724         * floatfns.c: Added float description.
1725         * file-coding.c: Added coding-system description.
1726         * extents.c: Added extent description.
1727         * elhash.c: Added hash-table description.
1728         * data.c: Added weak-list desciption.
1729         * chartab.c: Added char-table-entry and char-table description.
1730         * bytecode.c: Added compiled-function description.
1731         * alloc.c: Added cons, vector and string description.
1732
1733 1999-06-22  Olivier Galibert  <galibert@pobox.com>
1734
1735         * lrecord.h (struct lrecord_header): Reduced size to 4 bytes.
1736         Updated everything to the removal of the "flags" substructure.
1737
1738         * lisp.h (subr_lheader_initializer): Updated.
1739         * symeval.h (symbol_value_forward_lheader_initializer): Updated.
1740
1741 1999-06-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
1742
1743         * syntax.c (word_constituent_p): Deleted.
1744         (scan_words): Use `WORD_BOUNDARY_P'.
1745
1746         * chartab.c (Vword_combining_categories): New variable.
1747         (Vword_separating_categories): Likewise.
1748         (CATEGORYP): New macro.
1749         (CATEGORY_SET): Likewise.
1750         (CATEGORY_MEMBER): Likewise.
1751         (word_boundary_p): New function.
1752         (complex_vars_of_chartab): Set up new variable
1753         `word-combining-categories' and `word-separating-categories'.
1754
1755 1999-06-18  Olivier Galibert  <galibert@pobox.com>
1756
1757         * lrecord.h: Added description as a placehold in the lrecord
1758         implementation structures.  Added the parameter to all constructor
1759         defines.
1760
1761         * alloc.c: Added placeholders.
1762         * buffer.c: Ditto.
1763         * bytecode.c: Ditto.
1764         * chartab.c: Ditto.
1765         * console.c: Ditto.
1766         * data.c: Ditto.
1767         * database.c: Ditto.
1768         * device.c: Ditto.
1769         * eldap.c: Ditto.
1770         * elhash.c: Ditto.
1771         * eval.c: Ditto.
1772         * event-stream.c: Ditto.
1773         * events.c: Ditto.
1774         * extents.c: Ditto.
1775         * faces.c: Ditto.
1776         * file-coding.c: Ditto.
1777         * floatfns.c: Ditto.
1778         * fns.c: Ditto.
1779         * frame.c: Ditto.
1780         * glyphs.c: Ditto.
1781         * gui-x.c: Ditto.
1782         * keymap.c: Ditto.
1783         * lstream.c: Ditto.
1784         * marker.c: Ditto.
1785         * mule-charset.c: Ditto.
1786         * objects.c: Ditto.
1787         * opaque.c: Ditto.
1788         * process.c: Ditto.
1789         * rangetab.c: Ditto.
1790         * specifier.c: Ditto.
1791         * symbols.c: Ditto.
1792         * toolbar.c: Ditto.
1793         * tooltalk.c: Ditto.
1794         * window.c: Ditto.
1795
1796 1999-06-22  XEmacs Build Bot <builds@cvs.xemacs.org>
1797
1798         * XEmacs 21.2.17 is released
1799
1800 1999-06-13  Oscar Figueiredo  <oscar@xemacs.org>
1801
1802         * config.h.in (HAVE_LDAP_SET_OPTION): New define
1803         (HAVE_LDAP_GET_LDERRNO): Ditto
1804         (HAVE_LDAP_RESULT2ERROR): Ditto
1805         (HAVE_LDAP_PARSE_RESULT): Ditto
1806         (HAVE_UMICH_LDAP): Removed
1807         (HAVE_NS_LDAP): Removed
1808
1809         * eldap.h (struct Lisp_LDAP): Removed the `livep' member as
1810         suggested by Olivier Galibert
1811         (CHECK_LIVE_LDAP): Test on `ld' instead of `livep'
1812
1813         * eldap.c: Take the removal of `livep' into account in all the
1814         necessary functions
1815         (signal_ldap_error): Take two additional parameters
1816         Added new finer compilation conditions in order to use
1817         ldap_parse_result or ldap_result2error if available
1818         (Fldap_open): Conform to this new API
1819         (Fldap_search_internal): Ditto
1820
1821 1999-06-17  SL Baur  <steve@miho.m17n.org>
1822
1823         * data.c (struct int_or_double): Should use EMACS_INT not int.
1824
1825 1999-06-16  Norbert Koch  <n.koch@eai-delta.de>
1826
1827         * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in
1828         redisplay-x.c
1829
1830 1999-06-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1831
1832         * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with
1833         `CCL_MODE_ENCODING'.
1834
1835         * file-coding.c (mule_decode): Run `ccl_driver' with
1836         `CCL_MODE_DECODING'.
1837         (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'.
1838
1839         * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'.
1840         (ccl_driver): Add new argument `conversion_mode'.
1841         (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'.
1842         (Fccl_execute_on_string): Likewise [perhaps it is better to add
1843         new optional argument].
1844
1845         * mule-ccl.h (CCL_MODE_ENCODING): New macro.
1846         (CCL_MODE_DECODING): New macro.
1847         (ccl_driver): Add new argument `conversion_mode'.
1848
1849 1999-06-15  SL Baur  <steve@miho.m17n.org>
1850
1851         * mule-charset.c (Fsplit_char): New subr.
1852         (Fchar_octet): delete.
1853         (syms_of_mule_charset): DEFSUBR it.
1854
1855 1999-06-13  Andy Piper  <andy@xemacs.org>
1856
1857         * menubar.h: update declarations involving gui_items.
1858
1859         * lisp.h: declare Lisp_Gui_Item.
1860
1861         * glyphs.h (struct Lisp_Image_Instance): update type of gui_item.
1862
1863         * glyphs.c (mark_image_instance): modify for new lisp-based gui_items.
1864         (print_image_instance): ditto.
1865         (image_instance_equal): ditto.
1866         (image_instance_hash): ditto.
1867
1868         * event-msw.c (mswindows_need_event): assert badly_p status.
1869         (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with
1870         callbacks in tree-view and tab-control widgets.
1871         (emacs_mswindows_next_event): modify use of
1872         mswindows_dequeue_dispatch_event.
1873
1874         * dialog-msw.c (mswindows_popup_dialog_box): modify for new
1875         lisp-based gui_items.
1876
1877         * glyphs-msw.c (mswindows_update_subwindow): update use of
1878         gui_items.
1879         (mswindows_register_gui_item): new function.
1880         (mswindows_register_gui_item): fix to use lisp gui_items.
1881         (mswindows_widget_instantiate): ditto.
1882         (mswindows_button_instantiate): ditto.
1883         (add_tree_item): new function to recursively add tree view
1884         elements.
1885         (add_tree_item_list): ditto.
1886         (mswindows_tree_instantiate): new function. instantiate tree view
1887         controls.
1888         (add_tab_item): new function to add tabs to a tab control.
1889         (mswindows_tab_instantiate): new function. instantiate tab
1890         controls.
1891         (image_instantiator_format_create_glyphs_mswindows): add tree view
1892         and tab controls.
1893         (vars_of_glyphs_mswindows): ditto.
1894
1895         * glyphs-widget.c (check_valid_item_list_1): allow nested lists in
1896         item lists.
1897         (check_valid_item_list): ditto.
1898         (initialize_widget_image_instance): fix to use new lisp gui_item.
1899         (widget_instantiate_1): allow the setting of default textwidth in
1900         characters.
1901         (widget_instantiate): change to use new widget_instantiate_1
1902         signature.
1903         (combo_instantiate): ditto.
1904         (static_instantiate): ditto.
1905         (tab_instantiate): new function for tab widgets.
1906         (image_instantiator_format_create_glyphs_widget): add tab and tree
1907         view widgets.
1908
1909         * menubar-msw.c (displayable_menu_item): convert to use lisp
1910         gui_items.
1911         (populate_menu_add_item): ditto.
1912         (populate_or_checksum_helper): ditto.
1913
1914         * menubar.c (menu_parse_submenu_keywords): convert to use lisp
1915         gui_items.
1916         (Fmenu_find_real_submenu): ditto.
1917
1918         * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct.
1919
1920         * gui.c (gui_item_add_keyval_pair): gui_items are now lisp
1921         objects, convert functions that use them accordingly.
1922         (gui_item_init): ditto.
1923         (gui_item_active_p): ditto.
1924         (gui_item_selected_p): ditto.
1925         (gui_item_included_p): ditto.
1926         (gui_item_display_flush_left): ditto.
1927         (gui_item_display_flush_right): ditto.
1928         (mark_gui_item): ditto.
1929         (allocate_gui_item): new function to create a gui_item.
1930         (make_gui_item_from_keywords_internal): ditto. create and return a
1931         gui_item as well as setting keywords.
1932         (gui_parse_item_keywords): ditto.
1933         (gui_parse_item_keywords_no_errors): ditto.
1934         (gui_add_item_keywords_to_plist): new function, not yet used.
1935         (gui_item_hash): new function.
1936         (gui_item_id_hash): use gui_item_hash.
1937         (gui_item_equal): new function.
1938         (print_gui_item): new function.
1939
1940 1999-06-11  XEmacs Build Bot <builds@cvs.xemacs.org>
1941
1942         * XEmacs 21.2.16 is released
1943
1944 1999-06-10  Andy Piper  <andy@xemacs.org>
1945
1946         * select-msw.c (mswindows_own_selection): only set the clipboard
1947         if asked.
1948         (mswindows_get_foreign_selection): only get the clipboard if
1949         asked.
1950         (mswindows_disown_selection): only disown the clipboard if asked.
1951
1952 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
1953
1954         * file-coding.c (coding_system_from_mask): Use `raw-text' instead
1955         of `no-conversion'.
1956         (complex_vars_of_mule_coding): Use `raw-text' as the coding-system
1957         of coding-category `no-conversion'.
1958
1959 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
1960
1961         * file-coding.c (Qraw_text): New variable.
1962         (syms_of_mule_coding): Add new symbol `raw-text'.
1963         (complex_vars_of_mule_coding): Add new coding-system `raw-text';
1964         define coding-system `binary' independently; define coding-system
1965         `no-conversion' as an alias for `raw-text'.
1966
1967         * file-coding.h (Qraw_text): New variable.
1968
1969 1999-06-08  SL Baur  <steve@xemacs.org>
1970
1971         * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC.
1972
1973 1999-06-06  Hrvoje Niksic  <hniksic@srce.hr>
1974
1975         * fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and
1976         base64.el.
1977         (base64_decode_1): Signal errors instead of returning -1.
1978
1979 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
1980
1981         * mule-charset.c (Fmake_char): Update docstring.
1982
1983 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
1984
1985         * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers.
1986
1987 1999-06-05  Hrvoje Niksic  <hniksic@srce.hr>
1988
1989         * fns.c (base64_decode_1): Allow and ignore any non-base64
1990         characters in input.
1991
1992 1999-05-27  Olivier Galibert  <galibert@pobox.com>
1993
1994         * emacs.c (Fdump_emacs): Add clear_message() lost with the removal
1995         of report_pure_usage().
1996
1997 1999-06-04  Hrvoje Niksic  <hniksic@srce.hr>
1998
1999         * fns.c (Fstring_lessp): Remove O(n^2) under Mule.
2000
2001 1999-06-04  XEmacs Build Bot <builds@cvs.xemacs.org>
2002
2003         * XEmacs 21.2.15 is released
2004
2005 1999-06-01  Hirokazu FUKUI  <fukui@atesoft.advantest.co.jp>
2006
2007         * frame.c (Fset_mouse_position):
2008         (Fset_mouse_pixel_position):
2009         * window.c (Fsplit_window):
2010         (Fmove_to_window_line):
2011         Fix crash when invoking functions with an already-deleted window
2012         argument.
2013
2014         * indent.c (vertical_motion_1):
2015         (vmotion_pixels):
2016         (Fvertical_motion_pixels):
2017         * window.c (Fwindow_displayed_text_pixel_height):
2018         Fix error message when invoking functions with an already-deleted
2019         window argument.
2020
2021 1999-06-01  Jan Vroonhof  <vroonhof@math.ethz.ch>
2022
2023         * sysdep.c (request_sigio_on_device): Guard against glibc
2024         2.1's stub streams implementation.
2025
2026 1999-06-03  SL Baur  <steve@xemacs.org>
2027
2028         * config.h.in:
2029         * emacs.c:  Implement x.y.z version numbers
2030         From Jan Vroonhof <vroonhof@math.ethz.ch>
2031
2032 1999-05-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
2033
2034         * mule-charset.c (complex_vars_of_mule_charset): Registry of
2035         japanese-jisx0208-1978 should not match with "jisx0208.1983" nor
2036         "jisc6226.1983".
2037
2038 1999-06-03  SL Baur  <steve@xemacs.org>
2039
2040         * frame-x.c:
2041         * device-x.c: rename session option to wmcommand.
2042         From Oliver Graf <ograf@rhein-zeitung.de>
2043
2044 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2045
2046         * fns.c (Fsubstring): Don't traverse the same region twice with
2047         charcount_to_bytecount().
2048
2049 1999-06-03  SL Baur  <steve@steve1.m17n.org>
2050
2051         * m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive
2052         garbage.
2053
2054         * s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it
2055         doesn't really work as is implied by the commentary).
2056         Don't define SYSTEM_MALLOC so the old GNU malloc can be used.
2057
2058 1999-06-02  SL Baur  <steve@steve1.m17n.org>
2059
2060         * symsinit.h: Declare vars_of_ntproc.
2061         * emacs.c (main_1): Call it.
2062
2063         * ntproc.c (syms_of_ntproc): Move variable initializations from
2064         here ...
2065         (vars_of_ntproc): ... to here [new function].
2066
2067         * file-coding.c (syms_of_file_coding): Rename.
2068         (vars_of_file_coding): Ditto.
2069         (complex_vars_of_file_coding): Ditto.
2070
2071         * symsinit.h: Rename *_mule_coding to *_file_coding.
2072
2073         * emacs.c (main_1): Call them by the proper name.
2074
2075         * device-msw.c (syms_of_device_mswindows): Move variable
2076         initializations from here ...
2077         (vars_of_device_mswindows): ... to here.
2078
2079         * chartab.c (vars_of_chartab): New function.
2080
2081         * symsinit.h: New function, vars_of_chartab.
2082
2083         * emacs.c (main_1): Call it.
2084
2085         * mule-canna.c (syms_of_mule_canna): Move CANNA initialization ...
2086         (vars_of_mule_canna): ... to here.
2087
2088         * mule-ccl.c (vars_of_mule_ccl): New function.  Move variable
2089         initializations out of syms_of_mule_ccl.
2090
2091         * symsinit.h: Declare new function vars_of_mule_ccl.
2092
2093         * emacs.c (main_1): Call it.
2094
2095 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2096
2097         * fns.c (base64_decode_1): Ignore whitespace.
2098
2099 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2100
2101         * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and
2102         ARG2.
2103
2104 1999-05-21  Andy Piper  <andy@xemacs.org>
2105
2106         * xselect.c: deleted.
2107
2108         * symsinit.h: declare select initialisation.
2109
2110         * select.h: new file. declare commonly used select functions and
2111         variables.
2112
2113         * select.c: new file. generalised from xselect.c.
2114         (clean_local_selection_data): moved from xselect.c.
2115         (get_local_selection): ditto. device specific pieces called via a
2116         devmeth.
2117         (handle_selection_clear): ditto.
2118         (Fown_selection_internal): renamed and generalised from
2119         Fx_own_selection_internal. moved from xselect.c.
2120         (Fdisown_selection_internal): ditto.
2121         (Fselection_owner_p): ditto.
2122         (Fselection_exists_p): ditto.
2123         (Fget_selection_internal): ditto.
2124         (syms_of_select): new function. QXXXX values moved from xselect.c
2125         (vars_of_select): new function. selection_converter_alist,
2126         lost_selection_hooks moved and renamed from xselect.c
2127
2128         * select-x.c: renamed from xselect.c.
2129         (x_own_selection): converted to device specific. non-X-specific
2130         bits moved to select.c.
2131         (x_get_foreign_selection): ditto.
2132         (x_disown_selection): ditto.
2133         (x_selection_exists_p): ditto.
2134         (console_type_create_select_x): new function.
2135
2136         * select-msw.c (mswindows_own_selection): new device method to set
2137         the clipboard when we 'own' the selection.
2138         (mswindows_get_foreign_selection): new device method to get the
2139         clipboard.
2140         (mswindows_disown_selection): new device method to delete the
2141         selection when we 'disown' it.
2142         (console_type_create_select_mswindows): new function.
2143
2144         * emacs.c (main_1): add select to things to initialise.
2145
2146         * console.h (struct console_methods): new console methods for
2147         selection.
2148
2149         * Makefile.in.in (x_objs): xselect.c renamed to select-x.c
2150
2151 1999-05-20  Hrvoje Niksic  <hniksic@srce.hr>
2152
2153         * print.c (long_to_string): Install a faster version.
2154
2155 1999-05-16  Andy Piper  <andy@xemacs.org>
2156
2157         * ntproc.c (syms_of_ntproc): default
2158         win32-start-process-share-console to t.
2159
2160 1999-05-14  Hrvoje Niksic  <hniksic@srce.hr>
2161
2162         * config.h.in: Do it here.
2163
2164         * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here.
2165
2166 1999-05-14  Andy Piper  <andy@xemacs.org>
2167
2168         * toolbar-msw.c (mswindows_output_toolbar): hash on something
2169         hashable.
2170
2171 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
2172
2173         * XEmacs 21.2.14 is released
2174
2175 1999-05-12  Andy Piper  <andy@xemacs.org>
2176
2177         * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way.
2178
2179 1999-05-11  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2180
2181         * emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for
2182         run_temacs_argv array -- fixes random memory corruption crash
2183
2184 1999-05-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
2185
2186         * window.c (Fcurrent_window_configuration):
2187         Save minibuffer height;
2188
2189         * window.c (set_window_configuration): use it.
2190
2191 1999-05-10  Robert Pluim  <rpluim@bigfoot.com>
2192
2193         * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version
2194
2195 1999-04-21  Jan Vroonhof  <vroonhof@math.ethz.ch>
2196
2197         * redisplay.c (redisplay_window): Do not put data
2198         in the line start cache if it is not guaranteed to be correct
2199
2200 1999-04-02  Jan Vroonhof  <vroonhof@math.ethz.ch>
2201
2202         * window.c (struct window_config): Removed frame
2203         size members.
2204         (window_config_equal): No longer compare frame sizes.
2205         (Fset_window_configuration): Resize old top window to fit in the
2206         current frame directly, no longer use a fake frame resize.
2207         (Fcurrent_window_configuration): No longer save frame size
2208
2209 1999-05-11  Andy Piper  <andy@xemacs.org>
2210
2211         * ntproc.c (sys_spawnve): actually assign argv[0] instead of the
2212         first character.
2213
2214 1999-05-10  Hrvoje Niksic  <hniksic@srce.hr>
2215
2216         * sysdep.c (init_system_name): If gethostname gives a proper
2217         domain name, don't look further for one.
2218
2219 1999-05-09  Hrvoje Niksic  <hniksic@srce.hr>
2220
2221         * symbols.c (Fintern): Avoid frequent XSYMBOL (foo).
2222         (Fintern_soft): Accept a symbol argument.
2223
2224 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
2225
2226         * symbols.c (Fintern): ...do it here.
2227
2228         * lread.c (read_atom): Don't handle keywords here.
2229
2230 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
2231
2232         * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD.
2233
2234 1999-05-03  Olivier Galibert  <galibert@pobox.com>
2235
2236         * lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it
2237         is interned in the main obarray.
2238
2239 1999-04-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2240
2241         * menubar-x.c (pre_activate_callback): set accelerator field in
2242         "No menu" entries to nil. Avoid crash in
2243         command_builder_operate_menu_accelerator
2244
2245 1999-05-03  Olivier Galibert  <galibert@pobox.com>
2246
2247         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
2248
2249         * lisp.h (DEFUN): Fix lrecord header initialisation.
2250
2251 1999-05-02  Andy Piper  <andy@xemacs.org>
2252
2253         * objects-msw.c (mswindows_font_instance_truename): add a ';'.
2254
2255         * ntproc.c (sys_kill): cast using MS mandated defines.
2256
2257 1999-04-29  Andy Piper  <andy@xemacs.org>
2258
2259         * m/intel386.h: remove redundant definitions.
2260
2261         * s/mingw32.h: new header for mingw32.
2262
2263         * unexnt.c: (open_input_file): function moved to nt.c.
2264         (close_file_data): ditto.
2265         (rva_to_section): function moved to ntproc.
2266
2267         * symsinit.h: declare syms_of_ntproc();
2268
2269         * objects-msw.c (mswindows_font_instance_truename): new function.
2270
2271         * ntproc.c: remove many warnings.
2272         (_sys_read_ahead): moved from nt.c and made static.
2273         (rva_to_section): moved from unexnt.c but not defined under
2274         mingw32.
2275         (win32_executable_type): implement what we can for mingw32
2276         headers.
2277         (sys_spawnve): fix bad MULE/GCPRO bug in filename handling.
2278
2279         * ntheap.h: remove declarations of functions that are now static.
2280
2281         * ntheap.c: support static heap.
2282
2283         * nt.h: conditionalise X_OK definition.
2284
2285         * nt.c: eliminate many warnings and support mingw32.
2286         (open_input_file): function moved from unexnt.c and made static
2287         (close_file_data): ditto.
2288         (_sys_read_ahead): moved to ntproc.c
2289
2290         * emacs.c: make sure syms_of_ntptroc gets called under windows.
2291
2292         * console-msw.h: support mingw32.
2293         * getloadavg.c: ditto.
2294         * ntplay.c: ditto.
2295         * sysdep.c: ditto.
2296         * sysdir.h: ditto.
2297         * systime.h: ditto.
2298         * systty.h: ditto.
2299
2300         * config.h.in: dont turn on DEBUG_ENCAPSULATION by default because
2301         some systems don't have all of the encapsulated system calls.
2302
2303         * callproc.c: warning elimination.
2304         * dired-msw.c: ditto.
2305         * process-nt.c: ditto.
2306         * realpath.c: ditto.
2307
2308         * Makefile.in.in: tweak : and ; for building under mswindows.
2309
2310 1999-04-26  Michael Harnois  <mharnois@willinet.net>
2311
2312         * eldap.c (allocate_ldap): Adapt to the new semantics of
2313         alloc_lcrecord_type().
2314
2315 1999-03-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
2316
2317         * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed.
2318
2319 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2320
2321         * Delete mule-coding.c and mule-coding.h because they are not
2322         used.
2323
2324 1999-04-22  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2325
2326         * objects.c (print_font_instance): Check for NILP(f->device),
2327         i.e. Vthe_null_font_instance.
2328         (font_instance_truename_internal): ditto.
2329         (Ffont_instance_properties): ditto.
2330
2331 1999-04-22  Olivier Galibert  <galibert@pobox.com>
2332
2333         * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an
2334         array anymore.
2335
2336 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
2337
2338         * Makefile.in.in (tests): Don't mention tests explicitly -- makes
2339         it easier to add new ones.
2340
2341 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
2342
2343         * symbols.c (reject_constant_symbols): Ditto.
2344         (init_symbols_once_early): Ditto.
2345
2346         * print.c (print_symbol): Don't use ->obarray.
2347
2348         * symbols.c (Funintern): Ditto.
2349
2350         * alloc.c (Fmake_symbol): Don't set ->obarray.
2351
2352         * lisp.h (struct Lisp_Symbol): Removed .obarray field.
2353
2354         * symbols.c (init_symbols_once_early): Removed
2355         Vpure_uninterned_symbol_table.
2356         (Fintern): Don't store to ->obarray field.
2357
2358 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
2359
2360         * data.c (vars_of_data): Default debug_issue_ebola_notices to 0.
2361         (eq_with_ebola_notice): Remove abracadabra support.
2362
2363 1999-04-11  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
2364
2365         * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to
2366         retrieve the distinguished names of entries
2367
2368 1999-03-08  Martin Buchholz  <martin@xemacs.org>
2369
2370         * lread.c (read_escape): Make hex escapes read only two hex digits.
2371
2372 1999-04-05  Olivier Galibert  <galibert@pobox.com>
2373
2374         * Makefile.in.in: Remove puresize-adjust.h and recursive makes.
2375         * make-src-depend: Remove puresize-adjust.h.
2376         * src-headers: Remove puresize-adjust.h.
2377         * config.h.in: Kill everything purespace/gung-ho related.
2378
2379         * dbxrc: Make gung-ho mandatory.
2380         * gdbinit: Ditto.
2381
2382         * lrecord.h: Make gung-ho mandatory.  Remove pure flag and add
2383         c_readonly and lisp_readonly.  Remove implementation arrays.
2384         (C_READONLY_RECORD_HEADER_P): Added.
2385         (LISP_READONLY_RECORD_HEADER_P): Added.
2386         (SET_C_READONLY_RECORD_HEADER): Added.
2387         (SET_LISP_READONLY_RECORD_HEADER): Added.
2388
2389         * lisp.h: Kill everything purespace/non gung-ho related.
2390         (CHECK_C_WRITEABLE): Added.
2391         (CHECK_LISP_WRITEABLE): Added.
2392         (C_READONLY): Added.
2393         (LISP_READONLY): Added.
2394
2395         * lisp-union.h: Make gung-ho mandatory.
2396         * lisp-disunion.h: Ditto.
2397
2398         * alloc.c: Kill everything purespace/non  gung-ho related. Fix all
2399         set_lheader_implementation calls.
2400         (c_readonly): Added.
2401         (lisp_readonly): Added.
2402         (make_string_nocopy): Added.
2403         (Fpurecopy):  Changed to do  nothing.   Kept the old documentation
2404         for reference purposes for the next patches.
2405         (sweep_lcrecords_1): Don't free C readonly lcrecords.
2406         (sweep_bit_vectors_1): Don't free C readonly bitvectors.
2407         (SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords.
2408
2409         * fns.c: Make gung-ho mandatory.
2410         (Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
2411         (Fremprop): Ditto.
2412         (Ffillarray): Ditto.
2413
2414         * data.c: Make gung-ho mandatory.
2415         (pure_write_error): Removed.
2416         (c_write_error): Added.
2417         (lisp_write_error): Added.
2418         (Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
2419         (Fsetcdr): Ditto.
2420         (Faset): Ditto.
2421
2422         * symbols.c: Make gung-ho mandatory.  make_pure_pname ->
2423                   make_string or make_string_nocopy.  Fix various
2424                   alloc_lcrecord_type.
2425
2426         * lread.c: Remove everything purespace related.
2427         (Flocate_file_clear_hashing): purified -> c_readonly.
2428         (locate_file): Ditto.
2429         (read_atom): make_pure_pname -> make_string.
2430
2431         * emacs.c (Frun_emacs_from_temacs): Remove purespace stats
2432                   reporting.
2433         (Fdump_emacs): Ditto.
2434
2435         * print.c (print_internal): Make gung-ho mandatory.
2436         * ntheap.c (sbrk): Ditto.
2437         * mem-limits.h (EXCEEDS_LISP_PTR): Ditto
2438         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
2439
2440         * sheap.c (more_static_core): Remove puresize-adjust.h from
2441                   message.
2442
2443         * syntax.c (complex_vars_of_syntax): make_pure_string ->
2444                   make_string_nocopy.
2445         * keymap.c (make_keymap): Fix alloc_lcrecord_type.
2446         (vars_of_keymap): make_pure_string -> make_string_nocopy.
2447         * events.c (deinitialize_event): Fix set_lheader_implementation.
2448         (zero_event): Ditto.
2449         * specifier.c (make_specifier_internal): Fix alloc_lcrecord.
2450         * menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type.
2451         * mule-charset.c (make_charset): Ditto.
2452         * console.c (allocate_console): Ditto.
2453         (complex_vars_of_console): Ditto.
2454         * file-coding.c (allocate_coding_system): Ditto.
2455         * device.c (allocate_device): Ditto
2456         * gui-x.c (gcpro_popup_callbacks): Ditto.
2457         * extents.c (allocate_extent_auxiliary): Ditto.
2458         (allocate_extent_info): Ditto.
2459         (copy_extent): Ditto.
2460         * glyphs.c (allocate_image_instance): Ditto.
2461         (allocate_glyph): Ditto.
2462         * frame.c (allocate_frame_core): Ditto.
2463         * database.c (allocate_database): Ditto.
2464         * tooltalk.c (make_tooltalk_message): Ditto.
2465         (make_tooltalk_pattern): Ditto.
2466         * rangetab.c (Fmake_range_table): Ditto.
2467         (Fcopy_range_table): Ditto.
2468         * process.c (make_process_internal): Ditto.
2469         * chartab.c (Fmake_char_table): Ditto.
2470         (make_char_table_entry): Ditto.
2471         (copy_char_table_entry): Ditto.
2472         (Fcopy_char_table): Ditto.
2473         * elhash.c (make_general_lisp_hash_table): Ditto.
2474         (Fcopy_hash_table): Ditto.
2475         * buffer.c (allocate_buffer): Ditto.
2476         (complex_vars_of_buffer): Ditto.
2477         * event-stream.c (allocate_command_builder): Ditto.
2478         * objects.c (Fmake_color_instance): Ditto.
2479         (Fmake_font_instance): Ditto.
2480         (vars_of_objects): Ditto.
2481         * toolbar.c (update_toolbar_button): Ditto.
2482         * window.c (allocate_window): Ditto.
2483         (make_dummy_parent): Ditto.
2484         (Fcurrent_window_configuration): Fix alloc_lcrecord.
2485         (vars_of_window): Fix make_lcrecord_list.
2486         * faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list ->
2487                   Flist.
2488         * lstream.c (Lstream_new): Fix make_lcrecord_list.
2489         * opaque.c (make_opaque): Fix alloc_lrecord.
2490         (make_opaque_list): Fix alloc_lrecord_type.
2491
2492 1999-04-19  Hrvoje Niksic  <hniksic@srce.hr>
2493
2494         * process.c (Fstart_process_internal): Ditto.
2495
2496         * ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling
2497         locate_file().
2498
2499         * glyphs-x.c (x_locate_pixmap_file): Ditto.
2500
2501         * glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to
2502         locate_file().
2503
2504         * emodules.c (vars_of_module): New variable Vmodule_extensions.
2505         (emodules_load): Use it when calling locate_file().
2506
2507         * emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling
2508         locate_file().
2509
2510         * callproc.c: Vlisp_EXEC_SUFFIXES: New variable.
2511         (vars_of_callproc): Initialize it.
2512         (Fcall_process_internal): Use it when calling locate_file().
2513
2514         * alloc.c (disksave_object_finalization): Use
2515         Flocate_file_clear_hashing().
2516
2517         * lread.c (Flocate_file_clear_hashing): Clear all hasing when
2518         given `t' as argument.
2519
2520 1999-04-18  Hrvoje Niksic  <hniksic@srce.hr>
2521
2522         * lread.c (locate_file): Expand `pathel' when appropriate.
2523         (Flocate_file_clear_hashing): Expand path elements.
2524         (Flocate_file_clear_hashing): Use Vlocate_file_hash_table.
2525
2526         * dired.c (make_directory_hash_table): Create the hash-table only
2527         if the directory open is successful.
2528
2529         * lread.c (decode_mode_1): New function.
2530         (decode_mode): Ditto.
2531         (Flocate_file): Use them.
2532         (Flocate_file): Expand FILENAME.
2533         (locate_file_map_suffixes): New function.
2534         (locate_file_in_directory_mapper): New function.
2535         (locate_file_in_directory): Use locate_file_in_directory_mapper()
2536         and locate_file_map_suffixes().
2537         (locate_file_construct_suffixed_files): Use
2538         locate_file_map_suffixes().
2539         (locate_file_without_hash): Don't GCPRO path.
2540         (Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP.
2541         (syms_of_lread): Remove Qlocate_file_hash_table.
2542         (locate_file_find_directory_hash_table): Use
2543         Vlocate_file_hash_table.
2544         (locate_file_refresh_hashing): Ditto.
2545
2546         * lread.c: Renamed read_objects to Vread_objects.
2547
2548 1999-04-16  Olivier Galibert  <galibert@pobox.com>
2549
2550         * mule-charset.c: Generally resync with fsf 20.3 charset
2551         interface.
2552         (make_charset): Add long and short name.  Use id instead of
2553         leading byte.
2554         (Fmake_charset): Ditto.
2555         (Fmake_reverse_direction_charset): Ditto.
2556         (Fcharset_property): Ditto.
2557         (Fcharset_short_name): Added.
2558         (Fcharset_long_name): Added.
2559         (Fcharset_description): Renamed from charset-doc-string.
2560         (syms_of_mule_charset): Synced symbols.
2561         (complex_vars_of_mule_charset): Synced charsets.
2562
2563         * mule-charset.h: Removed leading byte (uses id instead), added
2564         short and long name.
2565
2566 1999-04-15  Hrvoje Niksic  <hniksic@srce.hr>
2567
2568         * file-coding.c (Fdefine_coding_system_alias): New function.
2569
2570 1999-04-08  Olivier Galibert  <galibert@pobox.com>
2571
2572         * mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859
2573         and -ascii fonts for displaying ascii instead of iso8859-1 only.
2574
2575 1998-12-14  Hrvoje Niksic  <hniksic@srce.hr>
2576
2577         * extents.c (set_extent_glyph_1): Make sure that the glyph we
2578         attach to the extent is valid.
2579
2580 1998-12-12  Hrvoje Niksic  <hniksic@srce.hr>
2581
2582         * dired.c (user_name_completion): Mule-ize.
2583         (user_name_completion): Use xmalloc/xrealloc/xfree.
2584         (user_name_completion): Use DO_REALLOC.
2585         (user_name_completion): Cut down the number of static variables;
2586         use a structure.
2587         (user_name_completion): Username completion is always
2588         case-sensitive.
2589
2590 1998-12-06  Hrvoje Niksic  <hniksic@srce.hr>
2591
2592         * fns.c (base64_decode_1): Remove COUNTER.
2593         (base64_decode_1): Accept CRLF in addition to CR.
2594         (base64_decode_1): Disallow a stray character after final EOF; the
2595         check was probably a remnant of buggy recode code.
2596
2597 1998-12-05  Hrvoje Niksic  <hniksic@srce.hr>
2598
2599         * fns.c (init_provide_once): Provide `base64'.
2600
2601 1998-12-04  Hrvoje Niksic  <hniksic@srce.hr>
2602
2603         * fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity.
2604         (Fbase64_encode_region): If buffer is read-only, bail out early.
2605         (Fbase64_decode_region): Ditto.
2606         (Fbase64_encode_region): Initialize SPECCOUNT to pacify the
2607         compiler.
2608         (Fbase64_encode_string): Ditto.
2609         (Fbase64_decode_region): Ditto.
2610         (Fbase64_decode_string): Ditto.
2611
2612 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
2613
2614         * dired.c (Fdirectory_files): Remove redundant code.
2615
2616 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
2617
2618         * frame-msw.c Make raise-frame restore minimised windows.
2619
2620 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
2621
2622         * device-msw.c: Fix DEFVAR format - Death to phantom quote, and
2623         add magic newline.
2624
2625 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
2626
2627         * toolbar-msw.c Consider captions when deciding whether to rebuild
2628         toolbar. This fixes the initial toolbar display for those of us
2629         who don't like captions. These patches applied by Andy Piper.
2630
2631 1999-03-12  XEmacs Build Bot <builds@cvs.xemacs.org>
2632
2633         * XEmacs 21.2.13 is released
2634
2635 1999-03-12  SL Baur  <steve@xemacs.org>
2636
2637         * file-coding.c: Guard ucs table initialization with ifdef MULE.
2638
2639 1999-03-10  Stephen J. Turnbull  <turnbull@sk.tsukuba.ac.jp>
2640
2641         * file-coding.c:  docstring and comment improvements.
2642         (decode_ucs4)  flag possible data loss with comment.
2643
2644 1999-03-10  Martin Buchholz  <martin@xemacs.org>
2645
2646         * file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR
2647         (ucs_to_char):
2648         (Fucs_char):
2649         (Fset_char_ucs):
2650         (decode_coding_ucs4):
2651         (encode_coding_ucs4):
2652         (detect_coding_utf8):
2653         (decode_coding_utf8):
2654         (encode_utf8):
2655         (encode_coding_utf8):
2656         Add CHECK_* macros where needed to avoid crashes.
2657         #ifdef out all composite character support using
2658         #ifdef ENABLE_COMPOSITE_CHARS
2659         Use normal XEmacs coding standards.
2660         Fix docstrings.
2661         Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE.
2662
2663 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2664
2665         * file-coding.c (make-coding-system): Add description about
2666         `ucs-4' and `utf-8'.
2667         (detection_state): Modify to implement ucs-4 and utf-8.
2668         (detect_coding_type): Likewise.
2669         (detect_coding_ucs4): New implementation.
2670         (detect_coding_utf8): New implementation.
2671         (encode_utf8): fixed.
2672         (syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and
2673         `utf-8'.
2674
2675 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2676
2677         * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO
2678         2022 registry to private area.
2679
2680 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2681
2682         * file-coding.c (encode_utf8): New function.
2683         (encode_coding_utf8): New implementation.
2684
2685 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2686
2687         * file-coding.c (ucs_to_mule_table): New variable; abolish
2688         `Vucs_to_mule_table'
2689         (mule_to_ucs_table): renamed from `Vmule_to_ucs_table'.
2690         (set-ucs-char): New function.
2691         (ucs_to_char): New function.
2692         (ucs-char): New function.
2693         (set-char-ucs): New function.
2694         (char-ucs): New function.
2695         (decode_ucs4): Use `ucs_to_char'.
2696         (complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and
2697         `mule-to-ucs-table'.
2698
2699 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2700
2701         * chartab.h: EXFUN `Fget_char_table'.
2702
2703         * file-coding.c (encode_ucs4): New function.
2704         (encode_coding_ucs4): Use `encode_ucs4'.
2705
2706 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2707
2708         * file-coding.c (decode_coding_ucs4): New implementation.
2709
2710 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2711
2712         * file-coding.c (decode_coding_ucs4): fixed.
2713
2714         * file-coding.c (Vmule_to_ucs_table): New variable.
2715         (mule_char_to_ucs4): New function.
2716         (encode_coding_ucs4): New implementation.
2717         (complex_vars_of_mule_coding): Define variable
2718         `mule-to-ucs-table'.
2719
2720 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2721
2722         * file-coding.c (decode_coding_utf8): New implementation.
2723
2724 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2725
2726         * file-coding.c (decode_coding_utf8): fixed.
2727
2728 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2729
2730         * file-coding.c (Vucs_to_mule_table): New variable.
2731         (decode_ucs4): Refer `Vucs_to_mule_table'.
2732         (complex_vars_of_mule_coding): Define variable
2733         `ucs-to-mule-table'.
2734
2735 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2736
2737         * file-coding.c (detect_coding_ucs4): New function (not
2738         implemented yet).
2739         (decode_coding_ucs4): New function.
2740         (encode_coding_ucs4): New function (not implemented yet).
2741         (detect_coding_utf8): New function (not implemented yet).
2742         (decode_coding_utf8): New function.
2743         (encode_coding_utf8): New function (not implemented yet).
2744         (make-coding-system): New type `ucs4' and `utf8'.
2745         (coding-system-type): Likewise.
2746         (detection_state): Add `ucs4' and `utf8'.
2747         (detect_coding_type): Likewise.
2748         (mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'.
2749         (mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'.
2750         (decode_ucs4): New function (very incomplete).
2751         (syms_of_mule_coding): Add `ucs4' and `utf8'.
2752
2753         * file-coding.h: Add definitions for UCS-4 and UTF-8.
2754
2755 1999-03-08  Martin Buchholz  <martin@xemacs.org>
2756
2757         * mule-charset.c:
2758         (non_ascii_valid_char_p):
2759         (lookup_composite_char):
2760         (composite_char_string):
2761         (make-composite-char):
2762         (composite-char-string):
2763         (syms_of_mule_charset):
2764         (complex_vars_of_mule_charset):
2765         * mule-charset.h (LEADING_BYTE_COMPOSITE):
2766         (CHAR_LEADING_BYTE):
2767         (MAKE_CHAR):
2768         * file-coding.h (CODING_STATE_COMPOSITE):
2769         (CODING_STATE_ISO2022_LOCK):
2770         (iso_esc_flag):
2771         (LEADING_BYTE_COMPOSITE):
2772         * file-coding.c (struct iso2022_decoder):
2773         (decoding_closer):
2774         (reset_iso2022):
2775         (parse_iso2022_esc):
2776         (encode_coding_iso2022):
2777         #ifdef out all composite character support using
2778         #ifdef ENABLE_COMPOSITE_CHARS
2779
2780         * alloc.c: Define lrecord_coding_system only if ! FILE_CODING
2781
2782 1999-03-04  Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp>
2783
2784         * fns.c (Fbase64_encode_string): Calculate `allength' in the same
2785         way of `Fbase64_encode_region'.
2786
2787 1999-02-18  Katsumi Yamaoka   <yamaoka@jpl.org>
2788
2789         * fns.c (base64_encode_1): Don't add a newline at the tail.
2790
2791 1999-03-08  Andy Piper  <andy@xemacs.org>
2792
2793         * menubar-msw.c (displayable_menu_item): correct off-by-one &
2794         handling.
2795
2796 1999-03-07  Martin Buchholz  <martin@xemacs.org>
2797
2798         * console-stream.h (struct stream_console):
2799         * event-unixoid.c (event_stream_unixoid_select_console):
2800         (event_stream_unixoid_unselect_console):
2801         * print.c (Fexternal_debugging_output):
2802         * sysdep.c (reset_one_device):
2803         * console-stream.c (stream_init_console):
2804         (stream_delete_console):
2805         (allocate_stream_console_struct): move into stream_init_console.
2806         (free_stream_console_struct): move into stream_delete_console.
2807         Use `fd' only for file descriptors.
2808         Therefore, rename members of struct stream_console.
2809
2810         * systime.h: Unix98 says sys/time.h should define select(), but
2811         some systems define that in unistd.h.  So include that file always.
2812
2813         * glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'.  Avoid
2814         multiple evaluation of first arg.  Do proper do {} while (0) wrapping.
2815         (HAS_IIFORMAT_METH_P): Prevent macro from being used in
2816         non-boolean context
2817         (MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention.
2818
2819         * EmacsShell.c:
2820         * balloon_help.c:
2821         Add #include <stdio.h>.
2822         Some versions of assert.h use printf() without #include'ing stdio.h
2823
2824         * free-hook.c (blocktype): Add gcpro5_type to blocktype.
2825         (log_gcpro): Remove unused variable FRAME.
2826         (show_gcprohist): Ansify.
2827         Comment the #endif's
2828
2829         * frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f)
2830         after it's just been XtDestroy'ed!
2831
2832 1999-02-18  Martin Buchholz  <martin@xemacs.org>
2833
2834         * opaque.c (print_opaque):
2835         (sizeof_opaque):
2836         (equal_opaque):
2837         (hash_opaque):
2838         Egcs 1.1.1 seems to have a bug where
2839         INTP (p->size_or_chain)
2840         will crash XEmacs.  Fix by introducing intermediate variable.
2841
2842         * sound.c (Fdevice_sound_enabled_p): Fix compiler warning.
2843
2844         * dired.c (Fdirectory_files):
2845         (Ffile_name_completion):
2846         (Ffile_name_all_completions):
2847         (file_name_completion):
2848         - Use `directory' instead of `dirname' to sync with FSF Emacs and
2849         avoid compiler warnings.
2850         - Fix up docstrings so that C variables match documentation.
2851
2852 1999-03-05  Martin Buchholz  <martin@xemacs.org>
2853
2854         * alloc.c: (garbage_collect_1): Reorg code to make scope of local
2855         variables as small as possible to help out the compiler and the maintainer.
2856
2857         * alloc.c: (disksave_object_finalization):
2858         Set all the *-load-path variables to
2859         nil, not just load-path itself.  This gets the locate-file hash
2860         tables garbage collected BEFORE dump, and has the side effect of
2861         preventing crashes on OSF4.0+egcs.
2862
2863         * alloc.c:
2864         * gdbinit:
2865         * dbxrc:
2866         - Clean up gdb/dbx debugging support.
2867         - Storing an EMACS_INT in an enum is not 64-bit clean!
2868         - So change the enum to a set of separate variables.
2869         - Add test cases to help debug the debugging support!
2870         - Add `lisp-shadows' and `run-temacs' targets for dbx.
2871         - Both dbx and gdb have been tested now.
2872
2873 1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
2874
2875         * XEmacs 21.2.12 is released
2876
2877 1999-02-16  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
2878
2879         * device-x.c: Support to find best visual without flashing.
2880
2881 1999-03-02  Paul Keusemann  <pkeusem@visi.com>
2882
2883         * database.c (berkdb_map): Add flags argument to cursor call (must
2884           be 0 according to docs) required for Berkeley DB 2.6.4 and later.
2885
2886 1999-03-03  Martin Buchholz  <martin@xemacs.org>
2887
2888         * hash.c:
2889         * hash.h:
2890         General cleanup.  Get free-hook.c working again.
2891         Remove unused functions:
2892         make_strings_hash_table, copy_hash, expand_hash_table.
2893
2894         * malloc.c:
2895         * mem-limits.h:
2896         Always use new ANSI-style function prototypes.
2897
2898         * unexalpha.c (unexec): Never use implicit int.
2899
2900         * sgiplay.c (close_sound_file):
2901         (play_sound_file):
2902         (restore_audio_port):
2903         (play_sound_data):
2904         (audio_initialize):
2905         (play_internal):
2906         (drain_audio_port):
2907         (write_mulaw_8_chunk):
2908         (write_linear_chunk):
2909         (write_linear_32_chunk):
2910         (initialize_audio_port):
2911         (open_audio_port):
2912         (set_channels):
2913         (set_output_format):
2914         (adjust_audio_volume):
2915         (get_current_volumes):
2916         (parse_snd_header):
2917         Always use new ANSI-style function prototypes.
2918         Use unistd.h for missing prototypes.
2919
2920         * unexelfsgi.c (round_up):
2921         (find_section):
2922         (unexec): Always use new ANSI-style function prototypes
2923
2924         * elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio
2925
2926         * console.h (struct console_methods): Always use full ANSI prototypes
2927
2928         * emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes
2929
2930 1999-03-02  Andy Piper  <andy@xemacs.org>
2931
2932         * event-stream.c (init_event_stream): make sure native mswindows
2933         gets an appropriate event loop.
2934
2935 1999-02-22  Andy Piper  <andy@xemacs.org>
2936
2937         * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather
2938         than SW_SHOWNORMAL to prevent resizing of maximised frames.
2939         (mswindows_raise_frame): remove comment.
2940
2941 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
2942
2943         * XEmacs 21.2.11 is released
2944
2945 1999-02-25  SL Baur  <steve@xemacs.org>
2946
2947         * mule-charset.c (Qleading_byte): New variable to implement
2948         charset-leading-byte function.
2949         (Fcharset_property): Use it.
2950         (syms_of_mule_charset): Initialize it.
2951         From Kazuyuki IENAGA <ienaga@jsys.co.jp>
2952
2953 1999-02-17  Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp>
2954
2955         * glyphs-x.c (cononvert_EImage_to_XImage): correct
2956         bytes per pixel counting.
2957
2958 1999-02-15  Andy Piper  <andy@xemacs.org>
2959
2960         * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes
2961         major lockups.
2962
2963 1999-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2964
2965         * fns.c (Fbase64_encode_string): New optional argument
2966         `NO_LINE_BREAK'.
2967
2968 1999-02-16  Martin Buchholz  <martin@xemacs.org>
2969
2970         * gdbinit:  Fix up commands to run temacs.  Add lisp-shadows command.
2971         * alloc.c (xcalloc):  undef xcalloc, just like xmalloc
2972
2973 1999-02-10  Martin Buchholz  <martin@xemacs.org>
2974
2975         * s/bsdos4.h: New file.  Port to BSDI BSD/OS 4.0.
2976         * xintrinsic.h:  Redo CONST support for X11 R4 compatibility.
2977
2978 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
2979
2980         * XEmacs 21.2.10 is released
2981
2982 1999-02-02  Gleb Arshinov  <gleb@cs.stanford.edu>
2983
2984         * process-nt.c (nt_send_process):
2985         Fix for process-send-region/process-send-string breaking when size
2986         of the input > 128 chars: change maximum chunk size for process
2987         stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer
2988         succeeds.
2989
2990 1999-02-02  XEmacs Build Bot <builds@cvs.xemacs.org>
2991
2992         * XEmacs 21.2.9 is released
2993
2994 1999-01-30  Martin Buchholz  <martin@xemacs.org>
2995
2996         * bytecode.c (funcall_compiled_function): Call
2997         UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.
2998
2999         * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
3000         #ifdef 0 out unused macro.
3001
3002 1999-01-27  Martin Buchholz  <martin@xemacs.org>
3003
3004         * gui.c (gui_parse_item_keywords_internal): Make static.
3005
3006 1999-01-21  Andy Piper  <andy@xemacs.org>
3007
3008         * glyphs-msw.c: add xface support.
3009         (mswindows_xface_instantiate): new function copied from glyphs-x.c
3010         (image_instantiator_format_create_glyphs_mswindows): do device
3011         specific initialisation for xfaces.
3012         (xbm_create_bitmap_from_data): line data must be padded to a word
3013         boundary.
3014
3015         * glyphs-x.c (xface_validate): moved to glyphs.c
3016         (xface_normalize): ditto.
3017         (xface_possible_dest_types): ditto.
3018         (image_instantiator_format_create_glyphs_x): do device specific
3019         initialisation for xfaces.
3020
3021         * glyphs.h: declare xface symbol.
3022
3023         * glyphs.c: move generic xface support here.
3024         (xface_validate): moved from glyphs-x.c
3025         (xface_normalize): ditto.
3026         (xface_possible_dest_types): ditto.
3027         (image_instantiator_format_create): xface declarations moved from
3028         glyphs-x.c.
3029
3030 1999-01-14  Adrian Aichner  <aichner@ecf.teradyne.com>
3031
3032         * event-stream.c (vars_of_event_stream): Fixing documentation.
3033
3034 1999-01-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3035
3036         * glyphs-eimage.c (gif_instantiate): Correct handling of
3037         interlaced gifs to avoid writing past the end of the eimage
3038         buffer.
3039
3040 1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>
3041
3042         * search.c (Freplace_match): Handle single backslash at end of
3043         NEWTEXT correctly.
3044
3045 1999-01-12  William M. Perry  <wmperry@aventail.com>
3046
3047         * eldap.c (Fldap_open): slow down interrupts around ldap_open to
3048           avoid connection errors.
3049
3050 1999-01-12  Andy Piper  <andy@xemacs.org>
3051
3052         * redisplay-output.c (redisplay_update_line): backout change that
3053         shouldn't have gone ine.
3054
3055 1999-01-09  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3056
3057         * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may
3058         collide with ldap.el
3059
3060 1999-01-11  Andy Piper  <andy@xemacs.org>
3061
3062         * redisplay.h (DISPLAY_LINE_HEIGHT): new macro.
3063         (DISPLAY_LINE_YPOS): new macro.
3064
3065         * redisplay-msw.c (mswindows_output_string): use it.
3066         (mswindows_output_pixmap): ditto.
3067         (mswindows_output_display_block): ditto.
3068
3069         * redisplay-output.c (redisplay_output_display_block): new
3070         function. just call the devmeth, maybe insert some generic code
3071         here later.
3072         (compare_display_blocks): use it.
3073         (output_display_line): ditto.
3074         (redisplay_unmap_subwindows_maybe): new function. potentially
3075         unmap subwindows in the given area.
3076
3077         * glyphs.c (reset_subwindow_cachels): unmap subwindows that we are
3078         resetting.
3079
3080 1999-01-10  J. Kean Johnston  <jkj@sco.com>
3081
3082         * Makefile.in.in: Set value of moduledir
3083         - Changed DUMPENV to include $(MODULEPATH)
3084         - Added install rule to install header files for use by ellcc.
3085
3086         * config.h.in: Added INHIBIT_SITE_MODULES
3087         - Added HAVE__DLERROR
3088         - Added HAVE_DLFCN_H
3089         - Added DLSYM_NEEDS_UNDERSCORE
3090
3091         * dll.c: Removed.
3092
3093         * emodules.c: New file containing dynamic loading code.
3094
3095         * emodules.h: New file.
3096
3097         * emacs.c: Added variables Vmodule_directory,
3098         Vsite_module_directory, Vconfigure_module_directory and
3099         Vconfigure_site_module_directory.
3100         - (main_1): Added new variable inhibit_site_modules and command
3101         line options `-no-site-modules' and `--no-site-modules'.
3102         - (main_1): Call syms_of_module() instead of syms_of_dll().
3103         - (main_1): Call vars_of_module().
3104         - (vars_of_emacs): Introduce inhibit-site-modules,
3105         module-directory, configure-module-directory,
3106         site-module-directory, and configure-site-module-directory to the
3107         Lisp reader.
3108
3109         * lisp.h: Declare load_module and list_modules, as well as
3110         Vmodule_directory, Vsite_module_directory,
3111         Vconfigure_module_directory and Vconfigure_site_module_directory.
3112
3113         * paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES.
3114         - Added correct support for site-lisp directory.
3115
3116         * symbols.c (defsubr): Modified to allow modules to add new subrs
3117         after dump time.
3118         - (defsubr_macro): Same.
3119         - (defvar_magick): Only use purespace when not initialized, so
3120         that loaded modules can still add symbols.
3121
3122         * symsinit.h: Add definitions for syms_of_module(),
3123         vars_of_module().  Removed syms_of_dll().
3124
3125         * sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined.
3126         - (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account.
3127         - (dll_error): use _dlerror() if HAVE__DLERROR is defined.
3128
3129         * s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and
3130         explicitly pass -belf for native cc.
3131
3132         * s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of
3133         hard-coding the library name.
3134
3135 1999-01-01    <martin@xemacs.org>
3136
3137         * device-x.c (Fx_set_font_path):
3138         Add proper cast to permit compilation under C++.
3139
3140         * buffer.c (directory_is_current_directory):
3141         Add proper casts to permit compilation under C++.
3142
3143 1998-12-30  Damon Lipparelli  <lipp@primus.com>
3144
3145         * event-msw.c (mswindows_wnd_proc):
3146           Fixed failure when building with MSVC 5.
3147
3148 1998-12-29  Martin Buchholz  <martin@xemacs.org>
3149
3150         * file-coding.c (decode_coding_iso2022):
3151         - Prevent crash when decoding ISO7/Lock detected files
3152         - the usual martin fiddling
3153
3154 1998-12-29  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3155
3156         * event-msw.c:
3157           glyphs-msw.c:
3158           Fixed failures when building with MSVC.
3159         * unexnt.c (dump_bss_and_heap):
3160           Removed compiler warning by removing bss_data variable.
3161
3162 1998-12-18  Jim Radford  <radford@robby.caltech.edu>
3163
3164         * device-x.c (Fx_set_font_path, Fx_get_font_path): New functions
3165         so that packages that distribute their own fonts can access them.
3166
3167 1998-12-28  Andy Piper  <andy@xemacs.org>
3168
3169         * glyphs-msw.c (mswindows_button_instantiate): cope with buttons
3170         that have an image provided.
3171
3172         * glyphs.h: add Q_image decl.
3173
3174         * glyphs-widget.c new functionality allowing images in
3175         widgets.
3176         (check_valid_glyph_or_image): new function to validate
3177         glyphs passed in through :image.
3178         (widget_normalize): new function. convert :image parameters into
3179         real glyphs if not already so.
3180         (widget_instantiate_1): mess with size parameters to be similar to
3181         :image if provided.
3182         (syms_of_glyphs_widget): new keyword :image.
3183         (image_instantiator_format_create_glyphs_widget): normalize
3184         buttons and allow :image.
3185
3186 1998-12-27  Andy Piper  <andy@xemacs.org>
3187
3188         * frame-msw.c (mswindows_init_frame_1): warning elimination.
3189
3190         * glyphs-widget.c (check_valid_anything): no-op function.
3191         (check_valid_callback): check callbacks in gui_items.
3192         (check_valid_symbol): as it sounds.
3193         (check_valid_string_or_vector): ditto.
3194         (widget_validate): modified for descriptors that are vectors or
3195         sequences of keyword/val pairs.
3196         (widget_instantiate_1): ditto.
3197         (image_instantiator_format_create_glyphs_widget): allow gui_item
3198         keywords in the instantiator.
3199
3200         * gui.c (gui_parse_item_keywords_internal): renamed from
3201         gui_parse_item_keywords but taking error behaviour.
3202         (gui_parse_item_keywords): use it.
3203         (gui_parse_item_keywords_no_errors): ditto.
3204         (gui_item_add_keyval_pair): add Error_behavior flag and only
3205         signal invalid keywords if required.
3206
3207         * gui.h: new gui signatures.
3208
3209         * menubar.c (menu_parse_submenu_keywords): use new
3210         gui_item_add_keyval_pair signature.
3211
3212         * s/cygwin32.h: modify PTY_ITERATION to eliminate warnings.
3213
3214 1998-12-28  Martin Buchholz <martin@xemacs.org>
3215
3216         * XEmacs 21.2.8 is released.
3217
3218 1998-12-28  Martin Buchholz  <martin@xemacs.org>
3219
3220         * editfns.c (get_home_directory):
3221         (user-home-directory): Simplify.
3222
3223
3224         * callproc.c (child_setup):
3225         - Environment variables were being passed to inferior processes
3226           using internal encoding.
3227         - Convert to external encoding.
3228         - Rename local var `tem' to better name `tail'.
3229         - Use Flength instead of `manual' calculation.
3230
3231         * buffer.c (kill-buffer):
3232         (record-buffer):
3233         (set-buffer-major-mode):
3234         (current-buffer):
3235         - Fix up parameter names to correspond to docstrings.
3236         - Don't use `bufname' when a buffer will do as well.
3237         - Remove one unneeded GCPRO.
3238
3239         * buffer.h (initial_directory):
3240         * buffer.c (init_initial_directory):
3241         - use correct conversions between internal and external format.
3242         (directory_is_current_directory): new function
3243         (init_buffer): convert initial_directory to internal format.
3244         - solve crashes when current working directory is non-ASCII.
3245
3246         * alloc.c (xmalloc):
3247         (xcalloc):
3248         (xrealloc):
3249         - remove stupid casts, since XEmacs requires an ANSI C system.
3250         (lrecord_type_index): replace abort() with more readable assert().
3251
3252         (reset_lcrecord_stats): remove.
3253         (sweep_lcrecords_1):
3254         - replace call to reset_lcrecord_stats() with call to xzero().
3255
3256 1998-12-27  Martin Buchholz  <martin@xemacs.org>
3257
3258         * process-unix.c (unix_create_process):
3259         - Fix crash invoking program with non-ASCII name.
3260           Try invoking xemacs with SHELL=/bin/sh, then M-x shell.
3261         - Remove unused variable `env'.
3262         - Rename `temp' to better name `save_errno'.
3263         - Reorganize code for clarity.  But still too chicken to nuke the
3264           BSD 4.2 support.
3265
3266 1998-12-24  Martin Buchholz <martin@xemacs.org>
3267
3268         * XEmacs 21.2.7 is released.
3269
3270 1998-12-23  Martin Buchholz  <martin@xemacs.org>
3271
3272         * glyphs.c (decode_device_ii_format):
3273         - Fix indentation.
3274         - Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *.
3275
3276         * glyphs-x.c (x_subwindow_instantiate):
3277         - A image instance mask was being assigned to a image instance type!
3278         - X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++.
3279
3280         * glyphs-msw.c (mswindows_initialize_dibitmap_image_instance):
3281         Fix indentation.
3282         * glyphs-x.h: Make indentation consistent.
3283
3284         * emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts.
3285
3286         * glyphs-widget.c (check_valid_glyph): Warning suppression.
3287         - Make it static
3288         - #ifdef it out, since it's not actually used yet (FIX THIS!)
3289
3290         * glyphs-widget.c:
3291         * glyphs.h:
3292         Move declarations of decode_device_ii_format and
3293         decode_image_instantiator_format into glyphs.h where they belong.
3294
3295 1998-12-22  Martin Buchholz  <martin@xemacs.org>
3296
3297         * frame-x.c (x_delete_frame): Revert part of my changes at the
3298         suggestion of Gunnar Evermann - unfortunately no one really
3299         understands this code.
3300
3301         * callproc.c (init_callproc): code cleanup.
3302
3303         * free-hook.c (malloc):
3304         (check_malloc):
3305         (__free_hook):
3306         (__malloc_hook):
3307         (__realloc_hook):
3308         (block_input_malloc):
3309         (block_input_realloc):
3310         * device-x.c (x_delete_device):
3311         * emacs.c (voodoo_free_hook):
3312         * events.c (print_event):
3313         (CHECK_EVENT_TYPE):
3314         (CHECK_EVENT_TYPE2):
3315         (CHECK_EVENT_TYPE3):
3316         Use proper prototypes.
3317         Make C_E_T macros a little faster.
3318         Pedantic fiddly little changes.  You really don't care.
3319
3320 1998-12-22  Andy Piper  <andy@xemacs.org>
3321
3322         * redisplay-output.c (redisplay_clear_region): make sure that
3323         fg/bg colors get set even when we are in the border area.
3324
3325 1998-12-13  Martin Buchholz  <martin@xemacs.org>
3326
3327         * console-msw.c: Function definitions follow coding standards
3328         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
3329
3330 1998-12-11  Martin Buchholz  <martin@xemacs.org>
3331
3332         * events.h (struct timeout_data):
3333         * event-tty.c (tty_timeout_to_emacs_event):
3334         * event-msw.c (mswindows_wm_timer_callback):
3335         * event-Xt.c (Xt_timeout_to_emacs_event):
3336         * event-msw.c (mswindows_cancel_dispatch_event):
3337         Make sure Lisp_Objects inside events are initialized to Qnil, not
3338         Qnull_pointer, which is now illegal.
3339
3340 1998-12-10  Martin Buchholz  <martin@xemacs.org>
3341
3342         * lisp.h: Fix up prototypes to match alloc.c
3343
3344 1998-12-08  Martin Buchholz  <martin@xemacs.org>
3345
3346         * windowsnt.h: Remove `support' for using index and rindex
3347
3348         * filelock.c (current_lock_owner):
3349         - Change uses of index -> strchr, rindex -> strrchr
3350
3351 1998-12-07  Martin Buchholz  <martin@xemacs.org>
3352
3353         * sysdep.c (set_descriptor_non_blocking):
3354         Since O_NONBLOCK is now always #defined, make use of fcntl
3355         conditional on F_SETFL being defined.
3356
3357         * console-msw.c (DHEADgER):
3358         (DOPAQUE_DATA):
3359         (DEVENT):
3360         (DCONS):
3361         (DCONSCDR):
3362         (DSTRING):
3363         (DVECTOR):
3364         (DSYMBOL):
3365         (DSYMNAME):
3366         - max_align_t should not be visible to the user of the
3367           XOPAQUE_DATA macro.
3368         - use Bufbyte instead of char
3369         - parens around (FOOP (obj)) are always redundant.
3370           If they were necessary, we should fix the macro instead.
3371         - Always use string_data(foo) instead of foo->data.
3372
3373
3374 1998-12-06  Martin Buchholz  <martin@xemacs.org>
3375
3376         * frame-msw.c (mswindows_init_frame_1):
3377         - use make_lisp_hash_table, not Fmake_hash_table
3378         - include elhash.h
3379
3380         * lisp.h:
3381         * alloc.c (make_vector): remove travesty
3382         (Fmake_vector):
3383         (make_pure_vector):
3384         (pure_cons):
3385         (make_bit_vector_internal):
3386         (make_bit_vector):
3387         (make_bit_vector_from_byte_vector):
3388         (Fmake_bit_vector):
3389         - make vector_equal a little faster.
3390         - Don't use variable name `new'.
3391         - Use size_t instead of EMACS_INT.
3392         - usual Martin-style pointless bit-twiddling.
3393
3394         * fns.c (mapcar1):
3395         (Fmapconcat):
3396         (Fmapcar):
3397         (Fmapvector):
3398         Make mapcar faster.  In particular, make
3399           (mapc #'identity long-string)
3400         MUCH faster under Mule.
3401         * tests/automated/lisp-tests.el: Test 'em!
3402
3403         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
3404         bytecode.
3405
3406 1998-12-01  Martin Buchholz  <martin@xemacs.org>
3407
3408         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use
3409         Qnil, not NULL, to initialize `null' Lisp_Objects.
3410
3411 1998-11-29  Hrvoje Niksic  <hniksic@srce.hr>
3412
3413         * specifier.c (display_table_validate): Update.
3414
3415         * redisplay.c (create_text_block): Use them.
3416
3417         * glyphs.c (display_table_entry): New function.
3418         (get_display_tables): Ditto.
3419
3420 1998-12-15  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3421
3422         * eldap.c (toplevel): Mention that eldap.c compiles with
3423         OpenLDAP libs
3424         (Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA'
3425         (Fldap_search_internal): Ditto
3426
3427 1998-12-11  Martin Buchholz  <martin@xemacs.org>
3428
3429         * event-msw.c (mswindows_cancel_dispatch_event):
3430         Gratuitous code prettification
3431
3432
3433 1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>
3434
3435         * fns.c (Fnconc): Fix use of wrong_type_argument().
3436
3437         * floatfns.c (Ffloat): Fix docstring.
3438         (Ffloat): Fix use of wrong_type_argument().
3439         (Fabs): Ditto.
3440         (extract_float): Ditto.
3441         (Fceiling): Ditto.
3442         (Fround): Ditto.
3443         (Ftruncate): Ditto.
3444
3445 1998-12-06  Martin Buchholz  <martin@xemacs.org>
3446
3447         * frame-msw.c (mswindows_init_frame_1):
3448         - use make_lisp_hash_table, not Fmake_hash_table
3449         - include elhash.h
3450
3451         * lisp.h:
3452         * alloc.c (make_vector): remove travesty
3453         (Fmake_vector):
3454         (make_pure_vector):
3455         (pure_cons):
3456         (make_bit_vector_internal):
3457         (make_bit_vector):
3458         (make_bit_vector_from_byte_vector):
3459         (Fmake_bit_vector):
3460         - make vector_equal a little faster.
3461         - Don't use variable name `new'.
3462         - Use size_t instead of EMACS_INT.
3463         - usual Martin-style pointless bit-twiddling.
3464
3465         * fns.c (mapcar1):
3466         (Fmapconcat):
3467         (Fmapcar):
3468         (Fmapvector):
3469         Make mapcar faster.  In particular, make
3470           (mapc #'identity long-string)
3471         MUCH faster under Mule.
3472         * tests/automated/lisp-tests.el: Test 'em!
3473
3474         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
3475         bytecode.
3476
3477 1998-12-02  Didier Verna  <verna@inf.enst.fr>
3478
3479         * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the
3480         accelerator field to nil for labels.
3481
3482 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3483
3484         * menubar-msw.c (displayable_menu_item):
3485           Escape occurrences of '&' and support occurrences of the
3486          '%_' accelerator indicator in menus.
3487
3488 1998-11-26  Didier Verna  <verna@inf.enst.fr>
3489
3490         * dired.c (Fdirectory_files): use make_string instead of
3491         make_ext_string on the filename. The conversion external->internal
3492         format is already done in sys_readdir.
3493
3494 1998-12-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3495
3496         * glyphs.c (normalize_image_instantiator): GCPRO instantiator
3497
3498 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3499
3500         * event-msw.c
3501           (Belatedly) added Kirill to list of file's authors.
3502           emacs_mswindows_quit_p: Don't process WM_PAINT messages in
3503           quit checking. WM_PAINT messages cause redisplay, but
3504           windows' states are not necessarily stable when this function
3505           gets called.
3506
3507 1998-12-17  Andy Piper  <andy@xemacs.org>
3508
3509         * strftime.c (zone_name): CONSTify.
3510
3511 1998-12-15  Andy Piper  <andy@xemacs.org>
3512
3513         * glyphs-msw.c (mswindows_combo_instantiate): ditto.
3514         (mswindows_widget_property): return Qunbound when no property available.
3515         (mswindows_button_property): ditto.
3516         (mswindows_combo_property): ditto.
3517         (mswindows_widget_set_property): ditto.
3518
3519         * glyphs-widget.c (check_valid_item_list): use properties.
3520
3521         * glyphs.h (struct Lisp_Image_Instance): we have properties now.
3522
3523         * glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties.
3524         (Fimage_instance_property): ditto.
3525         * glyphs-widget.c (widget_property): ditto.
3526         (widget_set_property): ditto.
3527
3528         * frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well
3529         as setting the class cursor so that GC actually changes the
3530         cursor.
3531
3532         * config.h: don't undef MAIL_USE_POP.
3533
3534 1998-12-13  Andy Piper  <andy@xemacs.org>
3535
3536         * glyphs-msw.c
3537         (image_instantiator_format_create_glyphs_mswindows): line ->
3538         label.
3539         (mswindows_label_instantiate): ditto. Play with window flags.
3540         (image_instantiator_format_create_glyphs_mswindows): ditto.
3541         (vars_of_glyphs_mswindows): provide Qlabel as we support it now.
3542
3543         * glyphs-widget.c (widget_instantiate_1): re-jig autosizing to
3544         cope with lines and labels.
3545         (static_instantiate): use widget_instantiate_1.
3546         line -> label.
3547         (image_instantiator_format_create_glyphs_widget): ditto.
3548
3549 1998-12-10  Andy Piper  <andy@xemacs.org>
3550
3551         * Makefile.in.in (objs): add gui.o
3552
3553 1998-12-10  Andy Piper  <andy@xemacs.org>
3554
3555         * gui.c: adjust defines of HAVE_POPUPS so that we can build with
3556         no window system.
3557
3558 1998-12-09  Andy Piper  <andy@xemacs.org>
3559
3560         * glyphs.c (finalize_image_instance): mark glyphs changed when an
3561         image instance is removed so that the subwindow cache gets reset
3562         and thus destroyed images get GC'd.
3563
3564 1998-12-08  Andy Piper  <andy@xemacs.org>
3565
3566         * gui-msw.c (mswindows_handle_gui_wm_command): call
3567         MARK_SUBWINDOWS_CHANGED.
3568
3569         * glyphs-msw.c (mswindows_finalize_image_instance): make sure
3570         subwindows really get deleted.
3571
3572         * redisplay.c: new variable subwindows_changed[_set].
3573         (redisplay_window): use it.
3574         (redisplay_frame): ditto.
3575         (redisplay_device): ditto.
3576         (redisplay_without_hooks): ditto.
3577
3578         * device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for
3579         subwindows redisplay as per glyphs equivalent.
3580         * redisplay.h: ditto.
3581         (MARK_SUBWINDOWS_CHANGED): ditto.
3582         (RESET_CHANGED_SET_FLAGS): ditto.
3583         * frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto.
3584
3585 1998-12-07  Andy Piper  <andy@xemacs.org>
3586
3587         * frame.c (Fmake_frame): reset subwindow cachels on non-stream
3588         frames.
3589
3590         * redisplay.c (redisplay_frame): invalidate subwindow cachels.
3591
3592         * event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR*
3593         messages and paint widget glyphs as appropriate with their face fg
3594         & bg.
3595
3596 1998-12-06  Andy Piper  <andy@xemacs.org>
3597
3598         * glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types
3599         here rather than in glyphs-widget - do this because we only want
3600         to provide what is really available.
3601
3602         * glyphs.c (Fimage_instance_property): new function to get the
3603         properties of image instances. wires through to console specific
3604         methods and then to widget specific methods.
3605         (Fset_image_instance_property): ditto but for setting widget properties.
3606         (check_valid_face): make extern so that it can be used elsewhere.
3607
3608         * glyphs-widget.c (widget_property): new function. gets the
3609         properties of widgets in general and wires the function through to
3610         widget specific ones.
3611         (widget_set_property): ditto but for setting widget properties.
3612
3613         * glyphs-msw.c (mswindows_combo_instantiate): Add functionality to
3614         add items to the list. Play with window styles a bit to get the
3615         desired effect.
3616         (mswindows_widget_property): break out specific widget properties.
3617         (mswindows_button_property): new function. gets the checked state
3618         of a button.
3619         (mswindows_combo_property): new function. gets the current
3620         selection in the combo box.
3621         (mswindows_widget_set_property): new function. sets specific
3622         properties of specific widgets.
3623
3624         * glyphs-widget.c (check_valid_item_list): new function. check
3625         that items for a combo-box are just a list of strings.
3626         (combo_validate): new function. check there is an item list.
3627         (widget_instantiate_1): new function. renamed from
3628         widget_instantiate so that we can do slightly different things for
3629         other widgets.
3630         (widget_instantiate): call widget_instantiate_1.
3631         (combo_instantiate): new function to instantiate combo boxes,
3632         defaults height to the pixel height of the number of items in the
3633         box.
3634         (syms_of_glyphs_widget): move widget keywords here.
3635         (image_instantiator_format_create_glyphs_widget): use new combo
3636         functions.
3637
3638 1998-12-04  Andy Piper  <andy@xemacs.org>
3639
3640         * event-msw.c (mswindows_wnd_proc): mule-ize.
3641
3642         * glyphs.c (pixmap_to_lisp_data): mule-ize.
3643
3644         * glyphs-msw.c (extract_xpm_color_names): mule-ize.
3645         (resource_name_to_resource): ditto.
3646         (mswindows_resource_instantiate): ditto.
3647         (mswindows_widget_instantiate): ditto.
3648         (mswindows_widget_set_property): ditto.
3649
3650         * redisplay-output.c (redisplay_output_subwindow): don't show
3651         subwindows if they are obscured at the edge of the frame, emacs
3652         gets into some sort of redisplay loop otherwise.
3653
3654         * gui.h: prototype gui_item_selected_p.
3655
3656         * gui.c (gui_item_selected_p): new function to determine the
3657         selected state of a gui_item.
3658
3659         * frame.h (struct frame): add subwindows_changed flag.
3660
3661         * redisplay.c (redisplay_frame): call update_frame_subwindows ().
3662
3663         * glyphs.c (update_subwindow): new function to update a
3664         subwindow's state.
3665         (update_frame_subwindows): new function to update all the
3666         subwindows on a frame.
3667
3668         * console.h (struct console_methods): add update_subwindow.
3669
3670         * glyphs-msw.c (mswindows_widget_property): return selected state
3671         for selected property.
3672         (mswindows_update_subwindow): new function. updates widget glyphs
3673         in redisplay as per menubars or toolbars e.g. selected state.
3674         (console_type_create_glyphs_mswindows): add update_subwindow.
3675
3676 1998-12-03  Andy Piper  <andy@xemacs.org>
3677
3678         * console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since
3679         tty coding system things are such.
3680
3681         * glyphs-widget.c (widget_face_font_info): new function for
3682         pulling out height and width metrics for a widget's face.
3683         (widget_text_to_pixel_conversion): calculate pixel sizes of text
3684         for widgets.
3685
3686         * event-msw.c (mswindows_drain_windows_queue): translate messages
3687         that are destined for subwindows. This makes edit fields interact
3688         with the keyboard correctly.
3689         nuke warnings by #ifndef'ing out stuff not required by msg select().
3690
3691         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new
3692         macro defining the iiforma without the symbol required by widget.
3693         (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it.
3694
3695         * general.c (syms_of_general): add Qwidget, Qselected.
3696
3697         * faces.c (complex_vars_of_faces): add widget face inheriting from
3698         gui-element face.
3699
3700 1998-11-09  Andy Piper  <andy@xemacs.org>
3701
3702         * window.h (struct window): add a cache of subwindows on a
3703         per-window basis.
3704
3705         * window.c (mark_window): mark the subwindow_instance_cache.
3706         (allocate_window): initialise the subwindow instance_cache.
3707
3708         * toolbar-x.c (x_output_toolbar): call redisplay_clear_region
3709         instead of the devmeth.
3710         (x_clear_toolbar): ditto.
3711
3712         * redisplay-x.c (x_output_display_block): call
3713         redisplay_output_subwindow for subwindows and widgets.
3714
3715         * redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to
3716         types to do nothing for.
3717
3718         * lisp.h: declare new widget/subwindow symbols.
3719
3720         * glyphs.c (image_instantiate): cache subwindows on a per-window
3721         basis.
3722         (subwindow_possible_dest_types): new function for subwindow dest
3723         types.
3724         (subwindow_instantiate): generic instantiation of a
3725         subwindow. specialised by device multi-methods.
3726         (Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based
3727         subwindows.
3728         (Fimage_instance_subwindow_id): ditto.
3729         (Fresize_subwindow): ditto.
3730         (Fforce_subwindow_map): ditto.
3731
3732         * glyphs-x.c (x_print_image_instance): remove subwindow
3733         stuff. Handled genrically in glyphs.c.
3734         (x_image_instance_equal): ditto.
3735         (x_image_instance_hash): ditto.
3736         (x_finalize_image_instance): delete subwindows when required.
3737         (mark_subwindow) (print_subwindow) (finalize_subwindow)
3738         (subwindow_hash) (Fmake_subwindow): deleted because of new,
3739         glyph-based, subwindow implementation.
3740         (Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased
3741         in glyphs.el
3742         (Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to
3743         glyphs.c.
3744         (x_unmap_subwindow): new function to unmap X subwindows.
3745         (x_map_subwindow): new function to map X subwindows.
3746         (x_subwindow_instantiate): new function to instantiate X
3747         subwindows.
3748         (x_resize_subwindow): new function to resize X subwindows.
3749         (console_type_create_glyphs_x): add subwindow functions.
3750         (image_instantiator_format_create_glyphs_x): add device
3751         multi-methods for xpm, xbm and subwindow.
3752
3753         * glyphs.el (subwindow-xid): old alias for new subwindow functions.
3754         (subwindow-width): ditto.
3755         (subwindow-height): ditto.
3756
3757         * glyphs-msw.c (mswindows_widget_instantiate): new function for
3758         generally instantiating ms subwindows. Used by
3759         mswindows_*_instantiate.
3760         (mswindows_edit_instantiate): instantiate an edit field on a
3761         mswindows frame.
3762
3763 1998-11-04  Andy Piper  <andy@xemacs.org>
3764
3765         * symsinit.h: declare new functions.
3766
3767         * redisplay.h: declare new functions.
3768
3769         * redisplay-x.c (x_output_display_block): call
3770         redisplay_clear_region rather than x_clear_region.
3771         (x_output_string): ditto.
3772         (x_output_pixmap): ditto.
3773         (x_clear_to_window_end): ditto.
3774         (x_output_eol_cursor): ditto.
3775         (x_clear_region): only do X specific things. other duties handled
3776         in redisplay_clear_region.
3777
3778         * redisplay-tty.c (tty_clear_region): do tty specific things - some
3779         duties moved to redisplay_clear_region.
3780
3781         * redisplay-output.c (clear_left_border): use
3782         redisplay_clear_region instead of device method.
3783         (clear_right_border): ditto.
3784         (output_display_line): ditto.
3785         (redisplay_output_subwindow): ditto.
3786         (redisplay_clear_top_of_window): ditto.
3787         (redisplay_clear_region): perform duties previously handled by
3788         device methods. call the appropriate device method at the
3789         end. unmap subwindows if necessary.
3790
3791         * redisplay-msw.c (mswindows_output_string): use
3792         redisplay_clear_region instead of mswindows_clear_region.
3793         (mswindows_clear_to_window_end): ditto.
3794         (mswindows_output_display_block): output subwindows when required.
3795         (mswindows_clear_region): only do mswindows specific things,
3796         everything else is now handled in redisplay_clear_region.
3797
3798         * gui.h: add item id hash defines and declare function prototypes.
3799
3800         * gui.c (mark_gui_item): new function for marking gui_items.
3801         (gui_item_hash): generic hash function for generating command ids
3802         for gui_items.
3803
3804         * gui-msw.c: new file.
3805         (mswindows_handle_gui_wm_command): new function to handle widget
3806         callbacks.
3807
3808         * glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device
3809         multi-methods.
3810         (IIFORMAT_HAS_SHARED_METHOD): ditto.
3811         (DEFINE_DEVICE_IIFORMAT): ditto.
3812         (INITIALIZE_DEVICE_IIFORMAT): ditto.
3813         (struct Lisp_Image_Instance): add widget and subwindow data plus
3814         appropriate access functions.
3815
3816         * glyphs.c (decode_device_ii_format): new function for decoding
3817         image instantiator functions based on a device type as well as an
3818         image format.
3819         (decode_image_instantiator_format): just call
3820         decode_device_ii_format with nil device.
3821         (add_entry_to_device_ii_format_list): new function for per device
3822         method instances.
3823         (add_entry_to_image_instantiator_format_list): just call
3824         add_entry_to_device_ii_format_list with nil device.
3825         (check_valid_vector): new function.
3826         (instantiate_image_instantiator): instantiate using per-format
3827         method and then per-format-per-device method (device
3828         multi-methods). signal an error if neither is possible.
3829         (mark_image_instance): cope with subwindows and widgets.
3830         (print_image_instance): ditto.
3831         (image_instance_equal): ditto.
3832         (image_instance_hash): ditto.
3833         (allocate_glyph): ditto.
3834         (glyph_width): ditto.
3835         (glyph_height_internal): ditto.
3836         (xpm_instantiate): removed because of device multi-methods.
3837         (mark_subwindow_cachels): new cachel functions for caching
3838         instantiated subwindows on a per-frame basis. mostly copied from
3839         glyph cachel functions.
3840         (update_subwindow_cachel_data): ditto.
3841         (add_subwindow_cachel): ditto.
3842         (get_subwindow_cachel_index): ditto.
3843         (reset_subwindow_cachels): ditto.
3844         (mark_subwindow_cachels_as_not_updated): ditto.
3845         (unmap_subwindow): generic unmapping of subwindows based on cachel
3846         data.
3847         (map_subwindow): ditto.
3848         (initialize_subwindow_image_instance): generic initialisation of
3849         subwindow data.
3850         (syms_of_glyphs): add widget keywords.
3851
3852         * glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to
3853         x_subwindow_data.
3854
3855 1998-11-04  Andy Piper  <andy@xemacs.org>
3856
3857         * glyphs-widget.c: new file for instantiating widget type glyphs.
3858         (widget_possible_dest_types): new general dest type function for
3859         widgets.
3860         (widget_validate): ditto.
3861         (initialize_widget_image_instance): ditto
3862         (widget_instantiate): ditto. Sets up fg/bg, gui_item parsing
3863         before handing on control to device multi-methods.
3864         (syms_of_glyphs_widget): new function.
3865         (image_instantiator_format_create_glyphs_widget): new function,
3866         added placeholders for button, edit, combo, scrollbar
3867         (vars_of_glyphs_widget): new function.
3868
3869         * glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for
3870         storing window ids of widgets.
3871
3872         * glyphs-msw.c (mswindows_finalize_image_instance): cope with
3873         deletion of widget and subwindow glyphs.
3874         (mswindows_unmap_subwindow): new device function for unmapping
3875         subwindows on a msw frame.
3876         (mswindows_map_subwindow): ditto.
3877         (mswindows_register_image_instance): register instantiated widgets
3878         with the widget hastable.
3879         (mswindows_button_instantiate): instantiate a button type widget
3880         on an msw frame.
3881         (mswindows_subwindow_instantiate): instanttiate a subwindow on a
3882         mswindows frame.
3883         (image_instantiator_format_create_glyphs_mswindows): add device
3884         multi-methods for xbm, xpm, subwindow, edit and button.
3885
3886         * frame.h (struct frame): add subwindow_cachels dynarr for caching
3887         information about subwindows visible on the current frame. used by
3888         redisplay_clear_region to unmap subwindows as required.
3889
3890         * frame.c (mark_frame): mark subwindow_cachels.
3891         (allocate_frame_core): instantiate subwindow_cachels.
3892
3893         * frame-msw.c (mswindows_init_frame_1): instntiate and mark the
3894         widget hashtable.
3895
3896         * event-msw.c (mswindows_wnd_proc): add call to
3897         mswindows_handle_gui_wm_command to handle widget callbacks.
3898
3899         * emacs.c (main_1): add calls to glyphs-widget initialisation
3900         routines.
3901
3902         * console.h (struct console_methods): add
3903         unmap/map_subwindow_method for use be redisplay_clear_region to
3904         map and unmap subwindows. Remove xpm and xbm stuff - now dealt
3905         with by image instantiator multi-methods. Add
3906         resize_subwindow_method.
3907
3908         * console-stream.c (stream_clear_region): change signature to
3909         match new generic clear region function.
3910
3911         * Makefile.in.in: add glyphs-widget.o to list of objects.
3912
3913         * console-msw.h (struct mswindows_frame): add widget hashtable for
3914         wiring command ids to callbacks.
3915
3916 1998-12-16  Andy Piper  <andy@xemacs.org>
3917
3918         * XEmacs 21.2.6 is released
3919
3920 1998-12-08  Hrvoje Niksic  <hniksic@srce.hr>
3921
3922         * md5.c (Fmd5): Correctly initiate string input stream.
3923
3924         * Makefile.in.in (tests): Add md5-tests.el.
3925
3926 1998-12-06  Martin Buchholz  <martin@xemacs.org>
3927
3928         * lisp.h:
3929         * alloc.c (make_vector): remove travesty
3930         (Fmake_vector):
3931         (make_pure_vector):
3932         (pure_cons):
3933         (make_bit_vector_internal):
3934         (make_bit_vector):
3935         (make_bit_vector_from_byte_vector):
3936         (Fmake_bit_vector):
3937         - make vector_equal a little faster.
3938         - Don't use variable name `new'.
3939         - Use size_t instead of EMACS_INT.
3940         - usual Martin-style pointless bit-twiddling.
3941
3942         * fns.c (mapcar1):
3943         (Fmapconcat):
3944         (Fmapcar):
3945         (Fmapvector):
3946         Make mapcar faster.  In particular, make
3947           (mapc #'identity long-string)
3948         MUCH faster under Mule.
3949         * tests/automated/lisp-tests.el: Test 'em!
3950
3951 1998-12-06  Martin Buchholz  <martin@xemacs.org>
3952
3953         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
3954         bytecode.
3955
3956 1998-12-13  Martin Buchholz  <martin@xemacs.org>
3957
3958         * console-msw.c: Function definitions follow coding standards
3959         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
3960
3961 1998-12-11  Martin Buchholz  <martin@xemacs.org>
3962
3963         * events.h (struct timeout_data):
3964         * event-tty.c (tty_timeout_to_emacs_event):
3965         * event-msw.c (mswindows_wm_timer_callback):
3966         * event-Xt.c (Xt_timeout_to_emacs_event):
3967         * event-msw.c (mswindows_cancel_dispatch_event):
3968         Make sure Lisp_Objects inside events are initialized to Qnil, not
3969         Qnull_pointer, which is now illegal.
3970
3971 1998-12-10  Martin Buchholz  <martin@xemacs.org>
3972
3973         * lisp.h: Fix up prototypes to match alloc.c
3974
3975 1998-12-09  Andy Piper  <andy@xemacs.org>
3976
3977         * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use
3978         XSETINT for assigning lisp objects.
3979
3980 1998-12-07  Martin Buchholz  <martin@xemacs.org>
3981
3982         * opaque.h:
3983         * console-msw.c (DHEADER):
3984         (DOPAQUE_DATA):
3985         (DEVENT):
3986         (DCONS):
3987         (DCONSCDR):
3988         (DSTRING):
3989         (DVECTOR):
3990         (DSYMBOL):
3991         (DSYMNAME):
3992         - max_align_t should not be visible to the user of the
3993           XOPAQUE_DATA macro.
3994         - use Bufbyte instead of char
3995         - parens around (FOOP (obj)) are always redundant.
3996           If they were necessary, we should fix the macro instead.
3997         - Always use string_data(foo) instead of foo->data.
3998
3999 1998-12-07  Martin Buchholz  <martin@xemacs.org>
4000
4001         * sysdep.c (set_descriptor_non_blocking):
4002         Since O_NONBLOCK is now always #defined, make use of fcntl
4003         conditional on F_SETFL being defined.
4004
4005 1998-12-09  Andy Piper  <andy@xemacs.org>
4006
4007         * menubar-msw.c (mswindows_handle_wm_command): add back in checks
4008         that got removed in the merge
4009
4010 1998-11-30  Greg Klanderman  <greg@alphatech.com>
4011
4012         * dired.c (vars_of_dired): bugfix for previous conditionalization
4013         of user-name-completion on non- Windows NT.
4014
4015 1998-12-08  Martin Buchholz  <martin@xemacs.org>
4016
4017         * windowsnt.h: Remove `support' for using index and rindex
4018
4019         * filelock.c (current_lock_owner):
4020         - Change uses of index -> strchr, rindex -> strrchr
4021
4022 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4023
4024         * frame-msw.c (mswindows_init_frame_1):
4025         - use make_lisp_hash_table, not Fmake_hash_table
4026         - include elhash.h
4027
4028 1998-12-05  XEmacs Build Bot <builds@cvs.xemacs.org>
4029
4030         * XEmacs 21.2.5 is released
4031
4032 1998-11-30  Martin Buchholz  <martin@xemacs.org>
4033
4034         * xselect.c (receive_incremental_selection):
4035         * xselect.c (x_get_window_property):
4036         * xmu.c (XmuReadBitmapDataFromFile):
4037         * xmu.c (XmuCursorNameToIndex):
4038         * xgccache.c (describe_gc_cache):
4039         * xgccache.c (gc_cache_lookup):
4040         * xgccache.c (free_gc_cache):
4041         * xgccache.c (make_gc_cache):
4042         * window.h:
4043         * window.c (map_windows_1):
4044         * window.c (Fother_window_for_scrolling):
4045         * window.c (window_scroll):
4046         * window.c (change_window_height):
4047         * window.c (Fsplit_window):
4048         * window.c (window_left_gutter_width):
4049         * window.c (window_modeline_height):
4050         * window.c (invalidate_vertical_divider_cache_in_window):
4051         * window.c (window_needs_vertical_divider_1):
4052         * window.c (update_mirror_internal):
4053         * window.c (SET_LAST_FACECHANGE):
4054         * widget.c (Fwidget_plist_member):
4055         * unexec.c (copy_text_and_data):
4056         * unexcw.c (copy_executable_and_dump_data_section):
4057         * tooltalk.doc:
4058         * tooltalk.c (struct Lisp_Tooltalk_Pattern):
4059         * tooltalk.c (struct Lisp_Tooltalk_Message):
4060         * toolbar.h (struct toolbar_button):
4061         * toolbar.c (default_toolbar_visible_p_changed_in_window):
4062         * toolbar.c (recompute_overlaying_specifier):
4063         * toolbar.c (toolbar_validate):
4064         * toolbar.c (toolbar_button_at_pixpos):
4065         * toolbar.c (get_toolbar_coords):
4066         * toolbar.c (update_frame_toolbars):
4067         * toolbar-x.c:
4068         * toolbar-msw.c (mswindows_handle_toolbar_wm_command):
4069         * toolbar-msw.c (mswindows_find_toolbar_pos):
4070         * toolbar-msw.c (mswindows_output_toolbar):
4071         * toolbar-msw.c (mswindows_clear_toolbar):
4072         * toolbar-msw.c:
4073         * systty.h:
4074         * syssignal.h:
4075         * sysproc.h:
4076         * sysfile.h:
4077         * sysdll.c:
4078         * sysdep.h:
4079         * sysdep.c (rmdir):
4080         * sysdep.c (sys_fopen):
4081         * sysdep.c (sys_open):
4082         * sysdep.c (tty_init_sys_modes_on_device):
4083         * sysdep.c (get_eof_char):
4084         * sysdep.c (child_setup_tty):
4085         * sysdep.c (set_descriptor_non_blocking):
4086         * syntax.h:
4087         * syntax.c (scan_words):
4088         * syntax.c:
4089         * symsinit.h:
4090         * symeval.h (struct symbol_value_varalias):
4091         * symeval.h (struct symbol_value_forward):
4092         * symbols.c (syms_of_symbols):
4093         * symbols.c (init_symbols_once_early):
4094         * symbols.c (Fbuilt_in_variable_type):
4095         * symbols.c (Fsymbol_value_in_buffer):
4096         * symbols.c (default_value):
4097         * symbols.c (Fset):
4098         * symbols.c (find_symbol_value_quickly):
4099         * symbols.c (store_symval_forwarding):
4100         * symbols.c (set_default_console_slot_variable):
4101         * symbols.c (set_default_buffer_slot_variable):
4102         * symbols.c (verify_ok_for_buffer_local):
4103         * symbols.c (symbol_is_constant):
4104         * symbols.c (oblookup):
4105         * symbols.c (Funintern):
4106         * symbols.c (Fintern):
4107         * symbols.c (check_obarray):
4108         * sunplay.c:
4109         * specifier.h (struct specifier_methods):
4110         * specifier.h:
4111         * specifier.c (specifier_instance):
4112         * specifier.c (specifier_instance_from_inst_list):
4113         * specifier.c (decode_locale_type):
4114         * specifier.c (specifier_equal):
4115         * specifier.c (finalize_specifier):
4116         * specifier.c (prune_specifiers):
4117         * specifier.c (kill_specifier_buffer_locals):
4118         * sound.c (init_native_sound):
4119         * sound.c:
4120         * signal.c (alarm):
4121         * search.c (Fmatch_data):
4122         * search.c (match_limit):
4123         * search.c (Freplace_match):
4124         * search.c (skip_chars):
4125         * search.c (scan_buffer):
4126         * search.c:
4127         * scrollbar.c (specifier_vars_of_scrollbar):
4128         * scrollbar.c (Fscrollbar_set_hscroll):
4129         * scrollbar.c (vertical_scrollbar_changed_in_window):
4130         * scrollbar.c (release_window_mirror_scrollbars):
4131         * scrollbar.c (free_scrollbar_instance):
4132         * scrollbar-x.c:
4133         * scrollbar-msw.c:
4134         * s/msdos.h (O_BINARY):
4135         * s/linux.h:
4136         * s/freebsd.h (LIBS_TERMCAP):
4137         * regex.c (re_match_2_internal):
4138         * regex.c (compile_extended_range):
4139         * regex.c (POP_FAILURE_POINT):
4140         * regex.c (PUSH_FAILURE_POINT):
4141         * redisplay.h (RESET_CHANGED_SET_FLAGS):
4142         * redisplay.h:
4143         * redisplay.h (struct display_line):
4144         * redisplay.h (struct rune):
4145         * redisplay.c (vars_of_redisplay):
4146         * redisplay.c (redisplay_variable_changed):
4147         * redisplay.c (UPDATE_CACHE_RETURN):
4148         * redisplay.c (validate_line_start_cache):
4149         * redisplay.c (mark_redisplay_structs):
4150         * redisplay.c (mark_glyph_block_dynarr):
4151         * redisplay.c (window_line_number):
4152         * redisplay.c (redisplay_frame):
4153         * redisplay.c (redisplay_window):
4154         * redisplay.c (generate_modeline):
4155         * redisplay.c (create_right_glyph_block):
4156         * redisplay.c (create_left_glyph_block):
4157         * redisplay.c (create_text_block):
4158         * redisplay.c:
4159         * redisplay-x.c (x_output_hline):
4160         * redisplay-x.c (x_output_vertical_divider):
4161         * redisplay-tty.c (tty_output_display_block):
4162         * redisplay-output.c (output_display_line):
4163         * redisplay-output.c:
4164         * redisplay-msw.c (mswindows_output_vertical_divider):
4165         * redisplay-msw.c (mswindows_ring_bell):
4166         * redisplay-msw.c (mswindows_output_cursor):
4167         * redisplay-msw.c:
4168         * rangetab.c:
4169         * ralloc.c:
4170         * puresize.h (RAW_PURESIZE):
4171         * profile.c (syms_of_profile):
4172         * profile.c (Fstart_profiling):
4173         * profile.c (sigprof_handler):
4174         * profile.c:
4175         * procimpl.h:
4176         * process.c (vars_of_process):
4177         * process.c (read_process_output):
4178         * process.c (get_process):
4179         * process.c:
4180         * process-unix.c (unix_open_multicast_group):
4181         * process-unix.c (unix_get_tty_name):
4182         * process-unix.c (unix_send_process):
4183         * process-unix.c (unix_reap_exited_processes):
4184         * process-unix.c (unix_create_process):
4185         * process-unix.c (unix_init_process_io_handles):
4186         * process-unix.c (allocate_pty):
4187         * process-unix.c:
4188         * process-nt.c (nt_open_network_stream):
4189         * process-nt.c (nt_update_status_if_terminated):
4190         * process-nt.c (nt_finalize_process_data):
4191         * process-nt.c:
4192         * print.c (debug_short_backtrace):
4193         * print.c (debug_backtrace):
4194         * print.c (print_symbol):
4195         * print.c (print_internal):
4196         * print.c (print_cons):
4197         * print.c (Fwrite_char):
4198         * print.c (print_prepare):
4199         * print.c (canonicalize_printcharfun):
4200         * print.c (output_string):
4201         * print.c:
4202         * opaque.h:
4203         * opaque.c (allocate_managed_opaque):
4204         * opaque.c:
4205         * offix.c (DndSetData):
4206         * objects.c (face_boolean_create):
4207         * objects.c (font_instantiate):
4208         * objects.c (font_create):
4209         * objects.c (color_create):
4210         * objects.c (finalize_font_instance):
4211         * objects.c (finalize_color_instance):
4212         * objects.c:
4213         * objects-x.c (x_font_instance_truename):
4214         * objects-x.c:
4215         * objects-x.c (x_initialize_font_instance):
4216         * objects-x.c (allocate_nearest_color):
4217         * objects-tty.c (tty_initialize_font_instance):
4218         * objects-tty.c (tty_initialize_color_instance):
4219         * objects-msw.c (mswindows_initialize_color_instance):
4220         * ntproc.c (syms_of_ntproc):
4221         * ntproc.c (Fwin32_set_process_priority):
4222         * ntproc.c (sys_spawnve):
4223         * ntproc.c:
4224         * ntheap.c (get_data_end):
4225         * nt.c (period):
4226         * nt.c:
4227         * nt.c (stat):
4228         * nt.c (generate_inode_val):
4229         * nt.c (sys_rename):
4230         * nas.c:
4231         * mule-wnnfns.c (Fwnn_hinsi_number):
4232         * mule-wnnfns.c (Fwnn_yuragi):
4233         * mule-wnnfns.c (Fwnn_common_learn):
4234         * mule-wnnfns.c (Fwnn_suffix_learn):
4235         * mule-wnnfns.c (Fwnn_prefix_learn):
4236         * mule-wnnfns.c (Fwnn_okuri_learn):
4237         * mule-wnnfns.c (Fwnn_complex_conv):
4238         * mule-wnnfns.c (Fwnn_last_is_first):
4239         * mule-wnnfns.c (Fwnn_bmodify_dict_add):
4240         * mule-wnnfns.c (Fwnn_notrans_dict_add):
4241         * mule-wnnfns.c (Fwnn_fiusr_dict_add):
4242         * mule-wnnfns.c (Fwnn_fisys_dict_add):
4243         * mule-wnnfns.c (Fwnn_hinsi_list):
4244         * mule-wnnfns.c (Fwnn_fuzokugo_set):
4245         * mule-wnnfns.c (Fwnn_dict_search):
4246         * mule-wnnfns.c (Fwnn_word_toroku):
4247         * mule-wnnfns.c (Fwnn_hindo_update):
4248         * mule-wnnfns.c (Fwnn_bunsetu_henkou):
4249         * mule-wnnfns.c (Fwnn_kakutei):
4250         * mule-wnnfns.c (Fwnn_begin_henkan):
4251         * mule-wnnfns.c (Fwnn_dict_comment):
4252         * mule-wnnfns.c (Fwnn_dict_add):
4253         * mule-wnnfns.c (Fwnn_open):
4254         * mule-mcpath.c (mc_getcwd):
4255         * mule-coding.c (vars_of_mule_coding):
4256         * mule-coding.c (convert_to_external_format):
4257         * mule-coding.c (encoding_marker):
4258         * mule-coding.c (decoding_marker):
4259         * mule-coding.c (Fcopy_coding_system):
4260         * mule-coding.c (Fmake_coding_system):
4261         * mule-coding.c (Fcoding_system_list):
4262         * mule-coding.c (Ffind_coding_system):
4263         * mule-coding.c (symbol_to_eol_type):
4264         * mule-coding.c:
4265         * mule-charset.c (complex_vars_of_mule_charset):
4266         * mule-charset.c (vars_of_mule_charset):
4267         * mule-charset.c (Fset_charset_ccl_program):
4268         * mule-charset.c (struct charset_list_closure):
4269         * mule-charset.c (Ffind_charset):
4270         * mule-charset.c (make_charset):
4271         * mule-charset.c (non_ascii_valid_char_p):
4272         * mule-charset.c:
4273         * mule-ccl.c (ccl_driver):
4274         * mule-canna.c (c2mu):
4275         * mule-canna.c (Fcanna_henkan_begin):
4276         * mule-canna.c (Fcanna_parse):
4277         * mule-canna.c (Fcanna_store_yomi):
4278         * mule-canna.c (Fcanna_touroku_string):
4279         * mule-canna.c (Fcanna_initialize):
4280         * minibuf.c:
4281         * menubar.c (menu_parse_submenu_keywords):
4282         * menubar-x.c (make_dummy_xbutton_event):
4283         * menubar-x.c (set_frame_menubar):
4284         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4285         * menubar-x.c:
4286         * menubar-msw.h:
4287         * menubar-msw.c (mswindows_popup_menu):
4288         * menubar-msw.c (mswindows_update_frame_menubars):
4289         * menubar-msw.c (mswindows_handle_wm_command):
4290         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
4291         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1):
4292         * menubar-msw.c (update_frame_menubar_maybe):
4293         * menubar-msw.c (populate_or_checksum_helper):
4294         * menubar-msw.c (empty_menu):
4295         * menubar-msw.c:
4296         * md5.c:
4297         * marker.c (set_marker_internal):
4298         * marker.c (print_marker):
4299         * malloc.c:
4300         * make-src-depend:
4301         * lstream.c (lisp_buffer_rewinder):
4302         * lstream.c (mark_lstream):
4303         * lrecord.h:
4304         * lrecord.h (struct lrecord_header):
4305         * lread.c (readevalloop):
4306         * lread.c (locate_file):
4307         * lread.c (locate_file_in_directory):
4308         * lread.c (Flocate_file):
4309         * lread.c (load_force_doc_string_unwind):
4310         * lread.c (ebolify_bytecode_constants):
4311         * lread.c:
4312         * lisp.h:
4313         * lisp-union.h:
4314         * lisp-disunion.h:
4315         * linuxplay.c (linux_play_data_or_file):
4316         * linuxplay.c (audio_init):
4317         * line-number.c:
4318         * keymap.h:
4319         * keymap.c (describe_map):
4320         * keymap.c (describe_map_mapper):
4321         * keymap.c (Fdescribe_bindings_internal):
4322         * keymap.c (Fsingle_key_description):
4323         * keymap.c (map_keymap_sorted):
4324         * keymap.c (get_relevant_keymaps):
4325         * keymap.c (Flookup_key):
4326         * keymap.c (raw_lookup_key_mapper):
4327         * keymap.c (Fdefine_key):
4328         * keymap.c (Fevent_matches_key_specifier_p):
4329         * keymap.c (key_desc_list_to_event):
4330         * keymap.c (define_key_parser):
4331         * keymap.c (define_key_check_and_coerce_keysym):
4332         * keymap.c (keymap_submaps):
4333         * keymap.c (keymap_store_internal):
4334         * keymap.c (keymap_delete_inverse_internal):
4335         * keymap.c (keymap_store_inverse_internal):
4336         * keymap.c (print_keymap):
4337         * keymap.c (Lisp_Keymap):
4338         * keymap.c:
4339         * intl.c:
4340         * insdel.c (convert_bufbyte_string_into_emchar_dynarr):
4341         * insdel.c (make_gap):
4342         * input-method-xlib.c (get_XIM_input):
4343         * input-method-xlib.c (XIM_init_frame):
4344         * imgproc.c:
4345         * hash.h:
4346         * hash.c:
4347         * gui.c:
4348         * gui-x.c (button_item_to_widget_value):
4349         * gui-x.c (popup_selection_callback):
4350         * glyphs.h (struct image_instantiator_methods):
4351         * glyphs.c (mark_glyph_cachels):
4352         * glyphs.c (Fglyph_type):
4353         * glyphs.c (image_instantiate):
4354         * glyphs.c (image_create):
4355         * glyphs.c (make_image_instance_1):
4356         * glyphs.c (finalize_image_instance):
4357         * glyphs.c:
4358         * glyphs-x.c (finalize_subwindow):
4359         * glyphs-x.c (xface_validate):
4360         * glyphs-x.c (x_locate_pixmap_file):
4361         * glyphs-x.c (convert_EImage_to_XImage):
4362         * glyphs-msw.c:
4363         * glyphs-msw.c (mswindows_resource_instantiate):
4364         * glyphs-msw.c (xpm_to_eimage):
4365         * glyphs-msw.c (convert_EImage_to_DIBitmap):
4366         * glyphs-eimage.c (tiff_instantiate):
4367         * glyphs-eimage.c (png_instantiate):
4368         * glyphs-eimage.c (struct png_error_struct):
4369         * glyphs-eimage.c (gif_memory_storage):
4370         * glyphs-eimage.c:
4371         * gifrlib.h:
4372         * getloadavg.c (getloadavg):
4373         * getloadavg.c:
4374         * gdbinit:
4375         * free-hook.c (log_gcpro):
4376         * free-hook.c (check_malloc):
4377         * free-hook.c (check_free):
4378         * free-hook.c (ROUND_UP_TO_PAGE):
4379         * free-hook.c:
4380         * frame.h (struct frame):
4381         * frame.h:
4382         * frame.c (change_frame_size_1):
4383         * frame.c (allocate_frame_core):
4384         * frame.c:
4385         * frame-x.c (x_focus_on_frame):
4386         * frame-x.c (x_init_frame_2):
4387         * frame-x.c (x_popup_frame):
4388         * frame-x.c (xemacs_XtPopup):
4389         * frame-x.c:
4390         * frame-x.c (Foffix_start_drag_internal):
4391         * frame-x.c (x_cde_destroy_callback):
4392         * frame-x.c (x_wm_hack_wm_protocols):
4393         * frame-tty.c (tty_frame_visible_p):
4394         * frame-msw.c (mswindows_make_frame_invisible):
4395         * frame-msw.c (mswindows_after_init_frame):
4396         * frame-msw.c (mswindows_init_frame_1):
4397         * fns.c (syms_of_fns):
4398         * fns.c (Fbase64_decode_string):
4399         * fns.c (Fnconc):
4400         * fns.c (Ffillarray):
4401         * fns.c (Fobject_plist):
4402         * fns.c (Fget):
4403         * fns.c (Fcanonicalize_lax_plist):
4404         * fns.c (Fcanonicalize_plist):
4405         * fns.c (Fplist_remprop):
4406         * fns.c (Fplist_get):
4407         * fns.c (advance_plist_pointers):
4408         * fns.c (internal_plist_put):
4409         * fns.c (Fnreverse):
4410         * fns.c (Fremassq):
4411         * fns.c (Felt):
4412         * fns.c (Fsubstring):
4413         * fns.c (Fbvconcat):
4414         * fns.c (Flength):
4415         * fns.c (length_with_bytecode_hack):
4416         * fns.c (print_bit_vector):
4417         * fns.c:
4418         * floatfns.c (Ffloor):
4419         * floatfns.c:
4420         * floatfns.c (in_float_error):
4421         * fileio.c (Ffile_modes):
4422         * fileio.c (Fexpand_file_name):
4423         * fileio.c (Fmake_temp_name):
4424         * fileio.c (Ffile_name_nondirectory):
4425         * fileio.c (Ffile_name_directory):
4426         * file-coding.h:
4427         * file-coding.c (vars_of_mule_coding):
4428         * file-coding.c (convert_to_external_format):
4429         * file-coding.c (encoding_marker):
4430         * file-coding.c (decoding_marker):
4431         * file-coding.c (Fcopy_coding_system):
4432         * file-coding.c (Fmake_coding_system):
4433         * file-coding.c (struct coding_system_list_closure):
4434         * file-coding.c (Ffind_coding_system):
4435         * file-coding.c (symbol_to_eol_type):
4436         * file-coding.c:
4437         * faces.h (struct face_cachel):
4438         * faces.c (vars_of_faces):
4439         * faces.c (face_property_was_changed):
4440         * faces.c (mark_face_cachels):
4441         * faces.c (temporary_faces_list):
4442         * faces.c (struct face_list_closure):
4443         * faces.c:
4444         * extents.h (struct extent):
4445         * extents.c (vars_of_extents):
4446         * extents.c (struct copy_string_extents_1_arg):
4447         * extents.c (add_string_extents_mapper):
4448         * extents.c (Fextent_property):
4449         * extents.c (Fset_extent_property):
4450         * extents.c (symbol_to_glyph_layout):
4451         * extents.c (properties_equal):
4452         * extents.c (print_extent):
4453         * extents.c (print_extent_1):
4454         * extents.c (extent_in_region_p):
4455         * extents.c (gap_array_make_gap):
4456         * extents.c:
4457         * events.h (struct Lisp_Event):
4458         * events.h:
4459         * events.c (Fevent_properties):
4460         * events.c (format_event_object):
4461         * events.c (Fmake_event):
4462         * events.c (event_equal):
4463         * events.c (print_event):
4464         * events.c (mark_event):
4465         * event-stream.c ((read-char)
4466         * event-stream.c (vars_of_event_stream):
4467         * event-stream.c (syms_of_event_stream):
4468         * event-stream.c (Fset_recent_keys_ring_size):
4469         * event-stream.c (Fsit_for):
4470         * event-stream.c (Fnext_event):
4471         * event-stream.c (execute_help_form):
4472         * event-stream.c (maybe_kbd_translate):
4473         * event-stream.c:
4474         * event-msw.c (vars_of_event_mswindows):
4475         * event-msw.c (mswindows_wnd_proc):
4476         * event-msw.c (mswindows_need_event):
4477         * event-msw.c (mswindows_drain_windows_queue):
4478         * event-msw.c (mswindows_pump_outstanding_events):
4479         * event-msw.c:
4480         * event-msw.c (slurp_thread):
4481         * event-msw.c (struct ntpipe_slurp_stream):
4482         * event-msw.c (HANDLE_TO_USID):
4483         * event-Xt.c (emacs_Xt_handle_magic_event):
4484         * event-Xt.c (x_event_to_emacs_event):
4485         * event-Xt.c (x_reset_modifier_mapping):
4486         * event-Xt.c (x_reset_key_mapping):
4487         * event-Xt.c:
4488         * eval.c (syms_of_eval):
4489         * eval.c (warn_when_safe):
4490         * eval.c (warn_when_safe_lispobj):
4491         * eval.c (Fbacktrace_frame):
4492         * eval.c (Fbacktrace):
4493         * eval.c (top_level_set):
4494         * eval.c (unbind_to_hairy):
4495         * eval.c (specbind_magic):
4496         * eval.c (specbind_unwind_wasnt_local):
4497         * eval.c (call2_trapping_errors):
4498         * eval.c (call1_trapping_errors):
4499         * eval.c (catch_them_squirmers_call2):
4500         * eval.c (call0_trapping_errors):
4501         * eval.c (run_hook_trapping_errors):
4502         * eval.c (catch_them_squirmers_eval_in_buffer):
4503         * eval.c (call4_in_buffer):
4504         * eval.c (call3_in_buffer):
4505         * eval.c (call2_in_buffer):
4506         * eval.c (call1_in_buffer):
4507         * eval.c (call0_in_buffer):
4508         * eval.c (run_hook):
4509         * eval.c (run_hook_with_args_in_buffer):
4510         * eval.c (Fapply):
4511         * eval.c (Feval):
4512         * eval.c (do_autoload):
4513         * eval.c (un_autoload):
4514         * eval.c (Fautoload):
4515         * eval.c (Finteractive_p):
4516         * eval.c (Fcommand_execute):
4517         * eval.c (signal_quit):
4518         * eval.c (call_with_suspended_errors):
4519         * eval.c (signal_error):
4520         * eval.c (return_from_signal):
4521         * eval.c (Fcall_with_condition_handler):
4522         * eval.c (run_condition_case_handlers):
4523         * eval.c (condition_case_1):
4524         * eval.c (Funwind_protect):
4525         * eval.c (unwind_to_catch):
4526         * eval.c (internal_catch):
4527         * eval.c (Fmacroexpand_internal):
4528         * eval.c (Fuser_variable_p):
4529         * eval.c (Fdefconst):
4530         * eval.c (Fdefvar):
4531         * eval.c (Ffunction):
4532         * eval.c (signal_call_debugger):
4533         * eval.c (call_debugger):
4534         * eval.c:
4535         * emacs.c (main):
4536         * emacs.c (sort_args):
4537         * emacs.c (main_1):
4538         * elhash.h:
4539         * elhash.c:
4540         * editfns.c (Fencode_time):
4541         * editfns.c (Fdecode_time):
4542         * editfns.c (Fuser_full_name):
4543         * editfns.c:
4544         * editfns.c (save_excursion_restore):
4545         * ecrt0.c:
4546         * dynarr.c:
4547         * doprnt.c (emacs_doprnt_1):
4548         * doc.c (verify_doc_mapper):
4549         * doc.c (Fsnarf_documentation):
4550         * doc.c (Fdocumentation):
4551         * dll.c:
4552         * dired.c (user_name_completion):
4553         * dired.c (Fdirectory_files):
4554         * dialog-x.c:
4555         * dialog-msw.c:
4556         * dgif_lib.c (FreeSavedImages):
4557         * dgif_lib.c (DGifGetImageDesc):
4558         * device.h:
4559         * device.h (struct device):
4560         * device.c (Fselect_device):
4561         * device.c (allocate_device):
4562         * device.c:
4563         * device-x.c (Fx_keysym_on_keyboard_p):
4564         * device-x.c (Fx_valid_keysym_name_p):
4565         * device-x.c (x_IO_error_handler):
4566         * device-x.c (x_delete_device):
4567         * device-x.c (x_finish_init_device):
4568         * device-x.c (x_init_device):
4569         * device-x.c:
4570         * device-msw.c (mswindows_init_device):
4571         * dbxrc:
4572         * database.c (vars_of_database):
4573         * database.c (Fput_database):
4574         * database.c (Fopen_database):
4575         * database.c (berkdb_remove):
4576         * database.c (berkdb_put):
4577         * database.c (Fdatabasep):
4578         * database.c (print_database):
4579         * database.c:
4580         * data.c (vars_of_data):
4581         * data.c (syms_of_data):
4582         * data.c (init_errors_once_early):
4583         * data.c (prune_weak_lists):
4584         * data.c (finish_marking_weak_lists):
4585         * data.c (print_weak_list):
4586         * data.c (Fmod):
4587         * data.c (Fstring_to_number):
4588         * data.c (Fnumber_to_string):
4589         * data.c (Findirect_function):
4590         * data.c (Fsetcdr):
4591         * data.c (Ffloatp):
4592         * data.c (Fsubr_interactive):
4593         * data.c (Farrayp):
4594         * data.c (Fkeywordp):
4595         * data.c (Fnull):
4596         * data.c:
4597         * console.h (CONSOLE_NAME):
4598         * console.h:
4599         * console.c (vars_of_console):
4600         * console.c (Fselect_console):
4601         * console.c:
4602         * console-x.h (DEVICE_X_COLORMAP):
4603         * console-x.h (struct x_device):
4604         * console-x.c (x_device_to_console_connection):
4605         * console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y):
4606         * console-tty.c (tty_init_console):
4607         * console-tty.c:
4608         * console-msw.h (struct mswindows_frame):
4609         * conslots.h:
4610         * config.h.in:
4611         * cmds.c (internal_self_insert):
4612         * cmds.c (Fforward_line):
4613         * cmds.c (Fforward_char):
4614         * cmds.c:
4615         * cmdloop.c:
4616         * chartab.c (mark_char_table_entry):
4617         * chartab.c:
4618         * casefiddle.c (casify_word):
4619         * callproc.c (child_setup):
4620         * callproc.c (Fcall_process_internal):
4621         * callproc.c:
4622         * callint.c (Fcall_interactively):
4623         * bytecode.h:
4624         * bytecode.c (execute_rare_opcode):
4625         * bytecode.c (execute_optimized_program):
4626         * bytecode.c:
4627         * bufslots.h:
4628         * buffer.h (BUFFER_REALLOC):
4629         * buffer.h (GET_CHARPTR_INT_DATA_ALLOCA):
4630         * buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA):
4631         * buffer.h:
4632         * buffer.h (MAP_INDIRECT_BUFFERS):
4633         * buffer.h (CHECK_LIVE_BUFFER):
4634         * buffer.c (init_initial_directory):
4635         * buffer.c (complex_vars_of_buffer):
4636         * buffer.c (vars_of_buffer):
4637         * buffer.c (finish_init_buffer):
4638         * buffer.c (Fget_file_buffer):
4639         * buffer.c (Fbuffer_list):
4640         * buffer.c (mark_buffer):
4641         * balloon_help.c (balloon_help_move_to_pointer):
4642         * balloon_help.c (show_help):
4643         * balloon_help.c:
4644         * backtrace.h:
4645         * alloc.c (garbage_collect_1):
4646         * alloc.c (sweep_strings):
4647         * alloc.c (sweep_compiled_functions):
4648         * alloc.c (sweep_bit_vectors_1):
4649         * alloc.c (sweep_vectors_1):
4650         * alloc.c (sweep_lcrecords_1):
4651         * alloc.c (tick_lcrecord_stats):
4652         * alloc.c (pure_string_sizeof):
4653         * alloc.c (mark_conses_in_list):
4654         * alloc.c (mark_object):
4655         * alloc.c (report_pure_usage):
4656         * alloc.c (make_pure_float):
4657         * alloc.c (make_pure_string):
4658         * alloc.c (free_managed_lcrecord):
4659         * alloc.c (mark_string):
4660         * alloc.c (noseeum_make_marker):
4661         * alloc.c (allocate_event):
4662         * alloc.c (Fbit_vector):
4663         * alloc.c (Fvector):
4664         * alloc.c (make_float):
4665         * alloc.c (Fmake_list):
4666         * alloc.c (Flist):
4667         * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC):
4668         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST):
4669         * alloc.c (DECLARE_FIXED_TYPE_ALLOC):
4670         * alloc.c (dbg_constants):
4671         * alloc.c (gc_record_type_p):
4672         * alloc.c (free_lcrecord):
4673         * alloc.c (xmalloc):
4674         * alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER):
4675         * abbrev.c:
4676         * Makefile.in.in (mostlyclean):
4677         * Makefile.in.in (external_client_xlib_objs_nonshared):
4678         * Makefile.in.in (temacs_link_args):
4679         * Makefile.in.in (release):
4680         * Makefile.in.in (dnd_objs):
4681         * Makefile.in.in (objs):
4682         * Makefile.in.in (PROGNAME):
4683         * EmacsShell.c: cast strings to (XtPointer)
4684         * EmacsFrame.c: cast strings to (XtPointer)
4685         - mega patch
4686         - rewrite basic lisp functions for speed
4687         - rewrite bytecode interpreter for speed
4688         - rewrite list looping constructs for speed and safety using
4689           tortoise/hare.
4690         - use size_t where appropriate.
4691         - new hashtable implementation
4692         - cleanup implementation of opaques
4693         - opaques can now be purecopy'ed
4694         - move some cl functionality into C for speed.
4695         - remove last remaining VMS support
4696         - spelling fixes
4697         - improve gdb/dbx debugger support
4698         - move pure.c back into alloc.c for performance
4699         - enable report_pure_usage() if --memory-usage-stats
4700         - remove remnants of Energize support (EMACS_BTL, cadillac...)
4701         - don't use symbols with leading `_' or embedded `__'
4702         - globally cleanup duplicated semicolons `;;'
4703         - I give in on %p vs %lx - we use printf("%lx",(long) p)
4704           globally.
4705         - globally replace O_NDELAY with O_NONBLOCK.
4706         - globally replace CDISABLE with _POSIX_VDISABLE.
4707         - use O_RDONLY and O_RDWR instead of magic `0' and `2'.
4708         - define (and maybe use!) STDERR_FILENO and friends.
4709         - add support for macros defined in C
4710         - `when', `unless', `not' and `defalias' now defined in C,
4711           so that they are universally available.
4712         - rename defvar_mumble to defvar_magic
4713         - rename RETURN__ to RETURN_SANS_WARNINGS
4714         - use consistent style of initial caps in error messages
4715         - implement last, butlast, nbutlast, copy-list in C.
4716         - provide typedefs for all struct Lisp_foo types
4717         - Lisp_Objects must be initialized to Qnil rather than 0.
4718         - make sure XEmacs runs (slowly) with always_gc == 1;
4719         - fast and safe LOOP_* macros
4720         - change calls to XSETOBJ to XSETFOO
4721         - replace calls to XSETINT by make_int()
4722         - plug up memory leaks
4723         - use style markobj (foo), not silly ((markobj) (foo))
4724         - use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj))
4725
4726 1998-12-02  P. E. Jareth Hein  <jareth@camelot.co.jp>
4727
4728         * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0
4729
4730 1998-11-28  SL Baur  <steve@altair.xemacs.org>
4731
4732         * XEmacs 21.2-beta4 is released.
4733
4734 1998-11-27  SL Baur  <steve@altair.xemacs.org>
4735
4736         * mule-charset.c (complex_vars_of_mule_charset): Fix graphic
4737         property in control-1 charset.
4738         From Julian Bradfield <jcb@daimi.au.dk>
4739
4740 1998-11-26  Jan Vroonhof  <vroonhof@math.ethz.ch>
4741
4742         * gui-x.c (button_item_to_widget_value): Ignore :key-sequence
4743         keyword.
4744         Add stub for :label.
4745
4746         * gui.c (gui_item_add_keyval_pair): ditto.
4747
4748         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore
4749         :key-sequence keyword.
4750         Add stub for:label.
4751         Support :active for submenus like the Windows code and FSF Emacs.
4752
4753 1998-11-27  Hrvoje Niksic  <hniksic@srce.hr>
4754
4755         * dired.c (make_directory_hash_table): make_string() is OK because
4756         readdir() Mule-encapsulates.
4757
4758 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
4759
4760         * fns.c (Fbase64_encode_string): Fix docstring.
4761         (Fbase64_decode_string): Ditto.
4762
4763 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
4764
4765         * editfns.c (Ftranslate_region): Use
4766         convert_bufbyte_string_into_emchar_string().
4767
4768 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
4769
4770         * editfns.c (Ftranslate_region): Accept vectors and char-tables as
4771         well as strings.
4772         (Ftranslate_region): Turn table into an array of Emchars for
4773         larger regions.
4774
4775 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
4776
4777         * chartab.c (Freset_char_table): Fix wrong placement of #endif.
4778
4779 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
4780
4781         * chartab.c (Freset_char_table): Don't blindly fill chartables of
4782         type `char' with nils.
4783
4784         * chartab.c (canonicalize_char_table_value): Coerce ints to chars
4785         for tables of type `char'.
4786
4787 1998-11-26  Didier Verna  <verna@inf.enst.fr>
4788
4789         * input-method-xlib.c (Initialize_Locale): don't call
4790         XtSetLanguageProc. We've done the whole work here.
4791         * input-method-xfs.c (Initialize_Locale): ditto.
4792         * input-method-motif.c (Initialize_Locale): ditto.
4793
4794 1998-11-26  Didier Verna  <verna@inf.enst.fr>
4795
4796         * process-unix.c (unix_create_process): handle properly
4797         Vfile_name_coding_system for converting the program and directory
4798         names.
4799
4800 1998-11-27  SL Baur  <steve@altair.xemacs.org>
4801
4802         * m/arm.h: New file.
4803         From James LewisMoss <dres@ioa.com>
4804
4805 1998-11-27  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
4806
4807         * m/mips-nec.h:
4808         Fix the realpath() problem of UnixWare2.1.3.
4809         Patches for NEC's sysv4.2 machine.
4810
4811 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
4812
4813         * dired.c (Fdirectory_files): Remove redundant code.
4814
4815 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
4816
4817         * fns.c (free_malloced_ptr): New function.
4818         (XMALLOC_OR_ALLOCA): New macro.
4819         (XMALLOC_UNBIND): Ditto.
4820         (Fbase64_encode_region): Use malloc() for large blocks; arrange it
4821         to be freed in case of non-local exit.
4822         (Fbase64_encode_string): Ditto.
4823         (Fbase64_decode_region): Ditto.
4824         (Fbase64_decode_string): Ditto.
4825         (STORE_BYTE): New macro.
4826         (base64_decode_1): Use it.
4827
4828 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
4829
4830         * fns.c (base64_value_to_char): Base64 stuff.
4831
4832 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
4833
4834         * editfns.c (Fbuffer_substring): New function.
4835
4836         * lisp.h: Declare make_string_from_buffer_no_extents().
4837
4838         * insdel.c (make_string_from_buffer_1): New function.
4839         (make_string_from_buffer_no_extents): Ditto.
4840
4841 1998-11-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
4842
4843         * linuxplay.c: Including <fcntl.h> instead of <sys/fcntl.h> makes
4844         sound work on AIX with OSS installed.  Linux should still work.
4845
4846 1998-11-03  Andy Piper  <andyp@parallax.co.uk>
4847
4848         * config.h.in: name change for cygwin/version.h
4849
4850         * configure.in: check for cygwin/version.h now.
4851
4852         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
4853         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
4854         move cygwin32/version.h to cygwin/version.h
4855
4856 1998-11-03  Olivier Galibert  <galibert@pobox.com>
4857
4858         * lisp.h  (struct  Lisp_Bit_Vector): Fix declaration of  bits from
4859         int to long.
4860
4861 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
4862
4863         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
4864         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
4865         enable BROKEN_SIGIO under b20 to make QUIT work.
4866
4867 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
4868
4869         * frame-msw.c (mswindows_size_frame_internal): force frame sizing
4870         to fit within the constraints of the screen size. I.e. make the
4871         frame small enough to fit and move it if some of it will be
4872         off-screen.
4873
4874 1998-10-19  Greg Klanderman  <greg@alphatech.com>
4875
4876         * dired.c: conditionalize inclusion of user-name-completion
4877         primitives on non-Windows NT.  The needed functions don't exist on NT.
4878
4879 1998-11-24  SL Baur  <steve@altair.xemacs.org>
4880
4881         * gifrlib.h: Clean up types for 64 bit compile.
4882         * dgif_lib.c (DGifInitRead): Ditto.
4883         (MakeSavedImage): Ditto.
4884         * emacs.c (decode_path): Ditto.
4885         From Steve Carney <carney@pa.dec.com>
4886
4887 1998-10-16  William M. Perry  <wmperry@aventail.com>
4888
4889         * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps
4890           (cehckboxes instead of checkboxes).
4891
4892 1998-10-15  SL Baur  <steve@altair.xemacs.org>
4893
4894         * XEmacs 21.2-beta3 is released.
4895
4896 1998-10-13  Raymond Toy  <toy@rtp.ericsson.se>
4897
4898         * runemacs.c (WinMain): If the basename is "rungnuclient.exe", run
4899         gnuclient.  Otherwise, we run xemacs as we always did.  This gets
4900         rid of the annoying DOS window when running gnuclient.
4901
4902 1998-10-13  Andy Piper  <andyp@parallax.co.uk>
4903
4904         * dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS ->
4905         HAVE_MS_WINDOWS typo.
4906
4907 1998-10-13  SL Baur  <steve@altair.xemacs.org>
4908
4909         * process-unix.c (unix_send_process): Set closed flag on writable
4910         pipe after SIGPIPE is received and before we call deactivate_process.
4911
4912 1998-10-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4913
4914         * window.c (Fset_window_start): respect narrowing when
4915         checking wheter start is at the beginning of a line.
4916         (Fset_window_buffer): Ditto
4917         Fixes repeatable crash in VM.
4918
4919 1998-10-09  SL Baur  <steve@altair.xemacs.org>
4920
4921         * window.c (specifier_vars_of_window): Set default vertical
4922         divider width to 1 on ttys.
4923
4924 1998-10-08  Martin Buchholz  <martin@xemacs.org>
4925
4926         * alloc.c:
4927         * unexec.c:
4928         * malloc.c:
4929         Add <stddef.h> to get ptrdiff_t declaration
4930
4931 1998-10-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4932
4933         * scrollbar-msw.c: Use the same vertical scrollbar drag hack as
4934           is used for Motif or Lucid scrollbars under X.
4935
4936 1998-10-08  Pierre Wendling  <pw@ebc.vbe.dec.com>
4937
4938         * m/alpha.h (UNEXEC): quoted to avoid bad expansion when running
4939         `configure'
4940
4941 1998-10-06  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
4942
4943         * frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget.
4944
4945 1998-10-05  Andy Piper  <andyp@parallax.co.uk>
4946
4947         * s/cygwin32.h: more cygwin b20 reorganisation.
4948
4949 1998-10-01  Raymond Toy  <toy@rtp.ericsson.se>
4950
4951         * nas.c: Added necessary support functions to be able to handle
4952         WAVE files in memory, just like the support for SND files in
4953         memory.
4954
4955 1998-09-30  SL Baur  <steve@altair.xemacs.org>
4956
4957         * callproc.c (child_setup): Fix spelling typo.
4958
4959 1998-09-29  SL Baur  <steve@altair.xemacs.org>
4960
4961         * XEmacs 21.2-beta2 is released.
4962
4963 1998-09-27  P. E. Jareth Hein  <jareth@camelot.co.jp>
4964
4965         * regex.c (re_match_2_internal): Add in code to reset lowest_active_reg
4966         to prevent memory corruption in the case of jumping out of a series of
4967         nested match patterns. This is a rather brute force approach, though.
4968
4969 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
4970
4971         * config.h.in: ditto.
4972
4973         * s/cygwin32.h: rearrange declarations to cope with cygwin
4974         b20. Include cygwin32/version.h if it exists.
4975
4976 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4977
4978         * device-msw.c (mswindows_init_device): Call new
4979           mswindows_enumerate_fonts() function in objects-msw.c instead
4980           of font_enum_callback_1() to enumerate fonts.
4981
4982           font_enum_callback_1() and _2() moved to objects-msw.c.
4983
4984         * faces.c (complex_vars_of_faces): Make the mswindows default
4985           face font fully specified and provide some fallbacks.
4986
4987         * objects-msw.c: font_enum_callback_1() and _2() moved here
4988           from objects-msw.c. Obtain the enumerated font's character
4989           sets by table lookup instead of using the locale-specific
4990           string provided by Windows.
4991
4992           New public non-method mswindows_enumerate_fonts() that fills
4993           in the supplied mswindows device's font list.
4994
4995           mswindows_initialize_font_instance: Use the supplied name
4996           variable instead of f->name when signalling errors. Match font
4997           weights and character sets using lookup tables which handle
4998           spaces instead of by frobbing.
4999
5000 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5001
5002         * process-nt.c: Define an arbitrary limit, FRAGMENT_CODE_SIZE,
5003           on the size of code fragments passed to run_in_other_process.
5004
5005           run_in_other_process(): Use FRAGMENT_CODE_SIZE to determine
5006           the amount of memory to allocate in the other process.
5007
5008           Removed sigkill_code_end(), sigint_code_end() and
5009           sig_enable_code_end() since they are now redundant.
5010
5011           send_signal() and enable_child_signals(): Don't try to work
5012           out the end of the code fragments passed to
5013           run_in_other_process()
5014
5015 1998-09-10  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
5016
5017         * src/s/freebsd.h: Added __ELF__ and compiler/liker flags for
5018         FreeBSD-current.
5019
5020         * src/unexelf.c: Partially synched with FSF's 20.3.
5021
5022 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
5023
5024         * insdel.c (signal_after_change): Map across indirect buffers
5025         here, and not in the upper-level functions.
5026         (signal_first_change): Don't check for Armageddon.
5027         (signal_before_change): Map across indirect buffers here.
5028         (prepare_to_modify_buffer): ...and here.
5029
5030 1998-09-09  Hrvoje Niksic  <hniksic@srce.hr>
5031
5032         * insdel.c (signal_after_change): Add return value.
5033         (buffer_insert_string_1): Use it.
5034         (buffer_delete_range): Ditto.
5035         (buffer_replace_char): Ditto.
5036         (cancel_multiple_change): Map the indirect buffers.
5037
5038 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
5039
5040         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
5041         (uninit_buffer_text): Ditto.
5042
5043         * buffer.c (Fmake_indirect_buffer): Implement stricter
5044         error-checking.
5045
5046 1998-09-04  Hrvoje Niksic  <hniksic@srce.hr>
5047
5048         * insdel.c (change_function_restore): Reverse order of
5049         function-call and assignment.
5050         (first_change_hook_restore): Ditto.
5051
5052         * extents.c (mark_extent_auxiliary): Mark them.
5053         (Fset_extent_property): Set them.
5054         (Fextent_property): Get them.
5055         (Fextent_properties): Ditto.
5056         (vars_of_extents): Set their default.
5057
5058         * extents.h (struct extent_auxiliary): Add before_change_functions
5059         and after_change_functions.
5060
5061         * insdel.c (signal_before_change): Use it.
5062         (signal_after_change): Ditto.
5063
5064         * extents.c (report_extent_modification): New function.
5065
5066         * insdel.c (signal_before_change): Don't check for Armageddon.
5067         (signal_after_change): Ditto.
5068
5069 1998-09-11  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5070
5071         * redisplay.c (redisplay_window): make sure a new starting point
5072         is chosen if it somehow got moved from the beginning of the line
5073         -- this can happen because Fwiden was called recently.
5074
5075         * window.c (Fset_window_start): set start_at_line_beg correctly
5076         (Fset_window_buffer): Ditto
5077
5078 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
5079
5080         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
5081         (uninit_buffer_text): Ditto.
5082
5083         * buffer.c (Fmake_indirect_buffer): Implement stricter
5084         error-checking.
5085
5086 1998-05-14  Jan Vroonhof  <vroonhof@math.ethz.ch>
5087
5088         * emacs.c (main_1): Removed references to *vars_of_filelock.
5089
5090         * lisp.h: Added Fsystem_name.
5091
5092         * filelock.c: Replaced by version from FSF 20.2. Now implements
5093         locking by using symlinks which is NFS safe. However keep the
5094         GCPRO's in lock_file and the calls to callx_in_buffer like our old
5095         version (and of course use ansi C, acessor macros, etc).
5096
5097 1998-09-06  Jan Vroonhof  <vroonhof@math.ethz.ch>
5098
5099         * process-unix.c (unix_create_process): Reset SIGHUP handler to
5100         SIG_DFL. We now try to conserve any inherted SIG_IGN settings
5101         in init_signals_very_early. However these should not be passed
5102         on to children attached to the new pty.
5103
5104 1998-08-28  Andy Piper  <andyp@parallax.co.uk>
5105
5106         * glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use.
5107
5108 1998-09-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5109
5110         * fileio.c (file-name-directory, file_name_as_directory):
5111           Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT.
5112
5113 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
5114
5115         * emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC
5116
5117         * ralloc.c: uncomment __morecore.
5118
5119 1998-09-92  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5120
5121         * event-msw.c(winsock_writer): Supply a dummy 4th argument to
5122           WriteFile() to fix a winsock 1.x bug on Win95.
5123
5124 1998-08-28  Hrvoje Niksic  <hniksic@srce.hr>
5125
5126         * event-Xt.c (emacs_Xt_mapping_action): Check for device being
5127         deleted.
5128         (x_event_to_emacs_event): Ditto.
5129         (emacs_Xt_handle_focus_event): Ditto.
5130         (emacs_Xt_handle_magic_event): Ditto.
5131
5132         * console-x.h (struct x_device): New flag being_deleted.
5133         (DEVICE_X_BEING_DELETED): New macro.
5134
5135         * device-x.c (x_IO_error_handler): Throw to top-level instead of
5136         returning.  Before doing that, set the being_deleted flag on the
5137         device.
5138
5139 1998-08-27  Hrvoje Niksic  <hniksic@srce.hr>
5140
5141         * device-x.c (x-seppuku-on-epipe): Removed.
5142
5143 1998-08-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5144
5145         * frame-x.c (x_delete_frame): Flush the X output buffer after
5146         calling XtDestroyWidget to ensure that the windows are really
5147         killed right now.
5148
5149 1998-08-26  Hrvoje Niksic  <hniksic@srce.hr>
5150
5151         * menubar-x.c (my_run_hook): New unused function.
5152         (pre_activate_callback): Use run_hook for Qactivate_menubar_hook,
5153         since we ignore the results of the contained functions anyway.
5154
5155 1998-08-26  P. E. Jareth Hein  <jareth@camelot.co.jp>
5156
5157         * glyphs-eimage.c (gif_instantiate): Fix a crash in handling
5158         interlaced GIF files that are smaller than 4 lines high...
5159
5160 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5161
5162         * buffer.c (map_over_sharing_buffers): Deleted.
5163
5164         * insdel.c (MAP_INDIRECT_BUFFERS): Move to buffer.h.
5165
5166         * buffer.c (Fkill_buffer): Keep indirect_children updated while
5167         killing them.
5168
5169 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5170
5171         * insdel.c (buffer_insert_string_1): Advance the point bytind in
5172         all the buffers.
5173         (buffer_delete_range): Ditto.
5174
5175         * marker.c (init_buffer_markers): Set point-marker to the value of
5176         point in an indirect buffer.
5177
5178 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
5179
5180         * undo.c (undo_prelude): Test last-undo-buffer against base
5181         buffer.
5182
5183         * insdel.c (MAP_INDIRECT_BUFFERS): Use it.
5184
5185         * buffer.h (BUFFER_BASE_BUFFER): New macro.
5186
5187 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
5188
5189         * insdel.c (init_buffer_text): Initialize it here.
5190
5191         * line-number.c: Address line_number_cache through buffer->text.
5192
5193         * buffer.c (mark_buffer): Mark line number cache.
5194
5195         * bufslots.h (line_number_cache): Move to struct buffer_text.
5196
5197         * insdel.c (buffer_insert_string_1): Propagate signals and changes
5198         across the children buffers.
5199         (buffer_delete_range): Ditto.
5200         (buffer_replace_char): Ditto.
5201         (gap_left): Ditto.
5202         (gap_right): Ditto.
5203
5204         * insdel.c (MAP_INDIRECT_BUFFERS): New macro.
5205
5206         * buffer.c (Fmake_indirect_buffer): Uncomment.
5207
5208 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5209
5210         * macros.c (Fend_kbd_macro): Remove trailing period from error
5211         message.
5212         (Fexecute_kbd_macro): Ditto.
5213
5214 1998-08-21  Greg Klanderman  <greg@alphatech.com>
5215
5216         * dired.c (Fuser_name_completion): remove optional 2nd argument.
5217         (Fuser_name_completion_1): new function to return uniqueness
5218         indication in addition to the user name completion.
5219         (user_name_completion): change type of `uniq' argument.
5220
5221 1998-08-19  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5222
5223         * lread.c (vars_of_lread): Removed `source-directory' variable.
5224
5225 1998-08-22  Hrvoje Niksic  <hniksic@srce.hr>
5226
5227         * fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to
5228         Cygwin.
5229
5230 1998-08-19  SL Baur  <steve@altair.xemacs.org>
5231
5232         * dired.c (vars_of_dired): Fix misapplied patch.
5233
5234 1998-08-16  Martin Buchholz  <martin@xemacs.org>
5235
5236         * fns.c (Fremrassq, remrassq_no_quit):
5237         A XCAR that should have been an XCDR turned Fremrassq into Fremassq
5238
5239 1998-07-17  Didier Verna  <verna@inf.enst.fr>
5240
5241         * redisplay-x.c (x_get_gc): returns a GC with a FillStipple fill
5242         style as foreground GC for faces that have the `dim' property.
5243         (x_output_string): when the `dim' face property is set,
5244         ensure the gray pixmap has been created, and get a proper
5245         foreground GC to draw the text.
5246
5247 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5248
5249         * event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug:
5250           Manually track the state of the left and right Ctrl and Alt
5251           modifiers.
5252
5253 1998-08-07 Matt Stupple <matts@tibco.com>
5254
5255         * ntproc.c: don't wait on char_consumed at thread entry.
5256         Additionally, to get the 'process' marked as finished, ensure
5257         that the CHILD_ACTIVE macro returns false, so before exiting
5258         close char_avail and set it to NULL, and close other handles
5259         to reduce handle leak problems.
5260
5261 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5262
5263         * menubar-msw.c (displayable_menu_item): take account of menu
5264           depth when deciding whether to try to display accelerators.
5265
5266 1998-08-04  Andy Piper  <andyp@parallax.co.uk>
5267
5268         * event-msw.c: use MsgWaitForMultipleObjects if there are no
5269         subprocesses.
5270
5271         * glyphs-msw.c: fix a couple of potential handle leaks.
5272
5273 1998-08-04  P. E. Jareth Hein  <jareth@camelot.co.jp>
5274
5275         * dgif_lib.c gif_io.c gifrlib.h: New files to put GIF
5276           *decoding ONLY* back into the core.
5277         * glyphs-eimage.c: Change referenced header file for GIF
5278           reading to point to the incore version.
5279
5280 1998-07-20  Martin Buchholz  <martin@xemacs.org>
5281
5282         * casefiddle.c (casify_object):
5283         Change algorithm from O(N**2) to O(N).
5284         Code cleanup.
5285         Doc string cleanup.
5286
5287 1998-07-22  Greg Klanderman  <greg@alphatech.com>
5288
5289         * dired.c (file_name_completion_unwind): don't leak the cons.
5290
5291 1998-07-20  Greg Klanderman  <greg@alphatech.com>
5292
5293         * dired.c (Fuser_name_completion): new function.
5294         (Fuser_name_all_completions): new function.
5295         (user_name_completion): new function.
5296         (syms_of_dired): 2 new DEFSUBRs.
5297         (vars_of_dired): initialize user name cache vars.
5298
5299 1998-07-29  P. E. Jareth Hein  <jareth@camelot.co.jp>
5300
5301         * glyphs-eimage.c (png_instantiate): Add proper handling for background
5302         colors taken from the default face.  Also correct a thinko in
5303         transparency (not alpha) handling.
5304
5305 1998-07-23  Martin Buchholz  <martin@xemacs.org>
5306
5307         * s/decosf4-0.h:  Use a perfectly ordinary link.  Nuke BSD crap.
5308         * unexalpha.c: ANSI C-ize.  Clean compiler warnings.
5309         * lread.c (Fload_internal):  Be very careful with printfs of
5310         size_t's
5311         * gui-x.c (menu_name_to_accelerator): tolower wants an `int'
5312         argument.
5313
5314 1998-07-27  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5315
5316         * callint.c (Fcall_interactively): GCPRO prompt string before
5317         passing it to Fread_key_sequence
5318
5319 1998-07-27  SL Baur  <steve@altair.xemacs.org>
5320
5321         * keymap.c (vars_of_keymap): Initialize Vkey_translation_map and
5322         Vvertical_divider_map.
5323
5324         * mule-canna.c (vars_of_mule_canna): Initialize every symbol to
5325         Qnil or 0, none were initialized prior to this change.
5326
5327         Rename misnamed `V' prefixed integer variables:
5328         Vcanna_empty_info, Vcanna_through_info, Vcanna_underline,
5329         Vcanna_inhibit_hankakukana, Vcanna_henkan_length, Vcanna_henkan_revPos,
5330         Vcanna_henkan_revLen, Vcanna_ichiran_length, Vcanna_ichiran_revPos,
5331         Vcanna_ichiran_revLen.
5332
5333         Rename misnamed `V' prefixed integer variables and initialize
5334         properly in the vars_of routine.
5335         Vcanna_mode_AlphaMode, Vcanna_mode_EmptyMode, Vcanna_mode_KigoMode,
5336         Vcanna_mode_YomiMode, Vcanna_mode_JishuMode, Vcanna_mode_TankouhoMode,
5337         Vcanna_mode_IchiranMode, Vcanna_mode_YesNoMode, Vcanna_mode_OnOffMode,
5338         Vcanna_mode_AdjustBunsetsuMode, Vcanna_mode_ChikujiYomiMode,
5339         Vcanna_mode_ChikujiTanMode, Vcanna_mode_HenkanMode,
5340         Vcanna_mode_HenkanNyuryokuMode, Vcanna_mode_ZenHiraHenkanMode,
5341         Vcanna_mode_HanHiraHenkanMode, Vcanna_mode_ZenKataHenkanMode,
5342         Vcanna_mode_HanKataHenkanMode, Vcanna_mode_HanKataHenkanMode,
5343         Vcanna_mode_ZenAlphaHenkanMode, Vcanna_mode_HanAlphaHenkanMode,
5344         Vcanna_mode_ZenHiraKakuteiMode, Vcanna_mode_HanHiraKakuteiMode,
5345         Vcanna_mode_ZenKataKakuteiMode, Vcanna_mode_HanKataKakuteiMode,
5346         Vcanna_mode_ZenAlphaKakuteiMode, Vcanna_mode_HanAlphaKakuteiMode,
5347         Vcanna_mode_HexMode, Vcanna_mode_BushuMode, Vcanna_mode_ExtendMode,
5348         Vcanna_mode_RussianMode, Vcanna_mode_GreekMode, Vcanna_mode_LineMode,
5349         Vcanna_mode_ChangingServerMode, Vcanna_mode_HenkanMethodMode,
5350         Vcanna_mode_DeleteDicMode, Vcanna_mode_TourokuMode,
5351         Vcanna_mode_TourokuEmptyMode, Vcanna_mode_TourokuHinshiMode,
5352         Vcanna_mode_TourokuDicMode, Vcanna_mode_QuotedInsertMode,
5353         Vcanna_mode_BubunMuhenkanMode, Vcanna_mode_MountDicMode,
5354         Vcanna_fn_SelfInsert, Vcanna_fn_FunctionalInsert,
5355         Vcanna_fn_QuotedInsert, Vcanna_fn_JapaneseMode, Vcanna_fn_AlphaMode,
5356         Vcanna_fn_HenkanNyuryokuMode, Vcanna_fn_Forward, Vcanna_fn_Backward,
5357         Vcanna_fn_Next, Vcanna_fn_Prev, Vcanna_fn_BeginningOfLine,
5358         Vcanna_fn_EndOfLine, Vcanna_fn_DeleteNext, Vcanna_fn_DeletePrevious,
5359         Vcanna_fn_KillToEndOfLine, Vcanna_fn_Henkan, Vcanna_fn_Kakutei,
5360         Vcanna_fn_Extend, Vcanna_fn_Shrink, Vcanna_fn_AdjustBunsetsu,
5361         Vcanna_fn_Quit, Vcanna_fn_ConvertAsHex, Vcanna_fn_ConvertAsBushu,
5362         Vcanna_fn_KouhoIchiran, Vcanna_fn_BubunMuhenkan, Vcanna_fn_Zenkaku,
5363         Vcanna_fn_Hankaku, Vcanna_fn_ExtendMode, Vcanna_fn_ToUpper,
5364         Vcanna_fn_Capitalize, Vcanna_fn_ToLower, Vcanna_fn_Hiragana,
5365         Vcanna_fn_Katakana, Vcanna_fn_Romaji, Vcanna_fn_BaseHiragana,
5366         Vcanna_fn_BaseKatakana, Vcanna_fn_BaseEisu, Vcanna_fn_BaseZenkaku,
5367         Vcanna_fn_BaseHankaku, Vcanna_fn_BaseKana, Vcanna_fn_BaseKakutei,
5368         Vcanna_fn_BaseHenkan, Vcanna_fn_BaseHiraKataToggle,
5369         Vcanna_fn_BaseZenHanToggle, Vcanna_fn_BaseKanaEisuToggle,
5370         Vcanna_fn_BaseKakuteiHenkanToggle, Vcanna_fn_BaseRotateForward,
5371         Vcanna_fn_BaseRotateBackward, Vcanna_fn_Touroku, Vcanna_fn_HexMode,
5372         Vcanna_fn_BushuMode, Vcanna_fn_KigouMode, Vcanna_fn_Mark,
5373         Vcanna_fn_TemporalMode, Vcanna_key_Nfer, Vcanna_key_Xfer,
5374         Vcanna_key_Up, Vcanna_key_Left, Vcanna_key_Right, Vcanna_key_Down,
5375         Vcanna_key_Insert, Vcanna_key_Rollup, Vcanna_key_Rolldown,
5376         Vcanna_key_Home, Vcanna_key_Help, Vcanna_key_KP_Key,
5377         Vcanna_key_Shift_Nfer, Vcanna_key_Shift_Xfer, Vcanna_key_Shift_Up,
5378         Vcanna_key_Shift_Left, Vcanna_key_Shift_Right, Vcanna_key_Shift_Down,
5379         Vcanna_key_Cntrl_Nfer, Vcanna_key_Cntrl_Xfer, Vcanna_key_Cntrl_Up,
5380         Vcanna_key_Cntrl_Left, Vcanna_key_Cntrl_Right, Vcanna_key_Cntrl_Down
5381
5382 1998-07-16  Jan Vroonhof  <vroonhof@math.ethz.ch>
5383
5384         * event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms.
5385         (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier
5386         keys thus no longer considering all keysyms on a key.
5387
5388 1998-07-19  SL Baur  <steve@altair.xemacs.org>
5389
5390         * XEmacs 21.2-beta1 is released.
5391
5392 1998-07-12  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
5393
5394         * eldap.c (Fldap_search_internal): When converting the list of
5395         attributes to search Copy the final 0 from Lisp strings to C
5396         strings.
5397         Check base, not Vldap_default_base as a a string
5398
5399 1998-07-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5400
5401         * nt.c: Remove Vstdio_str; already defined in console-stream.c.
5402
5403         * unexnt.c: Unconditionally define bss_start and bss_size, and
5404           ensure that they don't go in the .bss section.
5405
5406 1998-07-17  Olivier Galibert  <galibert@pobox.com>
5407
5408         * glyphs-x.c (convert_EImage_to_XImage):  Fix previous patch (conv
5409         byte order is dependant  of  the local  byte order).
5410         From Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp>
5411
5412 1998-07-18  SL Baur  <steve@altair.xemacs.org>
5413
5414         * glyphs-msw.c (mswindows_resource_normalize): Qresource ->
5415         Qmswindows_resource.
5416         From Jonathan Harris <jhar@tardis.ed.ac.uk>
5417
5418 1998-07-12  SL Baur  <steve@altair.xemacs.org>
5419
5420         * general.c (syms_of_general): Add defsymbol for Qresource.
5421
5422         * glyphs-msw.c (vars_of_glyphs_mswindows): Rename Qresource to
5423         Qmswindows_resource.
5424         (TopLevel): Rename 'resource image format to 'mswindows_resource.
5425         (mswindows_resource_validate): Rename.
5426         (mswindows_resource_normalize): Rename.
5427         (mswindows_resource_possible_dest_types): Rename.
5428         (mswindows_resource_instantiate): Rename.
5429         (image_instantiator_format_create_glyphs_mswindows): Replace
5430         `resource' with `mswindows.resource'.
5431
5432         * XEmacs 21.0-pre5 is released.
5433
5434 1998-07-10  SL Baur  <steve@altair.xemacs.org>
5435
5436         * mule-wnnfns.c (Fwnn_open): Correctly trap on misdefined Wnn
5437         server type in environment.
5438         Use alloca-ed strings instead of tiny fixed size ones.
5439
5440 1998-07-09  SL Baur  <steve@altair.xemacs.org>
5441
5442         * XEmacs 21.0-pre4 is released.
5443
5444 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
5445
5446         * fileio.c: (expand_file_name): under win32: Don't treat names
5447         as UNC names if a drive letter has been specified.  If a drive
5448         has been specified, strip out extra directory-seperators that
5449         reportedly cause problems under Win95.
5450
5451 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5452
5453         * windowsnt.h: Define DUMP_SEPARATE_SECTION when building with
5454           MSVC >= 5.0. Put emacs init and zero-init data in a special
5455           section of the executable when this is defined.
5456
5457         * unexnt.c, ntheap.h:
5458           Removed unused find_section() and get_section_size().
5459
5460         * unexnt.c:
5461           Fix up the executable's checksum after dumping otherwise the
5462           profiler complains.
5463           When DUMP_SEPARATE_SECTION is defined, don't need to dump
5464           zero-init data separately from init data. Dump emacs data
5465           into a special section of the executable.
5466           When DUMP_SEPARATE_SECTION not defined, dump .bss up to
5467           my_ebss instead of up to the end of bss.
5468
5469 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5470
5471         * filelock.c: Removed Vconfigure_lock_directory - already
5472           defined in emacs.c.
5473
5474         * frame-msw.c: Removed Qinitially_unmapped and Qpopup - already
5475           defined in frame.c and general.c respectively.
5476
5477         * glyphs-msw.c: Removed Qresource - already defined in
5478           general.c.
5479
5480 1998-07-05  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
5481
5482         * eldap.c (Fldap_search_internal): Docstring fixes
5483
5484 1998-07-04  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5485
5486         * nt.c (init_environment): Removed unused PRELOAD_WINSOCK,
5487           EMACSDOC and TERM variables. Added EMACSDEBUGPATHS,
5488           EMACSPACKAGEPATH and INFOPATH variables.
5489           Removed unused get_emacs_configuration function.
5490
5491         * s/windowsnt.h: Don't define EMACS_CONFIGURATION here because
5492           it is now defined at build-time by the makefile.
5493
5494 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
5495
5496         * fileio.c: (expand_file_name): under win32: Don't treat names as
5497         UNC names if a drive letter has been specified.  If a drive has
5498         been specified, strip out extra directory-seperators that
5499         reportedly cause problems under Win95.
5500
5501 1998-07-05  Andy Piper  <andyp@parallax.co.uk>
5502
5503         * faces.c (complex_vars_of_faces): for the gui-element face don't
5504         fallback to the default face, instead provide reasonable default
5505         fallbacks that were previously hardcoded elsewhere.
5506
5507 1998-07-06  Olivier Galibert  <galibert@pobox.com>
5508
5509         * glyphs-x.c (convert_EImage_to_XImage): Fix pixel writing problem
5510         when the X server endianness is different than the client's one.
5511
5512 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
5513
5514         * eval.c (run_hook_with_args_in_buffer): Check
5515           default (non-buffer-local) value of hook for
5516           nil before treating it as a function.  Don't initialize
5517           the `globals' variable twice.
5518
5519 1998-06-24  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5520
5521         * fileio.c: Don't do directory seperator canonicalisation in
5522           substitute-in-file-name because we don't know that the
5523           filename refers to a local file.
5524
5525 1998-06-24  Adrian Aichner  <aichner@ecf.teradyne.com>
5526
5527         * process-nt.c (nt_create_process): Try appending the standard
5528           executable file extensions to the filename if none supplied.
5529
5530 1998-06-29  SL Baur  <steve@altair.xemacs.org>
5531
5532         * fileio.c (Fsubstitute_in_file_name): Enable double slash notation
5533         for cygwin32.
5534         From Keisuke Mori <ksk@ntts.com>
5535
5536 1998-06-24  Andy Piper  <andyp@parallax.co.uk>
5537
5538         * toolbar-msw.c (mswindows_output_toolbar): only enable masked
5539         images if we have masks. This handles the xbm case (have masks)
5540         and avoids overuse of resources in the xpm case (generally no masks).
5541         Don't output small toolbars.
5542
5543 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
5544
5545         * eval.c (run_hook_with_args_in_buffer): Don't treat
5546           the default value of a buffer local hook as a list of
5547           hooks unless it is both a cons and the car of that cons
5548           is not Qlambda.
5549
5550 1998-06-29  SL Baur  <steve@altair.xemacs.org>
5551
5552         * extents.c: Email address for Ben Wing is ben@xemacs.org.
5553         * process-unix.c: Ditto.
5554         * mule-coding.h: Ditto.
5555         * mule-coding.c: Ditto.
5556         * mule-charset.c: Ditto.
5557         * mule-charset.h: Ditto.
5558         * file-coding.c: Ditto.
5559         * file-coding.h: Ditto.
5560
5561 1998-06-22  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5562
5563         * event-msw.c: Guard against recursion when freeing
5564           FRAME_MSWINDOWS_TARGET_RECT struture in WM_SIZE processing.
5565
5566         * frame-msw.c: Don't set WS_VISIBLE attribute on first frame.
5567           Call ShowWindow twice in init_frame_3 to get round runemacs
5568           weirdness.
5569
5570 1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>
5571
5572         * scrollbar.c (vertical_scrollbar_changed_in_window): Ditto.
5573
5574         * winslots.h: Rename.
5575
5576         * window.c (specifier_vars_of_window): Renamed
5577         vertical-divider-draggable-p to vertical-divider-always-visible-p,
5578         as suggested by Ben Wing.
5579         (specifier_vars_of_window): Fix docstrings.
5580
5581 1998-06-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5582
5583         * unexaix.c: Line number information works correctly again.
5584
5585 1998-06-22  Olivier Galibert  <galibert@pobox.com>
5586
5587         * emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry.
5588
5589 1998-06-21  Martin Buchholz  <martin@xemacs.org>
5590
5591         * editfns.c (get_home_directory): ANSIfy.
5592         XEmacs is compilable under C *and* C++.
5593         It's XEmacs, not Xemacs!
5594
5595 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5596
5597         * console-msw.h: added a list of fonts to device data.
5598
5599         * device-msw.c: enumerate list of available fonts in
5600           mswindows_init_device. Free list in mswindows_delete_device.
5601
5602         * objects-msw.c: Added helper function match_font used by
5603           mswindows_initialize_font_instance and mswindows_list_fonts.
5604           Allow a charset to be specified in a font string, even if
5605           previous fields havn't been specified.
5606
5607 1998-06-23  Greg Klanderman  <greg@alphatech.com>
5608
5609         * indent.c (column_at_point): column cache bugfix.
5610         Set last_known_column_point to the buffer position for
5611         which the column was requested, not buffer's point.
5612
5613         * redisplay.c (decode_mode_spec): for current-column, show
5614         window's point's column, not buffer's point's column.
5615
5616 1998-06-23  Andy Piper  <andyp@parallax.co.uk>
5617
5618         * menubar-msw.c (mswindows_handle_wm_command): use
5619         enqueue_misc_user event rather than
5620         mswindows_enqueue_msic_user_event to fix customize problems. Add some
5621         checks that X does.
5622
5623         * console-msw.h: declare mswindows_enqueue_magic_event.
5624
5625         * event-msw.c (mswindows_enqueue_magic_event): make global.
5626
5627 1998-06-24  Hrvoje Niksic  <hniksic@srce.hr>
5628
5629         * line-number.c (LINE_NUMBER_FAR): Reverted to 16384.
5630         (buffer_line_number): Use EMACS_INT_MAX instead of random LOTS.
5631         (add_position_to_cache): Use EMACS_INT instead of int.
5632
5633 1998-06-21  Olivier Galibert  <galibert@pobox.com>
5634
5635         * lisp-disunion.h (XMARKBIT): Have XMARKBIT return something
5636         suitable for an int used as a boolean (btw, C sucks.).
5637
5638 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
5639
5640         * object-msw.c: remove warnings.
5641
5642         * device-msw.c: #define wrongly named cygwin structure elements.
5643
5644         * s/cygwin32.h: define DEMI_BOLD
5645
5646 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5647
5648         * redisplay-msw.c: new function mswindows_apply_face_effects.
5649           This is called by output_string and output_cursor to display
5650           underline and strikeout on faces.
5651
5652 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5653
5654         * console-msw.h: added a list of fonts to device data.
5655
5656         * device-msw.c: enumerate list of available fonts in
5657           mswindows_init_device. Free list in mswindows_delete_device.
5658
5659         * objects-msw.c: Added helper function match_font used by
5660           mswindows_initialize_font_instance and mswindows_list_fonts.
5661           Allow a charset to be specified in a font string, even if
5662           previous fields havn't been specified.
5663
5664 1998-06-15  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5665
5666         * objects-msw.c:
5667           Removed compilation warnings from mswindows_string_to_color.
5668           mswindows_list_fonts returns a more general bogus font.
5669           New lisp-visible function mswindows-color-list.
5670
5671 1998-06-19  David Bush <david.bush@adn.alcatel.com>
5672
5673         * editfns.c (Fuser_login_name): Modify to user new function
5674         user_login_name.
5675         (user_login_name): C only function to avoid Lisp object overhead
5676         Returns "unknown" instead of nil in Cygwin environment
5677
5678         * fileio.c (Fexpand_file_name): Treat "~" and "~user" as
5679         equivalent for current user in Cygwin environment. Use new
5680         function user_login_name to get username.
5681
5682         * lisp.h: Declare user_login_name
5683
5684 1998-06-18  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5685
5686         * unexaix.c (make_hdr): Fixed bias computations so debugging info
5687         works again.
5688         Some other insignificant nitpicks.
5689
5690 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
5691
5692         * toolbar-msw.c (mswindows_output_toolbar): specify ILC_MASK when
5693         creating the image list and make sure he bk color is transparent.
5694
5695 1998-06-18  Jan Vroonhof  <vroonhof@math.ethz.ch>
5696
5697         * event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from
5698         completed_timeouts. The timer could have expired.
5699
5700 1998-06-17  Andy Piper  <andyp@parallax.co.uk>
5701
5702         * console-msw.h: move XEMACS_RECT_WH inside frame
5703         parameters. define macors to access it.
5704
5705         * frame-msw.c (mswindows_init_frame_1): use new target_rect
5706         parameter to intialise desired sizing. (mswindows_init_frame_2):
5707         enable and size the frame to something sensible when we get
5708         here. (mswindows_set_frame_properites): use new
5709         mswindows_size_frame_internal function and size frame if frame
5710         parameters not just if init is finished - WM_SIZE happens too
5711         early for some specs. (mswindows_size_frame_internal): new
5712         function abstracted from mswindows_set_frame_properties.
5713         (Vmswindows_use_system_frame_size_defaults):
5714         new variable controls whether to allow the system to pick frame
5715         size defaults, defaults to nil.
5716
5717         * event-msw.c: in WM_SIZE use mswindows_size_frame_internal rather
5718         than duplicated code.
5719
5720 1998-06-15  Colin Rafferty <colin@xemacs.org>
5721
5722         * Makefile.in.in: Made EXTW_LINK expand properly.
5723
5724 1998-06-12  Martin Buchholz  <martin@xemacs.org>
5725
5726         * redisplay.c (vars_of_redisplay): default value of
5727         column-number-start-at-one should be NIL!
5728
5729 1998-06-11  Martin Buchholz  <martin@xemacs.org>
5730
5731         * casefiddle.c:
5732         (upcase-initials "fooBar") ==> "FooBar" instead of "Foobar"
5733
5734 1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
5735
5736         * eldap.c (Fldap_search_internal): Use build_ext_string instead of
5737         build_string to avoid crashes under Mule.
5738
5739 1998-06-13  Andy Piper  <andyp@parallax.co.uk>
5740
5741         * ntplay.c (play_sound_data_1): don't delete the sound data until
5742         the next sound is played and the previous one finished.
5743
5744 1998-06-10  Samuel Mikes  <smikes@alumni.hmc.edu>
5745
5746         * fileio.c (directory-sep-char): Escape backslashes.
5747
5748 1998-06-10  Hrvoje Niksic  <hniksic@srce.hr>
5749
5750         * event-stream.c: Fix docstring reference.
5751
5752 1998-06-12  Hrvoje Niksic  <hniksic@srce.hr>
5753
5754         * alloc.c (make_float): Remove useless initialization of `next'
5755         field.
5756         (make_pure_float): Ditto.
5757
5758         * lisp.h (struct Lisp_Float): Rename `next' to `__unused__next'.
5759
5760 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
5761
5762         * fileio.c (Fmake_directory_internal): Remove conditionals
5763         on WINDOWSNT when calling mkdir.
5764
5765         * ntproc.c: Deleted the following unused functions:
5766         register_child, reap_subprocess, sys_wait.
5767
5768         * nt.c (sys_rename): Ifzeroed this implementation.
5769         Deleted the following unused functions:
5770         sys_access, sys_chdir, sys_chmod, sys_creat, sys_link, sys_mkdir,
5771         sys_mktemp, sys_rmdir, sys_unlink, sys_close, sys_dup, sys_dup2,
5772         sys_read, sys_write.
5773         Merger sys_fopen and sys_open with sysdep.c implementation.
5774
5775         * sysdep.c: Removed MS-DOS code.
5776         (sys_rename): Deal with Microsoft rename weirdness.
5777         (sys_open): Implemented for Windows.
5778         (sys_fopen): Ditto.
5779         (sys_mkdir): Ditto.
5780
5781 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
5782
5783         * buffer.c (complex_vars_of_buffer): Removed %t description from
5784         the docstring.
5785
5786 1998-06-04  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
5787
5788         * scrollbar-msw.c: initialize the cbSize element of the
5789         SCROLLINFO struct before calling SetScrollInfo. WinNT seems
5790         to ignore the value of cbSize, but Win95 (and I presume Win98)
5791         appear to want it set to sizeof(SCROLLINFO).
5792
5793 1998-06-04  Kirill M. Katsnelson  <kkm@kis.ru>
5794
5795         * event-stream.c: Defined Qcancel_mode_internal.
5796         (syms_of_event_stream): defsymbol'ed it.
5797
5798         * events.h: Externed it.
5799
5800         * event-msw.c (mswindows_wnd_proc, WM_CANCELMODE): Added this handler.
5801
5802 1998-06-04  Oliver Graf <ograf@fga.de>
5803
5804         * frame-x.c (x_cde_destroy_callback): free the data
5805         (cde-start-drag-internal) corrected root position, 21.1 needs this
5806         hardcoded in Button events
5807         (offix-start-drag-internal) corrected root position
5808
5809 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
5810
5811         * process-nt.c (signal_cannot_launch): Use signal_simple_error()
5812         instead of error().
5813
5814 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
5815
5816         * dialog-msw.c (button_width): Removed `inline' from the function
5817         declaration.
5818
5819 1998-06-03  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
5820
5821         * frame-msw.c: add WS_VISIBLE flag to the first frame created.
5822         Note that adding this flag to subsequent frames causes problems.
5823
5824 1998-06-03  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5825
5826         * glyphs-eimage.c (png_instantiate) move 'struct
5827         png_memory_storage tbr' out of nested block to avoid dangling
5828         reference
5829
5830 1998-06-02  Andy Piper  <andyp@parallax.co.uk>
5831
5832         * faces.h:
5833         * faces.c: rename 3d-object -> gui-element. add toolbar face which
5834         inherits from gui-element.
5835
5836         * glyphs-msw.c: use DIBitmaps for xbm bitmaps to be consistent
5837         with existing code, generate masks correctly.
5838
5839 1998-06-03  P. E. Jareth Hein  <jareth@camelot-soft.com>
5840
5841         * glyphs-eimage.c: Changed included header for gifs to use
5842         Gifreader instead of giflib.
5843
5844         * glyphs-x.c: removed the image-related functions that were
5845         moved into glyphs-eimage.
5846
5847 1998-06-02  David Bush  <david.bush@adnb.alcatel.com>
5848
5849         * glyphs.c (bitmap_to_lisp_data) Define XFree to be free
5850         if built without X Windows support.
5851
5852 1998-06-02  Hrvoje Niksic  <hniksic@srce.hr>
5853
5854         * fns.c (Fconcat): Synch docstring with new reality.
5855
5856 1998-06-03  SL Baur  <steve@altair.xemacs.org>
5857
5858         * frame.c: Remove reference to msdos.h (which is going away).
5859         Suggested by Hrvoje Niksic and Kirill Katsnelson.
5860
5861 1998-06-02  P. E. Jareth Hein  <jareth@camelot-soft.com>
5862
5863         * glyphs-eimage.c (jpeg_instantiate): Fix handling of
5864         grayscale images/
5865
5866
5867 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
5868
5869         * events.h: Fixed commentary about misc-user scrollbar events.
5870
5871         * scrollbar-x.c (x_update_vertical_scrollbar_callback): Use frame
5872         object as an event channel, instead of window object.
5873         (x_update_horizontal_scrollbar_callback): Ditto.
5874
5875 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
5876
5877         * ntplay.c (play_sound_data_1) new function. convert alloca data
5878         to malloc if necessary.
5879         (play_sound_file): if the file is not in our path then convert to
5880         data and play.
5881
5882 1998-06-01  SL Baur  <steve@altair.xemacs.org>
5883
5884         * mule-mcpath.c (mc_chdir): Reverse parameters in call to memcpy.
5885         * msdos.c (Frecent_doskeys): Ditto.
5886
5887         * unexalpha.c (unexec): Reverse parameters in call to memcpy.
5888         Suggested by Reggie Perry <perry@zso.dec.com>
5889
5890         * buffer.h: Eliminate size in declaration.
5891
5892 1998-06-01  Olivier Galibert  <galibert@pobox.com>
5893
5894         * unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge.
5895
5896 1998-06-01  Kirill M. Katsnelson  <kkm@kis.ru>
5897
5898         * gui.c (gui_item_init): Changed the default value for config member
5899         from Qunbound to Qnil.
5900
5901 1998-06-01  Greg Klanderman  <greg@alphatech.com>
5902
5903         * indent.c (vmotion_pixels): Don't #define abs().
5904
5905 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
5906
5907         * s/windowsnt.h: Defined popen and pclose to be _popen and _pclose
5908         respectively.
5909
5910 1998-05-30  Andy Piper  <andyp@parallax.co.uk>
5911
5912         * glyphs.h: add xbm declarations.
5913
5914         * console.h: add xbm_instantiate_method device method.
5915
5916         * glyphs.c (check_valid_xbm_inline) (xbm_validate)
5917         (bitmap_to_lisp_data) (xbm_mask_file_munging) (xbm_normalize)
5918         (xbm_possible_dest_types): moved here from glyphs-x.c. use
5919         locate_pixmap_file device method and read_bitmap_data_from_file
5920         instead of XmuReadBitmapDataFromFile.
5921         (xbm_instatntiate): make a device method.
5922
5923         * glyphs-x.c: see glyphs.c changes. (read_bitmap_data_from_file)
5924         new function that just calls XmuReadBitmapDataFromFile.
5925         (x_xbm_instatntiate): device method from xbm_instantiate.
5926
5927         * glyphs-msw.c (read_bitmap_data) (NextInt)
5928         (read_bitmap_data_from_file): new functions copied from Xmu
5929         sources.
5930         (xbm_create_bitmap_from_data) from Ben <ben@666.com> convert
5931         inline data to an mswindows bitmap.
5932         (init_image_instance_from_xbm_inline) (xbm_instantiate_1)
5933         (mswindows_xbm_instantiate): mswindows-ized versions of the X
5934         functions.
5935
5936 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
5937
5938         * window.c (specifier_vars_of_window): Renamed `has_modeline-p' to
5939         `modeline-visible-p'.
5940         Declared specifier lisp variables at the beginning oh the file
5941         as static.
5942
5943         * procimpl.h (struct process_methods): Changed semantics of
5944         create_process method so it accepts lisp strings instead of
5945         char pointers.
5946
5947         * process.c (Fstart_process_internal): Moved building of
5948         unix style argv from here to process-unix.c, ...
5949
5950         * process-unix.c (unix_create_process): ... right here.
5951
5952         * process-nt.c (nt_create_process): Changed this function to
5953         support new semantics, so avoided a GC problem.
5954
5955         * events.c (Fmake_event): Document misc-user events properties.
5956         (Fmake_event): Do not allow arbitrary objects for channel property
5957         of misc-user events.
5958         (Fmake_event): Change misc-user event validation: it is function
5959         which is required, not button.
5960
5961         * event-msw.c (mswindows_user_event_p): Recognize misc user events as
5962         user events.
5963         (mswindows_enqueue_misc_user_event): Added function.
5964         (mswindows_bump_queue): Removed function.
5965         (mswindows_enqueue_magic_event): Support NULL HWND parameter.
5966         (mswindows_wnd_proc, WM_CLOSE): Use mswindows_enqueue_misc_user_event().
5967         (mswindows_wnd_proc, WM_EXITSIZEMOVE): Ditto.
5968         (emacs_mswindows_handle_magic_event): Handle XM_BUMPQUEUE, by doing
5969         really nothing, which is my personal favorite thing.
5970
5971         * console-msw.h: Removed prototype for mswindows_bump_queue().
5972         Added prototype for mswindows_enqueue_misc_user_event().
5973
5974         * menubar-msw.c (mswindows_handle_wm_command): Use
5975         mswindows_enqueue_misc_user_event().
5976
5977         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
5978
5979         * dialog-msw.c (dialog_proc): Ditto.
5980
5981         * scrollbar-msw.c (mswindows_handle_scrollbar_event): Ditto.
5982          (mswindows_handle_scrollbar_event): Use frame, not window, for misc
5983         user events channel.
5984
5985 1998-05-29  Greg Klanderman  <greg@alphatech.com>
5986
5987         * window.c (Fwindow_displayed_text_pixel_height): was relying on
5988         incorrect semantics of vmotion_pixels which has been fixed.  don't
5989         use it anymore as it can't easily be used.
5990
5991         * indent.c (vmotion_pixels): fix off by one bug moving up.  also
5992         the motion was reported incorrectly if you tried to go past end of
5993         buffer.
5994
5995 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
5996
5997         * toolbar.h: Removed misleading commentary, as Martin suggested.
5998
5999 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6000
6001         * lisp.h: Extern Qactivate_menubar_hook.
6002
6003         * menubar-msw.c (unsafe_handle_wm_initmenu_1): Pass correct value to
6004         run_hook ().
6005
6006 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
6007
6008         * glyphs-msw.c: use BPLINE macro.
6009
6010         * select-msw.c (mswindows-selection-exists-p)
6011         (mswindows-delete-selection): doc string fixes.
6012
6013         * toolbar-msw.c (mswindows_output_toolbar): make disabled buttons
6014         unpressable. warning elimination.
6015
6016 1998-05-28  Martin Buchholz  <martin@xemacs.org>
6017
6018         * alloc.c (dbg_constants):
6019         * dbxrc:
6020         * gdbinit:
6021         Remove toolbar_data debugging code, since that lrecord has
6022         also been removed.
6023
6024 Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
6025
6026         * alloc.c: zap cached value of (user-home-directory), so that
6027           it's not undumped.
6028
6029         * buffer.c: From init_buffer(), separated out code that
6030           determined the initial directory for the *scratch* buffer, and
6031           put them into a function called "init_initial_directory()".
6032           The initial directory is now available as a global "char *"
6033           called initial_directory.
6034
6035         * buffer.h: Added extern entries for initial_directory[] and
6036           init_initial_directory().
6037
6038         * editfns.c: added new elisp function "user-home-directory",
6039         which basically returns getenv("HOME"), but attempts to use
6040         other values if $HOME isn't set.This may have to be tweaked in
6041         the future as, under Unix, "/" is used if $HOME isn't set (this
6042         probably should be set to the current directory).  To support
6043         this, a new C function, "get_home_directory()", now exists,
6044         which returns the "home directory", as a "char *" string.
6045
6046         * emacs.c: Rearrange NT initialization order so that
6047         environment/registry variables will be properly entered into
6048         Vprocess_enviroment.
6049
6050         * fileio.c: replaced egetenv("HOME") with calls to the new
6051           get_home_directory().
6052
6053         * lisp.h: Added function prototypes for uncache_home_directory()
6054           and get_home_directory(), along with lisp prototypes for
6055           Fuser_home_directory() and friends.
6056
6057         * nt.c: replaced getenv("HOME") with calls to the new
6058           get_home_directory().
6059
6060         * sysfile.h: for WINDOWSNT, #include <direct.h>, to suppress
6061           warnings about getcwd(), etc. not having prototypes.
6062
6063 1998-05-28  Kirill M. Katsnelson  <kkm@kis.ru>
6064
6065         * process-nt.c (send_signal): Emulate SIGHUP.
6066         (validate_signal_number): Ditto.
6067
6068         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally
6069         remove MOD_SHIFT from ASCII characters.
6070         (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when
6071         F10 is pressed.
6072
6073 1998-05-24  Oliver Graf <ograf@fga.de>
6074
6075         * frame-x.c (cde-start-drag-internal): added filename and multi-
6076         data transfers
6077         (x_cde_convert_callback) dito
6078
6079 1998-05-26  Oliver Graf <ograf@fga.de>
6080
6081         * frame-x.c: include event-mod.h also with CDE
6082         (x_cde_convert_callback) made the thing working
6083         (cde-start-drag-internal) also debugging
6084
6085 1998-05-25  Hans Guenter Weigand  <hgweigand@wiesbaden.netsurf.de>
6086
6087         * m/sparc.h:
6088         * getloadavg.c:
6089         * malloc.c:
6090         * unexec.c:
6091         * mem-limits.h:
6092           - add __OpenBSD__ where __NetBSD__ was found.
6093           - TODO: replace platform-specific conditional compilation by
6094             feature tests in configure.in.
6095
6096 1998-05-15  Greg Klanderman  <greg@alphatech.com>
6097
6098         * window.c (Fwindow_displayed_text_pixel_height): New function.
6099         (syms_of_window): DEFSUBR it.
6100
6101         * indent.c (Fvertical_motion_pixels): New function - request
6102         movement in pixels.
6103         (vmotion_pixels): helper.
6104         (syms_of_indent): DEFSUBR.
6105         * lisp.h: declaration for vmotion_pixels().
6106
6107         * indent.c (Fvertical_motion): Add optional third argument PIXELS,
6108         to request returning motion in pixels.
6109         (Fvertical_motion_pixels): Remove, functionality merged into
6110         Fvertical_motion.
6111         * window.c (window_scroll): call Fvertical_motion with 3 arguments.
6112         (Fmove_to_window_line): ditto.
6113         * lisp.h: Change declaration for Fvertical_motion.
6114
6115         * window.c: rename window-text-pixel-{height,width,edges} to
6116         window-text-area-pixel-*.
6117
6118 1998-05-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
6119
6120         * tooltalk.c (vars_of_tooltalk) added staticpro for
6121         Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str
6122
6123 1998-05-27  Andy Piper  <andyp@parallax.co.uk>
6124
6125         * faces.c: create a new 3d_object_face, make modeline and
6126         vertical_divider faces fallback to this rather than the default.
6127
6128 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
6129
6130         * s/cygwin32.h: define charsets for cygwin.
6131
6132 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
6133
6134         * toolbar-msw.c (mswindows_output_toolbar): fix up button sizes
6135         and coordinates. resize bitmaps if we have already settled on a
6136         different size.
6137
6138         * glyphs-msw.c (xpm_to_eimage): add ';' for mswindows compiler.
6139
6140 1998-05-25  Hrvoje Niksic  <hniksic@srce.hr>
6141
6142         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
6143
6144         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
6145
6146         * gui.h: Ditto.
6147
6148         * gui-x.c (popup_selection_callback): Ditto.
6149
6150         * dialog-msw.c (dialog_proc): get_callback -> get_gui_callback.
6151
6152         * gui.c (get_callback): Renamed to get_gui_callback.
6153
6154 1998-05-17  Martin Buchholz  <martin@xemacs.org>
6155
6156         * glyphs.h: order rearrangement.
6157
6158         * device-tty.c (tty_asynch_device_change): Warning suppression.
6159         * device-x.c (x_device_system_metrics): Warning suppression.
6160         Make Doc strings consistent with coding standards.
6161
6162 1998-05-24  Martin Buchholz  <martin@xemacs.org>
6163
6164         * general.c: multiple definition of `Qicon'.  general.c seems
6165           like a good home for Qicon.
6166
6167 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
6168
6169         * This patch is to fix compilation warnings under Windows.
6170
6171         * s/windowsnt.h: Encapsulate getpid with sys_getpid.
6172         Added prototypes for FSF inherited functions, with which XEmacs is
6173         sprinkled thoroughly.
6174         Removed some #if 0 code. Bracketed some more definitions, probably
6175         related to Visual C versions prior to 4 (we do not support them).
6176
6177         * sysfloat.h (logb): Finally, get logb() prototyped.
6178
6179         * sysfile.h: Added Windows specific includes.
6180         Removed old Windows specific code bracketed with #if 0.
6181
6182         * sysdep.h: Added prototype for xrealpath().
6183
6184         * sysdep.c (sys_getpid): Added function, to support '95 negative pids.
6185
6186         * symsinit.h: Added prototypes for syms_of_dired_mswindows,
6187         vars_of_dired_mswindows and init_ntproc (Grrr).
6188
6189         * realpath.c: Added Windows specific include files.
6190         (xrealpath): Conditionalized declaration of some auto variables on
6191         S_IFLNK, to avoid warnings.
6192
6193         * ntproc.c: Disabled some compiler warnings. This file is going to
6194         die, so I have not cleaned it up much.
6195         (set_process_dir): Const parameter.
6196         (Fwin32_short_file_name): Down CHECK_* macros to one argument.
6197         (Fwin32_long_file_name): Ditto.
6198         (Fwin32_set_process_priority): Ditto. Why didn't I remove these
6199         three functions?
6200
6201         * nt.h: Added prototypes for set_process_dir and convert_time.
6202
6203         * nt.c: More include files.
6204         (getpwnam): Consted char* argument.
6205         (get_emacs_configuration): Const return value.
6206         (opendir): Const argument.
6207         (stat): Casted converstion long->short.
6208         (stat): Removed ad hoc and questionable support for non-MSC compile.
6209         (sys_pipe): Removed unused auto variable.
6210         (_sys_read_ahead): Removed calls to DebPrint.
6211         (sys_read): Ditto, in 2 places.
6212         (term_ntproc): Added unused int parameter to signal handler, to
6213         avoid a warning when compiling a call to signal().
6214         (msw_sigset): Properly return old signandler or NULL instead of void.
6215
6216         * floatfns.c (Flogb): Casted arguments to unary minus to signed.
6217
6218         * gmalloc.c (morecore): Ditto.
6219         (_free_internal): Ditto.
6220
6221         * lread.c (parse_integer): Ditto.
6222
6223         * dired-msw.c: Added several include files.
6224
6225         * cmdloop.c (Fcommand_loop_1): Added Microsoft C to the Big List
6226         of Compilers to Shut Up.
6227
6228         * callproc.c: Added #includes to suppress warnings under Windows.
6229         (init_callproc): Removed #if0'ed code and unused variables.
6230
6231 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
6232
6233         * device-msw.c (mswindows_device_system_metrics): do planes in a
6234         way consistent with X.
6235
6236         * glyphs-msw.c (mswindows_initialize_image_instance_mask): don't
6237         use SetPixel, use DIBits functions.
6238         (xpm_to_eimage): frob colors more closely like xpm deos.
6239
6240         * toolbar-msw.c: only resize bitmaps when shrinking. Adjust look
6241         to be closer to X version.
6242
6243         * event-msw.c: use tooltip string directly.
6244
6245         * redisplay-msw.c: reinstate Kirill's bg pixmap change.
6246
6247         * objects-msw.c: frob rgb colors that only Kyle uses.
6248
6249         * dialog-msw.c (button_width): INLINE -> inline.
6250
6251 1998-05-23  SL Baur  <steve@altair.xemacs.org>
6252
6253         * getloadavg.c (getloadavg): Fix typo.
6254
6255 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
6256
6257         * objects-msw.c (mswindows_initialize_font_instance): Added support
6258         for font character sets.
6259         Replaced 'XXX' with '####' in comments throughout the file.
6260
6261 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
6262
6263         * emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and
6264         console_type_create_dialog_mswindows(), to initialize Windows dialog
6265         support.
6266
6267         * symsinit.h: Prototyped the above functions.
6268
6269         * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency
6270         checks to dialog.c...
6271
6272         * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a
6273         device must support dialog boxes, and the descriptor must supply at
6274         least one button.
6275
6276         * dialog-msw.c: New file, dialogs for Windows.
6277
6278 1998-05-21  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
6279
6280         * eldap.c (ldap_search_unwind): Return Qnil instead of nothing
6281         (Fldap_search_internal): Removed unused variable `err'
6282
6283         * eldap.h: Moved Lisp_LDAP declaration here instead of using a
6284         forward declaration
6285
6286 1998-05-17  Martin Buchholz  <martin@xemacs.org>
6287
6288         * eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is
6289         defined.  Therefore there is no need to handle the case when
6290         HAVE_LDAP is undefined.  Similarily, there is no reason to have
6291         any code wrapped within `#ifdef emacs', since this code is only
6292         useful within an emacs.  This simplifies the code significantly.
6293
6294         * inline.c: Include eldap.h only if HAVE_LDAP.
6295         * inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h
6296         already does that.
6297
6298 1998-05-21  Kirill M. Katsnelson  <kkm@kis.ru>
6299
6300         * unexnt.c (copy_executable_and_dump_data_section): Suppress
6301         printing dump stats when building without DEBUG_XEMACS.
6302         (dump_bss_and_heap): Ditto.
6303
6304 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
6305
6306         * gnuclient.c: don't suppress window system if there is no display
6307         and we are running under mswindows. send 'mswindows device type if
6308         we are in this situation.
6309
6310 1998-05-20  Andy Piper  <andyp@parallax.co.uk>
6311
6312         * general.c:
6313         * lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c.
6314
6315         * glyphs-msw.c: change cursor imgae type name to resource. Fix
6316         some nits.
6317
6318 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
6319
6320         * EmacsFrame.c (Xt_StringToScrollBarPlacement):  Added support for
6321         {top,bottom}-{left,right} values in addition to
6322         {top,bottom}_{left,right}.
6323
6324 1998-05-18  Hrvoje Niksic  <hniksic@srce.hr>
6325
6326         * fileio.c (Fmake_temp_name): Remove unreached code.
6327
6328         * process-nt.c (validate_signal_number): Use
6329         signal_simple_error().
6330
6331 1998-05-19  Martin Buchholz  <martin@xemacs.org>
6332
6333         * unexhp9k800.c:
6334         * sound.c (vars_of_sound):
6335         * sysdep.c (reset_sigio_on_device):
6336         * window.c (window_bottom_gutter_height):
6337         unexhp9k800.c:258: warning: implicit declaration of function
6338         `calculate_checksum'
6339         sound.c:604: warning: implicit declaration of function `vars_of_hpplay'
6340         sysdep.c:1012: warning: unused variable `owner'
6341         window.c:993: warning: `window_right_toolbar_width' defined but not used
6342
6343 1998-05-19  Andy Piper  <andyp@parallax.co.uk>
6344
6345         * glyphs-msw.c (mswindows_create_resized_mask)
6346         (mswindows_create_resized_bitmap): new funnctions split out from
6347         mswindows_resize_dibitmap_instance.
6348
6349         * glyphs-msw.h: declare new resize functions.
6350
6351         * toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize
6352         functions so that the original bitmaps are preserved.
6353
6354         * sheap.c: fixup static heap exhausted error to avoid FAQs.
6355
6356         * redisplay-msw.c (mswindows_output_blank): fixup brush from bg
6357         color if we are trying to output 0 depth bg pixmap.
6358
6359         * scrollbar-msw.c: warning elimination.
6360
6361 1998-05-18  Martin Buchholz  <martin@xemacs.org>
6362
6363         * frame-x.c (x_update_frame_external_traits): Start preprocessor
6364         directives in column 1.
6365
6366         * search.c (skip_chars): Avoid using xzero with arrays, since some
6367         compilers get confused by the construct &array.
6368
6369 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
6370
6371         * objects-msw.h:
6372         * objects-msw.c: Changed the charset value for a new font from
6373         "don't care" to "ansi".
6374
6375         * glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix.
6376
6377 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
6378
6379         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift
6380         modifier on control chars.
6381         Use IsCharAlpha() instead of isaplha().
6382
6383 1998-05-19  Kazuyuki IENAGA <ienaga@jsys.co.jp>
6384
6385         * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, "").
6386
6387 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
6388
6389         * objects-msw.c (mswindows_initialize_font_instance): Use ANSI
6390         charset when creating font.
6391         (mswindows_initialize_color_instance): Do not create brush along
6392         with a color.
6393         (mswindows_finalize_color_instance): Do not delete it then.
6394
6395         * objects-msw.h (struct mswindows_color_instance_data): Removed
6396         brush slot, and corresponding accessor macro.
6397
6398 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
6399
6400         * toolbar.c: Removed toolbar_data lrecord implementation.
6401         (mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data
6402         with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS).
6403         (compute_frame_toolbar_buttons): Ditto.
6404         (CHECK_TOOLBAR): Ditto.
6405         (set_frame_toolbar): Removed allocation of toolbar_data lrecord.
6406         (update_frame_toolbars): Do not check for changed buffer
6407         here. Toolbar information is provided by cached specs in
6408         windows. The check for buffer is eliminated becuase toolbars are
6409         marked changed in set_frame_selected_window() in frame.c
6410         Added check for changed toolbars geometry.
6411         (compute_frame_toolbars_data): Removed unused second parameter;
6412         Adjusted callers of this static function throughout the file.
6413         (init_frame_toolbars): Initialize current_toolbar_size.
6414         (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of
6415         what is its current expansion, for clarity.
6416         (init_frame_toolbars): Ditto.
6417         (init_device_toolbars): Ditto.
6418         (init_global_toolbars): Ditto.
6419
6420         * toolbar.h: Removed definition of toolbar_data lrecord.
6421         Added accessor macros FRAME_TOOLBAR_BUTTONS and
6422         FRAME_CURRENT_TOOLBAR_SIZE.
6423         Added macro DEVICE_SUPPORTS_TOOLBARS_P.
6424
6425         * toolbar-x.c (x_output_toolbar): The same change as in
6426         toolbar-msw.c
6427         (x_output_toolbar): Ditto.
6428         (x_redraw_exposed_toolbar): Ditto.
6429
6430         * toolbar-msw.c (mswindows_output_toolbar): Retrieve current
6431         buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro.
6432         (mswindows_output_toolbar): Ditto.
6433         (mswindows_output_toolbar): Ditto.
6434
6435         * frame.c (mark_frame): Removed marking of arrays, according to
6436         frameslots.h change.
6437         (nuke_all_frame_slots): Ditto.
6438         (set_frame_selected_window): Mark toolbars changed when
6439         last_nonminibuf_window changes.
6440
6441         * frame.h (struct frame): Moved some slots to frameslots.h.
6442         Added current_toolbar_size array.
6443         Changed references from toolbar_data to toolbar_buttons in macros
6444         FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE,
6445         FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and
6446         FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH.
6447
6448         * frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h
6449         Moved arrays of lisp objects here from frame.h: toolbar_size,
6450         toolbar_visible_p, toolbar_border_width.
6451         Removed toolbar_data slot and added toolbar_buttons.
6452
6453 1998-05-17  Kirill M. Katsnelson  <kkm@kis.ru>
6454
6455         * symsinit.h: Externed syms_of_process_nt()
6456
6457         * emacs.c (main_1): Call syms_of_process_nt()
6458
6459         * process-nt.c: Quote process arguments by a call to Lisp function
6460         `nt-quote-process-args'.
6461         (syms_of_process_nt): New function.
6462         (nt_send_process): Flush data stream after each write, to avoid
6463         leaving buffered data.
6464         (nt_send_process): When blocked on process output, wait for
6465         process to slurp more for progressively increasing time intervals.
6466
6467 1998-05-17  Martin Buchholz  <martin@xemacs.org>
6468
6469         * window.c (have_undivided_common_edge): Make file-local function
6470         static.
6471         (map_windows): Return 0 if all map functions successful.
6472         Fix typos.
6473
6474         * winslots.h: Use unlikely names for local variables in macros to
6475         avoid shadowing warnings.
6476
6477 1998-05-17  Andy Piper  <andyp@parallax.co.uk>
6478
6479         * toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width
6480         so that we re-output if the toolbar size has changed.
6481
6482 1998-05-17  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
6483
6484         * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c.
6485
6486         * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c.
6487
6488         * unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully
6489         greater).
6490
6491 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
6492
6493         * glyphs-msw.c: Defined OEMRESOURCE before including windows.h to
6494         get bitmap manifest constants defined.
6495
6496         * console-msw.h: Include system files in angle brackets, not in
6497         quotes.
6498
6499         * window.c (specifier_vars_of_window): Fixed a typo in
6500         `vertical-divider-line-width' docstirng.
6501
6502 1998-05-16  Olivier Galibert  <galibert@pobox.com>
6503
6504         * line-number.c (delete_invalidate_line_number_cache): Use an
6505         EMACS_INT.
6506         (buffer_line_number): Remove dangerous, plain wrong when using
6507         64bits emacs ints, cast.
6508
6509         * insdel.c (buffer_delete_range): Use an EMACS_INT.
6510
6511         * cmds.c (Fforward_line): Use EMACS_INTs.
6512
6513         * search.c (bi_scan_buffer): Change to use EMACS_INTs.
6514         (scan_buffer): Ditto.
6515         (bi_find_next_newline_no_quit): Remove useless cast.
6516         (find_next_newline_no_quit): Ditto.
6517         (find_next_newline): Ditto.
6518         (find_before_next_newline): Use an EMACS_INT.
6519
6520         * lisp.h: Change scan_buffer to pass EMACS_INTs.
6521
6522 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
6523
6524         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
6525
6526         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
6527
6528         * gui-x.c (popup_selection_callback): Use it.
6529
6530         * gui.h (get_callback): Declare it.
6531
6532         * gui.c (get_callback): New function.
6533
6534 1998-05-15  SL Baur  <steve@altair.xemacs.org>
6535
6536         * window.c (have_undivided_common_edge): Guard scrollbar specific
6537         stuff.
6538         (window_needs_vertical_divider_1): Ditto.
6539
6540 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
6541
6542         * emacs.c (decode_path): Eliminate compiler warning.
6543         (Fdecode_path): Renamed to Fsplit_path.
6544         (Fsplit_string_by_char): New function.
6545
6546 1998-05-14  Damon Lipparelli  <lipp@primus.com>
6547
6548         * winslots.h: close comment
6549
6550 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
6551
6552         * callproc.c: Removed declared and unused variable Qbuffer_file_type.
6553
6554         * bufslots.h: Removed buffer_file_type slot.
6555
6556         * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from
6557         buffer local flags.
6558         (complex_vars_of_buffer): Removed buffer-file-type variable and
6559         its default reference.
6560
6561 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
6562
6563         * faces.c (complex_vars_of_faces): Defined
6564         Vvertical_divider_face.
6565         (vars_of_faces): Staticpro it.
6566
6567         * faces.h: Externed Vvertical_divider_face.
6568
6569         * redisplay-x.c (x_output_vertical_divider): Use
6570         Vvertical_divider_face to draw the divider instead of modeline
6571         face.
6572
6573         * redisplay-msw.c (mswindows_output_vertical_divider): Draw
6574         divider face using Vvertical_divider_face background.
6575         Fix drawing spacing gaps around the divider.
6576
6577 1998-05-14  Didier Verna  <verna@inf.enst.fr>
6578
6579         * redisplay-x.c (x_output_vertical_divider): removed hard-wired
6580         values for the vertical divider line width and spacing. Use the
6581         cached values from the window structure instead.
6582         (x_divider_width): ditto.
6583
6584         * window.c (specifier_vars_of_window): new specifiers:
6585         vertical-divier -line-width and -spacing.
6586         (vertical_divider_global_width_changed): formerly known as
6587         vertical_divider_shadow_thickness_changed.
6588
6589         * winslots.h: new slots: vertical_specifier _line_width and
6590         _spacing. Plus corrected a comment typo.
6591
6592 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
6593
6594         * window.h: Declared window_divider_width().
6595
6596         * console-stream.c (stream_divider_width): Removed method.
6597         (console_type_create_stream): And declaration for it.
6598
6599         * redisplay.c (pixel_to_glyph_translation): Use
6600         window_divider_width() instead of divider_width redisplay method.
6601         (pixel_to_glyph_translation): Fix top divider edge calculation
6602         when scrollbar is on top.
6603
6604         * window.c (window_divider_width): New function, an outphaser for
6605         divider_width redisplay method.
6606         (window_right_gutter_width): Use it.
6607         (specifier_vars_of_window): For vertical-divider-{spacing,line-width}
6608         specifiers, set fallback values differently on TTYs, and document
6609         the behavior of these on TTYs in the docstrings.
6610
6611         * scrollbar.c (update_scrollbar_instance): Use
6612         window_divider_width() instead of divider_width redisplay method.
6613
6614         * console.h (struct console_methods): Removed divider_width_method.
6615
6616         * redisplay-tty.c (tty_divider_width): Removed device method.
6617         (console_type_create_redisplay_tty): Removed definition for it.
6618         (tty_output_vertical_divider): Respect the value returned by
6619         window_divider_width thus divider line width specification.
6620
6621         * redisplay-msw.c (mswindows_divider_width): Removed device method.
6622         (console_type_create_redisplay_mswindows): Removed definition for it.
6623         (mswinodws_output_vertical_divider): Respect the value returned by
6624         window_divider_width thus divider line width specification.
6625
6626 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
6627
6628         * toolbar-msw.c: guess toolbar frame size a bit more accurately.
6629
6630 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
6631
6632         * glyphs-msw.c: resource loading implementation.
6633         (cursor_normalize): new function.
6634         (cursor_validate): ditto.
6635         (cursor_instantiate): ditto.
6636         (cursor_name_to_resource): ditto.
6637         (cursor_possible_dest_types): ditto.
6638         (check_valid_symbol): ditto.
6639         (check_valid_string_or_int): ditto.
6640
6641 1998-05-14  Martin Buchholz  <martin@xemacs.org>
6642
6643         * sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like
6644         VINTR and VQUIT.
6645
6646         * process-unix.c (process_signal_char): Use VSUSP instead of
6647         non-standard VSWTCH.  Always prefer VSUSP to VSWTCH.
6648
6649 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
6650
6651         * specifier.c (specifier_instance): Change locale precedence of
6652         instantiation so window locale has higher priority than buffer
6653         locale.
6654         (Fspecifier_instance): Reflect this in docstring.
6655         (Fadd_spec_list_to_specifier): Ditto.
6656         (Fadd_spec_to_specifier): Ditto.
6657         (Fremove_specifier): Ditto.
6658
6659 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
6660
6661         ** Dialog separation into a device method from Andy Piper
6662
6663         * emacs.c (main_1): Call console_type_create_dialog_x().
6664
6665         * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted
6666         into this device method.
6667         (console_type_create_dialog_x): New function.
6668
6669         * dialog.c (Fpopup_dialog_box): New function.
6670         (syms_of_dialog): Defsubr it.
6671
6672         * console.h (struct console_methods): Declared
6673         popup_dialog_box_method().
6674
6675         * symsinit.h: Defined console_type_create_dialog_{x,mswindows}
6676
6677 1998-05-14  Oliver Graf <ograf@fga.de>
6678
6679         * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created
6680         * frame-x.c (x_cde_transfer_callback): checked for merge errors
6681
6682 1998-05-13  Oliver Graf <ograf@fga.de>
6683
6684         * dragdrop.c (vars_of_dragdrop): provide dragdrop-api
6685
6686 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
6687
6688         * console.h (device_metrics): Removed dbcs, input-method-editor
6689         and right-to-left metrics.
6690
6691         * device.c (Fdevice_system_metric): Ditto.
6692         (Fdevice_system_metrics): Ditto.
6693         (syms_of_device): Ditto.
6694         (Fdevice_system_metric): Swapped DEVICE and METRIC parameters back
6695         again.
6696
6697 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
6698
6699         * line-number.h (mark_line_number_cache): Remove unused
6700         declaration.
6701
6702         * line-number.c (LINE_NUMBER_FAR): Increase to 32768.
6703         (get_nearest_line_number): Simplify.
6704         (add_position_to_cache): Make the old marker point nowhere.
6705
6706 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
6707
6708         ** Renamed window-divider-map => vertical-divider-map
6709         and event-over-divider-p => event-over-vertical-divider-p,
6710         in the following files/functions:
6711         * events.h:
6712         * events.c (Fevent_over_divider_p):
6713         * keymap.c (get_relevant_keymaps):
6714         (vars_of_keymap):
6715
6716         * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER.
6717
6718         * redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER.
6719
6720 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
6721
6722         * window.c (vertical_divider_changed_in_window): Renamed so.
6723         (specifier_vars_of_window): Defined Vvertical_divider_draggable_p.
6724         (window_needs_vertical_divider_1): Decide whether we need it based
6725         on the value of the above specifier. If separators are unwanted,
6726         put them only if there's no scrollbar between this window and its
6727         right neighbor.
6728         (have_undivided_common_edge): New function, helper for the above.
6729         (window_needs_vertical_divider): Return either a cached value,
6730         or clauclate and cache one.
6731         (invalidate_vertical_divider_cache_in_window): Implemented.
6732         (map_windows): Changed return type to int, return the value from
6733         MAPFUN.
6734
6735         * window.h: Prototype invalidate_vertical_divider_cache_in_window.
6736         (struct window): Added need_vertical_divider_p and
6737         need_vertical_divider_valid_p.
6738
6739         * winslots.h: Added vertical_divider_draggable_p slot.
6740
6741         * scrollbar.c (vertical_scrollbar_changed_in_window): Implemented.
6742         (specifier_vars_of_scrollbar): Used it in all vertical specifiers.
6743
6744         * frame.c (invalidate_vertical_divider_cache_in_frame): New function.
6745
6746         * frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call
6747         invalidate_vertical_divider_cache_in_frame().
6748         Prototype it.
6749
6750 1998-05-14  Andy Piper  <andyp@parallax.co.uk>
6751
6752         * toolbar-msw.c: provide correct parameters to TB_SETROWS.
6753
6754         * glyphs-msw.c (mswindows_initialize_image_instance_mask): size
6755         masks correctly and don't select 0.
6756
6757 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
6758
6759         * winslots.h: New file, declaration of some struct window and
6760         struct saved_window members.
6761
6762         * window.h (struct window): Include it, with required preprocessor
6763         magic.
6764
6765         * window.c (mark_window): Ditto.
6766         (allocate_window): Ditto.
6767         (struct saved_window): Ditto.
6768         (mark_window_config): Ditto.
6769         (saved_window_equal): Ditto.
6770         (Fset_window_configuration): Ditto.
6771
6772 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
6773
6774         * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix.
6775
6776 1998-05-12  Didier Verna  <verna@inf.enst.fr>
6777
6778         * redisplay-x.c (x_output_vertical_divider): draw shadows around
6779         the divider line. The shadow thickness is currently
6780         hard-wired. This will probably be turned into a specifier soon.
6781
6782 1998-05-12  Didier Verna  <verna@inf.enst.fr>
6783
6784         * console.h (struct console_methods): the divider_width console
6785         method now requires a struct window * argument.
6786
6787         * redisplay-x.c (x_divider_width): ditto. Plus remove
6788         X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS.
6789         (x_output_vertical_divider): give a depressed look when the shadow
6790         thickness is negative.
6791
6792         * console-stream.c (stream_divider_width): pass a struct window *
6793         argument.
6794
6795         * redisplay-tty.c (tty_divider_width): ditto.
6796
6797         * window.c (window_right_gutter_width): totdi.
6798
6799         * redisplay.c (generate_modeline): ittod.
6800
6801         * scrollbar.c (update_scrollbar_instance): ttido.
6802
6803         * redisplay-msw.c (mswindows_divider_width): ottid.
6804         WARNING: this enables to compile, but the feature is not functional.
6805
6806         * window.h (struct window): new field
6807         vertical_divider_shadow_thickness.
6808
6809         * window.c (specifier_vars_of_window): new specifier
6810         vertical-divider-shadow-thickness.
6811         (vertical_divider_shadow_thickness_changed): new function to
6812         inform redisplay that the window has changed.
6813         (mark_window): handle new field vertical_divider_shadow_thickness
6814         from struct window.
6815         (allocate_window): ditto.
6816         (saved_window_equal): toddi.
6817         (Fset_window_configuration): totid.
6818         (save_window_save): ttdio.
6819         (struct saved_window): new field vertical_divider_shadow_thickness.
6820
6821 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
6822
6823         * device-msw.c (mswindows_device_system_metrics): Support a deluge
6824         of metrics.
6825
6826 1998-05-12  Oliver Graf <ograf@fga.de>
6827
6828         * frame-x.c (x_cde_transfer_callback): fixed for the new protocol
6829         * event-Xt.c (x_event_to_emacs_event): C++ compability
6830
6831 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
6832
6833         * emacs.c (Fdecode_path): Default SEPCHAR to value of
6834         path-separator.
6835
6836 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
6837
6838         * emacs.c (vars_of_emacs): Do it here; change the meaning of
6839         Vpath_separator.
6840
6841         * fileio.c (vars_of_fileio): Don't define Vpath_separator here.
6842
6843 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
6844
6845         * emacs.c (decode_path_1): New function.
6846         (decode_path): Use it.
6847         (Fdecode_path): Renamed from Fdecode_path_internal; use
6848         decode_path_1.
6849
6850 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
6851
6852         * macros.c (Fzap_last_kbd_macro_event): New function.
6853         (Fend_kbd_macro): Remove REMOVE_LAST kludge.
6854
6855 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
6856
6857         * redisplay-msw.c (mswindows_output_dibitmap_region): make sure
6858         multiple bitmaps are output vertically as well as horizontally.
6859         * (mswindows_output_dibitmap): don't cope with bitmap boundaries
6860         crossing lines this is handled by
6861         mswindows_output_dibitmap_region.
6862
6863 1998-05-12  Martin Buchholz  <martin@xemacs.org>
6864
6865         * inline.c: Include eldap.h
6866
6867         * menubar-x.c (x_update_frame_menubar_internal):
6868         Remove: unused variable `container'
6869
6870 1998-05-11  Martin Buchholz  <martin@xemacs.org>
6871
6872         * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly.
6873         Unfortunately, the resulting temacs still cannot dump.
6874
6875         * symbols.c (symbol_is_constant):
6876         (verify_ok_for_buffer_local):
6877         -Wswitch Warning suppression - add default case to switches.
6878
6879         * redisplay.c (decode_mode_spec): Remove unused variables,
6880         Replace Fcoding_system_property (codesys, Qmnemonic) with
6881         XCODING_SYSTEM_MNEMONIC (codesys);
6882         Fcoding_system_property is for users.
6883
6884         * buffer.c:
6885         * fileio.c:
6886         * lread.c:
6887         * xselect.c:
6888         Change empty docstrings into no doc strings at all.
6889         Fix bogus FSF-format docstrings.
6890
6891         * extents.c:
6892         Standardize docstrings.
6893
6894         * floatfns.c:
6895         Explain problems with matherr.
6896
6897         * glyphs.c:  make DEFUNs etags-readable, i.e. single-line
6898
6899         * syssignal.h:
6900         if BROKEN_SIGIO, then SIGIO wants to be undefined.
6901         if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\
6902         Fix the weird resultant interaction (causes windows problems)
6903
6904         * gdbinit:
6905         * dbxrc:
6906         Take new EMACSBOOTSTRAPLOADPATH into account.
6907         Update documentation strings
6908
6909         * Makefile.in.in:
6910         - Adjust for luser's CDPATH being set to something weird.
6911         - Take into account bash 2.02's tendency to print the cwd when
6912           using CDPATH.  Always use `cd ./foo' instead of `cd foo'.
6913         - fix the run-temacs target to use $(DUMPENV)
6914         - fix the run-puremacs target to use $(DUMPENV)
6915         - fix the `depend' target to properly $(RM) the right files
6916         - Generate a better TAGS file for XEmacs' lisp code using
6917           hand-crafted regexps.
6918         - Use standard coding conventions for modules/Makefile.in
6919
6920 1998-05-12  Didier Verna  <verna@inf.enst.fr>
6921
6922         * redisplay.c: removed the scrolling modeline code that didn't
6923         make it for 21.0. To be continued ...
6924
6925 1998-05-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
6926
6927         * emacs.c (Fdecode_path_internal): Removed bogus handling of nil
6928         and empty string inputs.
6929
6930 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
6931
6932         * redisplay-x.c (x_output_vertical_divider): Fixed typo.
6933
6934 1998-05-10  Oliver Graf <ograf@fga.de>
6935
6936         * event-stream.c (enqueue_misc_user_event_pos): created
6937         * lisp.h (enqueue_misc_user_event_pos): prototype added
6938         * frame-x.c (x_cde_transfer_callback): debug code plus API changes
6939         * emacs.c: call vars_of_dragdrop
6940         * dragdrop.c (vars_of_dragdrop): provide dragdrop
6941
6942 1998-05-11  Oliver Graf <ograf@fga.de>
6943
6944         * frame-x.c (x_cde_transfer_callback): return at correct pos
6945         * event-Xt.c (x_event_to_emacs_event): changed format of drop
6946         object for MIME (see comment in dragdrop.c)
6947         * dragdrop.c: API change documented in comment
6948         removed provide of dragdrop [is provided by dragdrop.el]
6949
6950 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
6951
6952         * window.c (window_needs_vertical_divider): Enable vertical
6953         dividers for every non-rightmost window.
6954         (window_left_gutter_width): Left gutter consists of mythical
6955         toolbar and a virtual scrollbar.
6956         (window_right_gutter_width): The right one may have a divider
6957         also.
6958
6959         * scrollbar.c (update_scrollbar_instance): Position vertical
6960         scrollbar left to divider if the latter present.
6961
6962         * redisplay.h: Declared OVER_DIVIER constant.
6963
6964         * redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER
6965         case.
6966
6967         * redisplay-x.c (x_output_vertical_divider): Output divider along
6968         the right side of the window, down to window bottom. Swapped
6969         foreground and background colors so it is visible by default.
6970
6971         * redisplay-tty.c (tty_output_vertical_divider): Uncondiionally
6972         stick the divider to the right window side.
6973
6974         * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed
6975         deadbox painting.
6976         (mswindows_divider_width): Ask system for user preferred value.
6977         (mswindows_output_vertical_divider): Always output the divider on
6978         the right side of a window, down to bottom.
6979
6980         * keymap.c (get_relevant_keymaps): Route mouse button events which
6981         happened over a window divider through window-divider-map.
6982         (Fkey_binding): Documented that in the docstring.
6983         Defined the variable Vwindow_divider_map.
6984
6985         * events.c (Fevent_over_divider_p): Added this function.
6986
6987         * events.h: EXFUNed it.
6988
6989 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
6990
6991         * toolbar.c (update_frame_toolbars): Re-layout frame windows if
6992         toolbar geometry is suspected to change.
6993
6994 1998-05-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6995
6996         * src/device-msw.c
6997         * src/event-msw.c
6998         Condition dnd and dde code on HAVE_DRAGNDROP.
6999
7000 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7001
7002         * events.c (format_event_object): Print space as SPC etc.
7003
7004 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7005
7006         * print.c (print_internal): In the default case, abort() if
7007         ERROR_CHECK_TYPECHECK.
7008
7009         * fileio.c (Fmake_temp_name): Doc fix.
7010
7011 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7012
7013         * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS.
7014
7015         * undo.c (Fprimitive_undo): Fixed typo.
7016
7017 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7018
7019         * fns.c (concat): Signal error on integer argument.
7020
7021 1998-05-10  Kirill M. Katsnelson  <kkm@kis.ru>
7022
7023         * console.h (device_metrics): Prefixed each constatnt with DM_
7024
7025         * device.c: (Fdevice_system_metric): Renamed so from plural form
7026         (metrics); Changed parameters order and added DEFAULT parameter;
7027         Unabbreviated some metric constants; Fixed and untabified doc string.
7028         (Fdevice_system_metrics): Added. Returns a plist of all provided
7029         metrics.
7030
7031         * device-msw.c (mswindows_device_system_metrics): Renamed
7032         device_metrics enum constants.
7033         Return Qunbound instead of Qnil.
7034
7035         * device-tty.c (tty_device_system_metrics): Ditto.
7036
7037         * device-x.c (x_device_system_metrics): Ditto.
7038
7039 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
7040
7041         * redisplay-msw.c: implement background pixmaps (really!). Make
7042         sure bg color is transparent if we have bg pmaps.
7043         * (mswindows_output_string) (mswindows_clear_region): output bg
7044         pmap if required.
7045         * (mswindows_output_dibitmap_region): new function.
7046         * (mswindows_output_dibitmap): output offset pixmaps, blt masks in
7047         the bg color rather than transparently.
7048
7049         * toolbar-msw.c: use masks if they exist.
7050
7051         * glyphs-msw.c: set up masks correctly.
7052
7053         * event-msw.c: typedef SOCKET if cygwin and not msg select().
7054
7055 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7056
7057         * regex.c (re_match_2_internal): Check for quit.
7058
7059 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7060
7061         * frame.c (Ffocus_frame): New function.