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