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