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