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