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