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