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