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