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