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