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