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