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