Sync with r21-2-26.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2
3         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4
5         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
6         (MAX_CHAR_OBS_94x94): Deleted.
7
8 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
9
10         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
11
12         * char-ucs.h (MAX_CHAR_BMP): New macro.
13
14 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
15
16         * text-coding.c: Sync with r21-2-24.
17
18 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
19
20         * file-coding.c: Modify for UTF-2000.
21
22 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
23
24         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
25         to 0.13 (Takaida).
26
27 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
28
29         * mule-charset.c (split_builtin_char): Delete builtin support for
30         `katakana-jisx0201'.
31         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
32         BMP area in builtin representation.
33
34         * char-ucs.h (MAKE_CHAR): Delete builtin support for
35         `Vcharset_katakana_jisx0201'.
36
37 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
38
39         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
40         (Qisolated): New variable.
41         (Qinitial): New variable.
42         (Qmedial): New variable.
43         (Qfinal): New variable.
44         (Qvertical): New variable.
45         (Qsmall): New variable.
46         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
47         `Qvertical' and `Qsmall'.
48         (Qmojikyo_pj_[1 .. 21]): New variable.
49         (syms_of_mule_charset): Add new symbols `isolated', `initial',
50         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
51         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
52         .. 21]'.
53
54 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
55
56         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
57         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
58         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
59
60 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
61
62         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
63         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
64         BMP.
65         (Qjapanese_jisx0208_1990): New variable.
66         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
67         (complex_vars_of_mule_charset): Add new coded-charset
68         `japanese-jisx0208-1990'.
69
70         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
71         (MIN_CHAR_JIS_X0208_1990): New macro.
72         (MAX_CHAR_JIS_X0208_1990): New macro.
73
74 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
75
76         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
77         coded-charset is not found.
78
79 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
80
81         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
82         (Fdefine_char): Use `Fmake_char'.
83
84 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
85
86         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
87         (Vcharset_hiragana_jisx0208): Deleted.
88         (Vcharset_katakana_jisx0208): Deleted.
89         (Qideograph_daikanwa): New variable.
90         (Qhiragana_jisx0208): Deleted.
91         (Qkatakana_jisx0208): Deleted.
92         (split_builtin_char): Split `ideograph-daikanwa'.
93         (Fsplit_char): New implementation for UTF-2000.
94         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
95         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
96         (complex_vars_of_mule_charset): Add new coded-charset
97         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
98         `katakana-jisx0208'.
99
100         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
101         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
102         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
103         (MIN_CHAR_DAIKANWA): New macro.
104         (MAX_CHAR_DAIKANWA): New macro.
105
106 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
107
108         * data.c (Fstring_to_number): Don't recognize floating point if
109         base is not 10.
110
111 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
112
113         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
114
115 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
116
117         * mule-charset.c (Qsquare): New variable.
118         (to_char_code): Add `Qsquare'.
119         (syms_of_mule_charset): Add new symbol `square'.
120
121 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
122
123         * mule-charset.c (Qcircle): New variable.
124         (to_char_code): Add `Qcircle'.
125         (syms_of_mule_charset): Add new symbol `circle'.
126
127 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
128
129         * mule-charset.c (Qfont): New variable.
130         (to_char_code): Add `Qfont'.
131         (syms_of_mule_charset): Add new symbol `font'.
132
133 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
134
135         * mule-charset.c (Qsub): New variable.
136         (to_char_code): Add `Qsub'.
137         (syms_of_mule_charset): Add new symbol `sub'.
138
139 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
140
141         * mule-charset.c (Fput_char_attribute): Convert each element of
142         VALUE to GL position if ATTRIBUTE is a GR-set,
143
144 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
145
146         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
147         coded-charset is a GR-set.
148
149 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
150
151         * mule-charset.c (Fput_char_attribute): Check each element of
152         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
153
154 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
155
156         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
157         UTF-2000.
158         (Qethiopic_ucs): New variable in UTF-2000.
159         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
160         (complex_vars_of_mule_charset): Add new coded-charset
161         `ethiopic-ucs' in UTF-2000.
162
163         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
164         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
165         9)'.
166         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
167         10)'.
168         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
169
170 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
171
172         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
173         `ascii'.
174
175 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
176
177         * mule-charset.c (Vcharacter_variant_table): New variable.
178         (Q_ucs): New variable.
179         (Fchar_variants): New function.
180         (Fput_char_attribute): Register `->ucs' value to
181         `Vcharacter_variant_table'.
182         (syms_of_mule_charset): Add new function `char-variants' and new
183         symbol `->ucs'.
184         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
185
186 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
187
188         * mule-charset.c (get_char_code_table): Allow negative character
189         code.
190         (put_char_code_table): Likewise.
191         (Vcharacter_composition_table): New variable.
192         (Q_decomposition): New variable.
193         (Qwide): New variable.
194         (Qnarrow): New variable.
195         (Qcompat): New variable.
196         (QnoBreak): New variable.
197         (Qsuper): New variable.
198         (Qfraction): New variable.
199         (to_char_code): New function.
200         (Fget_composite_char): New function.
201         (Fput_char_attribute): Register `->decomposition' value to
202         `Vcharacter_composition_table'.
203         (syms_of_mule_charset): Add new function `get-composite-char', new
204         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
205         `super' and `fraction'.
206         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
207
208 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
209
210         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
211         character; copy the return value.
212
213 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
214
215         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
216
217         * mule-charset.c (range_charset_code_point): Must use make_int.
218         (split_builtin_char): New function.
219
220 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
221
222         * mule-charset.c (char_byte_table): Change name from
223         "char-code-table" to "char-byte-table".
224         (mark_char_code_table): New function.
225         (char_code_table_equal): New function.
226         (char_code_table_hash): New function.
227         (char_code_table_description): New constant.
228         (char_code_table): New type.
229         (make_char_code_table): New function.
230         (copy_char_code_table): New function.
231         (get_char_code_table): Modify for `char_code_table' type.
232         (put_char_code_table): Likewise.
233         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
234         (Kashiwara).
235
236         * char-ucs.h (char_code_table): New type.
237         (XCHAR_CODE_TABLE): New macro.
238         (XSETCHAR_CODE_TABLE): New macro.
239         (CHAR_CODE_TABLE_P): New macro.
240         (GC_CHAR_CODE_TABLE_P): New macro.
241         (struct Lisp_Char_Code_Table): New structure.
242
243 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
244
245         * mule-charset.c (Fmake_charset): Setup byte_offset for
246         {94|96}^n-set.
247
248 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
249
250         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
251         character.
252
253 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
254
255         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
256         is found.
257
258 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
259
260         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
261         charset, it is regarded as a charset.
262         (put_char_attribute): New function in UTF-2000.
263         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
264         charset, mapping-table of the charset is modified.
265         (Fdefine_char): New function in UTF-2000.
266         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
267         `Fput_char_attribute'.
268         (syms_of_mule_charset): Add new function `define-char' and new
269         symbol `ucs' in UTF-2000.
270         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
271
272 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
273
274         * mule-charset.c (Fcharset_name): Define `byte_offset' in
275         non-UTF-2000 configuration.
276
277 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
278
279         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
280         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
281
282         * mule-charset.c (mark_charset): `cs->encoding_table' has been
283         deleted.
284         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
285         (Fset_charset_mapping_table): Likewise.
286
287         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
288         (CHARSET_ENCODING_TABLE): Delete.
289         (XCHARSET_ENCODING_TABLE): Delete.
290         (charset_code_point): New interface.
291
292 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
293
294         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
295         instead of `charset_get_byte1' and `charset_get_byte2'.
296
297         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
298         (charset_get_byte2): Deleted.
299
300 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
301
302         * char-ucs.h (SPLIT_CHAR): New inline function.
303         (breakup_char_1): Use `SPLIT_CHAR'.
304
305         * mule-charset.c (range_charset_code_point): New function.
306         (charset_code_point): New function.
307
308         * char-ucs.h (range_charset_code_point): New interface.
309         (breakup_char_1): Use `range_charset_code_point'.
310
311 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
312
313         * mule-charset.c (Fmake_charset): Delete unused local variable
314         `code_offset'.
315
316         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
317         (breakup_char_1): Find a charset and code-point in
318         `Vcharacter_attribute_table'.
319
320 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
321
322         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
323         to 0.10 (Yao).
324
325 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
326
327         * mule-charset.c (Vcharacter_attribute_table): New variable.
328         (Fchar_attribute_alist): New function.
329         (Fget_char_attribute): New function.
330         (Fput_char_attribute): New function.
331         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
332         too.
333         (syms_of_mule_charset): Add new function `char-attribute-alist',
334         `get-char-attribute' and `put-char-attribute'.
335         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
336
337 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
338
339         * mule-charset.c (Fmake_charset): Just use
340         `get_unallocated_leading_byte'.
341
342         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
343         sets; don't use final-byte based number for private sets.
344
345 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
346
347         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
348         integer.
349
350 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
351
352         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
353         to 0.9.
354
355 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
356
357         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
358         of `CHAR_LEADING_BYTE' in UTF-2000.
359
360         * insdel.c (find_charsets_in_bufbyte_string): Use
361         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
362         (find_charsets_in_emchar_string): Likewise.
363
364         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
365         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
366
367         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
368         (CHAR_CHARSET_ID): New macro.
369
370 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
371
372         * chartab.c (get_char_table): Don't use type `Charset_ID' for
373         charset-id - MIN_LEADING_BYTE.
374         (put_char_table): Likewise.
375
376 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
377
378         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
379         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
380         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
381         (CHARSET_ID_OFFSET): New macro.
382         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
383         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
384         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
385         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
386         4).
387         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
388         5).
389         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
390         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
391         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
392         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
393         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
394
395 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
396
397         * mule-charset.c (next_allocated_leading_byte): New variable in
398         UTF-2000.
399         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
400         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
401         (get_unallocated_leading_byte): Simply use
402         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
403         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
404         UTF-2000.
405
406         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
407         (MAX_LEADING_BYTE_PRIVATE): New macro.
408         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
409         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
410
411 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
412
413         * mule-charset.c (Fmake_charset): Allocate final-byte based
414         charset-id for 94-set, 96-set and 94x94-set.
415
416 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
417
418         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
419         ambiguous `else'.
420         (Fmake_charset): Likewise.
421         (complex_vars_of_mule_charset): Modify the font registry of
422         `ucs-bmp' not to match `Ethiopic-Unicode'.
423
424 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
425
426         * mule-charset.c (complex_vars_of_mule_charset): Add font
427         registory of `ucs-bmp'.
428
429 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
430
431         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
432         coded-charsets in `default-coded-charset-priority-list' when
433         breaking up a character.
434
435         * mule-charset.c (Vcharset_latin_viscii): New variable.
436         (Qlatin_viscii): New variable.
437         (make_charset): Don't use `decoding_table'.
438         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
439         byte_offset.
440         (Fset_charset_mapping_table): New implementation.
441         (syms_of_mule_charset): Add new symbol `latin-viscii'.
442         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
443         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
444         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
445         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
446         charset `latin_viscii'.
447
448         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
449         (CHARSET_TYPE_94X94): Change to 1 from 2.
450         (CHARSET_TYPE_96): Change to 2 from 1.
451         (CHARSET_TYPE_128): New macro.
452         (CHARSET_TYPE_128X128): Change to 5 from 4.
453         (CHARSET_TYPE_256): New macro.
454         (CHARSET_TYPE_256X256): Change to 7 from 5.
455         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
456
457 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
458
459         * text-coding.c (char_encode_shift_jis): Refer
460         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
461         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
462
463         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
464         (char_byte_table_equal): New function in UTF-2000.
465         (char_byte_table_hash): New function in UTF-2000.
466         (char_byte_table_description): New constant in UTF-2000.
467         (char_byte_table): New type in UTF-2000.
468         (make_char_byte_table): New function in UTF-2000.
469         (copy_char_byte_table): New function in UTF-2000.
470         (make_char_code_table): New macro in UTF-2000.
471         (get_char_code_table): New function in UTF-2000.
472         (put_char_code_table): New function in UTF-2000.
473         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
474         (charset_description): Add setting in UTF-2000.
475         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
476         `CHARSET_TO_BYTE1_TABLE(cs)'.
477         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
478         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
479         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
480         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
481         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
482         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
483         `CHARSET_TO_BYTE2_TABLE(cs)'.
484
485         * char-ucs.h (char_byte_table): New type.
486         (XCHAR_BYTE_TABLE): New macro.
487         (XSETCHAR_BYTE_TABLE): New macro.
488         (CHAR_BYTE_TABLE_P): New macro.
489         (GC_CHAR_BYTE_TABLE_P): New macro.
490         (struct Lisp_Char_Byte_Table): New structure.
491         (get_char_code_table): New interface.
492         (Emchar_to_byte_table): Deleted.
493         (get_byte_from_character_table): Deleted.
494         (struct Lisp_Charset): Add `encoding_table'; delete
495         `to_byte1_table' and `to_byte2_table'.
496         (CHARSET_ENCODING_TABLE): New macro.
497         (CHARSET_TO_BYTE1_TABLE): Deleted.
498         (CHARSET_TO_BYTE2_TABLE): Deleted.
499         (XCHARSET_ENCODING_TABLE): New macro.
500         (XCHARSET_TO_BYTE1_TABLE): Deleted.
501         (XCHARSET_TO_BYTE2_TABLE): Deleted.
502
503 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
504
505         * mule-charset.c (syms_of_mule_charset): Delete charset alias
506         `vietnamese-viscii-*'.
507
508 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
509
510         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
511         (Qvietnamese_viscii_upper): New variable.
512         (Fdefine_charset_alias): New function.
513         (syms_of_mule_charset): Add new function `define-charset-alias'.
514         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
515         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
516         `latin-viscii-*'.
517
518 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
519
520         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
521         (MAX_CHAR_OBS_94x94): New macro.
522         (breakup_char_1): Support obsolete XEmacs-UCS private code space
523         for 94x94 sets.
524
525         * mule-charset.c (put_byte_from_character_table): Change unit size
526         from 128 to 256.
527         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
528         not defined.
529         (Fmake_reverse_direction_charset): Modify dummy argument of
530         `make_charset' for non-UTF-2000 environment.
531
532 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
533
534         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
535
536         * mule-charset.c (destroy_byte_from_character_table): New macro.
537         (latin_jisx0201_to_ucs): Deleted.
538         (latin_iso8859_2_to_ucs): Deleted.
539         (latin_iso8859_3_to_ucs): Deleted.
540         (latin_iso8859_4_to_ucs): Deleted.
541         (latin_iso8859_9_to_ucs): Deleted.
542         (latin_viscii_lower_to_ucs): Deleted.
543         (latin_viscii_upper_to_ucs): Deleted.
544         (mark_charset): Mark `cs->decoding_table'.
545         (Fcharset_mapping_table): Fix DOC-string.
546         (Fset_charset_mapping_table): New function.
547         (syms_of_mule_charset): Add nwe function
548         `set-charset-mapping-table'.
549         (complex_vars_of_mule_charset): Don't setup and use
550         `latin_*_to_ucs'.
551
552 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
553
554         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
555         charset.
556
557 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
558
559         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
560         (Vcharset_katakana_jisx0208): New variable.
561         (Qhiragana_jisx0208): New variable.
562         (Qkatakana_jisx0208): New variable.
563         (make_charset): Add new argument `byte_offset'.
564         (charset_get_byte1): Modify for new coded-charset definition; use
565         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
566         `XCHARSET_BYTE_OFFSET'.
567         (Fmake_charset): Modify for `make_charset'.
568         (Fmake_reverse_direction_charset): Likewise.
569         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
570         `katakana-jisx0208'.
571         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
572         `.'  in font registry of charset `katakana-jisx0201',
573         `latin-jisx0201', `vietnamese-viscii-lower' and
574         `vietnamese-viscii-upper'; modify DOC-string of charset
575         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
576         registry of charset `japanese-jisx0208' not to use font for JIS
577         X0208:1990; add new charset `hiragana-jisx0208' and
578         `katakana-jisx0208'.
579
580         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
581         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
582         (struct Lisp_Charset): Add `byte_offset'.
583         (CHARSET_BYTE_OFFSET): New macro.
584         (XCHARSET_UCS_MIN): New macro.
585         (XCHARSET_UCS_MAX): New macro.
586         (XCHARSET_CODE_OFFSET): New macro.
587         (XCHARSET_BYTE_OFFSET): New macro.
588         (MIN_CHAR_HIRAGANA): New macro.
589         (MAX_CHAR_HIRAGANA): New macro.
590         (MIN_CHAR_KATAKANA): New macro.
591         (MAX_CHAR_KATAKANA): New macro.
592         (MAKE_CHAR): Modify for new coded-charset definition; use
593         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
594         `XCHARSET_BYTE_OFFSET'.
595
596 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
597
598         * mule-charset.c (CHAR96): Deleted.
599         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
600         <Lisp_Object>.
601         (latin_iso8859_2_to_ucs): Likewise.
602         (latin_iso8859_3_to_ucs): Likewise.
603         (latin_iso8859_4_to_ucs): Likewise.
604         (latin_iso8859_9_to_ucs): Likewise.
605         (latin_viscii_lower_to_ucs): Likewise.
606         (latin_viscii_upper_to_ucs): Likewise.
607         (latin_tcvn5712_to_ucs): Commented out.
608         (make_charset): Change type of argument `decoding_table' from
609         <Emchar*> to <Lisp_Object> [vector of characters].
610         (Fmake_charset): Modify for `make_charset'.
611         (Fmake_reverse_direction_charset): Likewise.
612         (Fcharset_mapping_table): New function in UTF-2000.
613         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
614         UTF-2000.
615         (complex_vars_of_mule_charset): Modify for type change of
616         `*_to_ucs'; modify for `make_charset'.
617
618         * char-ucs.h (struct Lisp_Charset): Change type of
619         `decoding_table' from <Emchar*> to <Lisp_Object>.
620         (MAKE_CHAR): Modify for new specification of `decoding_table'.
621
622 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
623
624         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
625         error with non-UTF-2000-Mule.
626
627 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
628
629         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
630         in lisp again].
631         (Vcharset_chinese_cns11643_4): Likewise.
632         (Vcharset_chinese_cns11643_5): Likewise.
633         (Vcharset_chinese_cns11643_6): Likewise.
634         (Vcharset_chinese_cns11643_7): Likewise.
635         (Qchinese_cns11643_3): Likewise.
636         (Qchinese_cns11643_4): Likewise.
637         (Qchinese_cns11643_5): Likewise.
638         (Qchinese_cns11643_6): Likewise.
639         (Qchinese_cns11643_7): Likewise.
640         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
641         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
642         and `chinese-cns11643-7' to lisp/mule/chinese.el.
643         (complex_vars_of_mule_charset): Likewise.
644
645 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
646
647         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
648         96-set.
649         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
650         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
651
652 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
653
654         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
655         0xFF60.
656         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
657         (breakup_char_1): Likewise.
658
659         * text-coding.c (char_encode_iso2022): Keep designated charsets if
660         one of them includes the specified character.
661
662 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
663
664         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
665
666 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
667
668         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
669
670 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
671
672         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
673         definition for non-UTF-2000 Mule.
674         (latin_iso8859_3_to_ucs): Likewise.
675         (latin_iso8859_4_to_ucs): Likewise.
676         (latin_iso8859_9_to_ucs): Likewise.
677         (latin_jisx0201_to_ucs): Likewise.
678         (MIN_CHAR_THAI): Likewise.
679         (MAX_CHAR_THAI): Likewise.
680         (MIN_CHAR_GREEK): Likewise.
681         (MAX_CHAR_GREEK): Likewise.
682         (MIN_CHAR_HEBREW): Likewise.
683         (MAX_CHAR_HEBREW): Likewise.
684         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
685         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
686         (MIN_CHAR_CYRILLIC): Likewise.
687         (MAX_CHAR_CYRILLIC): Likewise.
688
689 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
690
691         * char-ucs.h (breakup_char_1): Use
692         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
693         thai-tis620 and katakana-jisx0201 area.
694
695 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
696
697         * char-ucs.h (breakup_char_1): Use
698         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
699         area.
700
701         * text-coding.c (reset_encoding_stream): Fixed.
702         (char_encode_ucs4): Delete `& 255'.
703
704         * char-ucs.h (breakup_char_1): Use
705         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
706
707 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
708
709         * file-coding.c (Fmake_coding_system): Don't set up
710         `codesys->fixed.size'.
711         (encode_coding_no_conversion): Don't refer
712         `str->codesys->fixed.size'.
713
714 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
715
716         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
717         (latin_a_char_to_byte1): Deleted.
718         (latin_a_char_to_byte2): Deleted.
719
720 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
721
722         * mule-charset.c (make_charset): Add new argument `ucs_min',
723         `ucs_max' and `code_offset'.
724         (charset_get_byte1): New implementation [delete specific charset
725         depended implementations].
726         (Fmake_charset): Modify for `make_charset'.
727         (Fmake_reverse_direction_charset): Likewise.
728         (complex_vars_of_mule_charset): Likewise.
729
730         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
731         `code_offset'.
732         (CHARSET_UCS_MIN): New macro.
733         (CHARSET_UCS_MAX): New macro.
734         (CHARSET_CODE_OFFSET): New macro.
735         (MAKE_CHAR): Delete charset depended definitions [except
736         katakana-jisx0201].
737
738 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
739
740         * char-ucs.h (breakup_char_1): Use
741         `Vdefault_coded_charset_priority_list' for C0-Controls,
742         Basic-Latin, C1-Controls and Latin-1-Supplement area.
743
744 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
745
746         * char-ucs.h (charset_get_byte1): New function.
747         (XCHARSET_GET_BYTE1): Deleted.
748         (charset_get_byte2): New function.
749         (XCHARSET_GET_BYTE2): Deleted.
750         (Vdefault_coded_charset_priority_list): New external variable.
751         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
752         `Vdefault_preferred_coded_charset_list'.
753
754         * mule-charset.c (charset_get_byte1): New function.
755         (charset_get_byte2): New function.
756         (Vdefault_coded_charset_priority_list): New variable.
757         (vars_of_mule_charset): Add new variable
758         `default-coded-charset-priority-list'.
759
760 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
761
762         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
763         (XCHARSET_GET_BYTE2): New inline function.
764         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
765         `XCHARSET_GET_BYTE2'.
766
767 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
768
769         * mule-charset.c (make_charset): Initialize
770         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
771         NULL if table is not defined.
772
773 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
774
775         * text-coding.c (char_encode_shift_jis): Use
776         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
777         `ucs_to_latin_jisx0201'.
778
779         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
780         (ucs_to_latin_iso8859_2): Deleted.
781         (ucs_to_latin_iso8859_3): Deleted.
782         (ucs_to_latin_iso8859_4): Deleted.
783         (ucs_to_latin_iso8859_9): Deleted.
784         (ucs_to_latin_viscii_lower): Deleted.
785         (ucs_to_latin_viscii_upper): Deleted.
786         (ucs_to_latin_tcvn5712): Deleted.
787         (make_charset): Add new argument `decoding_table'; set up
788         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
789         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
790         `decoding_table' is defined in UTF-2000.
791         (Fmake_charset): Modify for `make_charset'.
792         (Fmake_reverse_direction_charset): Likewise.
793         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
794         and `GENERATE_96_SET'.
795
796         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
797         (ucs_to_latin_jisx0201): Deleted.
798         (latin_iso8859_2_to_ucs): Deleted.
799         (ucs_to_latin_iso8859_2): Deleted.
800         (latin_iso8859_3_to_ucs): Deleted.
801         (ucs_to_latin_iso8859_3): Deleted.
802         (latin_iso8859_4_to_ucs): Deleted.
803         (ucs_to_latin_iso8859_4): Deleted.
804         (latin_iso8859_9_to_ucs): Deleted.
805         (ucs_to_latin_iso8859_9): Deleted.
806         (latin_viscii_lower_to_ucs): Deleted.
807         (ucs_to_latin_viscii_lower): Deleted.
808         (latin_viscii_upper_to_ucs): Deleted.
809         (ucs_to_latin_viscii_upper): Deleted.
810         (struct Lisp_Charset): Renamed `encoding_table' to
811         `to_byte1_table'; add `to_byte2_table'.
812         (CHARSET_DECODING_TABLE): New macro.
813         (CHARSET_TO_BYTE1_TABLE): New macro.
814         (CHARSET_TO_BYTE2_TABLE): New macro.
815         (XCHARSET_DECODING_TABLE): New macro.
816         (XCHARSET_TO_BYTE1_TABLE): New macro.
817         (XCHARSET_TO_BYTE2_TABLE): New macro.
818         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
819         tables.
820         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
821         don't use `ucs_to_*' tables.
822
823 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
824
825         * text-coding.c (Fmake_coding_system): Don't set up
826         `codesys->fixed.size'.
827         (encode_coding_no_conversion): Use `if' instead of `switch'.
828
829         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
830
831 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
832
833         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
834         (Fmake_charset): Modify for `make_charset'.
835         (Fmake_reverse_direction_charset): Likewise.
836         (complex_vars_of_mule_charset): Likewise.
837
838 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
839
840         * text-coding.c (char_encode_shift_jis): Use table
841         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
842
843 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
844
845         * text-coding.c (text_encode_generic): Use `if' instead of
846         `switch'.
847         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
848         decode JIS-Latin.
849
850 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
851
852         * text-coding.c (encode_coding_sjis): Deleted.
853         (char_encode_shift_jis): New function.
854         (char_finish_shift_jis): New function.
855         (reset_encoding_stream): Set up `encode_char' and `finish' for
856         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
857         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
858         (char_encode_utf8): Treat `eol_type'.
859
860 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
861
862         * file-coding.c (decode_coding_iso2022): Use
863         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
864
865 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
866
867         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
868         to 0.7 (Hirano).
869
870 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
871
872         * char-lb.h (CHAR_COLUMNS): New macro.
873
874 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
875
876         * text-coding.c (char_encode_ucs4): New function.
877         (char_finish_ucs4): New function.
878         (encode_coding_ucs4): Deleted.
879         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
880         (text_encode_generic): Delete local variable `charset' and `half'.
881         (ucs_to_mule_table): Deleted.
882         (mule_to_ucs_table): Deleted.
883         (Fset_ucs_char): Deleted.
884         (ucs_to_char): Deleted.
885         (Fucs_char): Deleted.
886         (Fset_char_ucs): Deleted.
887         (Fchar_ucs): Deleted.
888         (decode_ucs4): Deleted.
889         (mule_char_to_ucs4): Deleted.
890         (encode_ucs4): Deleted.
891         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
892         (decode_coding_utf8): Likewise.
893         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
894         (char_encode_iso2022): Fixed.
895         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
896         `Fset_char_ucs' and `Fchar_ucs'.
897         (complex_vars_of_file_coding): Don't initialize
898         `ucs_to_mule_table'.
899
900         * objects-tty.c (tty_initialize_font_instance): Don't use
901         `XCHARSET_COLUMNS'.
902
903         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
904         UTF-2000.
905
906         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
907         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
908
909         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
910         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
911         (emchar_string_displayed_columns): Likewise.
912
913         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
914         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
915         (string_column_at_point): Likewise.
916         (Fmove_to_column): Likewise.
917
918         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
919         `encoding_table' and `decoding_table'.
920         (CHARSET_REP_BYTES): Deleted.
921         (XCHARSET_REP_BYTES): Deleted.
922         (XCHARSET_COLUMNS): Deleted.
923         (CHAR_COLUMNS): New macro.
924         (lookup_composite_char): Deleted unconditionally.
925         (composite_char_string): Likewise.
926
927 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
928
929         * char-ucs.h (Emchar_to_byte_table): New type.
930         (get_byte_from_character_table): New function interface.
931         (Vcharset_latin_jisx0201): New variable.
932         (latin_jisx0201_to_ucs): New variable.
933         (ucs_to_latin_jisx0201): New variable.
934         (Vcharset_latin_iso8859_2): New variable.
935         (latin_iso8859_2_to_ucs): New variable.
936         (ucs_to_latin_iso8859_2): New variable.
937         (Vcharset_latin_iso8859_3): New variable.
938         (latin_iso8859_3_to_ucs): New variable.
939         (ucs_to_latin_iso8859_3): New variable.
940         (Vcharset_latin_iso8859_4): New variable.
941         (latin_iso8859_4_to_ucs): New variable.
942         (ucs_to_latin_iso8859_4): New variable.
943         (Vcharset_latin_iso8859_9): New variable.
944         (latin_iso8859_9_to_ucs): New variable.
945         (ucs_to_latin_iso8859_9): New variable.
946         (Vcharset_latin_viscii_lower): New variable.
947         (latin_viscii_lower_to_ucs): New variable.
948         (ucs_to_latin_viscii_lower): New variable.
949         (Vcharset_latin_viscii_upper): New variable.
950         (latin_viscii_upper_to_ucs): New variable.
951         (ucs_to_latin_viscii_upper): New variable.
952         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
953         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
954         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
955         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
956         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
957         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
958         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
959         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
960         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
961         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
962
963         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
964         (Vcharset_latin_viscii_upper): New variable.
965         (make_byte_from_character_table): New function.
966         (put_byte_from_character_table): New function.
967         (get_byte_from_character_table): New function.
968         (CHAR96): New macro.
969         (ucs_to_latin_jisx0201): New variable.
970         (latin_jisx0201_to_ucs): New variable.
971         (ucs_to_latin_iso8859_2): New variable.
972         (latin_iso8859_2_to_ucs): New variable.
973         (ucs_to_latin_iso8859_3): New variable.
974         (latin_iso8859_3_to_ucs): New variable.
975         (ucs_to_latin_iso8859_4): New variable.
976         (latin_iso8859_4_to_ucs): New variable.
977         (ucs_to_latin_iso8859_9): New variable.
978         (latin_iso8859_9_to_ucs): New variable.
979         (ucs_to_latin_viscii_lower): New variable.
980         (latin_viscii_lower_to_ucs): New variable.
981         (ucs_to_latin_viscii_upper): New variable.
982         (latin_viscii_upper_to_ucs): New variable.
983         (ucs_to_latin_tcvn5712): New variable.
984         (latin_tcvn5712_to_ucs): New variable.
985         (Qlatin_viscii_lower): New variable.
986         (Qlatin_viscii_upper): New variable.
987         (syms_of_mule_charset): Set up new symbol
988         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
989         (complex_vars_of_mule_charset): Set up new charset
990         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
991         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
992         `ucs_to_<CHARSET>' tables.
993
994 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
995
996         * text-coding.c: New file.
997
998 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
999
1000         * mule-charset.c (Fmake_char): Fix problem of 256-set.
1001
1002         * char-ucs.h (Vcharset_ucs_bmp): New variable.
1003         (MAKE_CHAR): Modify for `ucs-bmp'.
1004         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1005         non-MULE characters of BMP.
1006
1007 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
1008
1009         * mule-charset.c (vars_of_mule_charset):
1010         Update `utf-2000-version' to 0.6.
1011
1012 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1013
1014         * lstream.h:
1015         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1016         - Include character.h for `CHAR_ASCII_P'.
1017
1018         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1019
1020         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1021         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1022
1023         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1024         (BYTE_C0_P): Likewise.
1025         (BYTE_C1_P): Likewise.
1026         (Lstream_get_emchar_1): Likewise.
1027         (Lstream_fput_emchar): Likewise.
1028         (Lstream_funget_emchar): Likewise.
1029         (copy_internal_to_external): Likewise.
1030         (copy_external_to_internal): Likewise.
1031
1032         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1033         (BYTE_C0_P): Likewise.
1034         (BYTE_C1_P): Likewise.
1035         (Lstream_get_emchar_1): Likewise.
1036         (Lstream_fput_emchar): Likewise.
1037         (Lstream_funget_emchar): Likewise.
1038         (copy_internal_to_external): Likewise.
1039         (copy_external_to_internal): Likewise.
1040
1041         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1042         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1043
1044         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1045         (BYTE_ASCII_P): Moved to mb-1byte.h.
1046
1047 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1048
1049         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1050
1051         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1052         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1053         (VALID_CHARPTR_P): Moved to mb-*byte.h.
1054         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1055         (VALIDATE_CHARPTR_FORWARD): Likewise.
1056         (simple_charptr_emchar): Moved to mb-multibyte.h.
1057         (simple_set_charptr_emchar): Likewise.
1058         (simple_charptr_copy_char): Likewise.
1059         (non_ascii_charptr_emchar): Likewise.
1060         (non_ascii_set_charptr_emchar): Likewise.
1061         (non_ascii_charptr_copy_char): Likewise.
1062         (charptr_emchar): Moved to mb-*byte.h.
1063         (set_charptr_emchar): Likewise.
1064         (charptr_copy_char): Likewise.
1065
1066         * mb-1byte.h, mb-multibyte.h: New files.
1067
1068 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1069
1070         * mb-utf-8.h (MULTIBYTE): New macro.
1071         (MAX_EMCHAR_LEN): Moved from buffer.h.
1072         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1073
1074         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1075
1076         * mb-lb.h, multibyte.h: New files.
1077
1078         * char-1byte.h (Charset_ID): Moved from buffer.h.
1079         (MIN_LEADING_BYTE): Likewise.
1080         (LEADING_BYTE_ASCII): Likewise.
1081         (NUM_LEADING_BYTES): Likewise.
1082         (CHARSETP): Likewise.
1083         (CHARSET_BY_LEADING_BYTE): Likewise.
1084         (XCHARSET_LEADING_BYTE): Likewise.
1085         (XCHARSET_GRAPHIC): Likewise.
1086         (XCHARSET_COLUMNS): Likewise.
1087         (XCHARSET_DIMENSION): Likewise.
1088         (CHAR_CHARSET): Likewise.
1089         (CHAR_LEADING_BYTE): Likewise.
1090         (BREAKUP_CHAR): Likewise.
1091         (Vcharset_ascii): Likewise.
1092
1093         * buffer.h: Include multibyte.h unconditionally.
1094         (VALID_CHARPTR_P): Moved to multibyte.h.
1095         (ASSERT_VALID_CHARPTR): Likewise.
1096         (REAL_INC_CHARPTR): Likewise.
1097         (REAL_INC_CHARBYTIND): Likewise.
1098         (REAL_DEC_CHARPTR): Likewise.
1099         (INC_CHARPTR): Likewise.
1100         (INC_CHARBYTIND): Likewise.
1101         (DEC_CHARPTR): Likewise.
1102         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1103         (VALIDATE_CHARPTR_FORWARD): Likewise.
1104         (charptr_n_addr): Likewise.
1105         (MAX_EMCHAR_LEN): Moved to mb-*.h.
1106         (simple_charptr_emchar): Moved to multibyte.h.
1107         (simple_set_charptr_emchar): Likewise.
1108         (simple_charptr_copy_char): Likewise.
1109         (non_ascii_charptr_emchar): Likewise.
1110         (non_ascii_set_charptr_emchar): Likewise.
1111         (non_ascii_charptr_copy_char): Likewise.
1112         (charptr_emchar): Likewise.
1113         (set_charptr_emchar): Likewise.
1114         (charptr_copy_char): Likewise.
1115         (charptr_emchar_n): Likewise.
1116         (Charset_ID): Moved to char-1byte.h.
1117         (Vcharset_ascii): Likewise.
1118         (CHAR_CHARSET): Likewise.
1119         (CHAR_LEADING_BYTE): Likewise.
1120         (LEADING_BYTE_ASCII): Likewise.
1121         (NUM_LEADING_BYTES): Likewise.
1122         (MIN_LEADING_BYTE): Likewise.
1123         (CHARSETP): Likewise.
1124         (CHARSET_BY_LEADING_BYTE): Likewise.
1125         (XCHARSET_LEADING_BYTE): Likewise.
1126         (XCHARSET_GRAPHIC): Likewise.
1127         (XCHARSET_COLUMNS): Likewise.
1128         (XCHARSET_DIMENSION): Likewise.
1129         (BREAKUP_CHAR): Likewise.
1130
1131 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1132
1133         * character.h: Add document about interface for characters.
1134
1135         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
1136         (MAKE_CHAR): Delete comment about
1137         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
1138         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
1139         (BREAKUP_CHAR): Modify name of arguments.
1140         (CHAR_CHARSET): Modify name of argument.
1141
1142         * buffer.h: Delete document about Emchar accessors.
1143
1144 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1145
1146         * character.h (CHAR_INTP): Moved from buffer.h
1147         (CHAR_OR_CHAR_INTP): Likewise.
1148         (XCHAR_OR_CHAR_INT): Likewise.
1149         (CHECK_CHAR_COERCE_INT): Likewise.
1150
1151         * buffer.h (CHAR_INTP): Moved to character.h
1152         (CHAR_OR_CHAR_INTP): Likewise.
1153         (XCHAR_OR_CHAR_INT): Likewise.
1154         (CHECK_CHAR_COERCE_INT): Likewise.
1155
1156 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1157
1158         * character.h:
1159         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
1160         - Include char-1byte.h, char-lb.h or char-ucs.h.
1161
1162         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
1163
1164         * buffer.h: Include character unconditionally.
1165         (valid_char_p): Moved to char-*.h.
1166         (non_ascii_valid_char_p): Moved to char-lb.h.
1167
1168         * char-1byte.h, char-lb.h, char-ucs.h: New files.
1169
1170 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1171
1172         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
1173         in UTF-2000 because it is not ported yet and not to use
1174         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
1175         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
1176         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
1177
1178         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
1179         (CHAR_ASCII_P): Moved from character.h.
1180
1181         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
1182         (CHAR_ASCII_P): Likewise.
1183         (CHAR_FIELD1_MASK): Deleted.
1184         (CHAR_FIELD2_MASK): Deleted.
1185         (CHAR_FIELD3_MASK): Deleted.
1186         (MAX_CHAR_BASIC_LATIN): New macro.
1187         (CHAR_FIELD1): Deleted.
1188         (CHAR_FIELD2_INTERNAL): Deleted.
1189         (CHAR_FIELD3_INTERNAL): Deleted.
1190         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
1191         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
1192         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
1193         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
1194         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
1195         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
1196         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
1197         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
1198         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
1199         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
1200         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
1201         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
1202         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
1203         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
1204         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
1205         (MIN_CHAR_COMPOSITION): Deleted.
1206         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
1207         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
1208
1209 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
1210
1211         * buffer.h: Include mb-utf-8.h in UTF-2000.
1212
1213         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
1214
1215         * mb-utf-8.h: New file.
1216
1217 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
1218
1219         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
1220         instead of `int'.
1221
1222         * mule-charset.h, buffer.h (Charset_ID): New type.
1223
1224 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1225
1226         * mule-canna.c (c2mu): Use `MAKE_CHAR',
1227         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
1228         instead of `MULE_CHAR_PRIVATE_OFFSET',
1229         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
1230         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
1231         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
1232
1233         * character.h (Vcharset_japanese_jisx0212): New variable
1234         definition.
1235
1236 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1237
1238         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
1239         (charset_by_attributes): Delete array about direction.
1240         (latin_a_char_to_charset): New variable in UTF-2000.
1241         (latin_a_char_to_byte1): New variable in UTF-2000.
1242         (latin_a_char_to_byte2): New variable in UTF-2000.
1243         (Qucs_bmp): New variable.
1244         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
1245         `Bufbyte'.
1246         (next_allocated_2_byte_leading_byte): Likewise.
1247         (non_ascii_set_charptr_emchar): Likewise.
1248         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
1249         `CHARSET_TYPE_256X256' in UTF-2000; modify for
1250         `charset_by_attributes'.
1251         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
1252         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
1253         and `CHARSET_BY_LEADING_BYTE'.
1254         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
1255         `utf-2000-version' to `vars_of_mule_charset'.
1256         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
1257         define `leading-code-private-11' in UTF-2000; move setting of
1258         `utf-2000-version' from `syms_of_mule_charset'.
1259         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
1260         UTF-2000.
1261
1262         * character.h (Charset_ID): New type.
1263         (LEADING_BYTE_UCS_BMP): New macro.
1264         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
1265         (CHARSET_ID_OFFSET_94): New macro.
1266         (MIN_CHARSET_ID_PRIVATE_94): New macro.
1267         (MAX_CHARSET_ID_PRIVATE_94): New macro.
1268         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
1269         final-byte.
1270         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
1271         (LEADING_BYTE_LATIN_JISX0201): Likewise.
1272         (CHARSET_ID_OFFSET_96): New macro.
1273         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
1274         CHARSET_ID_OFFSET_96 and final-byte.
1275         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
1276         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
1277         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
1278         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
1279         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
1280         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
1281         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
1282         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
1283         (LEADING_BYTE_THAI_TIS620): Likewise.
1284         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
1285         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
1286         (CHARSET_ID_OFFSET_94x94): New macro.
1287         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
1288         CHARSET_ID_OFFSET_94x94 and final-byte.
1289         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
1290         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
1291         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
1292         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
1293         (LEADING_BYTE_CHINESE_GB2312): Likewise.
1294         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
1295         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
1296         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
1297         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
1298         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
1299         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
1300         (CHARSET_TYPE_128X128): New macro.
1301         (CHARSET_TYPE_256X256): New macro.
1302         (XCHARSET_PRIVATE_P): Delete unconditionally.
1303         (charset_by_attributes): Delete array about direction.
1304         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
1305         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
1306         (MIN_CHAR_94): New macro.
1307         (MAX_CHAR_94): New macro.
1308         (MIN_CHAR_96): New macro.
1309         (MAX_CHAR_96): New macro.
1310         (MIN_CHAR_94x94): New macro.
1311         (MAX_CHAR_94x94): New macro.
1312         (MIN_CHAR_96x96): New macro.
1313         (MAX_CHAR_96x96): New macro.
1314         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
1315         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1316         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
1317         - 32)'.
1318         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
1319         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
1320         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
1321         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
1322         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
1323         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
1324         `XCHARSET_LEADING_BYTE' to make code-point.
1325         (latin_a_char_to_charset): New variable.
1326         (latin_a_char_to_byte1): New variable.
1327         (latin_a_char_to_byte2): New variable.
1328         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
1329         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
1330         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
1331
1332         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
1333         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
1334         (find_charsets_in_emchar_string): Likewise.
1335         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
1336
1337         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
1338         `int'.
1339         (decode_coding_iso2022): Likewise.
1340
1341         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
1342         of `unsigned char'.
1343
1344         * redisplay.c (redisplay_text_width_emchar_string): Use
1345         `Charset_ID' instead of `unsigned char'.
1346         (redisplay_frame_text_width_string): Likewise.
1347
1348         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
1349         `unsigned char'.
1350
1351         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
1352         instead of `unsigned char'.
1353         (face_cachel_charset_font_metric_info): Likewise.
1354
1355         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
1356         (get_non_ascii_char_table_value): Likewise.
1357         (get_char_table): Likewise.
1358         (put_char_table): Likewise.
1359         (map_over_other_charset): Likewise.
1360         (map_char_table): Likewise.
1361
1362         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
1363         instead of `unsigned char'.
1364
1365 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
1366
1367         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
1368         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
1369
1370         * mule-charset.c (leading_code_private_11): Don't define in
1371         UTF-2000.
1372
1373         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
1374         in UTF-2000 because it is not ported yet and not to use
1375         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
1376
1377 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
1378
1379         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
1380
1381 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1382
1383         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
1384         in UTF-2000.
1385
1386         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
1387         of unsigned char to store leading-byte.
1388
1389         * chartab.c (get_non_ascii_char_table_value): Don't use
1390         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
1391
1392         * file-coding.c (encode_coding_big5): Delete bogus implementation
1393         in UTF2000.
1394
1395         * character.h (LEADING_BYTE_*): Delete definition for
1396         non-UTF-2000.
1397         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
1398         (LEADING_BYTE_PREFIX_P): Deleted.
1399         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
1400         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
1401         (BUFBYTE_LEADING_BYTE_P): Deleted.
1402         (CHARSET_PRIVATE_P): Deleted unconditionally.
1403         (rep_bytes_by_first_byte): Deleted unconditionally.
1404         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
1405         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
1406         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1407         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
1408         (CHAR_FIELD2): Deleted.
1409         (CHAR_FIELD3): Deleted.
1410         (MAKE_CHAR): Delete definition for non-UTF-2000.
1411         (BREAKUP_CHAR_1_UNSAFE): Deleted.
1412         (breakup_char_1): New implementation.
1413         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
1414         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
1415
1416 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1417
1418         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
1419         condition.
1420
1421 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1422
1423         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
1424         (CHARSET_PRIVATE_P): Likewise.
1425         (XCHARSET_PRIVATE_P): Likewise.
1426         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
1427
1428         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
1429         UTF2000.
1430         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
1431
1432 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1433
1434         * character.h (LEADING_BYTE_*): Changed in UTF2000.
1435         (NUM_LEADING_BYTES): Changed from 128 to 256.
1436         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1437         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
1438         UTF2000.
1439         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1440
1441         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
1442         UTF2000.
1443         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
1444         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
1445         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
1446         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
1447         (Qchinese_cns11643_3): New variable in UTF2000.
1448         (Qchinese_cns11643_4): New variable in UTF2000.
1449         (Qchinese_cns11643_5): New variable in UTF2000.
1450         (Qchinese_cns11643_6): New variable in UTF2000.
1451         (Qchinese_cns11643_7): New variable in UTF2000.
1452         (syms_of_mule_charset): Define `chinese-cns11643-3',
1453         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1454         and `chinese-cns11643-7' in UTF2000.
1455         (vars_of_mule_charset): Initialize
1456         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
1457         + 1 in UTF2000.
1458         (complex_vars_of_mule_charset): Setup charset
1459         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
1460         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
1461
1462 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1463
1464         * mule-charset.c: Move setting for `leading-code-private-11' from
1465         `syms_of_mule_charset' to `vars_of_mule_charset'.
1466
1467 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1468
1469         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
1470         and `NUM_LEADING_BYTES' in assert.
1471
1472 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1473
1474         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
1475         instead of 128.
1476         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
1477         `NUM_LEADING_BYTES' instead of 128.
1478
1479 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1480
1481         * mule-charset.h (charset_by_leading_byte): Use
1482         `NUM_LEADING_BYTES' instead of 128.
1483         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
1484
1485         * mule-charset.c (charset_by_leading_byte): Use
1486         `NUM_LEADING_BYTES' instead of 128.
1487         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
1488
1489         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
1490         128.
1491
1492 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1493
1494         * mule-charset.c (syms_of_mule_charset): Update to
1495         0.4 (Shin-Imamiya).
1496
1497 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1498
1499         * file-coding.c (encode_coding_sjis): New implementation for
1500         UTF2000.  (decode_coding_sjis): Ditto.
1501
1502 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1503
1504         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
1505         Don't define in UTF2000.
1506
1507         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
1508         defined.
1509
1510         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1511         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
1512         MULE.
1513
1514 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1515
1516         * config.h.in (CHAR_IS_UCS4): New macro.
1517
1518         * mule-charset.c (rep_bytes_by_first_byte): Modify for
1519         conventional MULE representation.
1520         (syms_of_mule_charset): Update to 0.3 (Imamiya).
1521
1522         * mule-charset.h: Reverted to original.
1523
1524         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1525         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
1526         "mule-charset.h" if CHAR_IS_UCS4 is defined.
1527
1528         * character.h: New file.
1529
1530         * file-coding.c (Fmake_coding_system): Set 1 to
1531         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
1532         defined.
1533         (encode_coding_no_conversion): New implementation for UTF2000.
1534
1535         * file-coding.h (struct Lisp_Coding_System): Add new member
1536         `fixed.size'.
1537
1538 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1539
1540         * file-coding.c (decode_coding_iso2022): Code-point arguments of
1541         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
1542         (encode_coding_iso2022): New implementation for UTF2000.
1543
1544 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1545
1546         * mule-canna.c (c2mu): New implementation for UTF2000.
1547         (m2c): Likewise.
1548
1549 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1550
1551         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
1552
1553 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1554
1555         * file-coding.c (reset_encoding_stream): Set 0 to
1556         `str->iso2022.current_char_boundary' in UTF2000.
1557         (encode_utf8): Don't define in UTF2000.
1558         (encode_coding_utf8): New implementation for UTF-8 representation
1559         of UTF2000.
1560         (complex_vars_of_file_coding): Define coding-system `utf-8'.
1561
1562 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1563
1564         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
1565
1566         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
1567         UTF2000.
1568         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1569
1570         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
1571
1572         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
1573         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
1574         as UTF-8 in UTF2000.
1575         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
1576         (non_ascii_valid_char_p): Don't define in UTF2000.
1577         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
1578         (Lstream_get_emchar_1): Likewise.
1579         (utf-2000-version): New variable in UTF2000.
1580
1581         * lread.c (read_escape): Add new reader `u'.
1582
1583         * insdel.c (three_to_one_table): Don't define in UTF2000.
1584         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
1585         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1586         UTF2000.
1587         (bytind_to_bufpos_func): Likewise.
1588         (buffer_mule_signal_inserted_region): Likewise.
1589         (vars_of_insdel): Don't initialize `three_to_one_table'.
1590         (init_buffer_text): Use `buf->text->mule_size' instead of
1591         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1592         UTF2000.
1593
1594         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
1595         UTF-8 representation in UTF2000.
1596         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
1597         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
1598         (decode_coding_iso2022): Don't define local variable `lb' in
1599         UTF2000; don't use LEADING_BYTE in UTF2000; use
1600         `DECODE_ADD_UCS_CHAR' in UTF2000.
1601         (convert_to_external_format): Decode as UTF-8 in UTF2000.
1602
1603         * config.h.in (UTF2000): New macro.
1604
1605         * buffer.h (struct buffer_text): Add new member `mule_size' and
1606         don't add `mule_shifter' and `mule_three_p' in UTF2000.
1607         (valid_char_p): Return always 1 in UTF2000.
1608         (MAX_EMCHAR_LEN): 6 in UTF2000.
1609         (three_to_one_table): Don't define in UTF2000.
1610         (real_bufpos_to_bytind): Modify for UTF-8 representation in
1611         UTF2000.
1612         (real_bytind_to_bufpos): Likewise.
1613
1614         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
1615
1616 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1617
1618         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
1619         representation change.
1620         (Vutf_2000_version): New variable.
1621         (leading_code_private_11): New variable.
1622         (syms_of_mule_charset): Add new variables `utf-2000-version' and
1623         `leading-code-private-11'.
1624
1625         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
1626         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
1627         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
1628         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
1629         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
1630         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
1631         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
1632         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
1633         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
1634         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
1635         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
1636         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
1637         (MIN_CHAR_GREEK): New macro.
1638         (MAX_CHAR_GREEK): New macro.
1639         (MIN_CHAR_CYRILLIC): New macro.
1640         (MAX_CHAR_CYRILLIC): New macro.
1641         (MIN_CHAR_HEBREW): New macro.
1642         (MAX_CHAR_HEBREW): New macro.
1643         (MIN_CHAR_THAI): New macro.
1644         (MAX_CHAR_THAI): New macro.
1645         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
1646         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
1647         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
1648         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
1649         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
1650         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
1651         (CHAR_FIELD2): New inline function.
1652         (CHAR_FIELD3): New inline function.
1653         (MULE_CHAR_PRIVATE_OFFSET): New macro.
1654         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
1655         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
1656         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
1657         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
1658         (MIN_CHAR_COMPOSITION): Likewise.
1659         (CHAR_LEADING_BYTE): Modified for character representation change.
1660         (MAKE_CHAR): Likewise.
1661
1662         * lisp.h (Vcharset_latin_iso8859_1): New variable.
1663         (Vcharset_greek_iso8859_7): Likewise.
1664         (Vcharset_cyrillic_iso8859_5): Likewise.
1665         (Vcharset_hebrew_iso8859_8): Likewise.
1666         (Vcharset_thai_tis620): Likewise.
1667         (Vcharset_katakana_jisx0201): Likewise.
1668
1669 1999-12-31  Martin Buchholz <martin@xemacs.org>
1670
1671         * XEmacs 21.2.26 is released.
1672
1673 1999-12-31  Andy Piper  <andy@xemacs.org>
1674
1675         * glyphs-x.c (x_widget_instantiate): Avoid X errors calling
1676         XMapWindow() on a NULL pointer X window.
1677
1678 1999-12-31  Martin Buchholz  <martin@xemacs.org>
1679
1680         * data.c (indirect_function): Use signal_void_function_error().
1681
1682         * lisp.h: Modify prototypes for signal_*().  Add SUBR_FUNCTION macro.
1683
1684         * eval.c (PRIMITIVE_FUNCALL): Optimize.
1685         (signal_void_function_error): return result of Fsignal().
1686         (signal_invalid_function_error): return result of Fsignal().
1687         (signal_wrong_number_of_arguments_error): return result of Fsignal().
1688         (signal_malformed_list_error): Add DOESNT_RETURN.
1689         (signal_malformed_property_list_error): Add DOESNT_RETURN.
1690         (signal_circular_list_error): Add DOESNT_RETURN.
1691         (signal_circular_property_list_error): Add DOESNT_RETURN.
1692         (Feval): Use returned results of signal_*().  Avoids a crash!
1693         (Ffuncall): Use returned results of signal_*(). Avoids the crash:
1694           (setq debug-on-error t) (funcall 'foo) kbd{r42} kbd{RET}
1695         - Only check for fun_nargs < subr_min_args if fun_nargs != max_args.
1696         (function_argcount): Use signal_invalid_function_error().
1697         (funcall_lambda): Use signal_wrong_number_of_arguments_error().
1698         Use signal_invalid_function_error().
1699
1700 1999-12-28  Andy Piper  <andy@xemacs.org>
1701
1702         * debug.c: rename debug_loop elements to X_ to avoid name clashes.
1703
1704         * menubar-x.c (menu_item_descriptor_to_widget_value_1): strdup
1705         string_chars.
1706         (menu_item_descriptor_to_widget_value_1): strdup name.
1707         (pre_activate_callback): strdup name.
1708
1709         * scrollbar-x.c (scrollbar_instance_to_widget_value): strdup name.
1710         (x_update_scrollbar_instance_status): use free_widget_value_tree.
1711
1712         * dialog-x.c (maybe_run_dbox_text_callback): strdup name.  use
1713         free_widget_value_tree.
1714         (dbox_descriptor_to_widget_value): ditto.
1715
1716         * gui-x.c (widget_value_unwind): use free_widget_value_tree.
1717         (gui_items_to_widget_values_1): ditto.
1718         (gui_items_to_widget_values): ditto.
1719         (free_popup_widget_value_tree): free name.
1720
1721 1999-12-27  Andy Piper  <andy@xemacs.org>
1722
1723         * nt.c (fstat): use get_osfhandle rather than the handle
1724         directly. From Fabrice Popineau.
1725
1726         * process-nt.c (nt_open_network_stream): take types into account
1727         when warning. From Fabrice Popineau.
1728
1729 1999-12-24  Martin Buchholz <martin@xemacs.org>
1730
1731         * XEmacs 21.2.25 is released.
1732
1733 1999-12-22  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1734
1735         * syntax.c (vars_of_syntax): Initialize parse-sexp_ignore_comments.
1736
1737 1999-12-21  Martin Buchholz  <martin@xemacs.org>
1738
1739         * editfns.c (Fpoint_min): 
1740         (Fpoint_min_marker): 
1741         (Fpoint_max): 
1742         (Fpoint_max_marker): 
1743         (Fchar_after): 
1744         (Fchar_before): 
1745         Docstring fixes.  What's a `buffer pointer' anyways?
1746
1747         * editfns.c (char=): Remove unused and undocumented optional
1748         third BUFFER argument.
1749
1750         * toolbar.h (DEVICE_SUPPORTS_TOOLBARS_P): 
1751         * fns.c (plists_differ): 
1752         * elhash.c (HASH_CODE): 
1753         * elhash.c (KEYS_EQUAL_P): 
1754         * redisplay-output.c (redisplay_move_cursor): 
1755         * redisplay.c (create_text_block): 
1756         * floatfns.c (Flogb): 
1757         * glyphs-msw.c (mswindows_initialize_image_instance_mask): 
1758         * glyphs-msw.c (xpm_to_eimage): 
1759         * buffer.h (POINT_MARKER_P): 
1760         * syntax.c (scan_lists): 
1761         * cmdloop.c (Fcommand_loop_1): 
1762         * widget.c (Fwidget_apply): 
1763         * regex.c (STREQ): 
1764         Remove extra parens, esp. of the form ((expr))
1765
1766         * floatfns.c (Flogb): Make 64-bit clean.
1767
1768 1999-12-12  Daniel Pittman  <daniel@danann.net>
1769
1770         * configure.in:
1771         * configure.usage:
1772         Clean up Athena widget support:
1773         - Add `with-athena' to select a variant.
1774         - Remove all `athena3d' options.
1775         - Robust detection of Athena libraries and headers.
1776         - Refuse to build with mismatched library and headers.
1777         - Only build a 3d Athena if the user asks for it.
1778
1779 1999-12-21  Andy Piper  <andy@xemacs.org>
1780
1781         * redisplay.c (redisplay_frame): check for faces changed when
1782         reseting subwindow caches.
1783
1784         * glyphs.h (struct ii_keyword_entry): add copy_p.
1785         (struct image_instantiator_methods): add query_geometry_method and
1786         layout_children_method.
1787         (IIFORMAT_VALID_GENERIC_KEYWORD): new macro to take into account
1788         copying characteristics of keywords.
1789         (IIFORMAT_VALID_NONCOPY_KEYWORD): new macro for defining keywords
1790         whose arguments should not be copied by the specifier code.
1791         (image_instance_geometry): new enum for layouts.
1792         (struct Lisp_Image_Instance): re-jig for layouts and update
1793         macros.
1794
1795         * glyphs.c (string_instantiate): rename variables.
1796         (image_instantiate): add strings to those widgets that are
1797         instantiated per-window.
1798         (image_copy_vector_instantiator): new function for copying glyph
1799         specifier instantiators.
1800         (image_copy_instantiator): ditto.
1801
1802         * glyphs-x.c (x_update_subwindow): use new face update functions.
1803         (update_widget_face): update to use new lwlib arg functions.
1804         (update_tab_widget_face): new function for updating tab control
1805         label faces.
1806         (x_widget_instantiate): use new face update functions and new
1807         lwlib arg functions.
1808         (x_tab_control_instantiate): ditto.
1809         (x_tab_control_set_property): ditto.
1810
1811         * glyphs-widget.c (VALID_GUI_KEYWORDS): use NONCOPY keyword for
1812         callbacks and other things that could recurse.
1813         (VALID_GUI_KEYWORDS): 
1814
1815         * event-msw.c: fix cpp stuff for cygwin < b20.
1816
1817         * config.h.in: move uid_t and friends to before the s&m files so
1818         that they can be used there.
1819
1820         * Makefile.in.in (debug-temacs): new target that adds emacs
1821         environment before invoking gdb.
1822
1823         * lwlib.h (_widget_args): new structure for holding widget
1824         args. It is reference counted so that we don't have to copy Xt
1825         args.
1826         (_widget_value): remove widget args. Add reference to widget_args.
1827
1828         * lwlib.c (free_widget_value_contents): free widget args using
1829         free_widget_value_args.
1830
1831         * lwlib-Xaw.c (xaw_update_one_widget): use new arg packet.
1832         (xaw_update_one_widget): use XtIsSubclass for determining labels.
1833
1834         * lwlib.c (lw_add_value_args_to_args): modify to use our reference
1835         counted arg packet.
1836         (lw_add_widget_value_arg): new function. Add an arg to the arg
1837         packet.
1838         (free_widget_value_args): new function. Remove a reference counted
1839         arg packet.
1840         (lw_copy_widget_value_args): new function. Copy reference counted
1841         arg packet.
1842         (merge_widget_value_args): new function. Do a merge of widget
1843         args.
1844         (merge_widget_value): use it.
1845         (copy_widget_value_tree): copy widget args using reference
1846         counting, since we can't easily copy the args we have been given.
1847
1848         * specifier.h (struct specifier_methods): add copy_instantiator_method.
1849
1850         * specifier.c (build_up_processed_list): use
1851         copy_instantiator_method if defined.
1852
1853 1999-12-19  Martin Buchholz  <martin@xemacs.org>
1854
1855         * fns.c (Ffillarray): Use O(N), not O(N^2) algorithm for strings.
1856
1857 1999-12-19  Hrvoje Niksic  <hniksic@iskon.hr>
1858
1859         * profile.c (sigprof_handler): FUN retrieved from the backtrace
1860         can also be a cons representing anonymous interpreted function.
1861
1862 1999-12-18  Martin Buchholz  <martin@xemacs.org>
1863
1864         * fns.c (mapcar1): 
1865         (Fmapconcat): 
1866         (Fmapcar): 
1867         (Fmapvector): 
1868         Docstring fixes.  Make them consistent with the lispref and ANSI Lisp.
1869
1870 1999-12-17  Martin Buchholz  <martin@xemacs.org>
1871
1872         * print.c (print_internal): print ?+ instead of ?\+, etc...
1873         Make printing a little more efficient.
1874         Prevent buffer overflow if sizeof EMACS_INT > 8.
1875         My first 128-bit fix!
1876
1877 1999-12-14  Karl M. Hegbloom  <karlheg@inetarena.com>
1878
1879         * filelock.c (unlock_all_files): GC_CONSP should be CONSP
1880
1881 1999-12-17  Martin Buchholz  <martin@xemacs.org>
1882
1883         * database.c:
1884         * window.c:
1885         * event-stream.c:
1886         Remove last vestigial uses of GC_*
1887         
1888         * fns.c (mapcar1): Fix ***THREE*** obscure crashes in one function!
1889         - Two of those involve evil mapping functions that destructively
1890           modify a list being mapped over.
1891         - Any garbage collection when mapping over a string could cause a
1892           crash (typically in mapconcat).
1893
1894 1999-12-08  Adrian Aichner  <adrian@xemacs.org>
1895
1896         * s\windowsnt.h (DIRECTORY_SEP): Initialize from
1897         `Vdirectory_sep_char'.
1898
1899         * lisp.h: Add declaration for `Vdirectory_sep_char' to allow
1900         customization of `DIRECTORY_SEP' under native Windows NT.
1901
1902 1999-12-14  Katsumi Yamaoka   <yamaoka@jpl.org>
1903
1904         * buffer.c (Fbury_buffer): Add directions to the docstring.
1905
1906 1999-12-14  Martin Buchholz <martin@xemacs.org>
1907
1908         * XEmacs 21.2.24 is released.
1909
1910 1999-12-13  Martin Buchholz  <martin@xemacs.org>
1911
1912         * sound.c (vars_of_sound): Provide esd-sound if HAVE_ESD_SOUND
1913
1914         * nas.c: Fix compiler warnings.  Ansify.  C++ compilation support.
1915
1916 1999-12-13  Kazuyuki IENAGA <ienaga@jsys.co.jp>
1917
1918         * input-method-xlib.c: Make sure src/ does not use Athena, except
1919         indirectly through lwlib.
1920
1921 1999-12-13  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1922
1923         * dbxrc (pobj): Add opaque_ptr, remove opaque_list.
1924
1925 1999-12-10  Shenghuo ZHU <zsh@cs.rochester.edu>
1926
1927         * file-coding.c (add_coding_system_to_list_mapper): 
1928         - (coding-system-list) should list aliases correctly.
1929
1930 1999-12-07  Andy Piper  <andy@xemacs.org>
1931
1932         * fileio.c (vars_of_fileio): directory separator fix from Mike Alexander.
1933         * windowsnt.h (ditto):
1934
1935 1999-11-27  Adrian Aichner  <adrian@xemacs.org>
1936
1937         * sysfile.h: Encapsulate `fstat' for Windows NT just like stat to
1938         get consistent file modification times.
1939
1940         * sysdep.h: Declare `wait_for_termination' to use process handle,
1941         not PID, on Windows NT native.
1942
1943         * sysdep.c (wait_for_termination): Use process handle, not PID, on
1944         Windows NT native.  Set exit code correctly on Windows NT.
1945         (sys_subshell): Use process handle, not PID,
1946         on Windows NT native.
1947         (sys_fstat): Add ENCAPSULATE_FSTAT for Windows NT.
1948
1949         * process-nt.c (nt_create_process): Remove negative pid hack for
1950         Windows 95.
1951         (nt_send_process): Declare vol_proc volatile.
1952         (get_internet_address): warn_when_safe if IP address cannot be
1953         found.
1954         (nt_open_network_stream): warn_when_safe if network stream fails
1955         to open.
1956         
1957         * ntproc.c (create_child): Remove negative pid hack for Windows
1958         95.  Remove incorrect and unnecessary USE_UNION_TYPE handling.
1959
1960         * nt.c (fstat): Encapsulate for Windows NT just like stat to get
1961         consistent file modification times.
1962
1963         * callproc.c (call_process_cleanup): Use process handle, not PID,
1964         on Windows NT native.
1965         (Fcall_process_internal): Ditto.  Close fd_error in parent.  Don't
1966         check for negative pid on Windows NT/9[58].
1967
1968 1999-12-07  Martin Buchholz <martin@xemacs.org>
1969
1970         * XEmacs 21.2.23 is released.
1971
1972 1999-12-06  Martin Buchholz  <martin@xemacs.org>
1973
1974         * events.c (Fcopy_event): Don't copy the lrecord_header.
1975
1976         * lisp.h (DO_REALLOC): 
1977         Optimize.
1978         Remove redundant parens.
1979         Remove generic hygienic macro comment.
1980
1981         * lrecord.h (set_lheader_implementation): Remove redundant parens.
1982
1983 1999-12-05  Martin Buchholz  <martin@xemacs.org>
1984
1985         * lstream.c (Lstream_adding): 
1986         - Never compare a size_t and a possibly negative number.
1987         - Optimize.
1988
1989 1999-12-05  Kyle Jones  <kyle_jones@wonderworks.com>
1990
1991         * lisp/itimer.el: (require 'lisp-float-type).  Use
1992           floats directly in itimer-time-difference.
1993
1994 1999-12-05  Andy Piper  <andy@xemacs.org>
1995
1996         * redisplay-output.c (redisplay_output_layout): avoid name hiding.
1997
1998         * gui.h: declare gui_add_item_keywords_to_plist.
1999
2000         * window.c (Fdelete_window): mark subwindows as changed so that
2001         they can be GC'd if necessary.
2002
2003 1999-12-02  Jan Vroonhof  <vroonhof@math.ethz.ch>
2004
2005         * src/callproc.c (Fcall_process_internal): Be careful in writing
2006         terminating null when copying args. nargs can be < 4.
2007         Idea from Klaus Frank <klausf@i3.informatik.rwth-aachen.de>
2008
2009 1999-11-29  Kyle Jones  <kyle_jones@wonderworks.com>
2010
2011         * src/sound.c (Fding): Remove zero initialization of
2012           static variables to avoid crashes on systems that dump
2013           the initialized data segment read-only.
2014
2015 1999-12-05  Jan Vroonhof  <vroonhof@math.ethz.ch>
2016
2017         * glyphs-x.c (convert_EImage_to_XImage): Guard against other
2018         visual classes. From Rasmus Borup Hansen <rbh@math.ku.dk>
2019
2020 1999-12-04  Martin Buchholz  <martin@xemacs.org>
2021
2022         * lstream.c: (filedesc_reader): 
2023         (filedesc_writer): Try number 2: Support broken systems where
2024         return type of read() and write() is different from ssize_t.
2025
2026         * systty.h: 
2027         * sysdep.h:
2028         * sysdep.c:
2029         - Replace macro calls to EMACS_GET_TTY and EMACS_SET_TTY with
2030           function equivalents emacs_get_tty() and emacs_set_tty().
2031         - Moved prototypes to systty.h, where struct event_tty is defined.
2032         - Renamed bogus `waitp' parameter to `flushp'.
2033
2034         * lstream.c (filedesc_reader): Support broken systems where return
2035         type of read() is different from ssize_t.
2036
2037         * events.c (Fcopy_event): Avoid redundant EQ test if event2 is nil.
2038
2039         * event-stream.c (menu_move_up): Remove redundant if block.
2040         (menu_move_down): Gratuitous rewriting.
2041         (menu_move_left): Work around Cygnus codefusion-990706 compiler bug.
2042         (menu_move_right): Ditto.
2043
2044         * lrecord.h (copy_lcrecord):
2045         (zero_lcrecord): 
2046         Always add parentheses around uses of macro arguments.
2047
2048         * sysdll.c: #include <stdlib.h> for exit().
2049         * unexhp9k800.x: #include <stdlib.h> for malloc().
2050         Use proper prototype for Save_Shared_Data(void).
2051
2052 1999-12-04  Jan Vroonhof  <vroonhof@math.ethz.ch>
2053
2054         * src/redisplay.c (point_would_be_visible): Correct for topclip.
2055
2056 1999-12-02  Hrvoje Niksic  <hniksic@iskon.hr>
2057
2058         * lisp.h: Declare Qself_insert_defer_undo.
2059
2060         * event-stream.c (Fdispatch_event): Get the magic undo thing from
2061         a symbol property, so commands other than self-insert-command can
2062         install it.
2063         (syms_of_event_stream): Define Qself_insert_defer_undo.
2064
2065 1999-11-30  Martin Buchholz  <martin@xemacs.org>
2066
2067         * floatfns.c (emacs_rint): Rename rint to emacs_rint, so that
2068         `#undef HAVE_RINT' works.
2069
2070         * sysdep.h: Fix up prototypes for sys_read_1(), sys_write_1()
2071
2072 1999-11-25  Andy Piper  <andy@xemacs.org>
2073
2074         * select-msw.c (Fmswindows_set_clipboard): selection fixes from
2075         Mike Alexander.
2076         (Fmswindows_delete_selection): ditto.
2077
2078         * redisplay.h (CLASS_REDISPLAY_FLAGS_CHANGEDP): add size_changed.
2079         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
2080
2081         * redisplay.c (redisplay_device): move size changed to macros in
2082         redisplay.h
2083         (redisplay_without_hooks): ditto.
2084
2085         * redisplay-output.c (redisplay_output_layout): rename to avoid
2086         name hiding.
2087
2088         * process-nt.c (struct nt_process_data): mks toolkit fixes from
2089         Mike Alexander.
2090         (nt_create_process): ditto.
2091         (nt_send_process): ditto.
2092
2093         * nt.c (init_environment): make sure mingw32 gets the cached
2094         system info.
2095
2096         * gui.h: declare gui_add_item_keywords_to_plist.
2097
2098         * event-msw.c (mswindows_wnd_proc): Clipboard fixes from Mike
2099         Alexander.
2100
2101         * console-msw.h: fix cygwin define/header 1.0 problems.
2102         * glyphs-msw.c: ditto.
2103         * ntplay.c: ditto.
2104         * unexcw.c: ditto.
2105         * s/cygwin32/h: ditto.
2106
2107 1999-11-29  XEmacs Build Bot <builds@cvs.xemacs.org>
2108
2109         * XEmacs 21.2.22 is released
2110
2111 1999-11-28  Martin Buchholz <martin@xemacs.org>
2112
2113         * XEmacs 21.2.21 is released.
2114
2115 1999-11-26  Martin Buchholz  <martin@xemacs.org>
2116
2117         * callproc.c (Fcall_process_internal):
2118         * config.h.in:
2119         * esd.c:
2120         * event-msw.c (ntpipe_slurp_reader):
2121         * event-msw.c (ntpipe_shove_writer):
2122         * event-msw.c (winsock_reader):
2123         * event-msw.c (winsock_writer):
2124         * event-stream.c (dribble_out_event):
2125         * fileio.c:
2126         * fileio.c (Fexpand_file_name):
2127         * glyphs-x.c (write_lisp_string_to_temp_file):
2128         * gpmevent.c (tty_get_foreign_selection):
2129         * lisp.h: Update prototypes.
2130         * lstream.c (Lstream_flush_out):
2131         * lstream.c (Lstream_write_1):
2132         * lstream.c (Lstream_was_blocked_p):
2133         * lstream.c (Lstream_read_more):
2134         * lstream.c (Lstream_read):
2135         * lstream.c (Lstream_fputc):
2136         * lstream.c (make_stdio_output_stream):
2137         * lstream.c (stdio_flusher):
2138         * lstream.c (stdio_closer):
2139         * lstream.c (make_filedesc_output_stream):
2140         * lstream.c (errno_would_block_p):
2141         * lstream.c (filedesc_writer):
2142         * lstream.c (make_lisp_string_input_stream):
2143         * lstream.c (make_fixed_buffer_output_stream):
2144         * lstream.c (fixed_buffer_reader):
2145         * lstream.c (make_resizing_buffer_output_stream):
2146         * lstream.c (make_dynarr_output_stream):
2147         * lstream.c (make_lisp_buffer_output_stream):
2148         * lstream.c (lisp_buffer_reader):
2149         * lstream.h (lstream_implementation):
2150         * md5.c (Fmd5):
2151         * miscplay.h (reset_parsestate):
2152         * process-nt.c (nt_send_process):
2153         * process-unix.c (unix_send_process):
2154         * sound.c:
2155         * sysdep.c (sys_close):
2156         * sysdep.c (sys_read_1):
2157         * sysdep.c (sys_write_1):
2158         * sysfile.h:
2159         * file-coding.c (determine_real_coding_system):
2160         * file-coding.c (Fdetect_coding_region):
2161         * file-coding.c (struct decoding_stream):
2162         * file-coding.c (decoding_reader):
2163         * file-coding.c (Fdecode_coding_region):
2164         * file-coding.c (struct encoding_stream):
2165         * file-coding.c (encoding_reader):
2166         * file-coding.c (Fencode_coding_region):
2167         * file-coding.c (convert_to_external_format):
2168         * file-coding.c (convert_from_external_format):
2169         - Lstream functions mirror Unix98 read(),write().  Therefore use
2170           Unix98 types size_t and ssize_t.  
2171         - Try to make Lstream* functions 64-bit clean.  Someday someone
2172           may actually want to read from a Lstream with more than 2**32 bytes.
2173         - Add configure support for ssize_t.
2174         - Update all callers of Lstream_read and Lstream_write to
2175           use the new types.
2176         - Fix esd* initiated C++ compile errors.
2177         - Remove comments referring to `fpurge' - we don't want to call it
2178           even if it's there.
2179
2180         * lisp.h
2181         - Remove some lingering Lucid compiler support.
2182
2183         * lisp.h
2184         - Add prototype for Fdelete_process.
2185
2186         * gpmevent.c (Freceive_gpm_event): Remove unused variables.
2187
2188 1999-11-27  Martin Buchholz  <martin@xemacs.org>
2189
2190         * Makefile.in.in (depend): Only update `depend' if there were changes.
2191
2192 1999-11-26  Martin Buchholz  <martin@xemacs.org>
2193
2194         * editfns.c (get_system_name): Remove.
2195
2196 1999-11-26  Martin Buchholz  <martin@xemacs.org>
2197
2198         * device-x.c (x_init_device): 
2199         - Replace magic number `17' with equivalent expn using sizeof.
2200         - Replace strcmp with marginally more efficient memcmp.
2201         - Avoid using C++ reserved word `class'.
2202
2203         * file-coding.c (determine_real_coding_system): 
2204         - Look for both initial and final -*- cookies.
2205         - Replace EQ (foo, Qnil) with NILP (foo)
2206         - Make searching for cookies more efficient.
2207         - Recognize only rfc 1521 characters in charset names.
2208
2209 1999-11-22  Kazuyuki IENAGA <kazz@imasy.or.jp>
2210
2211         * input-method-xlib.c (IMDestroyCallback): #ifdef'd by
2212         "THIS_IS_X11R6", because it shouldn't be evaluated unless X11R6.
2213         * input-method-xlib.c (IMInstantiateCallback): Ditto.
2214         * input-method-xlib.c (XIM_init_device): Revive XOpenIM function
2215         call for X11R5 systems.
2216         * input-method-xlib.c (XIM_delete_frame): Enabled XDestroyIC()
2217         again because XIM doesn't concern with frame deletion itself.
2218         The XIC will be cleared by XIM when XIM is closing (at XIM destroy
2219         callback).
2220
2221 1999-10-25  Kazuyuki IENAGA <kazz@imasy.or.jp>
2222
2223         * input-method-xlib.c: Added new lisp object Qxim_xlib.
2224         New macro xim_warn(str), xim_warn1(fmt,str) and xim_info(str).
2225         All the valid stderr_out were changed to those macros.
2226         (IMDestroyCallback): Don't test the XIC if the frame is not X
2227         frame.
2228         (IMInstantiateCallback): Treat the client_data as "device" not
2229         "frame" because the caller changed from frame to device.
2230         Here initializes XIM and activates XICs for each frame which
2231         doesn't have XIC.
2232         (XIM_init_device): Register the XIM instantiation callback which
2233         had been performed by XIM_init_frame() before.
2234         (XIM_delete_frame): Added a test for the XIM before clearing XIC.
2235         (XIM_init_frame): Placed an actual code for XIC activation which
2236         was moved from IMInstantiateCallback.
2237         (syms_of_input_method_xlib): New function which includes a symbol
2238         Qxim_xlib that uses in emacs.c.
2239
2240         * emacs.c: Added a function entry "syms_of_input_method_xlib" for
2241         input_method_xlib.
2242
2243         * symsinit.h: Added a declaration of "syms_of_input_method_xlib".
2244
2245 1999-11-05  Robert Pluim  <rpluim@bigfoot.com>
2246
2247         * emacs.c (shut_down_emacs): Point users to PROBLEMS file
2248
2249 1999-11-16  Jan Vroonhof  <vroonhof@math.ethz.ch>
2250
2251         * redisplay-output.c (compare_runes): Add comments about
2252         results from profiling.
2253
2254         * redisplay.h (struct rune): Do not use bitfields for members.
2255         (struct rune): Add various comments about further optimizations.
2256         
2257 1999-11-19  Eric Darve  <darve@crocco.stanford.edu>
2258
2259         * abbrev.c (abbrev_oblookup): Check whether wordend <= wordstart
2260         if Vabbrev_start_location is used too.
2261
2262 1999-10-27  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2263
2264         * file-coding.c (detect_eol_type): Return CR when two
2265         sequential CR are found.
2266         (determine_real_coding_system): Check EOL type when coding:
2267         cookie is found and EOL type is not specified.
2268         Don't assume 8bit char as part of coding: cookie.
2269
2270 1999-10-26  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2271
2272         * file-coding.c (determine_real_coding_system): Check if
2273         '-*-' exists. End searching for coding: cookie at the end
2274         of line. Check whether character before coding: is space,
2275         tab or ';'.
2276
2277 1999-11-07  William M. Perry  <wmperry@aventail.com>
2278
2279         * gpmevent.c: Completely rewrote GPM mouse support for linux
2280           console.  The TTY console and event stream are modified at run
2281           time, so this code can now be used as a module.
2282           (tty_get_foreign_selection): New function to allow pasting from
2283           other virtual consoles.
2284           (Fgpm_enable): New lisp-visible function to turn GPM on or off
2285           at run time.
2286
2287         * device-tty.c (tty_asynch_device_change): No longer need to
2288           notify GPM code of window/console height/width changes.
2289
2290         * console-tty.c (tty_init_console): Removed outdated GPM support
2291           that was part of the console/event code.
2292
2293         * event-Xt.c (emacs_Xt_select_console): Ditto
2294
2295         * event-Xt.c (emacs_Xt_unselect_console): Ditto
2296
2297         * event-unixoid.c (read_event_from_tty_or_stream_desc): Ditto
2298
2299         * frame-tty.c (console_type_create_frame_tty): Ditto
2300
2301 1999-11-17  Martin Buchholz  <martin@xemacs.org>
2302
2303         * nt.c:
2304         * sysdep.c:
2305         * s/mingw32.h:
2306         * s/windowsnt.h:
2307         - Use Unix 98 types uid_t, gid_t, pid_t.
2308         - Define them.
2309
2310 1999-11-01  Olivier Galibert  <galibert@pobox.com>
2311
2312         * alloc.c (reinit_alloc_once_early): Move purify_flag init...
2313         * emacs.c (main_1): ...here, to get the correct value even with
2314         the portable dumper.
2315
2316 1999-11-17  Martin Buchholz  <martin@xemacs.org>
2317
2318         * lisp.h (BIT_VECTOR_LONG_STORAGE): Add extra parens.  It's a macro!
2319
2320         * tooltalk.c (tt_build_string): Remove extra parens.
2321         * process.c (print_process): Remove extra parens.
2322         * buffer.h (BI_BUF_PTR_BYTE_POS): 
2323         (BUF_PTR_BYTE_POS): 
2324         (BI_BUF_BYTE_ADDRESS): 
2325         (BI_BUF_BYTE_ADDRESS_BEFORE): 
2326         (valid_memind_p): 
2327         (bytind_to_memind): 
2328         (memind_to_bytind):
2329         Remove extra parens.  Inline functions are not macros.
2330
2331         * editfns.c (Fuser_login_name): 
2332         (user_login_name):
2333         Use proper type uid_t.
2334
2335 1999-11-15  Martin Buchholz  <martin@xemacs.org>
2336
2337         * syntax.c (complex_vars_of_syntax): Make more readable.
2338         (define_standard_syntax): New function.
2339
2340         * syntax.c (forward-comment): Gradually make XEmacs 64-bit-clean.
2341
2342 1999-11-14  Martin Buchholz  <martin@xemacs.org>
2343
2344         * mule-ccl.c (CCL_WRITE_STRING): Fix compiler warnings.
2345
2346 1999-11-12  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2347
2348         * mule-charset.h (LEADING_BYTE_OFFICIAL_1, LEADING_BYTE_OFFICIAL_2):
2349         New enum type to make sure no gap in the leading byte definition.
2350
2351 1999-11-11  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2352
2353         * mule-charset.h (LEADING_BYTE_CYRILLIC_ISO_8859_5,
2354         LEADING_BYTE_LATIN_ISO8859_9): Moved to 0x8B and 0x8C
2355         to remove a hole in leading byte definition.
2356
2357 1999-11-10  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2358
2359         * mule-charset.c (non_ascii_valid_charptr_p): Check if
2360         private charset is defined.
2361
2362 1999-11-09  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2363
2364         * mule-ccl.c (ccl_driver): Make sure generated sequences
2365         are valid when doing `CCL_WRITE_STRING'.
2366         (ccl-execute-on-string): Pass CCL_MODE_DECODING to ccl_driver.
2367
2368 1999-11-10  XEmacs Build Bot <builds@cvs.xemacs.org>
2369
2370         * XEmacs 21.2.20 is released
2371
2372 1999-11-04  Martin Buchholz  <martin@xemacs.org>
2373
2374         * mule-ccl.c (ccl_driver): Warning suppression
2375
2376 1999-11-01  SL Baur  <steve@miho.m17n.org>
2377
2378         * emacs.c (main_1): Guard call to reinit_vars_of_debug when not
2379         building a debugged XEmacs.
2380
2381 1999-10-28  Andreas Jaeger  <aj@suse.de>
2382
2383         * src/emacs.c (main_1): Don't set the malloc hooks if using
2384         DOUG_LEA_MALLOC.
2385
2386 1999-10-30  Olivier Galibert  <galibert@pobox.com>
2387
2388         * alloc.c (pdump_dump_rtables): Don't forget to dump the last
2389         registered type.
2390         (pdump): Ditto.
2391
2392 1999-10-25  Olivier Galibert  <galibert@pobox.com>
2393
2394         * emacs.c (main_1): Call reinit_vars_of_scrollbar_x.
2395
2396         * symsinit.h: Declare reinit_vars_of_scrollbar_x.
2397
2398 1999-10-25  Martin Buchholz  <martin@xemacs.org>
2399
2400         * redisplay.h (CLASS_RESET_CHANGED_FLAGS): 
2401         (GLOBAL_RESET_CHANGED_FLAGS): 
2402         (CLASS_REDISPLAY_FLAGS_CHANGEDP): 
2403         (RESET_CHANGED_SET_FLAGS): 
2404         Fix C++ compile errors/warnings.
2405         These macros were just a tad too clever.
2406
2407         * process-unix.c (unix_open_network_stream):
2408         * objects-x.c (allocate_nearest_color):
2409         * mule-charset.c (vars_of_mule_charset): 
2410         * fileio.c (Ffile_truename): 
2411         * file-coding.c (vars_of_file_coding): 
2412         Fix compile errors/warnings.
2413
2414         * alloc.c (xstrdup): Use fact that memcpy returns its first arg.
2415         (allocate_lisp_storage): Simplify.
2416
2417 1999-10-24  Olivier Galibert  <galibert@pobox.com>
2418
2419         * conslots.h: Add defines with first and last slot names.
2420         * bufslots.h: Add defines with first and last slot names.
2421
2422         * buffer.c (common_init_complex_vars_of_buffer): Renamed from
2423         reinit_complex_vars_of_buffer
2424         (reinit_complex_vars_of_buffer): Reset the slots to the dumped
2425         value.
2426         (complex_vars_of_buffer): Dump the slots values.
2427
2428         * console.c (common_init_complex_vars_of_console): Renamed from
2429         reinit_complex_vars_of_console
2430         (reinit_complex_vars_of_console): Reset the slots to the dumped
2431         value.
2432         (complex_vars_of_console): Dump the slots values.
2433
2434         * alloc.c: Rename reloc_table to pdump_reloc_table, rt_list to
2435         pdump_rt_list and move them at the beginning of the file.
2436         (gc_sweep): Unmark pdumped objects after the sweep phase.
2437         (pdump_dump_rtables): Change a bare 256 to
2438         last_lrecord_type_index_assigned.  Add a separator between the
2439         adresses or lrecords and the ones of C structs in the dump file.
2440         (pdump_load): Cope with the new separator and the renamings.  Stop
2441         looking for the hash tables list after it has been found (duh!).
2442
2443 1999-10-24  Robert Bihlmeyer <robbe@orcus.priv.at>
2444
2445         * sound.c: support HAVE_ESD_SOUND
2446
2447         * miscplay.c: 
2448         * miscplay.h: 
2449         * linuxplay.c: Move large part of linuxplay to generalized file
2450         miscplay. Make it platform independent.
2451
2452         * esd.c: New file
2453
2454 1999-10-24  Adrian Aichner <adrian@xemacs.org>
2455
2456         * lisp.h (Dynarr_declare): Fix boo-boo.
2457
2458 1999-10-24  Olivier Galibert  <galibert@pobox.com>
2459
2460         * process-unix.c (allocate_pty): Fix HAVE_GETPT.
2461         * process.h: Ditto.
2462
2463 1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
2464
2465         * redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt
2466         >=0). Handle the cur_elt == 0 case.
2467
2468 1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
2469
2470         * unexelf.c: Merge Martin's c++ fixes back in 
2471
2472 1999-10-20  Jan Vroonhof  <vroonhof@math.ethz.ch>
2473
2474         * unexelf.c (unexec): Only copy the global offset
2475         table from memory on sgi machines.
2476
2477 1999-08-13     Alexandre Oliva <oliva@dcc.unicamp.br>, Vin Shelton <acs@xemacs.org>
2478
2479         * unexelf.c: Enable GNU/Linux/alpha to build with gcc 2.95 by
2480         adding support for an sbss section.  Get IRIX 5.2 to build using
2481         unexelf.c.
2482
2483         * m/iris4d.h: Use unexelf.o for unexec.
2484
2485         * m/iris5d.h: Use unexelf.o for unexec.
2486
2487 1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
2488
2489         * unexelf.c: Revert to 21.1 version
2490
2491 1999-08-28  Jan Vroonhof  <vroonhof@math.ethz.ch>
2492
2493         * window.c (Fwindow_truncated_p): New function.
2494
2495 1999-08-25  Jonathan Marten <jonathan.marten@uk.sun.com>
2496
2497         * window.c (window_truncation_on): Always return 0 for minibuffer
2498         windows, to enable auto scrolling.
2499
2500 1999-10-24 Neal Becker <nbecker@fred.net>
2501         * process.h: Unix98 PTY support
2502
2503 1999-10-17  Jan Vroonhof  <vroonhof@math.ethz.ch>
2504
2505         * fileio.c (Ffile_truename): Do proper mule decoding on
2506         the argument to xrealpath()
2507
2508 1999-08-19  Stephen Tse  <stephent@sfu.ca>
2509
2510         * process-unix.c (unix_open_network_stream): Add udp network
2511         support; rename variable Qtcpip to Qtcp, parameter family to
2512         protocol for consistency with Qudp.
2513
2514         * process-nt.c (nt_open_network_stream): Rename variable Qtcpip to
2515         Qtcp, parameter family to protocol for consistency with Qudp.
2516
2517         * process.c (global_variables): Add a new variable Qudp for udp
2518         network support; rename variable Qtcpip to Qtcp for consistency
2519         with Qudp.
2520         (Fopen_network_stream_internal): Rename parameter FAMILY to
2521         PROTOCOL for consistency; fix a minor typo and add an explanation
2522         in docstring for udp programming.
2523         (Fopen_multicast_group_internal): Fix a minor typo in docstring.
2524         (syms_of_process): Add a new variable Qudp for udp network
2525         support; rename variable Qtcpip to Qtcp for consistency with Qudp.
2526
2527         * process.h (extern_variables): Add a new variable Qudp for udp
2528         network support; rename variable Qtcpip to Qtcp for consistency
2529         with Qudp.
2530
2531         * procimpl.h: Add a new variable Qudp for udp network support;
2532         rename variable Qtcpip to Qtcp for consistency with Qudp.
2533         (struct process_methods): Rename parameter family to protocol.
2534
2535
2536 1999-10-24  Olivier Galibert  <galibert@pobox.com>
2537
2538         * alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash.
2539
2540 1999-10-23  Olivier Galibert  <galibert@pobox.com>
2541
2542         * lrecord.h (struct lrecord_header): Removed dumped flags.
2543
2544         * dynarr.c: Use DUMPEDP instead of dumped flag.
2545
2546         * lisp.h (DUMPEDP): Added.  Removed dumped flag from dynarr.
2547
2548         * alloc.c: Removed hash_next linked list pointer.
2549         
2550         * *.c *.h: Removed markobj and mark_object parameters, removed GC_
2551         and XGC macros.
2552
2553 1999-10-14  Andy Piper  <andy@xemacs.org>
2554
2555         * redisplay-x.c (x_output_shadows): fix dodgy maths for border
2556         calculations.
2557
2558         * gutter.c (output_gutter): be more accurate about the area to be
2559         cleared since X seems to manage to do the clear after drawing the
2560         border.
2561
2562         * redisplay.h (RESET_CHANGED_FLAGS): new macro for setting
2563         redisplay flags as a group.
2564         (RESET_CHANGED_SET_FLAGS): ditto.
2565         (CLASS_RESET_CHANGED_FLAGS): ditto.
2566         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
2567         (REDISPLAY_FLAGS_CHANGEDP): new macro for testing redisplay flags
2568         as a group.
2569         (CLASS_REDISPLAY_FLAGS_CHANGEDP): ditto.
2570         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
2571
2572         * redisplay.c (redisplay_frame): use CLASS_RESET_CHANGED_FLAGS
2573         instead of setting flags individually.
2574         (redisplay_device): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
2575         (redisplay_device): ditto.
2576         (redisplay_device): ditto CLASS_RESET_CHANGED_FLAGS.
2577         (redisplay_without_hooks): ditto GLOBAL_REDISPLAY_FLAGS_CHANGEDP.
2578         (redisplay_without_hooks): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
2579         (redisplay_without_hooks): ditto.
2580         (redisplay_without_hooks): ditto GLOBAL_RESET_CHANGED_FLAGS.
2581
2582         * redisplay-x.c (x_output_string): unmap subwindows in the area.
2583         (x_output_blank): ditto.
2584
2585         * redisplay-output.c (redisplay_output_display_block): don't unmap
2586         subwindows in case layout optimization can avoid it.
2587         (redisplay_output_subwindow): unmap subwindows in the area.
2588         (redisplay_output_layout): optimize the output of layouts - only
2589         output glyphs that have changed if nothing else of redisplay
2590         significance has occurred.
2591         (redisplay_output_pixmap): change args to
2592         redisplay_clear_clipped_region.
2593         (redisplay_clear_clipped_region): allow the clipped region to be
2594         cleared of all subwindows except the one passed in.
2595
2596         * redisplay-msw.c (mswindows_output_blank): unmap subwindows in
2597         the area.
2598         (mswindows_output_cursor): ditto.
2599         (mswindows_output_string): ditto.
2600
2601         * gutter.c (calculate_gutter_size): if the window buffer is nil
2602         then don't continue.
2603         (update_frame_gutters): be more lenient about when we actually
2604         update the gutter. Layout optimization makes this
2605         non-costly. Cache redisplay flags that we want to temporarily
2606         ignore.
2607
2608         * glyphs.c (Fglyph_animated_timeout_handler): handle image
2609         specific timeouts rather than iterating over the instance cache.
2610         (glyph_animated_timeout_mapper): deleted.
2611         (add_glyph_animated_timeout): use a weak list to hold onto the
2612         image so that it can be GC'ed.
2613         (disable_glyph_animated_timeout): disable a specific timeout.
2614         (vars_of_glyphs): disable-animated-pixmaps is a new boolean for
2615         controlling whether pixmaps are animated or not.
2616
2617         * glyphs-msw.c (mswindows_finalize_image_instance): make sure the
2618         image timeout gets disabled when the image gets freed.
2619
2620         * glyphs-eimage.c (gif_instantiate): remove meaningless
2621         comment. Cope with timeouts specified in the gif extension block.
2622
2623         * event-msw.c (vars_of_event_mswindows): new variable
2624         mswindows-meta-activates-menu.
2625         (mswindows_wnd_proc): only goto defproc with VK_MENU if the user
2626         wants it.
2627
2628         * glyphs-x.c (x_finalize_image_instance): delete mask first so
2629         that we can compare with image.
2630
2631 1999-10-14  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2632
2633         * event-msw.c (mswindows_key_to_emacs_keysym):
2634         Recognise keypad keys as different from normal keys.
2635
2636 1999-10-14  Didier Verna  <didier@xemacs.org>
2637
2638         * glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps.
2639
2640 1999-10-10  Olivier Galibert  <galibert@pobox.com>
2641
2642         * symbols.c (init_symbols_once_early): dump Vquit_flag.
2643
2644         * symsinit.h: Updated.
2645
2646         * ntproc.c (vars_of_ntproc): Use defsymbol.
2647
2648         * emacs.c (main_1): Updated reinit calls.
2649
2650         * lisp.h: Removed Fpurecopy and pure_put declarations.
2651         * fns.c: Removed pure_put.
2652
2653         * eval.c (Fdefvar): pure_put -> Fput
2654         (Fdefconst): Ditto.
2655         * frame-x.c (init_x_prop_symbols): Ditto.
2656         * symbols.c (deferror): Ditto.
2657
2658         * alloc.c (Fmake_byte_code): Remove Fpurecopy call.
2659         * buffer.c (vars_of_buffer): Ditto.
2660         * bytecode.c (Ffetch_bytecode): Ditto.
2661         (optimize_compiled_function): Ditto.
2662         * emacs.c (vars_of_emacs): Ditto.
2663         * emodules.c (vars_of_module): Ditto.
2664         * eval.c (define_function): Ditto.
2665         (Fautoload): Ditto.
2666         * frame.c (vars_of_frame): Ditto.
2667         * intl.c (Fset_domain): Ditto.
2668         * lread.c (load_force_doc_string_unwind): Ditto.
2669         * menubar.c (vars_of_menubar): Ditto.
2670         * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
2671
2672         * debug.c (reinit_vars_of_debug): Extracted.
2673         * device-x.c (reinit_vars_of_device_x): Ditto.
2674         * emodules.c (reinit_vars_of_module): Ditto.
2675         * font-lock.c (reinit_vars_of_font_lock): Ditto.
2676         * glyphs-widget.c (reinit_vars_of_glyphs_widget): Ditto.
2677         * glyphs.c (reinit_vars_of_glyphs): Ditto.
2678         * gui-x.c (reinit_vars_of_gui_x): Ditto.
2679         * insdel.c (reinit_vars_of_insdel): Ditto.
2680         * menubar-x.c (reinit_vars_of_menubar_x): Ditto.
2681         * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
2682         * mule-wnnfns.c (reinit_vars_of_mule_wnn): Ditto.
2683         * print.c (reinit_vars_of_print): Ditto.
2684         * redisplay.c (reinit_vars_of_redisplay): Ditto.
2685         * select-x.c (reinit_vars_of_xselect): Ditto.
2686         * undo.c (reinit_vars_of_undo): Ditto.
2687
2688 1999-10-10  Olivier Galibert  <galibert@pobox.com>
2689
2690         * symsinit.h: Updated declarations, see other ChangeLog entries.
2691
2692         * redisplay.c (init_redisplay): Ensure proper reinitialisation.
2693
2694         * lrecord.h (XD_DYNARR_DESC): Introduce XD_INT_RESET and use it.
2695
2696         * glyphs.c: Add the ii_keyword_entry and related descriptions.
2697         Fix the image_instantiator_methods one.
2698
2699         * file-coding.c: Plonk all data that needs to be dumped in a
2700         dynamically allocated structure.
2701
2702         * extents.c (reinit_vars_of_extents): Extracted from
2703         vars_of_extents.
2704
2705         * event-stream.c (vars_of_event_stream): Don't staticpro when
2706         pdump_wire is enough.
2707
2708         * event-msw.c (reinit_vars_of_event_mswindows): Extracted from
2709         vars_of_event_mswindows.
2710
2711         * event-Xt.c (reinit_vars_of_event_Xt): Extracted from
2712         vars_of_event_Xt.
2713
2714         * eval.c (vars_of_eval): Don't staticpro when pdump_wire is enough.
2715
2716         * emacs.c (main_1): Added some reinit calls.
2717
2718         * device-x.c (reinit_console_type_create_device_x): Extracted from
2719         console_type_create_device_x.
2720
2721         * console.h: Declare the console_type_entry_dynarr description.
2722
2723         * console.c: Unstatic the console_type_entry_dynarr description.
2724
2725         * alloc.c: Removed some dubious comments.  Handle XD_INT_RESET.
2726
2727 1999-10-07  Olivier Galibert  <galibert@pobox.com>
2728
2729         * symsinit.h: Updated declarations, see other ChangeLog entries.
2730
2731         * minibuf.c (reinit_complex_vars_of_minibuf): Extracted from
2732         complex_vars_of_minibuf.
2733
2734         * lrecord.h: Removed XD_PARENT_INDIRECT (unused and
2735         unimplemented), added XD_LO_LINK.
2736
2737         * lisp.h (pdump_wire_list): Add declaration.
2738
2739         * glyphs.h (INITIALIZE_DEVICE_IIFORMAT): Fix bug found by Andy.
2740         (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Fix stupid bug.
2741         (REINITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Remove, useless once the
2742         stupid bug fixed.
2743
2744         * glyphs.c (reinit_image_instantiator_format_create): Remove.
2745
2746         * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
2747         Remove.
2748
2749         * glyphs-widget.c
2750         (reinit_image_instantiator_format_create_glyphs_widget): Remove.
2751
2752         * glyphs-msw.c
2753         (reinit_image_instantiator_format_create_glyphs_mswindows):
2754         Remove.
2755
2756         * glyphs-eimage.c
2757         (reinit_image_instantiator_format_create_glyphs_eimage): Remove.
2758
2759         * frame.c (Fmake_frame): Don't reset the face cache when using the
2760         stream device.
2761
2762         * file-coding.c: Dumped the_codesys_prop_dynarr and added all
2763         relevant descriptions.
2764
2765         * events.c (reinit_vars_of_events): Extracted from vars_of_events.
2766
2767         * eval.c: The subr is _not_ a lcrecord.
2768
2769         * emacs.c (main_1): Call vars_of_specifier early before any
2770         specifier creation (e.g in vars_of_glyphs, at least).  Remove the
2771         useless reinit_image_instantiator_format*.  Add
2772         reinit_vars_of_events and reinit_complex_vars_of_minibuf.  Add
2773         calls to lstream_type_create* and process_type_create*.
2774
2775         * elhash.c: Dump Vall_weak_hash_tables correctly.
2776
2777         * data.c: Dump Vall_weak_lists correctly.
2778
2779         * console.c: Fix description.
2780
2781         * console-stream.c (init_console_stream): Do initializations
2782         correctly in the pdump case.
2783
2784         * chartab.c: Fix description.  Dump Vall_syntax_tables correctly.
2785         (Fcopy_char_table): Link into Vall_syntax_tables.
2786
2787         * alloc.c (pdump_wire_list): Added.
2788         (Fgarbage_collect): Fix loop in stats couting missing the last
2789         lrecord type.
2790         (pdump_register_sub): Added XD_LO_LINK.
2791         (pdump_dump_data): Ditto.  Fixed XD_LO_RESET_NIL forgttting the
2792         counter.
2793         (pdump_reloc_one): Ditto.
2794         (pdump_scan_by_alignement): Use last_lrecord_type_index_assigned
2795         instead of 256.
2796         (pdump_dump_wired): Added lists.
2797         (pdump): Use last_lrecord_type_index_assigned instead of 256.
2798         Dump last_lrecord_type_index_assigned value.  Fix minor bugs.
2799
2800 1999-10-07  Andy Piper  <andy@xemacs.org>
2801
2802         * glyphs-msw.c (mswindows_finalize_image_instance): zero out
2803         bitmap slices.
2804
2805         * glyphs-x.c (x_finalize_image_instance): fix FMW problem.
2806
2807 1999-10-06  Andy Piper  <andy@xemacs.org>
2808
2809         * elhash.c (resize_hash_table): Correct reference to lrecord_header.
2810
2811 1999-10-06  Damon Lipparelli  <lipp@primus.com>
2812
2813         * elhash.h: forward declare Lisp_Hash_Table.
2814
2815 1999-10-06  Andy Piper  <andy@xemacs.org>
2816
2817         * glyphs.c (Fset_image_instance_property): mark glyphs as dirty
2818         after setting an image instance property.
2819
2820 1999-10-05  Andy Piper  <andy@xemacs.org>
2821
2822         * gutter.c (update_frame_gutters): output gutters if
2823         windows_changed is set. This is the only way of catching changes
2824         in selected window which obviously can affect the specifiers.
2825
2826         * redisplay.c: new state flags, subwindows_state_changed and
2827         subwindows_state_changed set.
2828         (redisplay_window): use them.
2829         (redisplay_device): ditto.
2830         (redisplay_without_hooks): ditto.
2831         (redisplay_frame): ditto. Reset subwindow cachels if
2832         subwindows_changed is set.
2833         (redisplay_window): call mark_glyph_cachels_as_clean after
2834         redisplaying.
2835
2836         * redisplay-x.c (x_output_x_pixmap): select correct
2837         pixmap image for display depending on the currently selected
2838         slice.
2839
2840         * redisplay-output.c (compare_runes): check dirtiness when
2841         checking RUNE_DGLYPH runes.
2842         (compare_display_blocks): relax invalidation of display blocks
2843         since we can now detect whether individual glyphs have changed or
2844         not.
2845
2846         * redisplay-msw.c (mswindows_output_dibitmap): select correct
2847         bitmap image for display depending on the currently selected
2848         slice.
2849
2850         * glyphs.h (struct Lisp_Image_Instance): add a dirty flag.
2851         (IMAGE_INSTANCE_DIRTYP): new macro.
2852         (XIMAGE_INSTANCE_DIRTYP): ditto.
2853         (MARK_IMAGE_INSTANCE_CHANGED): ditto.
2854         (GLYPH_DIRTYP): ditto.
2855         (XGLYPH_DIRTYP): ditto.
2856         (MARK_GLYPH_CHANGED): ditto.
2857         (GLYPH_CACHEL_DIRTYP): ditto.
2858         (struct glyph_cachel): add a dirty flag.
2859
2860         * glyphs.c (update_frame_subwindows): Don't update on
2861         glyphs_changed.
2862         (glyph_animated_timeout_mapper): new function. Map over the
2863         instance cache lookinng for animated images to update.
2864         (Fglyph_animated_timeout_handler): new function. Lisp callback for
2865         handling animated image timeout events.
2866         (disable_glyph_animated_timeout): new function. Add the animated
2867         image timeout.
2868         (disable_glyph_animated_timeout): new function. Remove the
2869         animated image timeout.
2870         (syms_of_glyphs): initialize Qglyph_animated_timeout_handler and
2871         friends.
2872         (vars_of_glyphs): initialize Vglyph_animated_ticker.
2873         (image_instance_equal): add the currently displayed slice.
2874         (image_instance_hash): ditto.
2875         (allocate_glyph): initialize dirty flag.
2876         (glyph_width): rename glyph -> glyph_or_image.
2877         (glyph_height_internal): ditto.
2878         (glyph_dirty_p): new function. Determine whether the image
2879         instance in the domain and/or glyph is dirty.
2880         (set_glyph_dirty_p): set the dirtiness.
2881         (update_glyph_cachel_data): take dirtiness into account. Pass the
2882         image instance we are interested in to glyph_width and friends.
2883         (get_glyph_cachel_index): make non-static. Always call
2884         update_glyph_cachel_data.
2885         (mark_glyph_cachels_as_not_updated): meaningless formatting
2886         change.
2887         (mark_glyph_cachels_as_clean): new function. Clean dirtiness from
2888         glyph cachels.
2889
2890         * glyphs-x.h (struct x_image_instance_data): change
2891         pixmap to a list of pixmaps.
2892         (IMAGE_INSTANCE_X_PIXMAP_SLICE): new macro.
2893         (IMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
2894         (XIMAGE_INSTANCE_X_PIXMAP_SLICE): ditto.
2895         (XIMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
2896
2897         * glyphs-x.c (x_finalize_image_instance): make sure multi pixmap
2898         images get deleted properly.
2899         (init_image_instance_from_x_image): add slices paramater and use
2900         it to initialize x_image_instance_data correctly.
2901         (image_instance_add_x_image): new function. Add new pixmaps to our
2902         set of instantiated pixmaps for an image. Used by animated images.
2903         (x_init_image_instance_from_eimage): add a slices
2904         parameter. Instantiate all images from the eimage.
2905         (x_xpm_instantiate): update use of
2906         init_image_instance_from_x_image.
2907         (init_image_instance_from_xbm_inline): ditto.
2908         (x_initialize_pixmap_image_instance): add slices paramater and use
2909         it to allocate x_image_instance_data correctly.
2910
2911         * glyphs-msw.h (struct mswindows_image_instance_data): change
2912         bitmap to a list of bitmaps.
2913         (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): new macro.
2914         (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
2915         (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): ditto.
2916         (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
2917
2918         * glyphs-msw.c (init_image_instance_from_dibitmap): add slices
2919         paramater and use it to initialize mswindows_image_instance_data
2920         correctly.
2921         (image_instance_add_dibitmap): new function. Add new bitmaps to
2922         our set of instantiated bitmaps for an image. Used by animated
2923         images.
2924         (mswindows_init_image_instance_from_eimage): add a slices
2925         parameter. Instantiate all images from the eimage.
2926         (mswindows_xpm_instantiate): update use of
2927         init_image_instance_from_dibitmap.
2928         (bmp_instantiate): ditto.
2929         (init_image_instance_from_xbm_inline): ditto.
2930         (mswindows_finalize_image_instance): make sure all the bitmap
2931         slices get deleted.
2932         (mswindows_initialize_dibitmap_image_instance): add slices
2933         paramater and use it to allocate mswindows_image_instance_data
2934         correctly.
2935
2936         * glyphs-eimage.c (jpeg_instantiate): give extra paramter to
2937         init_image_instance_from_eimage.
2938         (png_instantiate): ditto.
2939         (tiff_instantiate): ditto.
2940         (gif_instantiate): allocate bitmaps for all gif slices not just
2941         the first one.
2942
2943         * device.h (struct device): add subwindows_state_changed flag.
2944         (MARK_DEVICE_SUBWINDOWS_STATE_CHANGED): new macro.
2945         (MARK_DEVICE_FRAMES_GLYPHS_CHANGED): ditto.
2946
2947         * console.h (struct console_methods): add a slice parameter to
2948         init_image_instance_from_eimage_method.
2949
2950         * redisplay.c (create_string_text_block): Allow buffer to be nil
2951         without crashing.
2952
2953 1999-09-24  Andy Piper  <andy@xemacs.org>
2954
2955         * glyphs-x.c: only include gui-x.h if we are building with
2956         widgets.
2957
2958         * gui-x.c (vars_of_gui_x): only set popup_up_p if we have popups.
2959
2960 1999-09-28  Lee Kindness <lkindness@csl.co.uk>
2961
2962         * objects-x.c (allocate_nearest_color): will return 0 (failure)
2963         when the colormap is full and the color it has computed to be the
2964         'nearest' has been allocated read/write.
2965
2966 1999-10-02  Olivier Galibert  <galibert@pobox.com>
2967
2968         * search.c (reinit_vars_of_search):   Reinit   the  search   cache
2969         correctly.
2970
2971         * elhash.h:     Make    the    description    visible.     Declare
2972         resize_hash_table.
2973
2974         * elhash.c  (resize_hash_table): Extracted from enlarge_hash_table
2975         to generalize the hash table reorganization.
2976         (reorganize_hash_table): Added.
2977         (enlarge_hash_table): Uses resize_has_table.
2978
2979         * casetab.c (complex_vars_of_casetab):  staticpro  the mule mirror
2980         tables.
2981
2982         * alloc.c:   Add  correct  management  of   blocks of  structures.
2983         Reorganize hash tables at reload since  the hash values can change
2984         with the pointers.
2985
2986 1999-10-01  Olivier Galibert  <galibert@pobox.com>
2987
2988         * lisp.h: Add pdump_wire declaration
2989
2990         * elhash.c (vars_of_elhash): Wire Vall_weak_hash_tables.
2991         * symbols.c (init_symbols_once_early): Wire Qnil and Qunbound.
2992
2993         * alloc.c (pdump_wire): Added..
2994         (pdump_load): Support it.
2995         (pdump): Support it
2996
2997         * glyphs-msw.c
2998         (reinit_image_instantiator_format_create_glyphs_mswindows): Fix
2999         macro calls.
3000
3001 1999-09-28  Olivier Galibert  <galibert@pobox.com>
3002
3003         * symsinit.h: Added lots of prototypes.
3004
3005         * symeval.h: Added defsymbol_nodump declaration.
3006
3007         * symbols.c (find_symbol_value): Lame attempt at making the
3008         startup go further.
3009         (defsymbol_nodump): Added.
3010
3011         * mule-charset.c: Collapsed global lisp objects arrays in one
3012         dumpable structure.
3013
3014         * lrecord.h: Added some flags.
3015
3016         * lisp.h: Added dumped flag to dynarrs.  Added dumpstruct
3017         declaration.
3018
3019         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): Don't
3020         staticpro dynamic variables.
3021
3022         * glyphs.c (reinit_specifier_type_create_image): Added.
3023         (image_instantiator_format_create): Dump image instantiator format
3024         dynarr.
3025         (reinit_image_instantiator_format_create): Added.
3026
3027         * emacs.c (main_1): Added reinits calls.
3028
3029         * dynarr.c: Protect dumped dynarrays from going berzek in free or
3030         realloc.
3031
3032         * specifier.h (INITIALIZE_SPECIFIER_TYPE): Don't staticpro dynamic
3033         variables.
3034         * specifier.c (specifier_type_create): Dump the specifier type
3035         dynarr.
3036         (reinit_specifier_type_create): Added.
3037         * console.h (INITIALIZE_CONSOLE_TYPE): Don't staticpro dynamic
3038         variables.
3039         * console.c (console_type_create): Dump the console type dynarr.
3040         (reinit_vars_of_console): Extracted from vars_of_console.
3041         (reinit_complex_vars_of_console): Extracted from
3042         complex_vars_of_console
3043         * window.c (reinit_vars_of_window): Extracted from vars_of_window.
3044         * toolbar.c (reinit_specifier_type_create_toolbar): Added.
3045         * search.c (reinit_vars_of_search): Extracted from vars_of_search.
3046         * objects.c (reinit_specifier_type_create_objects): Added.
3047         (reinit_vars_of_objects): Extracted from vars_of_objects.
3048         * lstream.c (reinit_vars_of_lstream): Extracted from
3049         vars_of_lstream.
3050         * lread.c (reinit_vars_of_lread): Extracted from vars_of_lread.
3051         * gutter.c (reinit_specifier_type_create_gutter): Added.
3052         * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
3053         Added.
3054         * glyphs-widget.c
3055         (reinit_image_instantiator_format_create_glyphs_widget): Added
3056         * glyphs-msw.c
3057         (reinit_image_instantiator_format_create_glyphs_mswindows): Added.
3058         * glyphs-eimage.c
3059         (reinit_image_instantiator_format_create_glyphs_eimage): Added.
3060         * event-stream.c (reinit_vars_of_event_stream): Extracted from
3061         vars_of_event_stream
3062         * eval.c (reinit_vars_of_eval): Extracted from vars_of_eval.
3063         * device.c (reinit_vars_of_device): Extracted from vars_of_device.
3064         * console-x.c (reinit_console_type_create_x): Added.
3065         * console-tty.c (reinit_console_type_create_tty): Added
3066         * console-stream.c (reinit_console_type_create_stream): Added.
3067         (init_console_stream): If PDUMP, always reinitialise basic
3068         devices.
3069         * console-msw.c (reinit_console_type_create_mswindows): Added.
3070         * buffer.c (reinit_vars_of_buffer): Extracted from
3071         init_vars_of_buffer.
3072         (reinit_complex_vars_of_buffer): Extracted from
3073         complex_vars_of_buffer
3074
3075         * alloc.c: Further with the portable dumping, the revenge.
3076         (dumpstruct): Added.
3077         (reinit_alloc_once_early): Extracted from init_alloc_once_early.
3078
3079         * specifier.c (sizeof_specifier): Correct size computation.
3080         (make_specifier_internal): Ditto.
3081
3082 1999-09-27  Olivier Galibert  <galibert@pobox.com>
3083
3084         * alloc.c: Further with the portable dumping.
3085
3086 1999-09-27  Martin Buchholz  <martin@xemacs.org>
3087
3088         * glyphs-x.c (update_widget_face): Remove bogus cast
3089
3090         * data.c (sign_extent_lisp):
3091         * data.c (check_int_range):
3092         * data.c (Faref):
3093         * data.c (Faset):
3094         * data.c (number_char_or_marker_to_int):
3095         * data.c (number_char_or_marker_to_double):
3096         * data.c (Frem):
3097         * data.c (Fmod):
3098         * extents.c (print_extent_1):
3099         * fns.c (print_bit_vector):
3100         * fns.c (Flength):
3101         * fns.c (Fsafe_length):
3102         * fns.c (copy_list):
3103         * fns.c (Fsubseq):
3104         * fns.c (Felt):
3105         * fns.c (Flast):
3106         * fns.c (Fnbutlast):
3107         * insdel.h:
3108         * marker.c (print_marker):
3109         * syntax.h:
3110         * bytecode.c (bytecode_arithcompare):
3111         * bytecode.c (bytecode_arithop):
3112         * lisp.h:
3113         * lisp.h (EXTERNAL_LIST_LOOP_DELETE_IF):
3114         * lisp.h (TRUE_LIST_P):
3115         * lisp.h (CHECK_TRUE_LIST):
3116         * lisp.h (bit_vector_length):
3117         * lisp.h (GCPRO4): Make consistent.
3118         * lisp.h (NGCPRO4): Make consistent.
3119         * lisp.h (NNGCPRO4): Make consistent.
3120         * alloc.c (Fmake_list):
3121         * alloc.c (Fmake_string):
3122         Use proper 64-bit types, e.g. EMACS_INT or size_t instead of int.
3123         This should make all arithmetic 64-bit clean.
3124
3125         Use %ld with (long) casts in print statements of types with sizes
3126         possibly larger than int.
3127
3128         Following functions had mismatched prototypes!!:
3129         do_marker_adjustment(), fixup_internal_substring(), scan_lists(),
3130         char_quoted(), make_string_from_buffer(),
3131         make_string_from_buffer_no_extents()
3132
3133         The types of Bufpos, Bytind, Memind, Bytecount, Charcount,
3134         Extcount are all now EMACS_INT.  I hope to see the day when I can
3135         create a buffer with more than INT_MAX characters, without having
3136         XEmacs slow down to a crawl.  I also hope to be able to create a
3137         list with more than INT_MAX cons cells.
3138
3139         * redisplay.c (decode_mode_spec): 
3140         The %p and %P specs in the mode line were not correct for buffers
3141         larger than MAX_INT/100!  The %p spec was off by .5% even for
3142         small buffers!
3143
3144 1999-09-27  Martin Buchholz  <martin@xemacs.org>
3145
3146         * cmdloop.c (num_input_keys):
3147         * print.c (debug_temp):
3148         * emacs.c (Vinfo_directory):
3149         Delete unused variables 
3150
3151         * console-x.h (x_interline_space):  Mark as unimplemented.
3152         * redisplay-x.c (x_interline_space):  Mark as unimplemented.
3153
3154         * event-Xt.c (pending_timeouts):
3155         * linuxplay.c (linuxplay_sndbuf):
3156         * profile.c (QS*):
3157         * search.c (searchbufs):
3158         * specifier.c (specifier_type_entry_dynarr):
3159         * undo.c (pending_boundary):
3160         * event-stream.c (the_low_level_timeout_blocktype):
3161         * extents.c (gap_array_marker_freelist):
3162         * extents.c (extent_list_marker_freelist):
3163         * print.c (being_printed):
3164         * print.c (alternate_do_pointer):
3165         * alloc.c (first_string_chars_block):
3166         * alloc.c (current_string_chars_block):
3167         * emacs.c (initial_argv):
3168         * emacs.c (initial_argc):
3169         * eval.c (lisp_eval_depth):
3170         * free-hook.c (pointer_table):
3171         * free-hook.c (free_queue):
3172         * free-hook.c (current_free):
3173         * free-hook.c (strict_free_check):
3174         * redisplay.c (formatted_string_emchar_dynarr):
3175         * redisplay.c (formatted_string_display_line):
3176         * redisplay.c (formatted_string_extent_dynarr):
3177         * redisplay.c (formatted_string_extent_start_dynarr):
3178         * redisplay.c (formatted_string_extent_end_dynarr):
3179         * redisplay.c (updating_line_start_cache):
3180         * redisplay.c (last_display_warning_tick):
3181         * redisplay.c (display_warning_tick):
3182         * redisplay.c (internal_cache):
3183         * window.c (Vwindow_configuration_free_list):
3184         Make static.
3185
3186         * redisplay.c (Vinitial_window_system):  Make CONST.
3187
3188 1999-09-24  Martin Buchholz  <martin@xemacs.org>
3189
3190         * redisplay-tty.c (term_get_fkeys_1): Minor aesthetic improvements.
3191
3192         * doprnt.c (get_doprnt_args): Use int, not short, with va_arg.
3193
3194 1999-09-24  Andy Piper  <andy@xemacs.org>
3195
3196         * redisplay-output.c (output_display_line): only clear the borders
3197         if we are not displaying the gutter.
3198
3199 1999-09-24  Jan Vroonhof <vroonhof@math.ethz.ch>
3200
3201         * frame-x.c (x_any_window_to_frame): Let Xt find the widget and
3202         then use x_any_widget_or_parent_to_frame().
3203         (x_find_frame_for_window): remove special cases.
3204
3205 1999-09-24  Andy Piper  <andy@xemacs.org>
3206
3207         * scrollbar-x.c (x_window_is_scrollbar): deleted.
3208         * scrollbar-x.h: ditto.
3209         
3210 1999-09-23  Martin Buchholz  <martin@xemacs.org>
3211
3212         * alloc.c (this_marks_a_marked_record): Remove.
3213
3214         * buffer.c (mark_buffer):
3215         * buffer.c (nuke_all_buffer_slots):
3216         * console.c (mark_console):
3217         * console.c (nuke_all_console_slots):
3218         * frame.c (mark_frame):
3219         * frame.c (nuke_all_frame_slots):
3220         Treat MARKED_SLOT() macros consistently.
3221
3222         * device.h (error_check_device_type):
3223         * faces.c (face_getprop):
3224         * fileio.c (DRIVE_LETTER):
3225         * filelock.c (lock_file_1):
3226         * frame-x.c (x_create_widgets):
3227         * frame.h (error_check_frame_type):
3228         * keymap.c (print_keymap):
3229         * keymap.c (Fkey_description):
3230         * keymap.c (where_is_recursive_mapper):
3231         * mule-charset.h (CHARSET_LEADING_BYTE):
3232         * objects-msw.c (mswindows_color_instance_hash):
3233         * objects.c (color_instance_equal):
3234         * objects.h (struct color_specifier):
3235         * objects.h (struct font_specifier):
3236         * objects.h (struct face_boolean_specifier):
3237         * opaque.h (get_opaque_ptr):
3238         * opaque.h (set_opaque_ptr):
3239         * process-unix.c (set_socket_nonblocking_maybe):
3240         * specifier.h (SPECIFIER_TYPE_P):
3241         * symbols.c (store_symval_forwarding):
3242         * syssignal.h (EMACS_KILLPG):
3243         * terminfo.c (emacs_tparam):
3244         * glyphs.c (glyph_putprop):
3245         * glyphs.c (glyph_remprop):
3246         * glyphs.c (Fimage_instance_subwindow_id):
3247         * window.c (mark_window):
3248         * window.c (mark_window_config):
3249         * window.c (Fset_window_configuration):
3250         * window.c (save_window_save):
3251         * eval.c (Fuser_variable_p):
3252         * eval.c (Fcommand_execute):
3253         * eval.c (Feval):
3254         * eval.c (Ffuncall):
3255         * lisp.h (XPNTR):
3256         * lisp.h (INT_OR_FLOATP):
3257         * lisp.h (GC_INT_OR_FLOATP):
3258         * lisp.h (XFLOATINT):
3259         * lisp.h (IS_ANY_SEP):
3260         * mule-ccl.c (Fccl_execute):
3261         * mule-ccl.c (Fccl_execute_on_string):
3262         * redisplay-x.c (x_output_string):
3263         Remove redundant extra parentheses.
3264
3265 1999-09-22  Martin Buchholz  <martin@xemacs.org>
3266
3267         * chartab.c (word_boundary_p): Add prototype for warning avoidance.
3268         * eval.c (PRIMITIVE_FUNCALL): ANSIfy
3269         * free-hook.c (fun_ptr): ANSIfy
3270         * getloadavg.c: Remove declaration for errno.
3271         * gui.c (allocate_gui_item): ANSIfy
3272         * gui.h (allocate_gui_item): ANSIfy
3273         * mule-ccl.c (resolve_symbol_ccl_program): Make static
3274         * realpath.c: Remove K&R support.
3275         * redisplay-x.c (x_output_display_block): Don't shadow previous local
3276         * glyphs-widget.c (layout_instantiate):  Don't shadow previous local
3277         * gutter.c (get_gutter_coords): Make static.
3278         * lread.c (locate_file_map_suffixes): Make static.
3279         * ralloc.c (relinquish): ANSIfy
3280         * redisplay.c:
3281         * lisp.h:
3282         Move prototypes from redisplay.c to lisp.h
3283
3284 1999-09-22  Martin Buchholz  <martin@xemacs.org>
3285
3286         * glyphs-x.c (x_widget_set_property):
3287         - Remove unnecessary initialization.
3288         - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
3289         * glyphs-x.c (x_widget_instantiate):
3290         - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
3291         * unexelf.c (unexec):
3292         Add cast for C++ compilability.
3293         * redisplay.h:
3294         Fix a typo.
3295         * ralloc.c (r_alloc_reinit):
3296         SET_FUN_PTR was broken wrt ANSI aliasing!
3297         To compensate, use __typeof__ when using gcc, else live with
3298         possible (but rare) warnings.
3299         * ralloc.c (init_ralloc):
3300         Ditto
3301         * ralloc.c: Use the real dlmalloc prototype for __morecore.
3302         * lread.c (locate_file_map_suffixes):
3303         * input-method-xlib.c (XIM_init_frame):
3304         - Xlib functions should use XPointer, not XtPointer.
3305         * input-method-xlib.c (XIM_delete_frame):
3306         - Xlib functions should use XPointer, not XtPointer.
3307         * input-method-xlib.c (IMDestroyCallback):
3308         - Simplify.
3309         - XFRAME (obj) can never be NULL, so don't test for it.
3310         * gutter.h:
3311         Add GUTTER_POS_LOOP for iterating over all gutter_pos'es
3312         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
3313         Run c-backslash-region on macro body.
3314         * gutter.c (gutter_was_visible):
3315         Remove redundant parens - this is not a macro.
3316         * gutter.c (redraw_exposed_gutters):
3317         Use GUTTER_POS_LOOP.
3318         * gutter.c (gutter_specs_changed):
3319         Use GUTTER_POS_LOOP.
3320         * gutter.c (gutter_geometry_changed_in_window):
3321         Use GUTTER_POS_LOOP.
3322         * gutter.c (update_frame_gutters):
3323         Use GUTTER_POS_LOOP.
3324         * gutter.c (init_frame_gutters):
3325         Use GUTTER_POS_LOOP.
3326         * file-coding.c (determine_real_coding_system):
3327         Fix C++ compile error.
3328         * emodules.c (find_make_module):
3329         Cast return value from xrealloc
3330         * emacs.c (Fkill_emacs):
3331         Use __typeof__, when available.
3332         * emacs.c (voodoo_free_hook):
3333         Use __typeof__, when available.
3334         (Unfortunately, the type of __free_hook is glibc-version-dependent)
3335         * dired.c (user_cache): Use Bufbyte *, not char *
3336         * dired.c (Fuser_name_all_completions): Ditto.
3337
3338 1999-09-22  Andy Piper  <andy@xemacs.org>
3339
3340         * redisplay.c (redisplay_frame): reset the gutter display lines
3341         when we reset the subwindows.
3342
3343         * gutter.c (reset_gutter_display_lines): new function.
3344
3345         * window.c (Flast_nonminibuf_window): new function equivalent to
3346         FRAME_LAST_NONMINIBUF_WINDOW ().
3347         (syms_of_window): declare it.
3348
3349         * redisplay.c (create_string_text_block): don't add bogus eol
3350         markers to gutter display lines.
3351
3352         * glyphs.c (reset_subwindow_cachels): make sure we unmap
3353         subwindows using unmap_subwindow so that expose events get
3354         registered correctly.
3355
3356         * window.c (window_scroll): use Vwindow_pixel_scroll_increment to
3357         determine how much to scroll the window.
3358         (vars_of_window): Vwindow_pixel_scroll_increment is a new
3359         variable.
3360
3361 1999-09-20  Robert Pluim  <rpluim@nortelnetworks.com>
3362
3363         * glyphs-x.c (update_widget_face): Guard fontList declaration for
3364         non-motif uses.
3365
3366 1999-09-20  Andy Piper  <andy@xemacs.org>
3367
3368         * glyphs-msw.c (mswindows_update_subwindow): update faces.
3369
3370 1999-09-19  Andy Piper  <andy@xemacs.org>
3371
3372         * glyphs.c (update_frame_subwindows): update if faces have
3373         changed.
3374
3375         * glyphs-x.c (x_widget_instantiate): create the clip widget using
3376         lwlib rather than directly.
3377         (x_finalize_image_instance): delete the clip widget using lwlib.
3378         (x_update_subwindow): update widget faces.
3379         (update_widget_face): new function for updating the face
3380         properties of a widget.
3381         (x_widget_set_property): update widget faces.
3382
3383         * lwlib-Xlw.c (xlw_create_clip_window): new function. We need to
3384         manage the clip widgets using lwlib so that we can delete them in
3385         a safe manner.
3386
3387 1999-09-16  Martin Buchholz  <martin@xemacs.org>
3388
3389         * lisp-union.h:
3390         * lisp-disunion.h:
3391         Define new, potentially faster INT arithmetic macros
3392         INT_PLUS, INT_MINUS, INT_PLUS1, INT_MINUS1
3393         * bytecode.c (execute_optimized_function):
3394         Use new macros.
3395         Fix metering code
3396         * bytecode.c (bytecode_negate):
3397         Optimize for integer case.
3398
3399 1999-08-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
3400
3401         * m/mips.h: Support for mips-linux: Add !linux around places
3402         that are not valid for linux, define TEXT_START, DATA_START,
3403         DATA_SEG_BITS.
3404
3405 1999-09-16  Andy Piper  <andy@xemacs.org>
3406
3407         * redisplay-output.c (redisplay_output_subwindow): clip subwindows
3408         that don't completely fit on-screen rather than just unmapping
3409         them.
3410
3411         * glyphs.h: change signature of map_subwindow.
3412
3413         * glyphs.c (map_subwindow): add display_glyph_area to the
3414         signature. make sure the mapped area saved in the subwindow_cachel
3415         reflects this.
3416         (Fforce_subwindow_map): make a no-op. I don't think this does
3417         anything useful.
3418
3419         * glyphs-x.h (struct x_subwindow_data): save the Display rather
3420         than the Screen. Add a clipwindow and clipwidget handle.
3421         (IMAGE_INSTANCE_X_CLIPWINDOW): new accessor.
3422         (IMAGE_INSTANCE_X_CLIPWIDGET): ditto.
3423         (XIMAGE_INSTANCE_X_CLIPWIDGET): ditto.
3424         (XIMAGE_INSTANCE_X_CLIPWINDOW): ditto.
3425
3426         * glyphs-x.c (x_finalize_image_instance): destroy the clipwidget
3427         as well as the widget itself.
3428         (x_unmap_subwindow): unmap the clipwindow and clipwidget rather
3429         than the widgets and subwindows themselves. move the widget inside
3430         the clipwidget.
3431         (x_subwindow_instantiate): hold onto the Display rather than the
3432         Screen. allocate a clipwindow to put the subwindow inside.
3433         (x_resize_subwindow): use saved Display directly.
3434         (x_widget_instantiate): allocate a clipwidget of type EmacsManager
3435         to put widgets inside.
3436
3437         * glyphs-widget.c: remove group stuff.
3438
3439         * glyphs-msw.h (struct mswindows_subwindow_data): new structure to
3440         hold the clipwindow.
3441         (IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): new accessor.
3442         (XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): ditto.
3443
3444         * glyphs-msw.c: remove group stuff.
3445         (mswindows_finalize_image_instance): destroy clipwindow as well as
3446         the widget itself.
3447         (mswindows_unmap_subwindow): unmap the clipwindow rather than the
3448         widget.
3449         (mswindows_map_subwindow): ditto. move the widget within the
3450         clipwindow.
3451         (mswindows_subwindow_instantiate): allocate and initialize
3452         mswindows_subwindow_data. allocate a clipwindow with the subwindow
3453         as a child.
3454         (mswindows_widget_instantiate): ditto.
3455         (mswindows_control_wnd_proc): new function that allows us to
3456         propagate events from the widget to the main windows control loop.
3457
3458         * device-msw.c (mswindows_init_device): register new widget clip window
3459         class.
3460
3461         * console.h (struct console_methods): add display_glyph_area to
3462         map_window.
3463
3464         * console-msw.h: declare new window class and wnd proc for
3465         widgets.
3466
3467 1999-09-14  Martin Buchholz  <martin@xemacs.org>
3468
3469         * general.c:
3470         * eldap.c:
3471         Move symbols used only by eldap.c into eldap.c as statics.
3472
3473 1999-09-09  Martin Buchholz  <martin@xemacs.org>
3474
3475         * window.c (syms_of_window):
3476         * symbols.c (syms_of_symbols):
3477         * redisplay.c (syms_of_redisplay):
3478         * print.c (syms_of_print):
3479         * lisp.h:
3480         * intl.c (syms_of_intl):
3481         * general.c (syms_of_general):
3482         * frame.c (syms_of_frame):
3483         * fileio.c (syms_of_fileio):
3484         * file-coding.h:
3485         * file-coding.c (syms_of_file_coding):
3486         * extents.c (syms_of_extents):
3487         * event-stream.c (syms_of_event_stream):
3488         * event-stream.c (Fnext_event):
3489         * device.c (syms_of_device):
3490         * data.c (syms_of_data):
3491         * casetab.c (syms_of_casetab):
3492         * casetab.c (check_case_table):
3493         * callint.c (syms_of_callint):
3494         * buffer.c (syms_of_buffer):
3495         Delete unused C symbols:
3496         Qbuffer_file_name, Qbuffer_undo_list, Quser_variable_p,
3497         Qcurrent_prefix_arg, Qtranslate_table, Qkeywordp,
3498         Qnumber_or_marker_p, Qcons, Qkeyword, Qignore, Qdelete_device,
3499         Qcommand_execute, Qglyph_invisible,
3500         Qbuffer_file_coding_system, Qfile_name_handler_alist,
3501         Qframe_x_p, Qframe_tty_p, Qblack, Qkeyboard, Qmenubar, Qpath,
3502         Qvector, Qwhite, Qcase, Qdomain, Qalternate_debugging_output,
3503         Qprint_escape_newlines, Qprint_readably, Qfloat_output_format,
3504         Qwindow_scroll_functions, Qfboundp, Qscroll_up, Qscroll_down
3505
3506         Rename symbols as required by the CHECK_RECORD macro:
3507         - Qcase_table_p to Qcase_tablep
3508         - Qcoding_system_p to Qcoding_systemp
3509
3510         * debug.h:
3511         * debug.c (syms_of_debug):
3512         Make debug.c's internal Lisp_Objects static.
3513
3514         * events.c (vars_of_events):
3515         * events.c (syms_of_events):
3516         Use regular old defsymbol instead of KEYSYM + staticpro().
3517
3518         * select-x.c (CHECK_CUTBUFFER):
3519         Rewrite in accordance with coding standards.
3520
3521         * keymap.c (syms_of_keymap):
3522         Use SPC in the same way as RET, TAB, etc.
3523
3524 1999-08-27  Jan Vroonhof  <vroonhof@math.ethz.ch>
3525
3526         * xemacs-20/src/menubar-x.c (make_dummy_xbutton_event): Don't add
3527         offset twice if HAVE_WMCOMMAND is defined.
3528
3529 1999-09-13 Mike McEwan <mike@lotusland.demon.co.uk>
3530
3531         * redisplay-x.c (x_output_vertical_divider): make sure
3532         shadow_thickness is positive.
3533
3534 1999-09-10 Julian Back <jback@rudd.compulink.co.uk>
3535
3536         * process-nt.c (nt_create_process): fixup to cope with
3537         Vprocess_environment.
3538
3539 1999-09-02  Andy Piper  <andy@xemacs.org>
3540
3541         * redisplay-output.c (redisplay_output_layout): call output
3542         routines with clear_clip false. output layout borders with text
3543         correctly.
3544
3545         * redisplay-msw.c (mswindows_output_blank): call output routines
3546         with clear_clip true.
3547         (mswindows_output_string): ditto.
3548         (mswindows_output_display_block): ditto.
3549
3550         * redisplay-x.c (x_output_display_block): call output routines
3551         with clear_clip true.
3552
3553         * redisplay.h: fix output routines for clear_clip parameter.
3554
3555         * redisplay-output.c (redisplay_output_layout): cope with glyphs
3556         in the border.
3557
3558         * glyphs-widget.c (layout_instantiate): deal with border glyphs.
3559         (check_valid_glyph_or_instantiator): renamed from
3560         check_valid_glyph_or_image.
3561         (check_valid_border): allow glyphs or their instantiators.
3562         (check_valid_glyph_or_instantiator_list): renamed from
3563         check_valid_glyph_or_image_list,
3564         (glyph_instantiator_to_glyph): new function. make sure a glyph is
3565         a glyph and not an instantiator.
3566         (substitute_keyword_value): new function. replace a keyword value
3567         with a new one.
3568
3569 1999-09-01  Andy Piper  <andy@xemacs.org>
3570
3571         * glyphs.c (string_set_property): new function to set the data of
3572         a string.
3573         (image_instantiator_format_create): use it.
3574
3575 1999-09-07  Hrvoje Niksic  <hniksic@srce.hr>
3576
3577         * fns.c (Fmapc): Rename back to Fmapc_internal.
3578
3579 1999-07-30  Gleb Arshinov  <gleb@cs.stanford.edu>
3580
3581         * ntheap.h: CONST (semantically constant) name field of file_data
3582         struct
3583
3584         * unexnt.c (open_output_file): match function definition with
3585         function declaration
3586
3587         * editfns.c: #include "sysfile.h" for getcwd() prototype
3588
3589         * gif_io.c:  #include "sysfile.h" for close() prototype
3590
3591 1999-09-02  Martin Buchholz  <martin@xemacs.org>
3592
3593         * elhash.c:
3594         * elhash.h:
3595         Change the :type keyword to :weakness, for compatibility with the
3596         GNU Emacs 20.5 hash table implementation.
3597         Keep (but don't document) the :type keyword for compatibility.
3598         Obsolete function hash-table-type
3599         General cleanup.
3600         Define function sxhash for compatibility with Common Lisp and GNU Emacs.
3601
3602 1999-09-01  Martin Buchholz  <martin@xemacs.org>
3603
3604         * floatfns.c (arith_error):
3605         * floatfns.c (range_error):
3606         * floatfns.c (range_error2):
3607         * floatfns.c (domain_error):
3608         * floatfns.c (domain_error2):
3609         * lrecord.h (LRECORDP):
3610         * console-x.h (X_ERROR_OCCURRED):
3611         * console-x.h (HANDLING_X_ERROR):
3612         * chartab.c (CATEGORYP):
3613         * buffer.h (XCHAR_OR_CHAR_INT):
3614         Remove redundant and confusing parentheses.
3615
3616         * redisplay-output.c (redisplay_clear_to_window_end):
3617         Remove redundant initialization.
3618
3619         * redisplay.h:
3620         * redisplay-msw.c:
3621         * redisplay-x.c:
3622         Move declarations of bevel_modeline() into redisplay.h.
3623
3624 1999-08-30  Olivier Galibert  <galibert@pobox.com>
3625
3626         * lisp.h: Add staticpro_nodump for undumped staticpro-ing.
3627         * alloc.c: Add staticpro_nodump for undumped staticpro-ing.  Add
3628                   alignment information for dumped data.  Enhance
3629                   descriptions.  Phase out Vterminal_* variables while
3630                   dumping.
3631         * lrecord.h: Add chained descriptions and automagically-reset
3632                   lisp_objects to the description system.
3633
3634         * console-stream.h: Declare the Vterminal_* variables.
3635
3636         * buffer.c: Don't dump Vbuffer_alist, Vbuffer_defaults and
3637                   Vbuffer_local_symbols.
3638         * console.c: Don't dump Vconsole_list, Vconsole_defaults and
3639                   Vconsole_local_symbols.
3640         * eval.c: Don't dump Qunbound_suspended_errors_tag.
3641         * lread.c: Don't dump Vread_buffer_stream.
3642         * lstream.c: Don't dump Vlstream_free_list[].
3643         * search.c: Don't dump last_thing_searched.
3644         * window.c: Don't dump minibuf_window and
3645                   Vwindow_configuration_free_list[].
3646
3647         * faces.c: Add face description.
3648         * fns.c: Add bit_vector description.
3649         * glyphs.c: Add image specifier description.
3650         * objects.c: Add color, face and face boolean specifiers descriptions.
3651         * opaque.c: Add opaque description.  Don't dump Vopaque_ptr_free_list.
3652         * rangetab.c: Add range table description.
3653         * specifier.c: Add specifier and specifier methods description.
3654         * specifier.h: Add specifier extra description support.
3655
3656         * symbols.c: Fix symbol_value_buffer_local_description.
3657
3658         * gdbinit (Lisp): Add opaque_ptr, remove opaque_list.
3659
3660 1999-09-02  Hrvoje Niksic  <hniksic@srce.hr>
3661
3662         * extents.c (extent_remprop): Get extent's plist address
3663         correctly.
3664
3665 1999-08-31  Andy Piper  <andy@xemacs.org>
3666
3667         * xmu.h: define Xmu/Converters.h things.
3668
3669 1999-08-31  Andy Piper  <andy@xemacs.org>
3670
3671         * opaque.c (equal_opaque_ptr): define.
3672         (hash_opaque_ptr): define.
3673
3674         * xmu.h: define Xmu/Misc.h things.
3675
3676 1999-08-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3677
3678         * file-coding.c (determine_real_coding_system): Treat `coding:'
3679         cookie.
3680
3681 1999-08-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3682
3683         * file-coding.c (struct decoding_stream): New member `counter'.
3684         (reset_decoding_stream): Initialize `counter'.
3685         (decode_coding_ucs4): Use `counter'.
3686         (decode_coding_utf8): Likewise.
3687
3688 1999-08-31  Andy Piper  <andy@xemacs.org>
3689
3690         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3691         the clip offset doesn't exceed the height we have available to
3692         show.
3693
3694         * window.h (struct window): add top_yoffset and left_xoffset for
3695         pixel scrolling.
3696         (WINDOW_TEXT_TOP_CLIP): new macro.
3697
3698         * window.c (window_scroll): add behaviour for pixel-scrolling of
3699         tall lines.
3700
3701         * redisplay.h (struct display_line): add top_clip.
3702         (DISPLAY_LINE_HEIGHT): adjust for top_clip.
3703         (DISPLAY_LINE_YPOS): ditto.
3704
3705         * redisplay.c (position_redisplay_data_type): add
3706         start_col_xoffset to prepare for pixel-based h-scrolling.
3707         (WINDOW_SCROLLED): new macro.
3708         (next_tab_position): use it.
3709         (add_glyph_rune): use new hscoll vars.
3710         (create_text_block): ditto.
3711         (generate_displayable_area): adjust off-by-one error.
3712         (regenerate_window): take top_clip into account.
3713         (regenerate_window_extents_only_changed): ditto.
3714         (regenerate_window_incrementally): ditto.
3715
3716         * redisplay-x.c (x_output_display_block): use DISPLAY_LINE_YPOS,
3717         DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
3718         (x_output_string): ditto.
3719         (x_output_blank): ditto.
3720         (x_output_hline): ditto.
3721         (x_output_eol_cursor): ditto.
3722
3723         * redisplay-output.c (output_display_line): allow for
3724         top_clip. use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and
3725         DISPLAY_LINE_YEND macros.
3726         (redisplay_output_layout): output strings in layouts correctly.
3727         (redisplay_clear_clipped_region): allow for top_clip.
3728         (redisplay_calculate_display_boxes): ditto.
3729
3730         * redisplay-msw.c (mswindows_output_blank): use DISPLAY_LINE_YPOS,
3731         DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
3732         (mswindows_output_cursor): ditto.
3733         (mswindows_output_string): ditto.
3734         (mswindows_redraw_exposed_window): ditto.
3735         (mswindows_output_display_block): ditto.
3736
3737         * gutter.c: new specifier type gutter-size.
3738         (gutter_size_validate): validate gutter-size specifier.
3739         (Fgutter_size_specifier_p): predicate for gutter-size.
3740         (Fredisplay_gutter_area): allow the gutter area to be redisplayed
3741         under user contol, like Fredisplay_echo_area.
3742         (syms_of_gutter): add new functions.
3743         (specifier_type_create_gutter): add new specifier.
3744         (specifier_vars_of_gutter): change specifier types of *-height to
3745         gutter-size.
3746
3747         * glyphs.c (glyph_width): make work with image instances.
3748
3749         * console.h (struct console_methods): change api of output_string.
3750
3751         * glyphs-x.c (x_map_subwindow): move before mapping as reported by
3752         Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>
3753
3754 1999-08-30  Andy Piper  <andy@xemacs.org>
3755
3756         * glyphs-x.c (x_finalize_image_instance): X_MASK -> PIXMAP_MASK
3757         for assignment.
3758         (init_image_instance_from_x_image): ditto.
3759         (x_xpm_instantiate): ditto.
3760         (x_colorize_image_instance): ditto. Reported by Richard Cognot
3761         <cognot@ensg.u-nancy.fr>
3762
3763 1999-08-29  Andy Piper  <andy@xemacs.org>
3764
3765         * glyphs-x.c (x_widget_instantiate): move font initialisation so
3766         that it doesn't get saved in the user defined args.
3767         (x_tab_control_instantiate): Set the fg color of the tab's
3768         children.
3769         (x_tab_control_set_property): ditto.
3770
3771 1999-08-27  Damon Lipparelli  <lipp@primus.com>
3772
3773         * events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct''
3774         (XSETTIMEOUT): fixup typo
3775
3776 1999-08-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
3777
3778         * syntax.c (scan_words): Unified Mule and Non-mule scanning.
3779         Word boundary search looks back instead of forward so that it
3780         doesn't peek over the limit.
3781
3782 1999-08-20  Olivier Galibert  <galibert@pobox.com>
3783
3784         * config.h.in: Add PDUMP define.
3785         * emacs.c (Fdump_emacs): Hackish, call pdump() if configured in.
3786
3787         * lrecord.h: Enhance description system.
3788         * alloc.c: Fix vector and string description.  Add portable
3789         dumper enumeration fonctions.
3790
3791         * symbols.c:  Fix symbols description.   Add  symbol_value_forward
3792         description.
3793         * eval.c: Add subr description.
3794         * elhash.c (CLEAR_HENTRY):   Clean  value pointer  too.   Fix hash
3795         table description.
3796         (remhash_1): CLEAR_HENTRY evaluates the parameter two times now.
3797
3798 1999-08-20  Olivier Galibert  <galibert@pobox.com>
3799
3800         * opaque.c: Kill opaque lists, make  Lisp_Opaque_Ptr a lrecord of
3801         its own.
3802         * opaque.h: Ditto.
3803
3804         * eval.c (eval_in_buffer_trapping_errors):
3805         (run_hook_trapping_errors):
3806         (safe_run_hook_trapping_errors):
3807         (call0_trapping_errors):
3808         (call1_trapping_errors):
3809         (call2_trapping_errors): OPAQUEP  -> OPAQUE_PTRP.  make_opaque_ptr
3810         now takes a non-const void *.
3811
3812 1999-08-20  Olivier Galibert  <galibert@pobox.com>
3813
3814         * opaque.c: Remove make_opaque_long.
3815
3816         * opaque.h: Remove everything opaque_long related.
3817
3818         * eval.c (vars_of_eval): Make Qunbound_suspended_errors_tag an
3819         opaque_ptr.
3820
3821         * emacs.c (main_1): Remove make_opaque_long from comment.
3822
3823 1999-08-20  Olivier Galibert  <galibert@pobox.com>
3824
3825         * event-stream.c (mark_timeout):
3826         (print_timeout):
3827         (event_stream_generate_wakeup):
3828         (event_stream_resignal_wakeup):
3829         (event_stream_disable_wakeup):
3830         (event_stream_wakeup_pending_p):
3831         (vars_of_event_stream): Lisp_Timeout is now a lrecord.
3832
3833         * events.h (struct Lisp_Timeout): Added.
3834
3835 1999-08-24  Andy Piper  <andy@xemacs.org>
3836
3837         * console-x.h: declare new pixmap signatures.
3838
3839 1999-08-23  Andy Piper  <andy@xemacs.org>
3840
3841         * glyphs-x.c (x_update_subwindow): make sure the widget size is
3842         maintained after an update.
3843
3844         * event-Xt.c (emacs_Xt_handle_magic_event): use
3845         find_matching_subwindow to check whether the exposure is totally
3846         inside a subwindow, if it is then ignore it.
3847
3848         * glyphs.c (find_matching_subwindow): new function.
3849
3850         * toolbar-x.c (x_draw_blank_toolbar_button): use new
3851         x_output_shadows signature.
3852         (x_output_toolbar_button): use new x_output_x_pixmap signature.
3853
3854         * redisplay.h (struct display_box): new structure.
3855         (struct display_glyph_area): ditto.
3856         declare new display_box functions.
3857
3858         * redisplay-x.c (x_output_pixmap): update for new display
3859         box stuff.
3860         (x_bevel_area): update to allow multiple edge styles and border
3861         segments.
3862         (x_output_display_block): update for new display_box stuff and
3863         signatures.
3864         (x_clear_region): ditto.
3865         (x_output_x_pixmap): ditto. adjust offsets rather than clip.
3866         (console_type_create_redisplay_x): declare new console methods.
3867         (x_output_vertical_divider): update for new bevel_area signature.
3868         (x_output_shadows): update to allow selective drawing of edges.
3869
3870         * redisplay-tty.c (tty_output_display_block): do nothing for
3871         layouts.
3872
3873         * redisplay-output.c (redisplay_output_subwindow): convert to use
3874         display_box structure, this allows us to put subwindows anywhere
3875         with any offset, useful for layout glyphs.
3876         (redisplay_output_layout): new function. output a layout and its
3877         sub-glyphs.
3878         (redisplay_output_pixmap): new modular function combining generic
3879         parts of the X and mswindows versions. convert to use display_box
3880         structures.
3881         (redisplay_clear_clipped_region): new function. clear the area a
3882         glyph is going into.
3883         (redisplay_normalize_glyph_area): new function. calculate the
3884         bounds of a display_glyph_area given a display_box.
3885         (redisplay_normalize_display_box): new function. shrink a
3886         display_box to enclose a display_glyph_area.
3887         (redisplay_display_boxes_in_window_p): check whether the input
3888         display_box and display_glyph_area are actually in a window.
3889         (redisplay_calculate_display_boxes): calculate display boxes based
3890         on conventional display_line metrics.
3891         (bevel_modeline): update for new bevel_area signature.
3892
3893         * redisplay-msw.c (mswindows_output_blank): update for new
3894         display_box stuff.
3895         (mswindows_output_string): ditto.
3896         (mswindows_output_dibitmap): ditto.
3897         (mswindows_output_dibitmap_region): ditto.
3898         (mswindows_output_pixmap): ditto.
3899         (mswindows_bevel_area): update to allow multiple edge styles and
3900         border segments.
3901         (mswindows_output_display_block): update for new display_box stuff
3902         and signatures.
3903         (mswindows_clear_region): ditto.
3904         (console_type_create_redisplay_mswindows): declare new console methods.
3905
3906         * lisp.h (edge_style): new enum.
3907         declare display_box and display_glyph_area.
3908
3909         * gutter.c (output_gutter): update for new bevel_area signature.
3910
3911         * glyphs.h (image_instance_type): add layout.
3912         (IMAGE_LAYOUT_MASK): ditto.
3913         (LAYOUT_IMAGE_INSTANCEP): new macro.
3914         (CHECK_LAYOUT_IMAGE_INSTANCE): ditto.
3915         (struct Lisp_Image_Instance): add offsets for layout and the
3916         layout type itself. move mask here also.
3917         (IMAGE_INSTANCE_LAYOUT_CHILDREN): new macro.
3918         (IMAGE_INSTANCE_LAYOUT_BORDER): ditto.
3919         (XIMAGE_INSTANCE_LAYOUT_CHILDREN): ditto.
3920         (XIMAGE_INSTANCE_LAYOUT_BORDER): ditto.
3921
3922         * glyphs.c (mark_image_instance): update for layouts.
3923         (print_image_instance): ditto.
3924         (image_instance_equal): ditto.
3925         (image_instance_hash): ditto.
3926         (allocate_image_instance): initialise offsets for layout.
3927         (decode_image_instance_type): update for layouts.
3928         (encode_image_instance_type): ditto.
3929         (Fimage_instance_height): ditto.
3930         (Fimage_instance_width): ditto.
3931         (allocate_glyph): ditto.
3932         (glyph_width): allow image instances as an argument. update for layouts.
3933         (glyph_height_internal): ditto.
3934         (syms_of_glyphs): add layout symbols.
3935
3936         * glyphs-x.h (struct x_image_instance_data): remove mask entry.
3937         (IMAGE_INSTANCE_X_MASK): update.
3938
3939         * glyphs-x.c (x_label_instantiate): new function. instantiate a
3940         label.
3941         (image_instantiator_format_create_glyphs_x): initialise new layout
3942         glyph type.
3943
3944         * glyphs-widget.c: new layout type.
3945         (check_valid_orientation): new keyword checker for layouts.
3946         (check_valid_justification): ditto.
3947         (check_valid_border): ditto.
3948         (check_valid_glyph_or_image_list): ditto.
3949         (layout_possible_dest_types): new function for layout glyph type.
3950         (layout_normalize): ditto.
3951         (layout_instantiate): ditto.
3952         (syms_of_glyphs_widget): new keywords for layout.
3953         (image_instantiator_format_create_glyphs_widget): initialise the
3954         layout glyph type.
3955
3956         * glyphs-msw.h (struct mswindows_image_instance_data): remove mask
3957         argument.
3958         (IMAGE_INSTANCE_MSWINDOWS_MASK): update.
3959
3960         * glyphs-msw.c: declare layout format.
3961         (image_instantiator_format_create_glyphs_mswindows): initialise it.
3962
3963         * general.c: new symbols for layouts.
3964
3965         * console.h (struct console_methods): new console methods for
3966         outputting pixmaps and strings.
3967
3968 1999-08-23  Didier Verna  <verna@inf.enst.fr>
3969
3970         * sound.c: revert the renaming of `bell_volume' to `Vbell_volume'
3971         and `bell_inhibit_time' to `Vbell_inhibit_time'.
3972
3973 1999-08-18  Andy Piper  <andy@xemacs.org>
3974
3975         * redisplay-output.c (redisplay_output_subwindow): disable
3976         clipping attempt.
3977
3978 1999-08-17  Andy Piper  <andy@xemacs.org>
3979
3980         * gutter.c (redraw_exposed_gutter): handle degenerate case of no
3981         area to expose or no gutter to display.
3982
3983 1999-08-16  Charles G Waldman  <cgw@fnal.gov>
3984
3985         * sound.c: rename `bell_volume' to `Vbell_volume' and
3986         `bell_inhibit_time' to `Vbell_inhibit_time'.
3987
3988 1999-08-13  Charles G Waldman  <cgw@fnal.gov>
3989
3990         * sound.c: (bell-inhibit-time): New variable.
3991         (ding): Use it.
3992         (sound-alist): Fix docstring.
3993
3994 1999-08-17  Andy Piper  <andy@xemacs.org>
3995
3996         * gui-x.c (button_item_to_widget_value): xstrdup name so that
3997         deleting it is ok.
3998
3999 1999-08-16 Jeff Miller <jmiller@smart.net>
4000
4001         * syntax.c (scan_words): make compile.
4002
4003 1999-08-16  Andy Piper  <andy@xemacs.org>
4004
4005         * redisplay-output.c (redisplay_output_subwindow): try and be more
4006         relaxed about clipping possibilities.
4007
4008         * glyphs-x.c (x_tab_control_set_property): free_widget_value_tree
4009         rather than just the widget_value.
4010         (x_update_subwindow): ditto.
4011         (x_widget_instantiate): ditto.
4012
4013         * gutter.c (output_gutter): shrink current display lines if
4014         required.
4015
4016 1999-08-15  Andy Piper  <andy@xemacs.org>
4017
4018         * redisplay.h: declare free_display_lines.
4019
4020         * redisplay.c (free_display_lines): make non-static.
4021
4022         * gutter.c (free_frame_gutters): use free_display_lines instead of
4023         Dynarr_free.
4024         (calculate_gutter_size): ditto.
4025
4026 1999-08-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
4027
4028         * eval.c (run_hook_with_args_in_buffer): GCPRO globals.
4029
4030 1999-08-14  Andy Piper  <andy@xemacs.org>
4031
4032         * glyphs.c (update_subwindow_cachel): make it less brittle.
4033
4034 1999-08-04  Mike Woolley  <mike@bulsara.com>
4035
4036         * scrollbar-msw.c (mswindows_handle_mousewheel_event): Fixed
4037         problem in wheelmouse code occurring when the horizontal scrollbar
4038         is enabled but not visible.
4039
4040 1999-08-08  Andy Piper  <andyp@beasys.com>
4041
4042         * toolbar-msw.c (mswindows_redraw_frame_toolbars): new function.
4043         (console_type_create_toolbar_mswindows): use it.
4044
4045         * glyphs.c (Fset_image_instance_property): fiddly reorganisation.
4046
4047         * redisplay-output.c (redisplay_output_display_block): unmap
4048         subwindows in the block area before outputting the block.
4049
4050         * event-msw.c (mswindows_wnd_proc): check the update rect before
4051         painting and disable expose registration while painting.
4052
4053         * glyphs.c (register_ignored_expose): check
4054         hold_ignored_expose_registration before registering expose events.
4055
4056         * redisplay.c (redisplay_frame): reset the subwindow cache before
4057         displaying the gutter.
4058
4059         * glyphs-msw.c (mswindows_map_subwindow): move the window before
4060         mapping.
4061
4062         * gutter.c (update_frame_gutters): check for glyphs_changed as if
4063         it is the subwindow cache will have been reset.
4064
4065 1999-08-06  Andy Piper  <andyp@beasys.com>
4066
4067         * gui-x.c (button_item_to_widget_value): cope with strings.
4068
4069         * glyphs.h: declare global widget functions.
4070         (IIFORMAT_HAS_SHARED_DEVMETHOD): new macro.
4071
4072         * glyphs-x.c (x_combo_box_instantiate): do generic initialization
4073         here. remove dead code.
4074         (image_instantiator_format_create_glyphs_x): enable combo boxes
4075         for Motif 2.0.
4076
4077         * glyphs-widget.c (widget_instantiate_1): make non-static.
4078         (tree_view_instantiate): renamed from combo_box_instantiate.
4079         (image_instantiator_format_create_glyphs_widget): use new/changed methods.
4080
4081         * glyphs-msw.c (mswindows_combo_box_instantiate): do generic
4082         initialization here.
4083
4084         * lwlib-Xm.c (xm_update_combo_box): new function.
4085         (xm_update_one_widget): call it.
4086         (xm_update_one_value): deal with combo boxes as well as lists.
4087         (xm_create_combo_box): create a drop-down combo box.
4088
4089         * toolbar-msw.c (mswindows_output_toolbar): call
4090         mswindows_move_toolbar.
4091
4092 1999-08-05  Andy Piper  <andyp@beasys.com>
4093
4094         * window.c (Fcurrent_pixel_column): new function. use display
4095         lines to calculate pixel position of point.
4096         * window.c (syms_of_window): declare it.
4097
4098 1999-08-05  Andy Piper  <andy@xemacs.org>
4099
4100         * glyphs.c (check_for_ignored_expose): ignore exposures wholly
4101         contained in our ignore list.
4102
4103         * buffer.c (Frecord_buffer): add call to record-buffer-hook.
4104         (syms_of_buffer): declare record-buffer-hook.
4105
4106         * s/mingw32.h: define mousewheel things.
4107
4108 1999-08-04  Mike Woolley <mike@bulsara.com>
4109
4110         * windowsnt.h (_WIN32_WINNT): enable for win95
4111
4112         * s/cygwin32.h: define mousewheel things.
4113
4114         * scrollbar-msw.h: declare mousewheel handler.
4115
4116         * scrollbar-msw.c (mswindows_handle_mousewheel_event): new function.
4117
4118 1999-08-04  Andy Piper  <andy@xemacs.org>
4119
4120         * gui-x.c (gui_items_to_widget_values): remove unused variable.
4121         (gui_items_to_widget_values_1): ditto.
4122
4123         * gui-x.h: unconditionally define since it is used everywhere.
4124
4125 1999-08-04  Andy Piper  <andy@xemacs.org>
4126
4127         * glyphs-x.c (x_finalize_image_instance): only free pixels if we
4128         have that type of image.
4129
4130 1999-07-30  Andy Piper  <andy@xemacs.org>
4131
4132         * redisplay-output.c (redisplay_unmap_subwindows): add comparison
4133         subwindow to not unmap if required.
4134         (redisplay_unmap_subwindows_maybe): comparison is Qnil.
4135         (redisplay_unmap_subwindows_except_us): new function.
4136         (redisplay_output_subwindow): use it to unmap windows in the area
4137         we are displaying into.
4138
4139         * glyphs.c (update_subwindow_cachel_data): always update as we
4140         only ever get called when an update is required.
4141         (update_subwindow_cachel): new function. sync a subwindow with its
4142         cachel.
4143         (Fresize_subwindow): use it.
4144         (register_ignored_expose): make sure we set the tail correctly.
4145
4146 1999-07-28  Andy Piper  <andy@xemacs.org>
4147
4148         * redisplay-output.c (redisplay_clear_bottom_of_window): remove
4149         unneeded device.
4150
4151         * gutter.c (redraw_exposed_gutter): unmap subwindows from the
4152         whole gutter.
4153
4154         * gui.h: declare parse_gui_item_tree_list and
4155         parse_gui_item_tree_children.
4156
4157         * gui.c (parse_gui_item_tree_item): new function for parsing item
4158         lists into gui-item trees.
4159         (parse_gui_item_tree_children): ditto.
4160         (parse_gui_item_tree_list): ditto.
4161
4162         * gui-x.h: declare gui_items_to_widget_values.
4163
4164         * gui-x.c (gui_items_to_widget_values_1): new function for
4165         recursively parsing gui-items into widget_values.
4166         (gui_item_children_to_widget_values): ditto.
4167         (gui_items_to_widget_values): ditto.
4168         (sanity_check_lwlib): add widgets macrolets.
4169
4170         * glyphs.h (IMAGE_INSTANCE_WIDGET_ITEMS): rename from *ITEM.
4171         (XIMAGE_INSTANCE_WIDGET_ITEMS): ditto.
4172         (IMAGE_INSTANCE_WIDGET_ITEM): rename from *SINGLE_ITEM.
4173         (XIMAGE_INSTANCE_WIDGET_ITEM): ditto.
4174         (struct expose_ignore): new structure for storing ignorable expose
4175         events.
4176
4177         * glyphs.c (valid_image_instantiator_format_p): fix so that using
4178         a console-type as a locale works.
4179         (mark_image_instance): ITEM->ITEMS.
4180         (image_instance_equal): ditto.
4181         (image_instance_hash): ditto.
4182         (struct expose_ignore_blocktype): new blocktype.
4183         (check_for_ignored_expose): new function. checks frame exposure
4184         list for events to ignore.
4185         (register_ignored_expose): new function. registers an expose event
4186         as ignorable.
4187         (unmap_subwindow): register the expose event as ignorable.
4188         (vars_of_glyphs): initialise the exposure blocktype.
4189
4190         * glyphs-x.c (x_finalize_image_instance): use lw_destroy_widget.
4191         (x_update_subwindow): modify all widgets using widget_value tree
4192         rather than just a single widget value.
4193         (x_widget_instantiate): LWLIB_USES_MOTIF -> LWLIB_WIDGETS_MOTIF.
4194         make sure widgets don't resize themselves.
4195         (x_tab_control_instantiate): new function. use lwlib tab functions.
4196         (x_tab_control_set_property): new function.
4197         (image_instantiator_format_create_glyphs_x): add tab_control.
4198
4199         * glyphs-widget.c (widget_text_to_pixel_conversion): calculate
4200         slightly more sensibly.
4201         (initialize_widget_image_instance): ITEM->ITEMS.
4202         (widget_instantiate_1): parse gui items generically into the ITEMS
4203         entry.
4204
4205         * glyphs-msw.c (mswindows_update_subwindow): replace
4206         SINGLE_ITEM->ITEM.
4207         (mswindows_register_widget_instance): ditto.
4208         (add_tree_item): modify to use new pre-initialised gui-item
4209         structure.
4210         (add_tab_item): ditto.
4211         (mswindows_tab_control_instantiate): ditto.
4212         (mswindows_tab_control_set_property): ditto.
4213         (image_instantiator_format_create_glyphs_mswindows): predicate
4214         existance of widgets on HAVE_WIDGETS.
4215
4216         * frame.h (struct frame): add subwindow_exposures variables.
4217
4218         * frame.c (allocate_frame_core): reset subwindow_exposures links.
4219
4220         * event-msw.c (mswindows_wnd_proc): check for ignored
4221         expose events before redrawing.
4222
4223         * event-Xt.c (emacs_Xt_handle_magic_event): check for ignored
4224         expose events before redrawing.
4225
4226 1999-07-30  SL Baur  <steve@xemacs.org>
4227
4228         * scrollbar-x.c: should include EmacsFrame.h.
4229         From Jeff Miller <jmiller@smart.net>
4230
4231 1999-07-30  XEmacs Build Bot <builds@cvs.xemacs.org>
4232
4233         * XEmacs 21.2.19 is released
4234
4235 1999-07-27  Jeff Miller  <jmiller@smart.net>
4236
4237         * add a "#ifdef HAVE_MENUBARS"  wrapper to gui.c around
4238           menubar_show_keybindings.
4239
4240 1999-07-23  SL Baur  <steve@miho>
4241
4242         * mule-charset.c (syms_of_mule_charset): Delete duplicated
4243         definition of Qccl_program.
4244
4245         * mule-ccl.h: Make a global declaration of it here.
4246
4247 1999-07-20  Bob Weiner  <weiner@beopen.com>
4248
4249         * s/sco7.h: Added from rr@sco.com.
4250
4251 1999-06-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4252
4253         * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'.
4254
4255 1999-06-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4256
4257         * file-coding.c (mule_decode): Setup `str->ccl.last_block'.
4258         (mule_encode): Likewise.
4259
4260         * mule-ccl.c (Qccl_program): New variable.
4261         (CCL_SUSPEND): New macro.
4262         (CCL_INVALID_CMD): New macro.
4263         (CCL_READ_CHAR): Don't regard as invalid command while processing
4264         the last block even if input is empty; use
4265         `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'.
4266         (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'.
4267
4268         * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c.
4269         (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10.
4270         (CCL_STAT_SUSPEND_BY_DST): Likewise.
4271         (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2.
4272         (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3.
4273
4274 1999-05-04  Ken'ichi Handa  <handa@gnu.org>
4275
4276         * mule-ccl.h (struct ccl_program): New member stack_idx.
4277
4278         * mule-ccl.c (ccl_prog_stack_struct): Declare it as static.
4279         (ccl_driver): Setup stack_idx and ccl_prog correctly.  Update them
4280         before returing.
4281         (setup_ccl_program): Initialize ccl->stack_idx to 0.
4282
4283 1998-10-12  Kenichi Handa  <handa@etl.go.jp>
4284
4285         * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the
4286         definitions.
4287
4288 1998-08-18  Kenichi Handa  <handa@etl.go.jp>
4289
4290         * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while
4291         processing the last block, don't just finish but processes eol
4292         block of the current CCL program.
4293         (ccl_driver): Add a new jump label ccl_repeat for the above
4294         change.
4295
4296 1998-04-15  Kenichi Handa  <handa@etl.go.jp>
4297
4298         * mule-ccl.c: Typo in comments fixed.
4299         (Qccl_program_idx): New variables.
4300         (CCL_ReadMultibyteChar2): Macro name changed from
4301         CCL_ReadMultibyteCharacter.
4302         (CCL_WriteMultibyteChar2): Macro name changed from
4303         CCL_WriteMultibyteChar2.
4304         (ccl_driver): Adjusted for the above changes.
4305         (resolve_symbol_ccl_program): New function.
4306         (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
4307         program.  If CCL-PRGRAM is a vector, convert symbols in it to ID
4308         numbers by resolve_symbol_ccl_program.
4309         (Fccl_execute_on_string): Likewise.
4310         (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
4311         convert symbols in it to ID numbers by resolve_symbol_ccl_program.
4312
4313 1998-01-21  Kenichi Handa  <handa@etl.go.jp>
4314
4315         * mule-ccl.h: (struct ccl_program): New member private_state.
4316
4317         * mule-ccl.c
4318         (CCL_Call): Fix the comment.
4319         (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New
4320         macros for CCL Commands.
4321         (EXCMD): New macro.
4322         (ccl_driver): New case lable `CCL_Extention'.
4323         (setup_ccl_program): Initialize the member `private_state' of CCL.
4324
4325 1999-07-08  Katsumi Yamaoka <yamaoka@jpl.org>
4326
4327         * keymap.c (copy_keymap_internal): Inherit the default binding.
4328
4329 1999-07-14  Kazuyuki IENAGA <kazz@imasy.or.jp>
4330
4331         * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
4332         focus the event (XIM_focus_event).
4333         (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because
4334         XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
4335         the interface for future use (XIM_SetGeometry).
4336         * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot
4337         location (XIM_SetSpotLocation).
4338         (x_output_eol_cursor): Ditto.
4339
4340 1999-07-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4341
4342         * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match
4343         Olivier's change to lrecord.h of 1999-04-22
4344
4345 1999-07-20  Robert Pluim  <rpluim@bigfoot.com>
4346
4347         * gutter.c (redraw_exposed_gutter): Change type of pos from
4348         enum toolbar_pos -> enum gutter_pos, since former is only defined
4349         if toolbar support is.
4350
4351 1999-07-19  Andy Piper  <andy@xemacs.org>
4352
4353         * glyphs-x.c (x_resize_subwindow): cope with widgets as well as
4354         subwindows.
4355
4356         * gutter.c (gutter_validate): new function for the gutter specifier.
4357         (specifier_type_create_gutter): declare specifier validator.
4358
4359         * buffer.h (INC_CHARBYTIND): add for no error checking version.
4360
4361 1999-07-18  Andy Piper  <andy@xemacs.org>
4362
4363         * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
4364
4365         * glyphs-msw.c (console_type_create_glyphs_mswindows): add
4366         resize_subwindow.
4367         (mswindows_resize_subwindow): new function.
4368
4369         * gutter.c (redraw_exposed_gutter): only reset the
4370         current_display_lines if non-zero.
4371         (Fgutter_pixel_height): new function.
4372         (Fgutter_pixel_width): new function.
4373
4374         * event-msw.c (mswindows_wnd_proc): set the mask of the parameter
4375         we want to retrive from the tab control.
4376
4377 1999-07-17  Andy Piper  <andy@xemacs.org>
4378
4379         * window.c (change_window_height): mark gutters changed when we're
4380         done.
4381
4382         * gutter.c (specifier_vars_of_gutter): make defaults more
4383         sensible.
4384
4385         * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0
4386         height gutter.
4387         (DEFAULT_GUTTER_WIDTH): change.
4388         (DEFAULT_GUTTER_BORDER_WIDTH): change.
4389
4390 1999-07-18  Andy Piper  <andy@xemacs.org>
4391
4392         * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
4393
4394 1999-07-16  Andy Piper  <andy@xemacs.org>
4395
4396         * frame.c (Fmake_frame): call init_frame_gutters().
4397
4398         * redisplay.c (add_emchar_rune): use string functions if we are
4399         working with a string.
4400         (position_redisplay_data_type): add string element.
4401
4402 1999-07-15  Andy Piper  <andy@xemacs.org>
4403
4404         * winslots.h: add real_gutter_size slots to hold the actual gutter
4405         size. This is important for autodetected sizes.
4406
4407         * gutter.c (calculate_gutter_size): calculate size for gutters
4408         that have 'autodetect size.
4409
4410         * redisplay-msw.c (mswindows_output_vertical_divider): adjust
4411         extent of divider for gutters.
4412
4413         * redisplay-x.c (x_output_vertical_divider): adjust extent of
4414         divider for gutters.
4415
4416         * scrollbar.c (update_scrollbar_instance): adjust scrollbar
4417         position to take into account the gutters.
4418
4419         * redisplay.c (generate_modeline): adjust modeline position to
4420         take into account the gutters.
4421
4422 1999-07-14  Andy Piper  <andy@xemacs.org>
4423
4424         * gutter.c (frame_topmost_window): new function.
4425         (frame_bottommost_window): ditto.
4426         (frame_leftmost_window): ditto.
4427         (frame_rightmost_window): ditto.
4428
4429 1999-07-13  Andy Piper  <andy@xemacs.org>
4430
4431         * redisplay.c (calculate_display_line_boundaries): use text
4432         boundaries so that gutters get handled properly.
4433
4434 1999-07-12  Andy Piper  <andy@xemacs.org>
4435
4436         * glyphs-x.c (x_widget_instantiate): set the font Motif-style if
4437         we're using Motif.
4438
4439         * redisplay-output.c (redisplay_clear_to_window_end): generalised
4440         from redisplay-x.c
4441
4442         * redisplay-x.c (redisplay_clear_to_window_end): moved to
4443         redisplay.c
4444
4445         * redisplay-msw.c (redisplay_clear_to_window_end): deleted.
4446
4447         * gutter.c: new file - implements gutters. All new functions are
4448         semantically equivalent to the toolbar functions.
4449         (gutter_was_visible): new function.
4450         (get_gutter_coords): ditto.
4451         (output_gutter): ditto.
4452         (clear_gutter): ditto.
4453         (update_frame_gutters): ditto.
4454         (redraw_exposed_gutter): ditto.
4455         (redraw_exposed_gutters): ditto.
4456         (free_frame_gutters): ditto.
4457         (init_frame_gutters): ditto.
4458         (decode_gutter_position): ditto.
4459         (Fset_default_gutter_position): ditto.
4460         (Fset_default_gutter_position): ditto.
4461         (Fdefault_gutter_position): ditto.
4462         (gutter_after_change): ditto.
4463         (Fgutter_specifier_p): ditto.
4464         (recompute_overlaying_specifier): ditto.
4465         (gutter_specs_changed): ditto.
4466         (default_gutter_specs_changed): ditto.
4467         (gutter_geometry_changed_in_window): ditto.
4468         (default_gutter_size_changed_in_window): ditto.
4469         (default_gutter_border_width_changed_in_window): ditto.
4470         (default_gutter_visible_p_changed_in_window): ditto.
4471         (syms_of_gutter): ditto.
4472         (vars_of_gutter): ditto.
4473         (specifier_type_create_gutter): ditto.
4474         (specifier_vars_of_gutter): ditto.
4475
4476         * gutter.h: new file. Contains gutter constants and sizing macros
4477         similar to those for the toolbar.
4478
4479         * winslots.h: add gutter variables.
4480
4481         * window.h: declare window_is_* functions.
4482
4483         * window.c (window_is_lowest): make non-static.
4484         (window_is_highest): ditto.
4485         (window_top_toolbar_height): deleted.
4486         (window_bottom_toolbar_height): deleted.
4487         (window_left_toolbar_width): deleted.
4488         (window_right_toolbar_width): deleted.
4489         (window_top_gutter_height): add gutter sizing.
4490         (window_bottom_gutter_height): ditto.
4491         (window_left_gutter_width): ditto.
4492         (window_right_gutter_width): ditto.
4493
4494         * symsinit.h: declarations for gutters vars etc.
4495
4496         * search.c (bi_find_next_emchar_in_string): new function.
4497
4498         * scrollbar.c (update_scrollbar_instance): remove reference to
4499         window_bottom_toolbar_height which did nothing.
4500
4501         * redisplay.h (struct display_line): add face indices for
4502         overriding defaults in output_display_line.
4503         Add gutter_changed flags and declarations.
4504
4505         * redisplay.c (create_string_text_block): new function, similar to
4506         create_text_block but for strings. Display tables etc are used
4507         from the currently selected window.
4508         (generate_string_display_line): ditto. Similar to
4509         generate_display_line.
4510         (generate_displayable_area): generate display lines for a given
4511         area on a frame. Input is the string, with associated extents, to
4512         display.
4513         (redisplay_frame): add gutter_changed check.
4514         (redisplay_device): ditto.
4515         (redisplay_without_hooks): ditto.
4516
4517         * redisplay-x.c (bevel_modeline): moved to redisplay.c.
4518         (x_redraw_exposed_area): redraw exposed gutters.
4519         (x_bevel_area): new redisplay device method.
4520         (x_type_create_redisplay_mswindows): add bevel_area device method.
4521         (x_output_display_block): fiddly Martin-style cleanup.
4522         (x_output_vertical_divider): use bevel_area.
4523
4524         * redisplay-output.c (output_display_line): check display_lines
4525         for face information before using defaults.
4526         (bevel_modeline): new function, calls bevel_area with appropriate
4527         values.
4528
4529         * redisplay-msw.c (bevel_modeline): moved to redisplay.c.
4530         (mswindows_redraw_exposed_area): redraw exposed gutters.
4531         (mswindows_bevel_area): new redisplay device method.
4532         (console_type_create_redisplay_mswindows): add bevel_area device
4533         method.
4534
4535         * indent.c (string_column_at_point): add column_at_point but for
4536         strings.
4537
4538         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
4539         instantiate widgets that we have a toolkit for.
4540
4541         * general.c: add Qgutter.
4542
4543         * frame.h (struct frame): add display lines for gutters and
4544         visibility flags.
4545
4546         * frame.c (set_frame_selected_window): mark gutters changed.
4547
4548         * emacs.c (main_1): add gutter initialisation.
4549
4550         * device.h (struct device): add gutter_changed flag and macros to
4551         manipulate it.
4552
4553         * console.h (struct console_methods): new bevel area redisplay
4554         method.
4555
4556         * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as
4557         REAL_INC_BYTIND is for buffers.
4558         (INC_CHARPTR): ditto.
4559
4560         * Makefile.in.in (objs): add gutter.o
4561
4562 1999-07-13  XEmacs Build Bot <builds@cvs.xemacs.org>
4563
4564         * XEmacs 21.2.18 is released
4565
4566 1999-07-08  SL Baur  <steve@mule.m17n.org>
4567
4568         * event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with
4569         XIM_XLIB.
4570         (emacs_Xt_handle_magic_event): Ditto.
4571         * redisplay-x.c (x_output_string): Ditto.
4572         (x_output_eol_cursor): Ditto.
4573
4574 1999-06-30  Kazuyuki IENAGA <kazz@imasy.or.jp>
4575
4576         *  event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the
4577         problem that when XIM is destroyed or missed with some reason,
4578         xemacs will die.  Now xim=xlib waits the XIM will be ready and
4579         endures the case of XIM end up.
4580
4581 1999-07-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4582
4583         * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
4584         SIGINT and SIGCHLD before calling tt_open and restore the
4585         afterwards. This fixes e.g. the zombie subprocesses on Solaris
4586
4587 1999-07-06  SL Baur  <steve@xemacs.org>
4588
4589         * s/linux.h: gcc-2.8 changes for powerpc
4590         From Justin Vallon <vallon@mindspring.com>
4591
4592 1999-07-05  Didier Verna  <verna@inf.enst.fr>
4593
4594         * indent.c: new symbol Qcoerce.
4595         (Fmove_to_column): use it + doc string update.
4596
4597 1999-07-04  Andy Piper  <andy@xemacs.org>
4598
4599         * console.c: undo earlier Fprovide changes.
4600         * fns.c: ditto.
4601         * console.h: ditto.
4602
4603         * console-tty.c (image_instantiator_format_create_glyphs_tty): new
4604         function. validate appropriate image formats for tty.
4605
4606         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM):
4607         initialize consoles parameter.
4608         (struct image_instantiator_methods): add consoles parameter.
4609         (IIFORMAT_VALID_CONSOLE): new function. validate the format on the
4610         console.
4611         (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given
4612         console.
4613
4614         * glyphs-msw.c: declare instantiators for later use.
4615         (image_instantiator_format_create_glyphs_mswindows): validate xpm
4616         and friends on the mswindows console.
4617         * glyphs-x.c: ditto.
4618
4619         * glyphs.c (valid_image_instantiator_format_p): disallow glyphs
4620         that have not been registered on the supplied device.
4621         (Fvalid_image_instantiator_format_p): add locale argument.
4622         (instantiate_image_instantiator): valid image instantiator on the
4623         device.
4624
4625         * symsinit.h: add image_instantiator_format_create_glyphs_tty()
4626         declaration.
4627
4628         * emacs.c (main_1): add call to
4629         image_instantiator_format_create_glyphs_tty().
4630
4631 1999-06-29  Olivier Galibert  <galibert@pobox.com>
4632
4633         * lisp.h: Add #include <stddef.h>.
4634
4635         * sysdep.c: Remove #include <stddef.h>.
4636         * symbols.c: Remove #include <stddef.h>.
4637         * sheap.c: Remove #include <stddef.h>.
4638         * opaque.c: Remove #include <stddef.h>.
4639         * nt.c: Remove #include <stddef.h>.
4640         * mule-charset.c: Remove #include <stddef.h>.
4641         * marker.c: Remove #include <stddef.h>.
4642         * file-coding.c: Remove #include <stddef.h>.
4643         * extents.c: Remove #include <stddef.h>.
4644         * elhash.c: Remove #include <stddef.h>.
4645         * data.c: Remove #include <stddef.h>.
4646         * chartab.c: Remove #include <stddef.h>.
4647         * bytecode.c: Remove #include <stddef.h>.
4648         * alloc.c: Remove #include <stddef.h>.  Fix vector description
4649
4650 1999-06-30  SL Baur  <steve@miho.m17n.org>
4651
4652         * editfns.c: Document "%s" format spec.
4653         Suggested by Bob Weiner <weiner@altrasoft.com>
4654
4655 1999-06-29  Andy Piper  <andy@xemacs.org>
4656
4657         * event-msw.c: fix definition booboo.
4658
4659 1999-06-28  Andy Piper  <andy@xemacs.org>
4660
4661         * glyphs-x.c: change tree -> tree-view, progress ->
4662         progress_gauge, edit -> edit-field, tab -> tab-control, combo ->
4663         combo-box.
4664         (complex_vars_of_glyphs_x): provide-on-console the implemented
4665         widget types.
4666
4667         * glyphs-msw.c: ditto.
4668         (complex_vars_of_glyphs_mswindows): ditto.
4669
4670         * lisp.h: add Fprovide_on_console.
4671
4672         * fns.c (Ffeaturep): add extra optional console argument.
4673         (Fprovide_on_console): like Fprovide but provides only on the
4674         specified console-type.
4675         (Frequire): check console-features as well as global features.
4676
4677         * console.c (Fconsole_features): new function. return features for
4678         this console.
4679         (syms_of_console): add Fconsole_features.
4680
4681         * console.h (CONMETH_FEATURES): new function for accessing features.
4682         (CONSOLE_FEATURES): ditto.
4683         (struct console_methods): add features slot.
4684         (INITIALIZE_CONSOLE_TYPE): initialize features slot.
4685
4686 1999-06-28  Andy Piper  <andy@xemacs.org>
4687
4688         * event-Xt.c (handle_focus_event_1): conditionally compile for
4689         X11R5.
4690
4691         * s/cygwin32.h: fix me website address.
4692
4693         * event-msw.c: add NMHDR for pre b20 cygwin builds.
4694
4695         * gui-x.c (button_item_to_widget_value): only add callback if it
4696         is non-nil.
4697
4698         * glyphs-x.c: add progress, edit and combo instantiators.
4699         (x_widget_set_property): new function. uses lwlib to set widget
4700         values.
4701         (x_widget_property): new function. uses lwlib to get widget
4702         values.
4703         (x_button_instantiate): support images in buttons.
4704         (x_button_property): new function. use lwlib to get the selected
4705         state.
4706         (x_progress_instantiate): new function for instantiating progress
4707         gauges.
4708         (x_progress_set_property): new function. sets the progress gauge
4709         position.
4710         (x_edit_instantiate): new function. for instantiating edit fields.
4711         (x_combo_instantiate): new function. for instantiating combo
4712         boxes.
4713         (image_instantiator_format_create_glyphs_x): add new device ii
4714         formats.
4715
4716         * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var.
4717
4718         * console.h (CONSOLE_FEATURES): new features accesor.
4719
4720         * conslots.h (MARKED_SLOT): add features entry.
4721
4722 1999-06-25  Andy Piper  <andy@xemacs.org>
4723
4724         * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new
4725         gui functions.
4726
4727         * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h
4728
4729         * gui.h (struct Lisp_Gui_Item): add accelerator.
4730
4731         * gui.c (gui_item_add_keyval_pair): deal with accelerators.
4732         (gui_item_init): ditto.
4733         (gui_add_item_keywords_to_plist): ditto.
4734         (mark_gui_item): ditto.
4735         (gui_item_hash): ditto.
4736         (gui_item_accelerator): new function.
4737         (gui_name_accelerator): new function stolen from gui-x.c
4738
4739         * gui-x.c (popup_selection_callback): always define. mark
4740         subwindows changed after calling a callback.
4741         (menu_name_to_accelerator): deleted.
4742         (button_item_to_widget_value): forward gui_item things to gui_item
4743         functions.
4744
4745         * glyphs-x.h (struct x_subwindow_data): add data for widgets. add
4746         appropriate accesors.
4747
4748         * glyphs-x.c: declare new glyph formats.
4749         (x_finalize_image_instance): unmanage and destroy widgets if they
4750         exist.
4751         (x_unmap_subwindow): handle widgets specially.
4752         (x_map_subwindow): ditto. offset display of widgets by offset of
4753         text widget within container.
4754         (x_update_subwindow): new function. call lw_modify_all_widgets
4755         when we are a widget.
4756         (x_widget_instantiate): new function for generically creating
4757         widgets-glyphs. toolkit specifics forwarded to lwlib.
4758         (x_button_instantiate): new function for instantiating
4759         widgets-glyph buttons.
4760         (console_type_create_glyphs_x): register update_subwindow.
4761         (image_instantiator_format_create_glyphs_x): register widget and
4762         button types.
4763
4764         * event-msw.c (mswindows_wnd_proc): remove redundant variable.
4765
4766         * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1
4767         when we get a button press in case we do not have the focus.
4768         (handle_focus_event_1): set the keyboard focus to the text widget
4769         if we do not have it.
4770
4771         * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item
4772         functions.
4773
4774 1999-06-24  SL Baur  <steve@miho.m17n.org>
4775
4776         * syntax.c (scan_words): Restore non-Mule code.
4777         (word_constituent_p): Restore.
4778
4779 1999-06-23  Olivier Galibert  <galibert@pobox.com>
4780
4781         * config.h.in: Add missing #undef *_USER_DEFINED.
4782
4783 1999-06-23  SL Baur  <steve@miho.m17n.org>
4784
4785         * lisp.h (set_bit_vector_bit): Force promotion to unsigned long
4786         int (fixes a 64-bit problem).
4787
4788         * chartab.c (word_boundary_p): Use EQ not == for lisp_object
4789         comparison.
4790
4791 1999-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
4792
4793         * paths.h.in (PATH_DOC): Made doc-directory configurable.
4794
4795 1999-06-22  Olivier Galibert  <galibert@pobox.com>
4796
4797         * lrecord.h: Added basic external description system.
4798
4799         * symbols.c: Added symbol, symbol-value-buffer-local,
4800         symbol-value-lisp-magic and symbol-value-varalias description.
4801         * mule-charset.c: Added charset description.
4802         * marker.c: Added marker description.
4803         * keymap.c: Added keymap description.
4804         * glyphs.c: Added glyph description.
4805         * floatfns.c: Added float description.
4806         * file-coding.c: Added coding-system description.
4807         * extents.c: Added extent description.
4808         * elhash.c: Added hash-table description.
4809         * data.c: Added weak-list desciption.
4810         * chartab.c: Added char-table-entry and char-table description.
4811         * bytecode.c: Added compiled-function description.
4812         * alloc.c: Added cons, vector and string description.
4813
4814 1999-06-22  Olivier Galibert  <galibert@pobox.com>
4815
4816         * lrecord.h (struct lrecord_header): Reduced size to 4 bytes.
4817         Updated everything to the removal of the "flags" substructure.
4818
4819         * lisp.h (subr_lheader_initializer): Updated.
4820         * symeval.h (symbol_value_forward_lheader_initializer): Updated.
4821
4822 1999-06-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
4823
4824         * syntax.c (word_constituent_p): Deleted.
4825         (scan_words): Use `WORD_BOUNDARY_P'.
4826
4827         * chartab.c (Vword_combining_categories): New variable.
4828         (Vword_separating_categories): Likewise.
4829         (CATEGORYP): New macro.
4830         (CATEGORY_SET): Likewise.
4831         (CATEGORY_MEMBER): Likewise.
4832         (word_boundary_p): New function.
4833         (complex_vars_of_chartab): Set up new variable
4834         `word-combining-categories' and `word-separating-categories'.
4835
4836 1999-06-18  Olivier Galibert  <galibert@pobox.com>
4837
4838         * lrecord.h: Added description as a placehold in the lrecord
4839         implementation structures.  Added the parameter to all constructor
4840         defines.
4841
4842         * alloc.c: Added placeholders.
4843         * buffer.c: Ditto.
4844         * bytecode.c: Ditto.
4845         * chartab.c: Ditto.
4846         * console.c: Ditto.
4847         * data.c: Ditto.
4848         * database.c: Ditto.
4849         * device.c: Ditto.
4850         * eldap.c: Ditto.
4851         * elhash.c: Ditto.
4852         * eval.c: Ditto.
4853         * event-stream.c: Ditto.
4854         * events.c: Ditto.
4855         * extents.c: Ditto.
4856         * faces.c: Ditto.
4857         * file-coding.c: Ditto.
4858         * floatfns.c: Ditto.
4859         * fns.c: Ditto.
4860         * frame.c: Ditto.
4861         * glyphs.c: Ditto.
4862         * gui-x.c: Ditto.
4863         * keymap.c: Ditto.
4864         * lstream.c: Ditto.
4865         * marker.c: Ditto.
4866         * mule-charset.c: Ditto.
4867         * objects.c: Ditto.
4868         * opaque.c: Ditto.
4869         * process.c: Ditto.
4870         * rangetab.c: Ditto.
4871         * specifier.c: Ditto.
4872         * symbols.c: Ditto.
4873         * toolbar.c: Ditto.
4874         * tooltalk.c: Ditto.
4875         * window.c: Ditto.
4876
4877 1999-06-22  XEmacs Build Bot <builds@cvs.xemacs.org>
4878
4879         * XEmacs 21.2.17 is released
4880
4881 1999-06-13  Oscar Figueiredo  <oscar@xemacs.org>
4882
4883         * config.h.in (HAVE_LDAP_SET_OPTION): New define
4884         (HAVE_LDAP_GET_LDERRNO): Ditto
4885         (HAVE_LDAP_RESULT2ERROR): Ditto
4886         (HAVE_LDAP_PARSE_RESULT): Ditto
4887         (HAVE_UMICH_LDAP): Removed
4888         (HAVE_NS_LDAP): Removed
4889
4890         * eldap.h (struct Lisp_LDAP): Removed the `livep' member as
4891         suggested by Olivier Galibert
4892         (CHECK_LIVE_LDAP): Test on `ld' instead of `livep'
4893
4894         * eldap.c: Take the removal of `livep' into account in all the
4895         necessary functions
4896         (signal_ldap_error): Take two additional parameters
4897         Added new finer compilation conditions in order to use
4898         ldap_parse_result or ldap_result2error if available
4899         (Fldap_open): Conform to this new API
4900         (Fldap_search_internal): Ditto
4901
4902 1999-06-17  SL Baur  <steve@miho.m17n.org>
4903
4904         * data.c (struct int_or_double): Should use EMACS_INT not int.
4905
4906 1999-06-16  Norbert Koch  <n.koch@eai-delta.de>
4907
4908         * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in
4909         redisplay-x.c
4910
4911 1999-06-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4912
4913         * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with
4914         `CCL_MODE_ENCODING'.
4915
4916         * file-coding.c (mule_decode): Run `ccl_driver' with
4917         `CCL_MODE_DECODING'.
4918         (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'.
4919
4920         * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'.
4921         (ccl_driver): Add new argument `conversion_mode'.
4922         (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'.
4923         (Fccl_execute_on_string): Likewise [perhaps it is better to add
4924         new optional argument].
4925
4926         * mule-ccl.h (CCL_MODE_ENCODING): New macro.
4927         (CCL_MODE_DECODING): New macro.
4928         (ccl_driver): Add new argument `conversion_mode'.
4929
4930 1999-06-15  SL Baur  <steve@miho.m17n.org>
4931
4932         * mule-charset.c (Fsplit_char): New subr.
4933         (Fchar_octet): delete.
4934         (syms_of_mule_charset): DEFSUBR it.
4935
4936 1999-06-13  Andy Piper  <andy@xemacs.org>
4937
4938         * menubar.h: update declarations involving gui_items.
4939
4940         * lisp.h: declare Lisp_Gui_Item.
4941
4942         * glyphs.h (struct Lisp_Image_Instance): update type of gui_item.
4943
4944         * glyphs.c (mark_image_instance): modify for new lisp-based gui_items.
4945         (print_image_instance): ditto.
4946         (image_instance_equal): ditto.
4947         (image_instance_hash): ditto.
4948
4949         * event-msw.c (mswindows_need_event): assert badly_p status.
4950         (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with
4951         callbacks in tree-view and tab-control widgets.
4952         (emacs_mswindows_next_event): modify use of
4953         mswindows_dequeue_dispatch_event.
4954
4955         * dialog-msw.c (mswindows_popup_dialog_box): modify for new
4956         lisp-based gui_items.
4957
4958         * glyphs-msw.c (mswindows_update_subwindow): update use of
4959         gui_items.
4960         (mswindows_register_gui_item): new function.
4961         (mswindows_register_gui_item): fix to use lisp gui_items.
4962         (mswindows_widget_instantiate): ditto.
4963         (mswindows_button_instantiate): ditto.
4964         (add_tree_item): new function to recursively add tree view
4965         elements.
4966         (add_tree_item_list): ditto.
4967         (mswindows_tree_instantiate): new function. instantiate tree view
4968         controls.
4969         (add_tab_item): new function to add tabs to a tab control.
4970         (mswindows_tab_instantiate): new function. instantiate tab
4971         controls.
4972         (image_instantiator_format_create_glyphs_mswindows): add tree view
4973         and tab controls.
4974         (vars_of_glyphs_mswindows): ditto.
4975
4976         * glyphs-widget.c (check_valid_item_list_1): allow nested lists in
4977         item lists.
4978         (check_valid_item_list): ditto.
4979         (initialize_widget_image_instance): fix to use new lisp gui_item.
4980         (widget_instantiate_1): allow the setting of default textwidth in
4981         characters.
4982         (widget_instantiate): change to use new widget_instantiate_1
4983         signature.
4984         (combo_instantiate): ditto.
4985         (static_instantiate): ditto.
4986         (tab_instantiate): new function for tab widgets.
4987         (image_instantiator_format_create_glyphs_widget): add tab and tree
4988         view widgets.
4989
4990         * menubar-msw.c (displayable_menu_item): convert to use lisp
4991         gui_items.
4992         (populate_menu_add_item): ditto.
4993         (populate_or_checksum_helper): ditto.
4994
4995         * menubar.c (menu_parse_submenu_keywords): convert to use lisp
4996         gui_items.
4997         (Fmenu_find_real_submenu): ditto.
4998
4999         * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct.
5000
5001         * gui.c (gui_item_add_keyval_pair): gui_items are now lisp
5002         objects, convert functions that use them accordingly.
5003         (gui_item_init): ditto.
5004         (gui_item_active_p): ditto.
5005         (gui_item_selected_p): ditto.
5006         (gui_item_included_p): ditto.
5007         (gui_item_display_flush_left): ditto.
5008         (gui_item_display_flush_right): ditto.
5009         (mark_gui_item): ditto.
5010         (allocate_gui_item): new function to create a gui_item.
5011         (make_gui_item_from_keywords_internal): ditto. create and return a
5012         gui_item as well as setting keywords.
5013         (gui_parse_item_keywords): ditto.
5014         (gui_parse_item_keywords_no_errors): ditto.
5015         (gui_add_item_keywords_to_plist): new function, not yet used.
5016         (gui_item_hash): new function.
5017         (gui_item_id_hash): use gui_item_hash.
5018         (gui_item_equal): new function.
5019         (print_gui_item): new function.
5020
5021 1999-06-11  XEmacs Build Bot <builds@cvs.xemacs.org>
5022
5023         * XEmacs 21.2.16 is released
5024
5025 1999-06-10  Andy Piper  <andy@xemacs.org>
5026
5027         * select-msw.c (mswindows_own_selection): only set the clipboard
5028         if asked.
5029         (mswindows_get_foreign_selection): only get the clipboard if
5030         asked.
5031         (mswindows_disown_selection): only disown the clipboard if asked.
5032
5033 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * file-coding.c (coding_system_from_mask): Use `raw-text' instead
5036         of `no-conversion'.
5037         (complex_vars_of_mule_coding): Use `raw-text' as the coding-system
5038         of coding-category `no-conversion'.
5039
5040 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
5041
5042         * file-coding.c (Qraw_text): New variable.
5043         (syms_of_mule_coding): Add new symbol `raw-text'.
5044         (complex_vars_of_mule_coding): Add new coding-system `raw-text';
5045         define coding-system `binary' independently; define coding-system
5046         `no-conversion' as an alias for `raw-text'.
5047
5048         * file-coding.h (Qraw_text): New variable.
5049
5050 1999-06-08  SL Baur  <steve@xemacs.org>
5051
5052         * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC.
5053
5054 1999-06-06  Hrvoje Niksic  <hniksic@srce.hr>
5055
5056         * fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and
5057         base64.el.
5058         (base64_decode_1): Signal errors instead of returning -1.
5059
5060 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
5061
5062         * mule-charset.c (Fmake_char): Update docstring.
5063
5064 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
5065
5066         * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers.
5067
5068 1999-06-05  Hrvoje Niksic  <hniksic@srce.hr>
5069
5070         * fns.c (base64_decode_1): Allow and ignore any non-base64
5071         characters in input.
5072
5073 1999-05-27  Olivier Galibert  <galibert@pobox.com>
5074
5075         * emacs.c (Fdump_emacs): Add clear_message() lost with the removal
5076         of report_pure_usage().
5077
5078 1999-06-04  Hrvoje Niksic  <hniksic@srce.hr>
5079
5080         * fns.c (Fstring_lessp): Remove O(n^2) under Mule.
5081
5082 1999-06-04  XEmacs Build Bot <builds@cvs.xemacs.org>
5083
5084         * XEmacs 21.2.15 is released
5085
5086 1999-06-01  Hirokazu FUKUI  <fukui@atesoft.advantest.co.jp>
5087
5088         * frame.c (Fset_mouse_position):
5089         (Fset_mouse_pixel_position):
5090         * window.c (Fsplit_window):
5091         (Fmove_to_window_line):
5092         Fix crash when invoking functions with an already-deleted window
5093         argument.
5094
5095         * indent.c (vertical_motion_1):
5096         (vmotion_pixels):
5097         (Fvertical_motion_pixels):
5098         * window.c (Fwindow_displayed_text_pixel_height):
5099         Fix error message when invoking functions with an already-deleted
5100         window argument.
5101
5102 1999-06-01  Jan Vroonhof  <vroonhof@math.ethz.ch>
5103
5104         * sysdep.c (request_sigio_on_device): Guard against glibc
5105         2.1's stub streams implementation.
5106
5107 1999-06-03  SL Baur  <steve@xemacs.org>
5108
5109         * config.h.in:
5110         * emacs.c:  Implement x.y.z version numbers
5111         From Jan Vroonhof <vroonhof@math.ethz.ch>
5112
5113 1999-05-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
5114
5115         * mule-charset.c (complex_vars_of_mule_charset): Registry of
5116         japanese-jisx0208-1978 should not match with "jisx0208.1983" nor
5117         "jisc6226.1983".
5118
5119 1999-06-03  SL Baur  <steve@xemacs.org>
5120
5121         * frame-x.c:
5122         * device-x.c: rename session option to wmcommand.
5123         From Oliver Graf <ograf@rhein-zeitung.de>
5124
5125 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
5126
5127         * fns.c (Fsubstring): Don't traverse the same region twice with
5128         charcount_to_bytecount().
5129
5130 1999-06-03  SL Baur  <steve@steve1.m17n.org>
5131
5132         * m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive
5133         garbage.
5134
5135         * s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it
5136         doesn't really work as is implied by the commentary).
5137         Don't define SYSTEM_MALLOC so the old GNU malloc can be used.
5138
5139 1999-06-02  SL Baur  <steve@steve1.m17n.org>
5140
5141         * symsinit.h: Declare vars_of_ntproc.
5142         * emacs.c (main_1): Call it.
5143
5144         * ntproc.c (syms_of_ntproc): Move variable initializations from
5145         here ...
5146         (vars_of_ntproc): ... to here [new function].
5147
5148         * file-coding.c (syms_of_file_coding): Rename.
5149         (vars_of_file_coding): Ditto.
5150         (complex_vars_of_file_coding): Ditto.
5151
5152         * symsinit.h: Rename *_mule_coding to *_file_coding.
5153
5154         * emacs.c (main_1): Call them by the proper name.
5155
5156         * device-msw.c (syms_of_device_mswindows): Move variable
5157         initializations from here ...
5158         (vars_of_device_mswindows): ... to here.
5159
5160         * chartab.c (vars_of_chartab): New function.
5161
5162         * symsinit.h: New function, vars_of_chartab.
5163
5164         * emacs.c (main_1): Call it.
5165
5166         * mule-canna.c (syms_of_mule_canna): Move CANNA initialization ...
5167         (vars_of_mule_canna): ... to here.
5168
5169         * mule-ccl.c (vars_of_mule_ccl): New function.  Move variable
5170         initializations out of syms_of_mule_ccl.
5171
5172         * symsinit.h: Declare new function vars_of_mule_ccl.
5173
5174         * emacs.c (main_1): Call it.
5175
5176 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
5177
5178         * fns.c (base64_decode_1): Ignore whitespace.
5179
5180 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
5181
5182         * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and
5183         ARG2.
5184
5185 1999-05-21  Andy Piper  <andy@xemacs.org>
5186
5187         * xselect.c: deleted.
5188
5189         * symsinit.h: declare select initialisation.
5190
5191         * select.h: new file. declare commonly used select functions and
5192         variables.
5193
5194         * select.c: new file. generalised from xselect.c.
5195         (clean_local_selection_data): moved from xselect.c.
5196         (get_local_selection): ditto. device specific pieces called via a
5197         devmeth.
5198         (handle_selection_clear): ditto.
5199         (Fown_selection_internal): renamed and generalised from
5200         Fx_own_selection_internal. moved from xselect.c.
5201         (Fdisown_selection_internal): ditto.
5202         (Fselection_owner_p): ditto.
5203         (Fselection_exists_p): ditto.
5204         (Fget_selection_internal): ditto.
5205         (syms_of_select): new function. QXXXX values moved from xselect.c
5206         (vars_of_select): new function. selection_converter_alist,
5207         lost_selection_hooks moved and renamed from xselect.c
5208
5209         * select-x.c: renamed from xselect.c.
5210         (x_own_selection): converted to device specific. non-X-specific
5211         bits moved to select.c.
5212         (x_get_foreign_selection): ditto.
5213         (x_disown_selection): ditto.
5214         (x_selection_exists_p): ditto.
5215         (console_type_create_select_x): new function.
5216
5217         * select-msw.c (mswindows_own_selection): new device method to set
5218         the clipboard when we 'own' the selection.
5219         (mswindows_get_foreign_selection): new device method to get the
5220         clipboard.
5221         (mswindows_disown_selection): new device method to delete the
5222         selection when we 'disown' it.
5223         (console_type_create_select_mswindows): new function.
5224
5225         * emacs.c (main_1): add select to things to initialise.
5226
5227         * console.h (struct console_methods): new console methods for
5228         selection.
5229
5230         * Makefile.in.in (x_objs): xselect.c renamed to select-x.c
5231
5232 1999-05-20  Hrvoje Niksic  <hniksic@srce.hr>
5233
5234         * print.c (long_to_string): Install a faster version.
5235
5236 1999-05-16  Andy Piper  <andy@xemacs.org>
5237
5238         * ntproc.c (syms_of_ntproc): default
5239         win32-start-process-share-console to t.
5240
5241 1999-05-14  Hrvoje Niksic  <hniksic@srce.hr>
5242
5243         * config.h.in: Do it here.
5244
5245         * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here.
5246
5247 1999-05-14  Andy Piper  <andy@xemacs.org>
5248
5249         * toolbar-msw.c (mswindows_output_toolbar): hash on something
5250         hashable.
5251
5252 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
5253
5254         * XEmacs 21.2.14 is released
5255
5256 1999-05-12  Andy Piper  <andy@xemacs.org>
5257
5258         * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way.
5259
5260 1999-05-11  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5261
5262         * emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for
5263         run_temacs_argv array -- fixes random memory corruption crash
5264
5265 1999-05-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
5266
5267         * window.c (Fcurrent_window_configuration):
5268         Save minibuffer height;
5269
5270         * window.c (set_window_configuration): use it.
5271
5272 1999-05-10  Robert Pluim  <rpluim@bigfoot.com>
5273
5274         * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version
5275
5276 1999-04-21  Jan Vroonhof  <vroonhof@math.ethz.ch>
5277
5278         * redisplay.c (redisplay_window): Do not put data
5279         in the line start cache if it is not guaranteed to be correct
5280
5281 1999-04-02  Jan Vroonhof  <vroonhof@math.ethz.ch>
5282
5283         * window.c (struct window_config): Removed frame
5284         size members.
5285         (window_config_equal): No longer compare frame sizes.
5286         (Fset_window_configuration): Resize old top window to fit in the
5287         current frame directly, no longer use a fake frame resize.
5288         (Fcurrent_window_configuration): No longer save frame size
5289
5290 1999-05-11  Andy Piper  <andy@xemacs.org>
5291
5292         * ntproc.c (sys_spawnve): actually assign argv[0] instead of the
5293         first character.
5294
5295 1999-05-10  Hrvoje Niksic  <hniksic@srce.hr>
5296
5297         * sysdep.c (init_system_name): If gethostname gives a proper
5298         domain name, don't look further for one.
5299
5300 1999-05-09  Hrvoje Niksic  <hniksic@srce.hr>
5301
5302         * symbols.c (Fintern): Avoid frequent XSYMBOL (foo).
5303         (Fintern_soft): Accept a symbol argument.
5304
5305 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
5306
5307         * symbols.c (Fintern): ...do it here.
5308
5309         * lread.c (read_atom): Don't handle keywords here.
5310
5311 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
5312
5313         * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD.
5314
5315 1999-05-03  Olivier Galibert  <galibert@pobox.com>
5316
5317         * lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it
5318         is interned in the main obarray.
5319
5320 1999-04-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5321
5322         * menubar-x.c (pre_activate_callback): set accelerator field in
5323         "No menu" entries to nil. Avoid crash in
5324         command_builder_operate_menu_accelerator
5325
5326 1999-05-03  Olivier Galibert  <galibert@pobox.com>
5327
5328         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
5329
5330         * lisp.h (DEFUN): Fix lrecord header initialisation.
5331
5332 1999-05-02  Andy Piper  <andy@xemacs.org>
5333
5334         * objects-msw.c (mswindows_font_instance_truename): add a ';'.
5335
5336         * ntproc.c (sys_kill): cast using MS mandated defines.
5337
5338 1999-04-29  Andy Piper  <andy@xemacs.org>
5339
5340         * m/intel386.h: remove redundant definitions.
5341
5342         * s/mingw32.h: new header for mingw32.
5343
5344         * unexnt.c: (open_input_file): function moved to nt.c.
5345         (close_file_data): ditto.
5346         (rva_to_section): function moved to ntproc.
5347
5348         * symsinit.h: declare syms_of_ntproc();
5349
5350         * objects-msw.c (mswindows_font_instance_truename): new function.
5351
5352         * ntproc.c: remove many warnings.
5353         (_sys_read_ahead): moved from nt.c and made static.
5354         (rva_to_section): moved from unexnt.c but not defined under
5355         mingw32.
5356         (win32_executable_type): implement what we can for mingw32
5357         headers.
5358         (sys_spawnve): fix bad MULE/GCPRO bug in filename handling.
5359
5360         * ntheap.h: remove declarations of functions that are now static.
5361
5362         * ntheap.c: support static heap.
5363
5364         * nt.h: conditionalise X_OK definition.
5365
5366         * nt.c: eliminate many warnings and support mingw32.
5367         (open_input_file): function moved from unexnt.c and made static
5368         (close_file_data): ditto.
5369         (_sys_read_ahead): moved to ntproc.c
5370
5371         * emacs.c: make sure syms_of_ntptroc gets called under windows.
5372
5373         * console-msw.h: support mingw32.
5374         * getloadavg.c: ditto.
5375         * ntplay.c: ditto.
5376         * sysdep.c: ditto.
5377         * sysdir.h: ditto.
5378         * systime.h: ditto.
5379         * systty.h: ditto.
5380
5381         * config.h.in: dont turn on DEBUG_ENCAPSULATION by default because
5382         some systems don't have all of the encapsulated system calls.
5383
5384         * callproc.c: warning elimination.
5385         * dired-msw.c: ditto.
5386         * process-nt.c: ditto.
5387         * realpath.c: ditto.
5388
5389         * Makefile.in.in: tweak : and ; for building under mswindows.
5390
5391 1999-04-26  Michael Harnois  <mharnois@willinet.net>
5392
5393         * eldap.c (allocate_ldap): Adapt to the new semantics of
5394         alloc_lcrecord_type().
5395
5396 1999-03-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5397
5398         * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed.
5399
5400 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5401
5402         * Delete mule-coding.c and mule-coding.h because they are not
5403         used.
5404
5405 1999-04-22  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5406
5407         * objects.c (print_font_instance): Check for NILP(f->device),
5408         i.e. Vthe_null_font_instance.
5409         (font_instance_truename_internal): ditto.
5410         (Ffont_instance_properties): ditto.
5411
5412 1999-04-22  Olivier Galibert  <galibert@pobox.com>
5413
5414         * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an
5415         array anymore.
5416
5417 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
5418
5419         * Makefile.in.in (tests): Don't mention tests explicitly -- makes
5420         it easier to add new ones.
5421
5422 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
5423
5424         * symbols.c (reject_constant_symbols): Ditto.
5425         (init_symbols_once_early): Ditto.
5426
5427         * print.c (print_symbol): Don't use ->obarray.
5428
5429         * symbols.c (Funintern): Ditto.
5430
5431         * alloc.c (Fmake_symbol): Don't set ->obarray.
5432
5433         * lisp.h (struct Lisp_Symbol): Removed .obarray field.
5434
5435         * symbols.c (init_symbols_once_early): Removed
5436         Vpure_uninterned_symbol_table.
5437         (Fintern): Don't store to ->obarray field.
5438
5439 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
5440
5441         * data.c (vars_of_data): Default debug_issue_ebola_notices to 0.
5442         (eq_with_ebola_notice): Remove abracadabra support.
5443
5444 1999-04-11  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
5445
5446         * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to
5447         retrieve the distinguished names of entries
5448
5449 1999-03-08  Martin Buchholz  <martin@xemacs.org>
5450
5451         * lread.c (read_escape): Make hex escapes read only two hex digits.
5452
5453 1999-04-05  Olivier Galibert  <galibert@pobox.com>
5454
5455         * Makefile.in.in: Remove puresize-adjust.h and recursive makes.
5456         * make-src-depend: Remove puresize-adjust.h.
5457         * src-headers: Remove puresize-adjust.h.
5458         * config.h.in: Kill everything purespace/gung-ho related.
5459
5460         * dbxrc: Make gung-ho mandatory.
5461         * gdbinit: Ditto.
5462
5463         * lrecord.h: Make gung-ho mandatory.  Remove pure flag and add
5464         c_readonly and lisp_readonly.  Remove implementation arrays.
5465         (C_READONLY_RECORD_HEADER_P): Added.
5466         (LISP_READONLY_RECORD_HEADER_P): Added.
5467         (SET_C_READONLY_RECORD_HEADER): Added.
5468         (SET_LISP_READONLY_RECORD_HEADER): Added.
5469
5470         * lisp.h: Kill everything purespace/non gung-ho related.
5471         (CHECK_C_WRITEABLE): Added.
5472         (CHECK_LISP_WRITEABLE): Added.
5473         (C_READONLY): Added.
5474         (LISP_READONLY): Added.
5475
5476         * lisp-union.h: Make gung-ho mandatory.
5477         * lisp-disunion.h: Ditto.
5478
5479         * alloc.c: Kill everything purespace/non  gung-ho related. Fix all
5480         set_lheader_implementation calls.
5481         (c_readonly): Added.
5482         (lisp_readonly): Added.
5483         (make_string_nocopy): Added.
5484         (Fpurecopy):  Changed to do  nothing.   Kept the old documentation
5485         for reference purposes for the next patches.
5486         (sweep_lcrecords_1): Don't free C readonly lcrecords.
5487         (sweep_bit_vectors_1): Don't free C readonly bitvectors.
5488         (SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords.
5489
5490         * fns.c: Make gung-ho mandatory.
5491         (Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
5492         (Fremprop): Ditto.
5493         (Ffillarray): Ditto.
5494
5495         * data.c: Make gung-ho mandatory.
5496         (pure_write_error): Removed.
5497         (c_write_error): Added.
5498         (lisp_write_error): Added.
5499         (Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
5500         (Fsetcdr): Ditto.
5501         (Faset): Ditto.
5502
5503         * symbols.c: Make gung-ho mandatory.  make_pure_pname ->
5504                   make_string or make_string_nocopy.  Fix various
5505                   alloc_lcrecord_type.
5506
5507         * lread.c: Remove everything purespace related.
5508         (Flocate_file_clear_hashing): purified -> c_readonly.
5509         (locate_file): Ditto.
5510         (read_atom): make_pure_pname -> make_string.
5511
5512         * emacs.c (Frun_emacs_from_temacs): Remove purespace stats
5513                   reporting.
5514         (Fdump_emacs): Ditto.
5515
5516         * print.c (print_internal): Make gung-ho mandatory.
5517         * ntheap.c (sbrk): Ditto.
5518         * mem-limits.h (EXCEEDS_LISP_PTR): Ditto
5519         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
5520
5521         * sheap.c (more_static_core): Remove puresize-adjust.h from
5522                   message.
5523
5524         * syntax.c (complex_vars_of_syntax): make_pure_string ->
5525                   make_string_nocopy.
5526         * keymap.c (make_keymap): Fix alloc_lcrecord_type.
5527         (vars_of_keymap): make_pure_string -> make_string_nocopy.
5528         * events.c (deinitialize_event): Fix set_lheader_implementation.
5529         (zero_event): Ditto.
5530         * specifier.c (make_specifier_internal): Fix alloc_lcrecord.
5531         * menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type.
5532         * mule-charset.c (make_charset): Ditto.
5533         * console.c (allocate_console): Ditto.
5534         (complex_vars_of_console): Ditto.
5535         * file-coding.c (allocate_coding_system): Ditto.
5536         * device.c (allocate_device): Ditto
5537         * gui-x.c (gcpro_popup_callbacks): Ditto.
5538         * extents.c (allocate_extent_auxiliary): Ditto.
5539         (allocate_extent_info): Ditto.
5540         (copy_extent): Ditto.
5541         * glyphs.c (allocate_image_instance): Ditto.
5542         (allocate_glyph): Ditto.
5543         * frame.c (allocate_frame_core): Ditto.
5544         * database.c (allocate_database): Ditto.
5545         * tooltalk.c (make_tooltalk_message): Ditto.
5546         (make_tooltalk_pattern): Ditto.
5547         * rangetab.c (Fmake_range_table): Ditto.
5548         (Fcopy_range_table): Ditto.
5549         * process.c (make_process_internal): Ditto.
5550         * chartab.c (Fmake_char_table): Ditto.
5551         (make_char_table_entry): Ditto.
5552         (copy_char_table_entry): Ditto.
5553         (Fcopy_char_table): Ditto.
5554         * elhash.c (make_general_lisp_hash_table): Ditto.
5555         (Fcopy_hash_table): Ditto.
5556         * buffer.c (allocate_buffer): Ditto.
5557         (complex_vars_of_buffer): Ditto.
5558         * event-stream.c (allocate_command_builder): Ditto.
5559         * objects.c (Fmake_color_instance): Ditto.
5560         (Fmake_font_instance): Ditto.
5561         (vars_of_objects): Ditto.
5562         * toolbar.c (update_toolbar_button): Ditto.
5563         * window.c (allocate_window): Ditto.
5564         (make_dummy_parent): Ditto.
5565         (Fcurrent_window_configuration): Fix alloc_lcrecord.
5566         (vars_of_window): Fix make_lcrecord_list.
5567         * faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list ->
5568                   Flist.
5569         * lstream.c (Lstream_new): Fix make_lcrecord_list.
5570         * opaque.c (make_opaque): Fix alloc_lrecord.
5571         (make_opaque_list): Fix alloc_lrecord_type.
5572
5573 1999-04-19  Hrvoje Niksic  <hniksic@srce.hr>
5574
5575         * process.c (Fstart_process_internal): Ditto.
5576
5577         * ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling
5578         locate_file().
5579
5580         * glyphs-x.c (x_locate_pixmap_file): Ditto.
5581
5582         * glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to
5583         locate_file().
5584
5585         * emodules.c (vars_of_module): New variable Vmodule_extensions.
5586         (emodules_load): Use it when calling locate_file().
5587
5588         * emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling
5589         locate_file().
5590
5591         * callproc.c: Vlisp_EXEC_SUFFIXES: New variable.
5592         (vars_of_callproc): Initialize it.
5593         (Fcall_process_internal): Use it when calling locate_file().
5594
5595         * alloc.c (disksave_object_finalization): Use
5596         Flocate_file_clear_hashing().
5597
5598         * lread.c (Flocate_file_clear_hashing): Clear all hasing when
5599         given `t' as argument.
5600
5601 1999-04-18  Hrvoje Niksic  <hniksic@srce.hr>
5602
5603         * lread.c (locate_file): Expand `pathel' when appropriate.
5604         (Flocate_file_clear_hashing): Expand path elements.
5605         (Flocate_file_clear_hashing): Use Vlocate_file_hash_table.
5606
5607         * dired.c (make_directory_hash_table): Create the hash-table only
5608         if the directory open is successful.
5609
5610         * lread.c (decode_mode_1): New function.
5611         (decode_mode): Ditto.
5612         (Flocate_file): Use them.
5613         (Flocate_file): Expand FILENAME.
5614         (locate_file_map_suffixes): New function.
5615         (locate_file_in_directory_mapper): New function.
5616         (locate_file_in_directory): Use locate_file_in_directory_mapper()
5617         and locate_file_map_suffixes().
5618         (locate_file_construct_suffixed_files): Use
5619         locate_file_map_suffixes().
5620         (locate_file_without_hash): Don't GCPRO path.
5621         (Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP.
5622         (syms_of_lread): Remove Qlocate_file_hash_table.
5623         (locate_file_find_directory_hash_table): Use
5624         Vlocate_file_hash_table.
5625         (locate_file_refresh_hashing): Ditto.
5626
5627         * lread.c: Renamed read_objects to Vread_objects.
5628
5629 1999-04-16  Olivier Galibert  <galibert@pobox.com>
5630
5631         * mule-charset.c: Generally resync with fsf 20.3 charset
5632         interface.
5633         (make_charset): Add long and short name.  Use id instead of
5634         leading byte.
5635         (Fmake_charset): Ditto.
5636         (Fmake_reverse_direction_charset): Ditto.
5637         (Fcharset_property): Ditto.
5638         (Fcharset_short_name): Added.
5639         (Fcharset_long_name): Added.
5640         (Fcharset_description): Renamed from charset-doc-string.
5641         (syms_of_mule_charset): Synced symbols.
5642         (complex_vars_of_mule_charset): Synced charsets.
5643
5644         * mule-charset.h: Removed leading byte (uses id instead), added
5645         short and long name.
5646
5647 1999-04-15  Hrvoje Niksic  <hniksic@srce.hr>
5648
5649         * file-coding.c (Fdefine_coding_system_alias): New function.
5650
5651 1999-04-08  Olivier Galibert  <galibert@pobox.com>
5652
5653         * mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859
5654         and -ascii fonts for displaying ascii instead of iso8859-1 only.
5655
5656 1998-12-14  Hrvoje Niksic  <hniksic@srce.hr>
5657
5658         * extents.c (set_extent_glyph_1): Make sure that the glyph we
5659         attach to the extent is valid.
5660
5661 1998-12-12  Hrvoje Niksic  <hniksic@srce.hr>
5662
5663         * dired.c (user_name_completion): Mule-ize.
5664         (user_name_completion): Use xmalloc/xrealloc/xfree.
5665         (user_name_completion): Use DO_REALLOC.
5666         (user_name_completion): Cut down the number of static variables;
5667         use a structure.
5668         (user_name_completion): Username completion is always
5669         case-sensitive.
5670
5671 1998-12-06  Hrvoje Niksic  <hniksic@srce.hr>
5672
5673         * fns.c (base64_decode_1): Remove COUNTER.
5674         (base64_decode_1): Accept CRLF in addition to CR.
5675         (base64_decode_1): Disallow a stray character after final EOF; the
5676         check was probably a remnant of buggy recode code.
5677
5678 1998-12-05  Hrvoje Niksic  <hniksic@srce.hr>
5679
5680         * fns.c (init_provide_once): Provide `base64'.
5681
5682 1998-12-04  Hrvoje Niksic  <hniksic@srce.hr>
5683
5684         * fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity.
5685         (Fbase64_encode_region): If buffer is read-only, bail out early.
5686         (Fbase64_decode_region): Ditto.
5687         (Fbase64_encode_region): Initialize SPECCOUNT to pacify the
5688         compiler.
5689         (Fbase64_encode_string): Ditto.
5690         (Fbase64_decode_region): Ditto.
5691         (Fbase64_decode_string): Ditto.
5692
5693 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5694
5695         * dired.c (Fdirectory_files): Remove redundant code.
5696
5697 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
5698
5699         * frame-msw.c Make raise-frame restore minimised windows.
5700
5701 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
5702
5703         * device-msw.c: Fix DEFVAR format - Death to phantom quote, and
5704         add magic newline.
5705
5706 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
5707
5708         * toolbar-msw.c Consider captions when deciding whether to rebuild
5709         toolbar. This fixes the initial toolbar display for those of us
5710         who don't like captions. These patches applied by Andy Piper.
5711
5712 1999-03-12  XEmacs Build Bot <builds@cvs.xemacs.org>
5713
5714         * XEmacs 21.2.13 is released
5715
5716 1999-03-12  SL Baur  <steve@xemacs.org>
5717
5718         * file-coding.c: Guard ucs table initialization with ifdef MULE.
5719
5720 1999-03-10  Stephen J. Turnbull  <turnbull@sk.tsukuba.ac.jp>
5721
5722         * file-coding.c:  docstring and comment improvements.
5723         (decode_ucs4)  flag possible data loss with comment.
5724
5725 1999-03-10  Martin Buchholz  <martin@xemacs.org>
5726
5727         * file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR
5728         (ucs_to_char):
5729         (Fucs_char):
5730         (Fset_char_ucs):
5731         (decode_coding_ucs4):
5732         (encode_coding_ucs4):
5733         (detect_coding_utf8):
5734         (decode_coding_utf8):
5735         (encode_utf8):
5736         (encode_coding_utf8):
5737         Add CHECK_* macros where needed to avoid crashes.
5738         #ifdef out all composite character support using
5739         #ifdef ENABLE_COMPOSITE_CHARS
5740         Use normal XEmacs coding standards.
5741         Fix docstrings.
5742         Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE.
5743
5744 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5745
5746         * file-coding.c (make-coding-system): Add description about
5747         `ucs-4' and `utf-8'.
5748         (detection_state): Modify to implement ucs-4 and utf-8.
5749         (detect_coding_type): Likewise.
5750         (detect_coding_ucs4): New implementation.
5751         (detect_coding_utf8): New implementation.
5752         (encode_utf8): fixed.
5753         (syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and
5754         `utf-8'.
5755
5756 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5757
5758         * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO
5759         2022 registry to private area.
5760
5761 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5762
5763         * file-coding.c (encode_utf8): New function.
5764         (encode_coding_utf8): New implementation.
5765
5766 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5767
5768         * file-coding.c (ucs_to_mule_table): New variable; abolish
5769         `Vucs_to_mule_table'
5770         (mule_to_ucs_table): renamed from `Vmule_to_ucs_table'.
5771         (set-ucs-char): New function.
5772         (ucs_to_char): New function.
5773         (ucs-char): New function.
5774         (set-char-ucs): New function.
5775         (char-ucs): New function.
5776         (decode_ucs4): Use `ucs_to_char'.
5777         (complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and
5778         `mule-to-ucs-table'.
5779
5780 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5781
5782         * chartab.h: EXFUN `Fget_char_table'.
5783
5784         * file-coding.c (encode_ucs4): New function.
5785         (encode_coding_ucs4): Use `encode_ucs4'.
5786
5787 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5788
5789         * file-coding.c (decode_coding_ucs4): New implementation.
5790
5791 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5792
5793         * file-coding.c (decode_coding_ucs4): fixed.
5794
5795         * file-coding.c (Vmule_to_ucs_table): New variable.
5796         (mule_char_to_ucs4): New function.
5797         (encode_coding_ucs4): New implementation.
5798         (complex_vars_of_mule_coding): Define variable
5799         `mule-to-ucs-table'.
5800
5801 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5802
5803         * file-coding.c (decode_coding_utf8): New implementation.
5804
5805 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5806
5807         * file-coding.c (decode_coding_utf8): fixed.
5808
5809 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5810
5811         * file-coding.c (Vucs_to_mule_table): New variable.
5812         (decode_ucs4): Refer `Vucs_to_mule_table'.
5813         (complex_vars_of_mule_coding): Define variable
5814         `ucs-to-mule-table'.
5815
5816 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5817
5818         * file-coding.c (detect_coding_ucs4): New function (not
5819         implemented yet).
5820         (decode_coding_ucs4): New function.
5821         (encode_coding_ucs4): New function (not implemented yet).
5822         (detect_coding_utf8): New function (not implemented yet).
5823         (decode_coding_utf8): New function.
5824         (encode_coding_utf8): New function (not implemented yet).
5825         (make-coding-system): New type `ucs4' and `utf8'.
5826         (coding-system-type): Likewise.
5827         (detection_state): Add `ucs4' and `utf8'.
5828         (detect_coding_type): Likewise.
5829         (mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'.
5830         (mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'.
5831         (decode_ucs4): New function (very incomplete).
5832         (syms_of_mule_coding): Add `ucs4' and `utf8'.
5833
5834         * file-coding.h: Add definitions for UCS-4 and UTF-8.
5835
5836 1999-03-08  Martin Buchholz  <martin@xemacs.org>
5837
5838         * mule-charset.c:
5839         (non_ascii_valid_char_p):
5840         (lookup_composite_char):
5841         (composite_char_string):
5842         (make-composite-char):
5843         (composite-char-string):
5844         (syms_of_mule_charset):
5845         (complex_vars_of_mule_charset):
5846         * mule-charset.h (LEADING_BYTE_COMPOSITE):
5847         (CHAR_LEADING_BYTE):
5848         (MAKE_CHAR):
5849         * file-coding.h (CODING_STATE_COMPOSITE):
5850         (CODING_STATE_ISO2022_LOCK):
5851         (iso_esc_flag):
5852         (LEADING_BYTE_COMPOSITE):
5853         * file-coding.c (struct iso2022_decoder):
5854         (decoding_closer):
5855         (reset_iso2022):
5856         (parse_iso2022_esc):
5857         (encode_coding_iso2022):
5858         #ifdef out all composite character support using
5859         #ifdef ENABLE_COMPOSITE_CHARS
5860
5861         * alloc.c: Define lrecord_coding_system only if ! FILE_CODING
5862
5863 1999-03-04  Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp>
5864
5865         * fns.c (Fbase64_encode_string): Calculate `allength' in the same
5866         way of `Fbase64_encode_region'.
5867
5868 1999-02-18  Katsumi Yamaoka   <yamaoka@jpl.org>
5869
5870         * fns.c (base64_encode_1): Don't add a newline at the tail.
5871
5872 1999-03-08  Andy Piper  <andy@xemacs.org>
5873
5874         * menubar-msw.c (displayable_menu_item): correct off-by-one &
5875         handling.
5876
5877 1999-03-07  Martin Buchholz  <martin@xemacs.org>
5878
5879         * console-stream.h (struct stream_console):
5880         * event-unixoid.c (event_stream_unixoid_select_console):
5881         (event_stream_unixoid_unselect_console):
5882         * print.c (Fexternal_debugging_output):
5883         * sysdep.c (reset_one_device):
5884         * console-stream.c (stream_init_console):
5885         (stream_delete_console):
5886         (allocate_stream_console_struct): move into stream_init_console.
5887         (free_stream_console_struct): move into stream_delete_console.
5888         Use `fd' only for file descriptors.
5889         Therefore, rename members of struct stream_console.
5890
5891         * systime.h: Unix98 says sys/time.h should define select(), but
5892         some systems define that in unistd.h.  So include that file always.
5893
5894         * glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'.  Avoid
5895         multiple evaluation of first arg.  Do proper do {} while (0) wrapping.
5896         (HAS_IIFORMAT_METH_P): Prevent macro from being used in
5897         non-boolean context
5898         (MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention.
5899
5900         * EmacsShell.c:
5901         * balloon_help.c:
5902         Add #include <stdio.h>.
5903         Some versions of assert.h use printf() without #include'ing stdio.h
5904
5905         * free-hook.c (blocktype): Add gcpro5_type to blocktype.
5906         (log_gcpro): Remove unused variable FRAME.
5907         (show_gcprohist): Ansify.
5908         Comment the #endif's
5909
5910         * frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f)
5911         after it's just been XtDestroy'ed!
5912
5913 1999-02-18  Martin Buchholz  <martin@xemacs.org>
5914
5915         * opaque.c (print_opaque):
5916         (sizeof_opaque):
5917         (equal_opaque):
5918         (hash_opaque):
5919         Egcs 1.1.1 seems to have a bug where
5920         INTP (p->size_or_chain)
5921         will crash XEmacs.  Fix by introducing intermediate variable.
5922
5923         * sound.c (Fdevice_sound_enabled_p): Fix compiler warning.
5924
5925         * dired.c (Fdirectory_files):
5926         (Ffile_name_completion):
5927         (Ffile_name_all_completions):
5928         (file_name_completion):
5929         - Use `directory' instead of `dirname' to sync with FSF Emacs and
5930         avoid compiler warnings.
5931         - Fix up docstrings so that C variables match documentation.
5932
5933 1999-03-05  Martin Buchholz  <martin@xemacs.org>
5934
5935         * alloc.c: (garbage_collect_1): Reorg code to make scope of local
5936         variables as small as possible to help out the compiler and the maintainer.
5937
5938         * alloc.c: (disksave_object_finalization):
5939         Set all the *-load-path variables to
5940         nil, not just load-path itself.  This gets the locate-file hash
5941         tables garbage collected BEFORE dump, and has the side effect of
5942         preventing crashes on OSF4.0+egcs.
5943
5944         * alloc.c:
5945         * gdbinit:
5946         * dbxrc:
5947         - Clean up gdb/dbx debugging support.
5948         - Storing an EMACS_INT in an enum is not 64-bit clean!
5949         - So change the enum to a set of separate variables.
5950         - Add test cases to help debug the debugging support!
5951         - Add `lisp-shadows' and `run-temacs' targets for dbx.
5952         - Both dbx and gdb have been tested now.
5953
5954 1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
5955
5956         * XEmacs 21.2.12 is released
5957
5958 1999-02-16  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
5959
5960         * device-x.c: Support to find best visual without flashing.
5961
5962 1999-03-02  Paul Keusemann  <pkeusem@visi.com>
5963
5964         * database.c (berkdb_map): Add flags argument to cursor call (must
5965           be 0 according to docs) required for Berkeley DB 2.6.4 and later.
5966
5967 1999-03-03  Martin Buchholz  <martin@xemacs.org>
5968
5969         * hash.c:
5970         * hash.h:
5971         General cleanup.  Get free-hook.c working again.
5972         Remove unused functions:
5973         make_strings_hash_table, copy_hash, expand_hash_table.
5974
5975         * malloc.c:
5976         * mem-limits.h:
5977         Always use new ANSI-style function prototypes.
5978
5979         * unexalpha.c (unexec): Never use implicit int.
5980
5981         * sgiplay.c (close_sound_file):
5982         (play_sound_file):
5983         (restore_audio_port):
5984         (play_sound_data):
5985         (audio_initialize):
5986         (play_internal):
5987         (drain_audio_port):
5988         (write_mulaw_8_chunk):
5989         (write_linear_chunk):
5990         (write_linear_32_chunk):
5991         (initialize_audio_port):
5992         (open_audio_port):
5993         (set_channels):
5994         (set_output_format):
5995         (adjust_audio_volume):
5996         (get_current_volumes):
5997         (parse_snd_header):
5998         Always use new ANSI-style function prototypes.
5999         Use unistd.h for missing prototypes.
6000
6001         * unexelfsgi.c (round_up):
6002         (find_section):
6003         (unexec): Always use new ANSI-style function prototypes
6004
6005         * elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio
6006
6007         * console.h (struct console_methods): Always use full ANSI prototypes
6008
6009         * emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes
6010
6011 1999-03-02  Andy Piper  <andy@xemacs.org>
6012
6013         * event-stream.c (init_event_stream): make sure native mswindows
6014         gets an appropriate event loop.
6015
6016 1999-02-22  Andy Piper  <andy@xemacs.org>
6017
6018         * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather
6019         than SW_SHOWNORMAL to prevent resizing of maximised frames.
6020         (mswindows_raise_frame): remove comment.
6021
6022 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
6023
6024         * XEmacs 21.2.11 is released
6025
6026 1999-02-25  SL Baur  <steve@xemacs.org>
6027
6028         * mule-charset.c (Qleading_byte): New variable to implement
6029         charset-leading-byte function.
6030         (Fcharset_property): Use it.
6031         (syms_of_mule_charset): Initialize it.
6032         From Kazuyuki IENAGA <ienaga@jsys.co.jp>
6033
6034 1999-02-17  Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp>
6035
6036         * glyphs-x.c (cononvert_EImage_to_XImage): correct
6037         bytes per pixel counting.
6038
6039 1999-02-15  Andy Piper  <andy@xemacs.org>
6040
6041         * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes
6042         major lockups.
6043
6044 1999-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
6045
6046         * fns.c (Fbase64_encode_string): New optional argument
6047         `NO_LINE_BREAK'.
6048
6049 1999-02-16  Martin Buchholz  <martin@xemacs.org>
6050
6051         * gdbinit:  Fix up commands to run temacs.  Add lisp-shadows command.
6052         * alloc.c (xcalloc):  undef xcalloc, just like xmalloc
6053
6054 1999-02-10  Martin Buchholz  <martin@xemacs.org>
6055
6056         * s/bsdos4.h: New file.  Port to BSDI BSD/OS 4.0.
6057         * xintrinsic.h:  Redo CONST support for X11 R4 compatibility.
6058
6059 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
6060
6061         * XEmacs 21.2.10 is released
6062
6063 1999-02-02  Gleb Arshinov  <gleb@cs.stanford.edu>
6064
6065         * process-nt.c (nt_send_process):
6066         Fix for process-send-region/process-send-string breaking when size
6067         of the input > 128 chars: change maximum chunk size for process
6068         stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer
6069         succeeds.
6070
6071 1999-02-02  XEmacs Build Bot <builds@cvs.xemacs.org>
6072
6073         * XEmacs 21.2.9 is released
6074
6075 1999-01-30  Martin Buchholz  <martin@xemacs.org>
6076
6077         * bytecode.c (funcall_compiled_function): Call
6078         UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.
6079
6080         * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
6081         #ifdef 0 out unused macro.
6082
6083 1999-01-27  Martin Buchholz  <martin@xemacs.org>
6084
6085         * gui.c (gui_parse_item_keywords_internal): Make static.
6086
6087 1999-01-21  Andy Piper  <andy@xemacs.org>
6088
6089         * glyphs-msw.c: add xface support.
6090         (mswindows_xface_instantiate): new function copied from glyphs-x.c
6091         (image_instantiator_format_create_glyphs_mswindows): do device
6092         specific initialisation for xfaces.
6093         (xbm_create_bitmap_from_data): line data must be padded to a word
6094         boundary.
6095
6096         * glyphs-x.c (xface_validate): moved to glyphs.c
6097         (xface_normalize): ditto.
6098         (xface_possible_dest_types): ditto.
6099         (image_instantiator_format_create_glyphs_x): do device specific
6100         initialisation for xfaces.
6101
6102         * glyphs.h: declare xface symbol.
6103
6104         * glyphs.c: move generic xface support here.
6105         (xface_validate): moved from glyphs-x.c
6106         (xface_normalize): ditto.
6107         (xface_possible_dest_types): ditto.
6108         (image_instantiator_format_create): xface declarations moved from
6109         glyphs-x.c.
6110
6111 1999-01-14  Adrian Aichner  <adrian@xemacs.org>
6112
6113         * event-stream.c (vars_of_event_stream): Fixing documentation.
6114
6115 1999-01-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6116
6117         * glyphs-eimage.c (gif_instantiate): Correct handling of
6118         interlaced gifs to avoid writing past the end of the eimage
6119         buffer.
6120
6121 1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>
6122
6123         * search.c (Freplace_match): Handle single backslash at end of
6124         NEWTEXT correctly.
6125
6126 1999-01-12  William M. Perry  <wmperry@aventail.com>
6127
6128         * eldap.c (Fldap_open): slow down interrupts around ldap_open to
6129           avoid connection errors.
6130
6131 1999-01-12  Andy Piper  <andy@xemacs.org>
6132
6133         * redisplay-output.c (redisplay_update_line): backout change that
6134         shouldn't have gone ine.
6135
6136 1999-01-09  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
6137
6138         * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may
6139         collide with ldap.el
6140
6141 1999-01-11  Andy Piper  <andy@xemacs.org>
6142
6143         * redisplay.h (DISPLAY_LINE_HEIGHT): new macro.
6144         (DISPLAY_LINE_YPOS): new macro.
6145
6146         * redisplay-msw.c (mswindows_output_string): use it.
6147         (mswindows_output_pixmap): ditto.
6148         (mswindows_output_display_block): ditto.
6149
6150         * redisplay-output.c (redisplay_output_display_block): new
6151         function. just call the devmeth, maybe insert some generic code
6152         here later.
6153         (compare_display_blocks): use it.
6154         (output_display_line): ditto.
6155         (redisplay_unmap_subwindows_maybe): new function. potentially
6156         unmap subwindows in the given area.
6157
6158         * glyphs.c (reset_subwindow_cachels): unmap subwindows that we are
6159         resetting.
6160
6161 1999-01-10  J. Kean Johnston  <jkj@sco.com>
6162
6163         * Makefile.in.in: Set value of moduledir
6164         - Changed DUMPENV to include $(MODULEPATH)
6165         - Added install rule to install header files for use by ellcc.
6166
6167         * config.h.in: Added INHIBIT_SITE_MODULES
6168         - Added HAVE__DLERROR
6169         - Added HAVE_DLFCN_H
6170         - Added DLSYM_NEEDS_UNDERSCORE
6171
6172         * dll.c: Removed.
6173
6174         * emodules.c: New file containing dynamic loading code.
6175
6176         * emodules.h: New file.
6177
6178         * emacs.c: Added variables Vmodule_directory,
6179         Vsite_module_directory, Vconfigure_module_directory and
6180         Vconfigure_site_module_directory.
6181         - (main_1): Added new variable inhibit_site_modules and command
6182         line options `-no-site-modules' and `--no-site-modules'.
6183         - (main_1): Call syms_of_module() instead of syms_of_dll().
6184         - (main_1): Call vars_of_module().
6185         - (vars_of_emacs): Introduce inhibit-site-modules,
6186         module-directory, configure-module-directory,
6187         site-module-directory, and configure-site-module-directory to the
6188         Lisp reader.
6189
6190         * lisp.h: Declare load_module and list_modules, as well as
6191         Vmodule_directory, Vsite_module_directory,
6192         Vconfigure_module_directory and Vconfigure_site_module_directory.
6193
6194         * paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES.
6195         - Added correct support for site-lisp directory.
6196
6197         * symbols.c (defsubr): Modified to allow modules to add new subrs
6198         after dump time.
6199         - (defsubr_macro): Same.
6200         - (defvar_magick): Only use purespace when not initialized, so
6201         that loaded modules can still add symbols.
6202
6203         * symsinit.h: Add definitions for syms_of_module(),
6204         vars_of_module().  Removed syms_of_dll().
6205
6206         * sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined.
6207         - (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account.
6208         - (dll_error): use _dlerror() if HAVE__DLERROR is defined.
6209
6210         * s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and
6211         explicitly pass -belf for native cc.
6212
6213         * s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of
6214         hard-coding the library name.
6215
6216 1999-01-01    <martin@xemacs.org>
6217
6218         * device-x.c (Fx_set_font_path):
6219         Add proper cast to permit compilation under C++.
6220
6221         * buffer.c (directory_is_current_directory):
6222         Add proper casts to permit compilation under C++.
6223
6224 1998-12-30  Damon Lipparelli  <lipp@primus.com>
6225
6226         * event-msw.c (mswindows_wnd_proc):
6227           Fixed failure when building with MSVC 5.
6228
6229 1998-12-29  Martin Buchholz  <martin@xemacs.org>
6230
6231         * file-coding.c (decode_coding_iso2022):
6232         - Prevent crash when decoding ISO7/Lock detected files
6233         - the usual martin fiddling
6234
6235 1998-12-29  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6236
6237         * event-msw.c:
6238           glyphs-msw.c:
6239           Fixed failures when building with MSVC.
6240         * unexnt.c (dump_bss_and_heap):
6241           Removed compiler warning by removing bss_data variable.
6242
6243 1998-12-18  Jim Radford  <radford@robby.caltech.edu>
6244
6245         * device-x.c (Fx_set_font_path, Fx_get_font_path): New functions
6246         so that packages that distribute their own fonts can access them.
6247
6248 1998-12-28  Andy Piper  <andy@xemacs.org>
6249
6250         * glyphs-msw.c (mswindows_button_instantiate): cope with buttons
6251         that have an image provided.
6252
6253         * glyphs.h: add Q_image decl.
6254
6255         * glyphs-widget.c new functionality allowing images in
6256         widgets.
6257         (check_valid_glyph_or_image): new function to validate
6258         glyphs passed in through :image.
6259         (widget_normalize): new function. convert :image parameters into
6260         real glyphs if not already so.
6261         (widget_instantiate_1): mess with size parameters to be similar to
6262         :image if provided.
6263         (syms_of_glyphs_widget): new keyword :image.
6264         (image_instantiator_format_create_glyphs_widget): normalize
6265         buttons and allow :image.
6266
6267 1998-12-27  Andy Piper  <andy@xemacs.org>
6268
6269         * frame-msw.c (mswindows_init_frame_1): warning elimination.
6270
6271         * glyphs-widget.c (check_valid_anything): no-op function.
6272         (check_valid_callback): check callbacks in gui_items.
6273         (check_valid_symbol): as it sounds.
6274         (check_valid_string_or_vector): ditto.
6275         (widget_validate): modified for descriptors that are vectors or
6276         sequences of keyword/val pairs.
6277         (widget_instantiate_1): ditto.
6278         (image_instantiator_format_create_glyphs_widget): allow gui_item
6279         keywords in the instantiator.
6280
6281         * gui.c (gui_parse_item_keywords_internal): renamed from
6282         gui_parse_item_keywords but taking error behaviour.
6283         (gui_parse_item_keywords): use it.
6284         (gui_parse_item_keywords_no_errors): ditto.
6285         (gui_item_add_keyval_pair): add Error_behavior flag and only
6286         signal invalid keywords if required.
6287
6288         * gui.h: new gui signatures.
6289
6290         * menubar.c (menu_parse_submenu_keywords): use new
6291         gui_item_add_keyval_pair signature.
6292
6293         * s/cygwin32.h: modify PTY_ITERATION to eliminate warnings.
6294
6295 1998-12-28  Martin Buchholz <martin@xemacs.org>
6296
6297         * XEmacs 21.2.8 is released.
6298
6299 1998-12-28  Martin Buchholz  <martin@xemacs.org>
6300
6301         * editfns.c (get_home_directory):
6302         (user-home-directory): Simplify.
6303
6304
6305         * callproc.c (child_setup):
6306         - Environment variables were being passed to inferior processes
6307           using internal encoding.
6308         - Convert to external encoding.
6309         - Rename local var `tem' to better name `tail'.
6310         - Use Flength instead of `manual' calculation.
6311
6312         * buffer.c (kill-buffer):
6313         (record-buffer):
6314         (set-buffer-major-mode):
6315         (current-buffer):
6316         - Fix up parameter names to correspond to docstrings.
6317         - Don't use `bufname' when a buffer will do as well.
6318         - Remove one unneeded GCPRO.
6319
6320         * buffer.h (initial_directory):
6321         * buffer.c (init_initial_directory):
6322         - use correct conversions between internal and external format.
6323         (directory_is_current_directory): new function
6324         (init_buffer): convert initial_directory to internal format.
6325         - solve crashes when current working directory is non-ASCII.
6326
6327         * alloc.c (xmalloc):
6328         (xcalloc):
6329         (xrealloc):
6330         - remove stupid casts, since XEmacs requires an ANSI C system.
6331         (lrecord_type_index): replace abort() with more readable assert().
6332
6333         (reset_lcrecord_stats): remove.
6334         (sweep_lcrecords_1):
6335         - replace call to reset_lcrecord_stats() with call to xzero().
6336
6337 1998-12-27  Martin Buchholz  <martin@xemacs.org>
6338
6339         * process-unix.c (unix_create_process):
6340         - Fix crash invoking program with non-ASCII name.
6341           Try invoking xemacs with SHELL=/bin/sh, then M-x shell.
6342         - Remove unused variable `env'.
6343         - Rename `temp' to better name `save_errno'.
6344         - Reorganize code for clarity.  But still too chicken to nuke the
6345           BSD 4.2 support.
6346
6347 1998-12-24  Martin Buchholz <martin@xemacs.org>
6348
6349         * XEmacs 21.2.7 is released.
6350
6351 1998-12-23  Martin Buchholz  <martin@xemacs.org>
6352
6353         * glyphs.c (decode_device_ii_format):
6354         - Fix indentation.
6355         - Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *.
6356
6357         * glyphs-x.c (x_subwindow_instantiate):
6358         - A image instance mask was being assigned to a image instance type!
6359         - X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++.
6360
6361         * glyphs-msw.c (mswindows_initialize_dibitmap_image_instance):
6362         Fix indentation.
6363         * glyphs-x.h: Make indentation consistent.
6364
6365         * emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts.
6366
6367         * glyphs-widget.c (check_valid_glyph): Warning suppression.
6368         - Make it static
6369         - #ifdef it out, since it's not actually used yet (FIX THIS!)
6370
6371         * glyphs-widget.c:
6372         * glyphs.h:
6373         Move declarations of decode_device_ii_format and
6374         decode_image_instantiator_format into glyphs.h where they belong.
6375
6376 1998-12-22  Martin Buchholz  <martin@xemacs.org>
6377
6378         * frame-x.c (x_delete_frame): Revert part of my changes at the
6379         suggestion of Gunnar Evermann - unfortunately no one really
6380         understands this code.
6381
6382         * callproc.c (init_callproc): code cleanup.
6383
6384         * free-hook.c (malloc):
6385         (check_malloc):
6386         (__free_hook):
6387         (__malloc_hook):
6388         (__realloc_hook):
6389         (block_input_malloc):
6390         (block_input_realloc):
6391         * device-x.c (x_delete_device):
6392         * emacs.c (voodoo_free_hook):
6393         * events.c (print_event):
6394         (CHECK_EVENT_TYPE):
6395         (CHECK_EVENT_TYPE2):
6396         (CHECK_EVENT_TYPE3):
6397         Use proper prototypes.
6398         Make C_E_T macros a little faster.
6399         Pedantic fiddly little changes.  You really don't care.
6400
6401 1998-12-22  Andy Piper  <andy@xemacs.org>
6402
6403         * redisplay-output.c (redisplay_clear_region): make sure that
6404         fg/bg colors get set even when we are in the border area.
6405
6406 1998-12-13  Martin Buchholz  <martin@xemacs.org>
6407
6408         * console-msw.c: Function definitions follow coding standards
6409         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
6410
6411 1998-12-11  Martin Buchholz  <martin@xemacs.org>
6412
6413         * events.h (struct timeout_data):
6414         * event-tty.c (tty_timeout_to_emacs_event):
6415         * event-msw.c (mswindows_wm_timer_callback):
6416         * event-Xt.c (Xt_timeout_to_emacs_event):
6417         * event-msw.c (mswindows_cancel_dispatch_event):
6418         Make sure Lisp_Objects inside events are initialized to Qnil, not
6419         Qnull_pointer, which is now illegal.
6420
6421 1998-12-10  Martin Buchholz  <martin@xemacs.org>
6422
6423         * lisp.h: Fix up prototypes to match alloc.c
6424
6425 1998-12-08  Martin Buchholz  <martin@xemacs.org>
6426
6427         * windowsnt.h: Remove `support' for using index and rindex
6428
6429         * filelock.c (current_lock_owner):
6430         - Change uses of index -> strchr, rindex -> strrchr
6431
6432 1998-12-07  Martin Buchholz  <martin@xemacs.org>
6433
6434         * sysdep.c (set_descriptor_non_blocking):
6435         Since O_NONBLOCK is now always #defined, make use of fcntl
6436         conditional on F_SETFL being defined.
6437
6438         * console-msw.c (DHEADgER):
6439         (DOPAQUE_DATA):
6440         (DEVENT):
6441         (DCONS):
6442         (DCONSCDR):
6443         (DSTRING):
6444         (DVECTOR):
6445         (DSYMBOL):
6446         (DSYMNAME):
6447         - max_align_t should not be visible to the user of the
6448           XOPAQUE_DATA macro.
6449         - use Bufbyte instead of char
6450         - parens around (FOOP (obj)) are always redundant.
6451           If they were necessary, we should fix the macro instead.
6452         - Always use string_data(foo) instead of foo->data.
6453
6454
6455 1998-12-06  Martin Buchholz  <martin@xemacs.org>
6456
6457         * frame-msw.c (mswindows_init_frame_1):
6458         - use make_lisp_hash_table, not Fmake_hash_table
6459         - include elhash.h
6460
6461         * lisp.h:
6462         * alloc.c (make_vector): remove travesty
6463         (Fmake_vector):
6464         (make_pure_vector):
6465         (pure_cons):
6466         (make_bit_vector_internal):
6467         (make_bit_vector):
6468         (make_bit_vector_from_byte_vector):
6469         (Fmake_bit_vector):
6470         - make vector_equal a little faster.
6471         - Don't use variable name `new'.
6472         - Use size_t instead of EMACS_INT.
6473         - usual Martin-style pointless bit-twiddling.
6474
6475         * fns.c (mapcar1):
6476         (Fmapconcat):
6477         (Fmapcar):
6478         (Fmapvector):
6479         Make mapcar faster.  In particular, make
6480           (mapc #'identity long-string)
6481         MUCH faster under Mule.
6482         * tests/automated/lisp-tests.el: Test 'em!
6483
6484         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
6485         bytecode.
6486
6487 1998-12-01  Martin Buchholz  <martin@xemacs.org>
6488
6489         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use
6490         Qnil, not NULL, to initialize `null' Lisp_Objects.
6491
6492 1998-11-29  Hrvoje Niksic  <hniksic@srce.hr>
6493
6494         * specifier.c (display_table_validate): Update.
6495
6496         * redisplay.c (create_text_block): Use them.
6497
6498         * glyphs.c (display_table_entry): New function.
6499         (get_display_tables): Ditto.
6500
6501 1998-12-15  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
6502
6503         * eldap.c (toplevel): Mention that eldap.c compiles with
6504         OpenLDAP libs
6505         (Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA'
6506         (Fldap_search_internal): Ditto
6507
6508 1998-12-11  Martin Buchholz  <martin@xemacs.org>
6509
6510         * event-msw.c (mswindows_cancel_dispatch_event):
6511         Gratuitous code prettification
6512
6513
6514 1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>
6515
6516         * fns.c (Fnconc): Fix use of wrong_type_argument().
6517
6518         * floatfns.c (Ffloat): Fix docstring.
6519         (Ffloat): Fix use of wrong_type_argument().
6520         (Fabs): Ditto.
6521         (extract_float): Ditto.
6522         (Fceiling): Ditto.
6523         (Fround): Ditto.
6524         (Ftruncate): Ditto.
6525
6526 1998-12-06  Martin Buchholz  <martin@xemacs.org>
6527
6528         * frame-msw.c (mswindows_init_frame_1):
6529         - use make_lisp_hash_table, not Fmake_hash_table
6530         - include elhash.h
6531
6532         * lisp.h:
6533         * alloc.c (make_vector): remove travesty
6534         (Fmake_vector):
6535         (make_pure_vector):
6536         (pure_cons):
6537         (make_bit_vector_internal):
6538         (make_bit_vector):
6539         (make_bit_vector_from_byte_vector):
6540         (Fmake_bit_vector):
6541         - make vector_equal a little faster.
6542         - Don't use variable name `new'.
6543         - Use size_t instead of EMACS_INT.
6544         - usual Martin-style pointless bit-twiddling.
6545
6546         * fns.c (mapcar1):
6547         (Fmapconcat):
6548         (Fmapcar):
6549         (Fmapvector):
6550         Make mapcar faster.  In particular, make
6551           (mapc #'identity long-string)
6552         MUCH faster under Mule.
6553         * tests/automated/lisp-tests.el: Test 'em!
6554
6555         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
6556         bytecode.
6557
6558 1998-12-02  Didier Verna  <verna@inf.enst.fr>
6559
6560         * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the
6561         accelerator field to nil for labels.
6562
6563 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6564
6565         * menubar-msw.c (displayable_menu_item):
6566           Escape occurrences of '&' and support occurrences of the
6567          '%_' accelerator indicator in menus.
6568
6569 1998-11-26  Didier Verna  <verna@inf.enst.fr>
6570
6571         * dired.c (Fdirectory_files): use make_string instead of
6572         make_ext_string on the filename. The conversion external->internal
6573         format is already done in sys_readdir.
6574
6575 1998-12-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6576
6577         * glyphs.c (normalize_image_instantiator): GCPRO instantiator
6578
6579 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6580
6581         * event-msw.c
6582           (Belatedly) added Kirill to list of file's authors.
6583           emacs_mswindows_quit_p: Don't process WM_PAINT messages in
6584           quit checking. WM_PAINT messages cause redisplay, but
6585           windows' states are not necessarily stable when this function
6586           gets called.
6587
6588 1998-12-17  Andy Piper  <andy@xemacs.org>
6589
6590         * strftime.c (zone_name): CONSTify.
6591
6592 1998-12-15  Andy Piper  <andy@xemacs.org>
6593
6594         * glyphs-msw.c (mswindows_combo_instantiate): ditto.
6595         (mswindows_widget_property): return Qunbound when no property available.
6596         (mswindows_button_property): ditto.
6597         (mswindows_combo_property): ditto.
6598         (mswindows_widget_set_property): ditto.
6599
6600         * glyphs-widget.c (check_valid_item_list): use properties.
6601
6602         * glyphs.h (struct Lisp_Image_Instance): we have properties now.
6603
6604         * glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties.
6605         (Fimage_instance_property): ditto.
6606         * glyphs-widget.c (widget_property): ditto.
6607         (widget_set_property): ditto.
6608
6609         * frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well
6610         as setting the class cursor so that GC actually changes the
6611         cursor.
6612
6613         * config.h: don't undef MAIL_USE_POP.
6614
6615 1998-12-13  Andy Piper  <andy@xemacs.org>
6616
6617         * glyphs-msw.c
6618         (image_instantiator_format_create_glyphs_mswindows): line ->
6619         label.
6620         (mswindows_label_instantiate): ditto. Play with window flags.
6621         (image_instantiator_format_create_glyphs_mswindows): ditto.
6622         (vars_of_glyphs_mswindows): provide Qlabel as we support it now.
6623
6624         * glyphs-widget.c (widget_instantiate_1): re-jig autosizing to
6625         cope with lines and labels.
6626         (static_instantiate): use widget_instantiate_1.
6627         line -> label.
6628         (image_instantiator_format_create_glyphs_widget): ditto.
6629
6630 1998-12-10  Andy Piper  <andy@xemacs.org>
6631
6632         * Makefile.in.in (objs): add gui.o
6633
6634 1998-12-10  Andy Piper  <andy@xemacs.org>
6635
6636         * gui.c: adjust defines of HAVE_POPUPS so that we can build with
6637         no window system.
6638
6639 1998-12-09  Andy Piper  <andy@xemacs.org>
6640
6641         * glyphs.c (finalize_image_instance): mark glyphs changed when an
6642         image instance is removed so that the subwindow cache gets reset
6643         and thus destroyed images get GC'd.
6644
6645 1998-12-08  Andy Piper  <andy@xemacs.org>
6646
6647         * gui-msw.c (mswindows_handle_gui_wm_command): call
6648         MARK_SUBWINDOWS_CHANGED.
6649
6650         * glyphs-msw.c (mswindows_finalize_image_instance): make sure
6651         subwindows really get deleted.
6652
6653         * redisplay.c: new variable subwindows_changed[_set].
6654         (redisplay_window): use it.
6655         (redisplay_frame): ditto.
6656         (redisplay_device): ditto.
6657         (redisplay_without_hooks): ditto.
6658
6659         * device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for
6660         subwindows redisplay as per glyphs equivalent.
6661         * redisplay.h: ditto.
6662         (MARK_SUBWINDOWS_CHANGED): ditto.
6663         (RESET_CHANGED_SET_FLAGS): ditto.
6664         * frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto.
6665
6666 1998-12-07  Andy Piper  <andy@xemacs.org>
6667
6668         * frame.c (Fmake_frame): reset subwindow cachels on non-stream
6669         frames.
6670
6671         * redisplay.c (redisplay_frame): invalidate subwindow cachels.
6672
6673         * event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR*
6674         messages and paint widget glyphs as appropriate with their face fg
6675         & bg.
6676
6677 1998-12-06  Andy Piper  <andy@xemacs.org>
6678
6679         * glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types
6680         here rather than in glyphs-widget - do this because we only want
6681         to provide what is really available.
6682
6683         * glyphs.c (Fimage_instance_property): new function to get the
6684         properties of image instances. wires through to console specific
6685         methods and then to widget specific methods.
6686         (Fset_image_instance_property): ditto but for setting widget properties.
6687         (check_valid_face): make extern so that it can be used elsewhere.
6688
6689         * glyphs-widget.c (widget_property): new function. gets the
6690         properties of widgets in general and wires the function through to
6691         widget specific ones.
6692         (widget_set_property): ditto but for setting widget properties.
6693
6694         * glyphs-msw.c (mswindows_combo_instantiate): Add functionality to
6695         add items to the list. Play with window styles a bit to get the
6696         desired effect.
6697         (mswindows_widget_property): break out specific widget properties.
6698         (mswindows_button_property): new function. gets the checked state
6699         of a button.
6700         (mswindows_combo_property): new function. gets the current
6701         selection in the combo box.
6702         (mswindows_widget_set_property): new function. sets specific
6703         properties of specific widgets.
6704
6705         * glyphs-widget.c (check_valid_item_list): new function. check
6706         that items for a combo-box are just a list of strings.
6707         (combo_validate): new function. check there is an item list.
6708         (widget_instantiate_1): new function. renamed from
6709         widget_instantiate so that we can do slightly different things for
6710         other widgets.
6711         (widget_instantiate): call widget_instantiate_1.
6712         (combo_instantiate): new function to instantiate combo boxes,
6713         defaults height to the pixel height of the number of items in the
6714         box.
6715         (syms_of_glyphs_widget): move widget keywords here.
6716         (image_instantiator_format_create_glyphs_widget): use new combo
6717         functions.
6718
6719 1998-12-04  Andy Piper  <andy@xemacs.org>
6720
6721         * event-msw.c (mswindows_wnd_proc): mule-ize.
6722
6723         * glyphs.c (pixmap_to_lisp_data): mule-ize.
6724
6725         * glyphs-msw.c (extract_xpm_color_names): mule-ize.
6726         (resource_name_to_resource): ditto.
6727         (mswindows_resource_instantiate): ditto.
6728         (mswindows_widget_instantiate): ditto.
6729         (mswindows_widget_set_property): ditto.
6730
6731         * redisplay-output.c (redisplay_output_subwindow): don't show
6732         subwindows if they are obscured at the edge of the frame, emacs
6733         gets into some sort of redisplay loop otherwise.
6734
6735         * gui.h: prototype gui_item_selected_p.
6736
6737         * gui.c (gui_item_selected_p): new function to determine the
6738         selected state of a gui_item.
6739
6740         * frame.h (struct frame): add subwindows_changed flag.
6741
6742         * redisplay.c (redisplay_frame): call update_frame_subwindows ().
6743
6744         * glyphs.c (update_subwindow): new function to update a
6745         subwindow's state.
6746         (update_frame_subwindows): new function to update all the
6747         subwindows on a frame.
6748
6749         * console.h (struct console_methods): add update_subwindow.
6750
6751         * glyphs-msw.c (mswindows_widget_property): return selected state
6752         for selected property.
6753         (mswindows_update_subwindow): new function. updates widget glyphs
6754         in redisplay as per menubars or toolbars e.g. selected state.
6755         (console_type_create_glyphs_mswindows): add update_subwindow.
6756
6757 1998-12-03  Andy Piper  <andy@xemacs.org>
6758
6759         * console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since
6760         tty coding system things are such.
6761
6762         * glyphs-widget.c (widget_face_font_info): new function for
6763         pulling out height and width metrics for a widget's face.
6764         (widget_text_to_pixel_conversion): calculate pixel sizes of text
6765         for widgets.
6766
6767         * event-msw.c (mswindows_drain_windows_queue): translate messages
6768         that are destined for subwindows. This makes edit fields interact
6769         with the keyboard correctly.
6770         nuke warnings by #ifndef'ing out stuff not required by msg select().
6771
6772         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new
6773         macro defining the iiforma without the symbol required by widget.
6774         (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it.
6775
6776         * general.c (syms_of_general): add Qwidget, Qselected.
6777
6778         * faces.c (complex_vars_of_faces): add widget face inheriting from
6779         gui-element face.
6780
6781 1998-11-09  Andy Piper  <andy@xemacs.org>
6782
6783         * window.h (struct window): add a cache of subwindows on a
6784         per-window basis.
6785
6786         * window.c (mark_window): mark the subwindow_instance_cache.
6787         (allocate_window): initialise the subwindow instance_cache.
6788
6789         * toolbar-x.c (x_output_toolbar): call redisplay_clear_region
6790         instead of the devmeth.
6791         (x_clear_toolbar): ditto.
6792
6793         * redisplay-x.c (x_output_display_block): call
6794         redisplay_output_subwindow for subwindows and widgets.
6795
6796         * redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to
6797         types to do nothing for.
6798
6799         * lisp.h: declare new widget/subwindow symbols.
6800
6801         * glyphs.c (image_instantiate): cache subwindows on a per-window
6802         basis.
6803         (subwindow_possible_dest_types): new function for subwindow dest
6804         types.
6805         (subwindow_instantiate): generic instantiation of a
6806         subwindow. specialised by device multi-methods.
6807         (Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based
6808         subwindows.
6809         (Fimage_instance_subwindow_id): ditto.
6810         (Fresize_subwindow): ditto.
6811         (Fforce_subwindow_map): ditto.
6812
6813         * glyphs-x.c (x_print_image_instance): remove subwindow
6814         stuff. Handled genrically in glyphs.c.
6815         (x_image_instance_equal): ditto.
6816         (x_image_instance_hash): ditto.
6817         (x_finalize_image_instance): delete subwindows when required.
6818         (mark_subwindow) (print_subwindow) (finalize_subwindow)
6819         (subwindow_hash) (Fmake_subwindow): deleted because of new,
6820         glyph-based, subwindow implementation.
6821         (Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased
6822         in glyphs.el
6823         (Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to
6824         glyphs.c.
6825         (x_unmap_subwindow): new function to unmap X subwindows.
6826         (x_map_subwindow): new function to map X subwindows.
6827         (x_subwindow_instantiate): new function to instantiate X
6828         subwindows.
6829         (x_resize_subwindow): new function to resize X subwindows.
6830         (console_type_create_glyphs_x): add subwindow functions.
6831         (image_instantiator_format_create_glyphs_x): add device
6832         multi-methods for xpm, xbm and subwindow.
6833
6834         * glyphs.el (subwindow-xid): old alias for new subwindow functions.
6835         (subwindow-width): ditto.
6836         (subwindow-height): ditto.
6837
6838         * glyphs-msw.c (mswindows_widget_instantiate): new function for
6839         generally instantiating ms subwindows. Used by
6840         mswindows_*_instantiate.
6841         (mswindows_edit_instantiate): instantiate an edit field on a
6842         mswindows frame.
6843
6844 1998-11-04  Andy Piper  <andy@xemacs.org>
6845
6846         * symsinit.h: declare new functions.
6847
6848         * redisplay.h: declare new functions.
6849
6850         * redisplay-x.c (x_output_display_block): call
6851         redisplay_clear_region rather than x_clear_region.
6852         (x_output_string): ditto.
6853         (x_output_pixmap): ditto.
6854         (x_clear_to_window_end): ditto.
6855         (x_output_eol_cursor): ditto.
6856         (x_clear_region): only do X specific things. other duties handled
6857         in redisplay_clear_region.
6858
6859         * redisplay-tty.c (tty_clear_region): do tty specific things - some
6860         duties moved to redisplay_clear_region.
6861
6862         * redisplay-output.c (clear_left_border): use
6863         redisplay_clear_region instead of device method.
6864         (clear_right_border): ditto.
6865         (output_display_line): ditto.
6866         (redisplay_output_subwindow): ditto.
6867         (redisplay_clear_top_of_window): ditto.
6868         (redisplay_clear_region): perform duties previously handled by
6869         device methods. call the appropriate device method at the
6870         end. unmap subwindows if necessary.
6871
6872         * redisplay-msw.c (mswindows_output_string): use
6873         redisplay_clear_region instead of mswindows_clear_region.
6874         (mswindows_clear_to_window_end): ditto.
6875         (mswindows_output_display_block): output subwindows when required.
6876         (mswindows_clear_region): only do mswindows specific things,
6877         everything else is now handled in redisplay_clear_region.
6878
6879         * gui.h: add item id hash defines and declare function prototypes.
6880
6881         * gui.c (mark_gui_item): new function for marking gui_items.
6882         (gui_item_hash): generic hash function for generating command ids
6883         for gui_items.
6884
6885         * gui-msw.c: new file.
6886         (mswindows_handle_gui_wm_command): new function to handle widget
6887         callbacks.
6888
6889         * glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device
6890         multi-methods.
6891         (IIFORMAT_HAS_SHARED_METHOD): ditto.
6892         (DEFINE_DEVICE_IIFORMAT): ditto.
6893         (INITIALIZE_DEVICE_IIFORMAT): ditto.
6894         (struct Lisp_Image_Instance): add widget and subwindow data plus
6895         appropriate access functions.
6896
6897         * glyphs.c (decode_device_ii_format): new function for decoding
6898         image instantiator functions based on a device type as well as an
6899         image format.
6900         (decode_image_instantiator_format): just call
6901         decode_device_ii_format with nil device.
6902         (add_entry_to_device_ii_format_list): new function for per device
6903         method instances.
6904         (add_entry_to_image_instantiator_format_list): just call
6905         add_entry_to_device_ii_format_list with nil device.
6906         (check_valid_vector): new function.
6907         (instantiate_image_instantiator): instantiate using per-format
6908         method and then per-format-per-device method (device
6909         multi-methods). signal an error if neither is possible.
6910         (mark_image_instance): cope with subwindows and widgets.
6911         (print_image_instance): ditto.
6912         (image_instance_equal): ditto.
6913         (image_instance_hash): ditto.
6914         (allocate_glyph): ditto.
6915         (glyph_width): ditto.
6916         (glyph_height_internal): ditto.
6917         (xpm_instantiate): removed because of device multi-methods.
6918         (mark_subwindow_cachels): new cachel functions for caching
6919         instantiated subwindows on a per-frame basis. mostly copied from
6920         glyph cachel functions.
6921         (update_subwindow_cachel_data): ditto.
6922         (add_subwindow_cachel): ditto.
6923         (get_subwindow_cachel_index): ditto.
6924         (reset_subwindow_cachels): ditto.
6925         (mark_subwindow_cachels_as_not_updated): ditto.
6926         (unmap_subwindow): generic unmapping of subwindows based on cachel
6927         data.
6928         (map_subwindow): ditto.
6929         (initialize_subwindow_image_instance): generic initialisation of
6930         subwindow data.
6931         (syms_of_glyphs): add widget keywords.
6932
6933         * glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to
6934         x_subwindow_data.
6935
6936 1998-11-04  Andy Piper  <andy@xemacs.org>
6937
6938         * glyphs-widget.c: new file for instantiating widget type glyphs.
6939         (widget_possible_dest_types): new general dest type function for
6940         widgets.
6941         (widget_validate): ditto.
6942         (initialize_widget_image_instance): ditto
6943         (widget_instantiate): ditto. Sets up fg/bg, gui_item parsing
6944         before handing on control to device multi-methods.
6945         (syms_of_glyphs_widget): new function.
6946         (image_instantiator_format_create_glyphs_widget): new function,
6947         added placeholders for button, edit, combo, scrollbar
6948         (vars_of_glyphs_widget): new function.
6949
6950         * glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for
6951         storing window ids of widgets.
6952
6953         * glyphs-msw.c (mswindows_finalize_image_instance): cope with
6954         deletion of widget and subwindow glyphs.
6955         (mswindows_unmap_subwindow): new device function for unmapping
6956         subwindows on a msw frame.
6957         (mswindows_map_subwindow): ditto.
6958         (mswindows_register_image_instance): register instantiated widgets
6959         with the widget hastable.
6960         (mswindows_button_instantiate): instantiate a button type widget
6961         on an msw frame.
6962         (mswindows_subwindow_instantiate): instanttiate a subwindow on a
6963         mswindows frame.
6964         (image_instantiator_format_create_glyphs_mswindows): add device
6965         multi-methods for xbm, xpm, subwindow, edit and button.
6966
6967         * frame.h (struct frame): add subwindow_cachels dynarr for caching
6968         information about subwindows visible on the current frame. used by
6969         redisplay_clear_region to unmap subwindows as required.
6970
6971         * frame.c (mark_frame): mark subwindow_cachels.
6972         (allocate_frame_core): instantiate subwindow_cachels.
6973
6974         * frame-msw.c (mswindows_init_frame_1): instntiate and mark the
6975         widget hashtable.
6976
6977         * event-msw.c (mswindows_wnd_proc): add call to
6978         mswindows_handle_gui_wm_command to handle widget callbacks.
6979
6980         * emacs.c (main_1): add calls to glyphs-widget initialisation
6981         routines.
6982
6983         * console.h (struct console_methods): add
6984         unmap/map_subwindow_method for use be redisplay_clear_region to
6985         map and unmap subwindows. Remove xpm and xbm stuff - now dealt
6986         with by image instantiator multi-methods. Add
6987         resize_subwindow_method.
6988
6989         * console-stream.c (stream_clear_region): change signature to
6990         match new generic clear region function.
6991
6992         * Makefile.in.in: add glyphs-widget.o to list of objects.
6993
6994         * console-msw.h (struct mswindows_frame): add widget hashtable for
6995         wiring command ids to callbacks.
6996
6997 1998-12-16  Andy Piper  <andy@xemacs.org>
6998
6999         * XEmacs 21.2.6 is released
7000
7001 1998-12-08  Hrvoje Niksic  <hniksic@srce.hr>
7002
7003         * md5.c (Fmd5): Correctly initiate string input stream.
7004
7005         * Makefile.in.in (tests): Add md5-tests.el.
7006
7007 1998-12-06  Martin Buchholz  <martin@xemacs.org>
7008
7009         * lisp.h:
7010         * alloc.c (make_vector): remove travesty
7011         (Fmake_vector):
7012         (make_pure_vector):
7013         (pure_cons):
7014         (make_bit_vector_internal):
7015         (make_bit_vector):
7016         (make_bit_vector_from_byte_vector):
7017         (Fmake_bit_vector):
7018         - make vector_equal a little faster.
7019         - Don't use variable name `new'.
7020         - Use size_t instead of EMACS_INT.
7021         - usual Martin-style pointless bit-twiddling.
7022
7023         * fns.c (mapcar1):
7024         (Fmapconcat):
7025         (Fmapcar):
7026         (Fmapvector):
7027         Make mapcar faster.  In particular, make
7028           (mapc #'identity long-string)
7029         MUCH faster under Mule.
7030         * tests/automated/lisp-tests.el: Test 'em!
7031
7032 1998-12-06  Martin Buchholz  <martin@xemacs.org>
7033
7034         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
7035         bytecode.
7036
7037 1998-12-13  Martin Buchholz  <martin@xemacs.org>
7038
7039         * console-msw.c: Function definitions follow coding standards
7040         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
7041
7042 1998-12-11  Martin Buchholz  <martin@xemacs.org>
7043
7044         * events.h (struct timeout_data):
7045         * event-tty.c (tty_timeout_to_emacs_event):
7046         * event-msw.c (mswindows_wm_timer_callback):
7047         * event-Xt.c (Xt_timeout_to_emacs_event):
7048         * event-msw.c (mswindows_cancel_dispatch_event):
7049         Make sure Lisp_Objects inside events are initialized to Qnil, not
7050         Qnull_pointer, which is now illegal.
7051
7052 1998-12-10  Martin Buchholz  <martin@xemacs.org>
7053
7054         * lisp.h: Fix up prototypes to match alloc.c
7055
7056 1998-12-09  Andy Piper  <andy@xemacs.org>
7057
7058         * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use
7059         XSETINT for assigning lisp objects.
7060
7061 1998-12-07  Martin Buchholz  <martin@xemacs.org>
7062
7063         * opaque.h:
7064         * console-msw.c (DHEADER):
7065         (DOPAQUE_DATA):
7066         (DEVENT):
7067         (DCONS):
7068         (DCONSCDR):
7069         (DSTRING):
7070         (DVECTOR):
7071         (DSYMBOL):
7072         (DSYMNAME):
7073         - max_align_t should not be visible to the user of the
7074           XOPAQUE_DATA macro.
7075         - use Bufbyte instead of char
7076         - parens around (FOOP (obj)) are always redundant.
7077           If they were necessary, we should fix the macro instead.
7078         - Always use string_data(foo) instead of foo->data.
7079
7080 1998-12-07  Martin Buchholz  <martin@xemacs.org>
7081
7082         * sysdep.c (set_descriptor_non_blocking):
7083         Since O_NONBLOCK is now always #defined, make use of fcntl
7084         conditional on F_SETFL being defined.
7085
7086 1998-12-09  Andy Piper  <andy@xemacs.org>
7087
7088         * menubar-msw.c (mswindows_handle_wm_command): add back in checks
7089         that got removed in the merge
7090
7091 1998-11-30  Greg Klanderman  <greg@alphatech.com>
7092
7093         * dired.c (vars_of_dired): bugfix for previous conditionalization
7094         of user-name-completion on non- Windows NT.
7095
7096 1998-12-08  Martin Buchholz  <martin@xemacs.org>
7097
7098         * windowsnt.h: Remove `support' for using index and rindex
7099
7100         * filelock.c (current_lock_owner):
7101         - Change uses of index -> strchr, rindex -> strrchr
7102
7103 1998-12-06  Martin Buchholz  <martin@xemacs.org>
7104
7105         * frame-msw.c (mswindows_init_frame_1):
7106         - use make_lisp_hash_table, not Fmake_hash_table
7107         - include elhash.h
7108
7109 1998-12-05  XEmacs Build Bot <builds@cvs.xemacs.org>
7110
7111         * XEmacs 21.2.5 is released
7112
7113 1998-11-30  Martin Buchholz  <martin@xemacs.org>
7114
7115         * xselect.c (receive_incremental_selection):
7116         * xselect.c (x_get_window_property):
7117         * xmu.c (XmuReadBitmapDataFromFile):
7118         * xmu.c (XmuCursorNameToIndex):
7119         * xgccache.c (describe_gc_cache):
7120         * xgccache.c (gc_cache_lookup):
7121         * xgccache.c (free_gc_cache):
7122         * xgccache.c (make_gc_cache):
7123         * window.h:
7124         * window.c (map_windows_1):
7125         * window.c (Fother_window_for_scrolling):
7126         * window.c (window_scroll):
7127         * window.c (change_window_height):
7128         * window.c (Fsplit_window):
7129         * window.c (window_left_gutter_width):
7130         * window.c (window_modeline_height):
7131         * window.c (invalidate_vertical_divider_cache_in_window):
7132         * window.c (window_needs_vertical_divider_1):
7133         * window.c (update_mirror_internal):
7134         * window.c (SET_LAST_FACECHANGE):
7135         * widget.c (Fwidget_plist_member):
7136         * unexec.c (copy_text_and_data):
7137         * unexcw.c (copy_executable_and_dump_data_section):
7138         * tooltalk.doc:
7139         * tooltalk.c (struct Lisp_Tooltalk_Pattern):
7140         * tooltalk.c (struct Lisp_Tooltalk_Message):
7141         * toolbar.h (struct toolbar_button):
7142         * toolbar.c (default_toolbar_visible_p_changed_in_window):
7143         * toolbar.c (recompute_overlaying_specifier):
7144         * toolbar.c (toolbar_validate):
7145         * toolbar.c (toolbar_button_at_pixpos):
7146         * toolbar.c (get_toolbar_coords):
7147         * toolbar.c (update_frame_toolbars):
7148         * toolbar-x.c:
7149         * toolbar-msw.c (mswindows_handle_toolbar_wm_command):
7150         * toolbar-msw.c (mswindows_find_toolbar_pos):
7151         * toolbar-msw.c (mswindows_output_toolbar):
7152         * toolbar-msw.c (mswindows_clear_toolbar):
7153         * toolbar-msw.c:
7154         * systty.h:
7155         * syssignal.h:
7156         * sysproc.h:
7157         * sysfile.h:
7158         * sysdll.c:
7159         * sysdep.h:
7160         * sysdep.c (rmdir):
7161         * sysdep.c (sys_fopen):
7162         * sysdep.c (sys_open):
7163         * sysdep.c (tty_init_sys_modes_on_device):
7164         * sysdep.c (get_eof_char):
7165         * sysdep.c (child_setup_tty):
7166         * sysdep.c (set_descriptor_non_blocking):
7167         * syntax.h:
7168         * syntax.c (scan_words):
7169         * syntax.c:
7170         * symsinit.h:
7171         * symeval.h (struct symbol_value_varalias):
7172         * symeval.h (struct symbol_value_forward):
7173         * symbols.c (syms_of_symbols):
7174         * symbols.c (init_symbols_once_early):
7175         * symbols.c (Fbuilt_in_variable_type):
7176         * symbols.c (Fsymbol_value_in_buffer):
7177         * symbols.c (default_value):
7178         * symbols.c (Fset):
7179         * symbols.c (find_symbol_value_quickly):
7180         * symbols.c (store_symval_forwarding):
7181         * symbols.c (set_default_console_slot_variable):
7182         * symbols.c (set_default_buffer_slot_variable):
7183         * symbols.c (verify_ok_for_buffer_local):
7184         * symbols.c (symbol_is_constant):
7185         * symbols.c (oblookup):
7186         * symbols.c (Funintern):
7187         * symbols.c (Fintern):
7188         * symbols.c (check_obarray):
7189         * sunplay.c:
7190         * specifier.h (struct specifier_methods):
7191         * specifier.h:
7192         * specifier.c (specifier_instance):
7193         * specifier.c (specifier_instance_from_inst_list):
7194         * specifier.c (decode_locale_type):
7195         * specifier.c (specifier_equal):
7196         * specifier.c (finalize_specifier):
7197         * specifier.c (prune_specifiers):
7198         * specifier.c (kill_specifier_buffer_locals):
7199         * sound.c (init_native_sound):
7200         * sound.c:
7201         * signal.c (alarm):
7202         * search.c (Fmatch_data):
7203         * search.c (match_limit):
7204         * search.c (Freplace_match):
7205         * search.c (skip_chars):
7206         * search.c (scan_buffer):
7207         * search.c:
7208         * scrollbar.c (specifier_vars_of_scrollbar):
7209         * scrollbar.c (Fscrollbar_set_hscroll):
7210         * scrollbar.c (vertical_scrollbar_changed_in_window):
7211         * scrollbar.c (release_window_mirror_scrollbars):
7212         * scrollbar.c (free_scrollbar_instance):
7213         * scrollbar-x.c:
7214         * scrollbar-msw.c:
7215         * s/msdos.h (O_BINARY):
7216         * s/linux.h:
7217         * s/freebsd.h (LIBS_TERMCAP):
7218         * regex.c (re_match_2_internal):
7219         * regex.c (compile_extended_range):
7220         * regex.c (POP_FAILURE_POINT):
7221         * regex.c (PUSH_FAILURE_POINT):
7222         * redisplay.h (RESET_CHANGED_SET_FLAGS):
7223         * redisplay.h:
7224         * redisplay.h (struct display_line):
7225         * redisplay.h (struct rune):
7226         * redisplay.c (vars_of_redisplay):
7227         * redisplay.c (redisplay_variable_changed):
7228         * redisplay.c (UPDATE_CACHE_RETURN):
7229         * redisplay.c (validate_line_start_cache):
7230         * redisplay.c (mark_redisplay_structs):
7231         * redisplay.c (mark_glyph_block_dynarr):
7232         * redisplay.c (window_line_number):
7233         * redisplay.c (redisplay_frame):
7234         * redisplay.c (redisplay_window):
7235         * redisplay.c (generate_modeline):
7236         * redisplay.c (create_right_glyph_block):
7237         * redisplay.c (create_left_glyph_block):
7238         * redisplay.c (create_text_block):
7239         * redisplay.c:
7240         * redisplay-x.c (x_output_hline):
7241         * redisplay-x.c (x_output_vertical_divider):
7242         * redisplay-tty.c (tty_output_display_block):
7243         * redisplay-output.c (output_display_line):
7244         * redisplay-output.c:
7245         * redisplay-msw.c (mswindows_output_vertical_divider):
7246         * redisplay-msw.c (mswindows_ring_bell):
7247         * redisplay-msw.c (mswindows_output_cursor):
7248         * redisplay-msw.c:
7249         * rangetab.c:
7250         * ralloc.c:
7251         * puresize.h (RAW_PURESIZE):
7252         * profile.c (syms_of_profile):
7253         * profile.c (Fstart_profiling):
7254         * profile.c (sigprof_handler):
7255         * profile.c:
7256         * procimpl.h:
7257         * process.c (vars_of_process):
7258         * process.c (read_process_output):
7259         * process.c (get_process):
7260         * process.c:
7261         * process-unix.c (unix_open_multicast_group):
7262         * process-unix.c (unix_get_tty_name):
7263         * process-unix.c (unix_send_process):
7264         * process-unix.c (unix_reap_exited_processes):
7265         * process-unix.c (unix_create_process):
7266         * process-unix.c (unix_init_process_io_handles):
7267         * process-unix.c (allocate_pty):
7268         * process-unix.c:
7269         * process-nt.c (nt_open_network_stream):
7270         * process-nt.c (nt_update_status_if_terminated):
7271         * process-nt.c (nt_finalize_process_data):
7272         * process-nt.c:
7273         * print.c (debug_short_backtrace):
7274         * print.c (debug_backtrace):
7275         * print.c (print_symbol):
7276         * print.c (print_internal):
7277         * print.c (print_cons):
7278         * print.c (Fwrite_char):
7279         * print.c (print_prepare):
7280         * print.c (canonicalize_printcharfun):
7281         * print.c (output_string):
7282         * print.c:
7283         * opaque.h:
7284         * opaque.c (allocate_managed_opaque):
7285         * opaque.c:
7286         * offix.c (DndSetData):
7287         * objects.c (face_boolean_create):
7288         * objects.c (font_instantiate):
7289         * objects.c (font_create):
7290         * objects.c (color_create):
7291         * objects.c (finalize_font_instance):
7292         * objects.c (finalize_color_instance):
7293         * objects.c:
7294         * objects-x.c (x_font_instance_truename):
7295         * objects-x.c:
7296         * objects-x.c (x_initialize_font_instance):
7297         * objects-x.c (allocate_nearest_color):
7298         * objects-tty.c (tty_initialize_font_instance):
7299         * objects-tty.c (tty_initialize_color_instance):
7300         * objects-msw.c (mswindows_initialize_color_instance):
7301         * ntproc.c (syms_of_ntproc):
7302         * ntproc.c (Fwin32_set_process_priority):
7303         * ntproc.c (sys_spawnve):
7304         * ntproc.c:
7305         * ntheap.c (get_data_end):
7306         * nt.c (period):
7307         * nt.c:
7308         * nt.c (stat):
7309         * nt.c (generate_inode_val):
7310         * nt.c (sys_rename):
7311         * nas.c:
7312         * mule-wnnfns.c (Fwnn_hinsi_number):
7313         * mule-wnnfns.c (Fwnn_yuragi):
7314         * mule-wnnfns.c (Fwnn_common_learn):
7315         * mule-wnnfns.c (Fwnn_suffix_learn):
7316         * mule-wnnfns.c (Fwnn_prefix_learn):
7317         * mule-wnnfns.c (Fwnn_okuri_learn):
7318         * mule-wnnfns.c (Fwnn_complex_conv):
7319         * mule-wnnfns.c (Fwnn_last_is_first):
7320         * mule-wnnfns.c (Fwnn_bmodify_dict_add):
7321         * mule-wnnfns.c (Fwnn_notrans_dict_add):
7322         * mule-wnnfns.c (Fwnn_fiusr_dict_add):
7323         * mule-wnnfns.c (Fwnn_fisys_dict_add):
7324         * mule-wnnfns.c (Fwnn_hinsi_list):
7325         * mule-wnnfns.c (Fwnn_fuzokugo_set):
7326         * mule-wnnfns.c (Fwnn_dict_search):
7327         * mule-wnnfns.c (Fwnn_word_toroku):
7328         * mule-wnnfns.c (Fwnn_hindo_update):
7329         * mule-wnnfns.c (Fwnn_bunsetu_henkou):
7330         * mule-wnnfns.c (Fwnn_kakutei):
7331         * mule-wnnfns.c (Fwnn_begin_henkan):
7332         * mule-wnnfns.c (Fwnn_dict_comment):
7333         * mule-wnnfns.c (Fwnn_dict_add):
7334         * mule-wnnfns.c (Fwnn_open):
7335         * mule-mcpath.c (mc_getcwd):
7336         * mule-coding.c (vars_of_mule_coding):
7337         * mule-coding.c (convert_to_external_format):
7338         * mule-coding.c (encoding_marker):
7339         * mule-coding.c (decoding_marker):
7340         * mule-coding.c (Fcopy_coding_system):
7341         * mule-coding.c (Fmake_coding_system):
7342         * mule-coding.c (Fcoding_system_list):
7343         * mule-coding.c (Ffind_coding_system):
7344         * mule-coding.c (symbol_to_eol_type):
7345         * mule-coding.c:
7346         * mule-charset.c (complex_vars_of_mule_charset):
7347         * mule-charset.c (vars_of_mule_charset):
7348         * mule-charset.c (Fset_charset_ccl_program):
7349         * mule-charset.c (struct charset_list_closure):
7350         * mule-charset.c (Ffind_charset):
7351         * mule-charset.c (make_charset):
7352         * mule-charset.c (non_ascii_valid_char_p):
7353         * mule-charset.c:
7354         * mule-ccl.c (ccl_driver):
7355         * mule-canna.c (c2mu):
7356         * mule-canna.c (Fcanna_henkan_begin):
7357         * mule-canna.c (Fcanna_parse):
7358         * mule-canna.c (Fcanna_store_yomi):
7359         * mule-canna.c (Fcanna_touroku_string):
7360         * mule-canna.c (Fcanna_initialize):
7361         * minibuf.c:
7362         * menubar.c (menu_parse_submenu_keywords):
7363         * menubar-x.c (make_dummy_xbutton_event):
7364         * menubar-x.c (set_frame_menubar):
7365         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7366         * menubar-x.c:
7367         * menubar-msw.h:
7368         * menubar-msw.c (mswindows_popup_menu):
7369         * menubar-msw.c (mswindows_update_frame_menubars):
7370         * menubar-msw.c (mswindows_handle_wm_command):
7371         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
7372         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1):
7373         * menubar-msw.c (update_frame_menubar_maybe):
7374         * menubar-msw.c (populate_or_checksum_helper):
7375         * menubar-msw.c (empty_menu):
7376         * menubar-msw.c:
7377         * md5.c:
7378         * marker.c (set_marker_internal):
7379         * marker.c (print_marker):
7380         * malloc.c:
7381         * make-src-depend:
7382         * lstream.c (lisp_buffer_rewinder):
7383         * lstream.c (mark_lstream):
7384         * lrecord.h:
7385         * lrecord.h (struct lrecord_header):
7386         * lread.c (readevalloop):
7387         * lread.c (locate_file):
7388         * lread.c (locate_file_in_directory):
7389         * lread.c (Flocate_file):
7390         * lread.c (load_force_doc_string_unwind):
7391         * lread.c (ebolify_bytecode_constants):
7392         * lread.c:
7393         * lisp.h:
7394         * lisp-union.h:
7395         * lisp-disunion.h:
7396         * linuxplay.c (linux_play_data_or_file):
7397         * linuxplay.c (audio_init):
7398         * line-number.c:
7399         * keymap.h:
7400         * keymap.c (describe_map):
7401         * keymap.c (describe_map_mapper):
7402         * keymap.c (Fdescribe_bindings_internal):
7403         * keymap.c (Fsingle_key_description):
7404         * keymap.c (map_keymap_sorted):
7405         * keymap.c (get_relevant_keymaps):
7406         * keymap.c (Flookup_key):
7407         * keymap.c (raw_lookup_key_mapper):
7408         * keymap.c (Fdefine_key):
7409         * keymap.c (Fevent_matches_key_specifier_p):
7410         * keymap.c (key_desc_list_to_event):
7411         * keymap.c (define_key_parser):
7412         * keymap.c (define_key_check_and_coerce_keysym):
7413         * keymap.c (keymap_submaps):
7414         * keymap.c (keymap_store_internal):
7415         * keymap.c (keymap_delete_inverse_internal):
7416         * keymap.c (keymap_store_inverse_internal):
7417         * keymap.c (print_keymap):
7418         * keymap.c (Lisp_Keymap):
7419         * keymap.c:
7420         * intl.c:
7421         * insdel.c (convert_bufbyte_string_into_emchar_dynarr):
7422         * insdel.c (make_gap):
7423         * input-method-xlib.c (get_XIM_input):
7424         * input-method-xlib.c (XIM_init_frame):
7425         * imgproc.c:
7426         * hash.h:
7427         * hash.c:
7428         * gui.c:
7429         * gui-x.c (button_item_to_widget_value):
7430         * gui-x.c (popup_selection_callback):
7431         * glyphs.h (struct image_instantiator_methods):
7432         * glyphs.c (mark_glyph_cachels):
7433         * glyphs.c (Fglyph_type):
7434         * glyphs.c (image_instantiate):
7435         * glyphs.c (image_create):
7436         * glyphs.c (make_image_instance_1):
7437         * glyphs.c (finalize_image_instance):
7438         * glyphs.c:
7439         * glyphs-x.c (finalize_subwindow):
7440         * glyphs-x.c (xface_validate):
7441         * glyphs-x.c (x_locate_pixmap_file):
7442         * glyphs-x.c (convert_EImage_to_XImage):
7443         * glyphs-msw.c:
7444         * glyphs-msw.c (mswindows_resource_instantiate):
7445         * glyphs-msw.c (xpm_to_eimage):
7446         * glyphs-msw.c (convert_EImage_to_DIBitmap):
7447         * glyphs-eimage.c (tiff_instantiate):
7448         * glyphs-eimage.c (png_instantiate):
7449         * glyphs-eimage.c (struct png_error_struct):
7450         * glyphs-eimage.c (gif_memory_storage):
7451         * glyphs-eimage.c:
7452         * gifrlib.h:
7453         * getloadavg.c (getloadavg):
7454         * getloadavg.c:
7455         * gdbinit:
7456         * free-hook.c (log_gcpro):
7457         * free-hook.c (check_malloc):
7458         * free-hook.c (check_free):
7459         * free-hook.c (ROUND_UP_TO_PAGE):
7460         * free-hook.c:
7461         * frame.h (struct frame):
7462         * frame.h:
7463         * frame.c (change_frame_size_1):
7464         * frame.c (allocate_frame_core):
7465         * frame.c:
7466         * frame-x.c (x_focus_on_frame):
7467         * frame-x.c (x_init_frame_2):
7468         * frame-x.c (x_popup_frame):
7469         * frame-x.c (xemacs_XtPopup):
7470         * frame-x.c:
7471         * frame-x.c (Foffix_start_drag_internal):
7472         * frame-x.c (x_cde_destroy_callback):
7473         * frame-x.c (x_wm_hack_wm_protocols):
7474         * frame-tty.c (tty_frame_visible_p):
7475         * frame-msw.c (mswindows_make_frame_invisible):
7476         * frame-msw.c (mswindows_after_init_frame):
7477         * frame-msw.c (mswindows_init_frame_1):
7478         * fns.c (syms_of_fns):
7479         * fns.c (Fbase64_decode_string):
7480         * fns.c (Fnconc):
7481         * fns.c (Ffillarray):
7482         * fns.c (Fobject_plist):
7483         * fns.c (Fget):
7484         * fns.c (Fcanonicalize_lax_plist):
7485         * fns.c (Fcanonicalize_plist):
7486         * fns.c (Fplist_remprop):
7487         * fns.c (Fplist_get):
7488         * fns.c (advance_plist_pointers):
7489         * fns.c (internal_plist_put):
7490         * fns.c (Fnreverse):
7491         * fns.c (Fremassq):
7492         * fns.c (Felt):
7493         * fns.c (Fsubstring):
7494         * fns.c (Fbvconcat):
7495         * fns.c (Flength):
7496         * fns.c (length_with_bytecode_hack):
7497         * fns.c (print_bit_vector):
7498         * fns.c:
7499         * floatfns.c (Ffloor):
7500         * floatfns.c:
7501         * floatfns.c (in_float_error):
7502         * fileio.c (Ffile_modes):
7503         * fileio.c (Fexpand_file_name):
7504         * fileio.c (Fmake_temp_name):
7505         * fileio.c (Ffile_name_nondirectory):
7506         * fileio.c (Ffile_name_directory):
7507         * file-coding.h:
7508         * file-coding.c (vars_of_mule_coding):
7509         * file-coding.c (convert_to_external_format):
7510         * file-coding.c (encoding_marker):
7511         * file-coding.c (decoding_marker):
7512         * file-coding.c (Fcopy_coding_system):
7513         * file-coding.c (Fmake_coding_system):
7514         * file-coding.c (struct coding_system_list_closure):
7515         * file-coding.c (Ffind_coding_system):
7516         * file-coding.c (symbol_to_eol_type):
7517         * file-coding.c:
7518         * faces.h (struct face_cachel):
7519         * faces.c (vars_of_faces):
7520         * faces.c (face_property_was_changed):
7521         * faces.c (mark_face_cachels):
7522         * faces.c (temporary_faces_list):
7523         * faces.c (struct face_list_closure):
7524         * faces.c:
7525         * extents.h (struct extent):
7526         * extents.c (vars_of_extents):
7527         * extents.c (struct copy_string_extents_1_arg):
7528         * extents.c (add_string_extents_mapper):
7529         * extents.c (Fextent_property):
7530         * extents.c (Fset_extent_property):
7531         * extents.c (symbol_to_glyph_layout):
7532         * extents.c (properties_equal):
7533         * extents.c (print_extent):
7534         * extents.c (print_extent_1):
7535         * extents.c (extent_in_region_p):
7536         * extents.c (gap_array_make_gap):
7537         * extents.c:
7538         * events.h (struct Lisp_Event):
7539         * events.h:
7540         * events.c (Fevent_properties):
7541         * events.c (format_event_object):
7542         * events.c (Fmake_event):
7543         * events.c (event_equal):
7544         * events.c (print_event):
7545         * events.c (mark_event):
7546         * event-stream.c ((read-char)
7547         * event-stream.c (vars_of_event_stream):
7548         * event-stream.c (syms_of_event_stream):
7549         * event-stream.c (Fset_recent_keys_ring_size):
7550         * event-stream.c (Fsit_for):
7551         * event-stream.c (Fnext_event):
7552         * event-stream.c (execute_help_form):
7553         * event-stream.c (maybe_kbd_translate):
7554         * event-stream.c:
7555         * event-msw.c (vars_of_event_mswindows):
7556         * event-msw.c (mswindows_wnd_proc):
7557         * event-msw.c (mswindows_need_event):
7558         * event-msw.c (mswindows_drain_windows_queue):
7559         * event-msw.c (mswindows_pump_outstanding_events):
7560         * event-msw.c:
7561         * event-msw.c (slurp_thread):
7562         * event-msw.c (struct ntpipe_slurp_stream):
7563         * event-msw.c (HANDLE_TO_USID):
7564         * event-Xt.c (emacs_Xt_handle_magic_event):
7565         * event-Xt.c (x_event_to_emacs_event):
7566         * event-Xt.c (x_reset_modifier_mapping):
7567         * event-Xt.c (x_reset_key_mapping):
7568         * event-Xt.c:
7569         * eval.c (syms_of_eval):
7570         * eval.c (warn_when_safe):
7571         * eval.c (warn_when_safe_lispobj):
7572         * eval.c (Fbacktrace_frame):
7573         * eval.c (Fbacktrace):
7574         * eval.c (top_level_set):
7575         * eval.c (unbind_to_hairy):
7576         * eval.c (specbind_magic):
7577         * eval.c (specbind_unwind_wasnt_local):
7578         * eval.c (call2_trapping_errors):
7579         * eval.c (call1_trapping_errors):
7580         * eval.c (catch_them_squirmers_call2):
7581         * eval.c (call0_trapping_errors):
7582         * eval.c (run_hook_trapping_errors):
7583         * eval.c (catch_them_squirmers_eval_in_buffer):
7584         * eval.c (call4_in_buffer):
7585         * eval.c (call3_in_buffer):
7586         * eval.c (call2_in_buffer):
7587         * eval.c (call1_in_buffer):
7588         * eval.c (call0_in_buffer):
7589         * eval.c (run_hook):
7590         * eval.c (run_hook_with_args_in_buffer):
7591         * eval.c (Fapply):
7592         * eval.c (Feval):
7593         * eval.c (do_autoload):
7594         * eval.c (un_autoload):
7595         * eval.c (Fautoload):
7596         * eval.c (Finteractive_p):
7597         * eval.c (Fcommand_execute):
7598         * eval.c (signal_quit):
7599         * eval.c (call_with_suspended_errors):
7600         * eval.c (signal_error):
7601         * eval.c (return_from_signal):
7602         * eval.c (Fcall_with_condition_handler):
7603         * eval.c (run_condition_case_handlers):
7604         * eval.c (condition_case_1):
7605         * eval.c (Funwind_protect):
7606         * eval.c (unwind_to_catch):
7607         * eval.c (internal_catch):
7608         * eval.c (Fmacroexpand_internal):
7609         * eval.c (Fuser_variable_p):
7610         * eval.c (Fdefconst):
7611         * eval.c (Fdefvar):
7612         * eval.c (Ffunction):
7613         * eval.c (signal_call_debugger):
7614         * eval.c (call_debugger):
7615         * eval.c:
7616         * emacs.c (main):
7617         * emacs.c (sort_args):
7618         * emacs.c (main_1):
7619         * elhash.h:
7620         * elhash.c:
7621         * editfns.c (Fencode_time):
7622         * editfns.c (Fdecode_time):
7623         * editfns.c (Fuser_full_name):
7624         * editfns.c:
7625         * editfns.c (save_excursion_restore):
7626         * ecrt0.c:
7627         * dynarr.c:
7628         * doprnt.c (emacs_doprnt_1):
7629         * doc.c (verify_doc_mapper):
7630         * doc.c (Fsnarf_documentation):
7631         * doc.c (Fdocumentation):
7632         * dll.c:
7633         * dired.c (user_name_completion):
7634         * dired.c (Fdirectory_files):
7635         * dialog-x.c:
7636         * dialog-msw.c:
7637         * dgif_lib.c (FreeSavedImages):
7638         * dgif_lib.c (DGifGetImageDesc):
7639         * device.h:
7640         * device.h (struct device):
7641         * device.c (Fselect_device):
7642         * device.c (allocate_device):
7643         * device.c:
7644         * device-x.c (Fx_keysym_on_keyboard_p):
7645         * device-x.c (Fx_valid_keysym_name_p):
7646         * device-x.c (x_IO_error_handler):
7647         * device-x.c (x_delete_device):
7648         * device-x.c (x_finish_init_device):
7649         * device-x.c (x_init_device):
7650         * device-x.c:
7651         * device-msw.c (mswindows_init_device):
7652         * dbxrc:
7653         * database.c (vars_of_database):
7654         * database.c (Fput_database):
7655         * database.c (Fopen_database):
7656         * database.c (berkdb_remove):
7657         * database.c (berkdb_put):
7658         * database.c (Fdatabasep):
7659         * database.c (print_database):
7660         * database.c:
7661         * data.c (vars_of_data):
7662         * data.c (syms_of_data):
7663         * data.c (init_errors_once_early):
7664         * data.c (prune_weak_lists):
7665         * data.c (finish_marking_weak_lists):
7666         * data.c (print_weak_list):
7667         * data.c (Fmod):
7668         * data.c (Fstring_to_number):
7669         * data.c (Fnumber_to_string):
7670         * data.c (Findirect_function):
7671         * data.c (Fsetcdr):
7672         * data.c (Ffloatp):
7673         * data.c (Fsubr_interactive):
7674         * data.c (Farrayp):
7675         * data.c (Fkeywordp):
7676         * data.c (Fnull):
7677         * data.c:
7678         * console.h (CONSOLE_NAME):
7679         * console.h:
7680         * console.c (vars_of_console):
7681         * console.c (Fselect_console):
7682         * console.c:
7683         * console-x.h (DEVICE_X_COLORMAP):
7684         * console-x.h (struct x_device):
7685         * console-x.c (x_device_to_console_connection):
7686         * console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y):
7687         * console-tty.c (tty_init_console):
7688         * console-tty.c:
7689         * console-msw.h (struct mswindows_frame):
7690         * conslots.h:
7691         * config.h.in:
7692         * cmds.c (internal_self_insert):
7693         * cmds.c (Fforward_line):
7694         * cmds.c (Fforward_char):
7695         * cmds.c:
7696         * cmdloop.c:
7697         * chartab.c (mark_char_table_entry):
7698         * chartab.c:
7699         * casefiddle.c (casify_word):
7700         * callproc.c (child_setup):
7701         * callproc.c (Fcall_process_internal):
7702         * callproc.c:
7703         * callint.c (Fcall_interactively):
7704         * bytecode.h:
7705         * bytecode.c (execute_rare_opcode):
7706         * bytecode.c (execute_optimized_program):
7707         * bytecode.c:
7708         * bufslots.h:
7709         * buffer.h (BUFFER_REALLOC):
7710         * buffer.h (GET_CHARPTR_INT_DATA_ALLOCA):
7711         * buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA):
7712         * buffer.h:
7713         * buffer.h (MAP_INDIRECT_BUFFERS):
7714         * buffer.h (CHECK_LIVE_BUFFER):
7715         * buffer.c (init_initial_directory):
7716         * buffer.c (complex_vars_of_buffer):
7717         * buffer.c (vars_of_buffer):
7718         * buffer.c (finish_init_buffer):
7719         * buffer.c (Fget_file_buffer):
7720         * buffer.c (Fbuffer_list):
7721         * buffer.c (mark_buffer):
7722         * balloon_help.c (balloon_help_move_to_pointer):
7723         * balloon_help.c (show_help):
7724         * balloon_help.c:
7725         * backtrace.h:
7726         * alloc.c (garbage_collect_1):
7727         * alloc.c (sweep_strings):
7728         * alloc.c (sweep_compiled_functions):
7729         * alloc.c (sweep_bit_vectors_1):
7730         * alloc.c (sweep_vectors_1):
7731         * alloc.c (sweep_lcrecords_1):
7732         * alloc.c (tick_lcrecord_stats):
7733         * alloc.c (pure_string_sizeof):
7734         * alloc.c (mark_conses_in_list):
7735         * alloc.c (mark_object):
7736         * alloc.c (report_pure_usage):
7737         * alloc.c (make_pure_float):
7738         * alloc.c (make_pure_string):
7739         * alloc.c (free_managed_lcrecord):
7740         * alloc.c (mark_string):
7741         * alloc.c (noseeum_make_marker):
7742         * alloc.c (allocate_event):
7743         * alloc.c (Fbit_vector):
7744         * alloc.c (Fvector):
7745         * alloc.c (make_float):
7746         * alloc.c (Fmake_list):
7747         * alloc.c (Flist):
7748         * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC):
7749         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST):
7750         * alloc.c (DECLARE_FIXED_TYPE_ALLOC):
7751         * alloc.c (dbg_constants):
7752         * alloc.c (gc_record_type_p):
7753         * alloc.c (free_lcrecord):
7754         * alloc.c (xmalloc):
7755         * alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER):
7756         * abbrev.c:
7757         * Makefile.in.in (mostlyclean):
7758         * Makefile.in.in (external_client_xlib_objs_nonshared):
7759         * Makefile.in.in (temacs_link_args):
7760         * Makefile.in.in (release):
7761         * Makefile.in.in (dnd_objs):
7762         * Makefile.in.in (objs):
7763         * Makefile.in.in (PROGNAME):
7764         * EmacsShell.c: cast strings to (XtPointer)
7765         * EmacsFrame.c: cast strings to (XtPointer)
7766         - mega patch
7767         - rewrite basic lisp functions for speed
7768         - rewrite bytecode interpreter for speed
7769         - rewrite list looping constructs for speed and safety using
7770           tortoise/hare.
7771         - use size_t where appropriate.
7772         - new hashtable implementation
7773         - cleanup implementation of opaques
7774         - opaques can now be purecopy'ed
7775         - move some cl functionality into C for speed.
7776         - remove last remaining VMS support
7777         - spelling fixes
7778         - improve gdb/dbx debugger support
7779         - move pure.c back into alloc.c for performance
7780         - enable report_pure_usage() if --memory-usage-stats
7781         - remove remnants of Energize support (EMACS_BTL, cadillac...)
7782         - don't use symbols with leading `_' or embedded `__'
7783         - globally cleanup duplicated semicolons `;;'
7784         - I give in on %p vs %lx - we use printf("%lx",(long) p)
7785           globally.
7786         - globally replace O_NDELAY with O_NONBLOCK.
7787         - globally replace CDISABLE with _POSIX_VDISABLE.
7788         - use O_RDONLY and O_RDWR instead of magic `0' and `2'.
7789         - define (and maybe use!) STDERR_FILENO and friends.
7790         - add support for macros defined in C
7791         - `when', `unless', `not' and `defalias' now defined in C,
7792           so that they are universally available.
7793         - rename defvar_mumble to defvar_magic
7794         - rename RETURN__ to RETURN_SANS_WARNINGS
7795         - use consistent style of initial caps in error messages
7796         - implement last, butlast, nbutlast, copy-list in C.
7797         - provide typedefs for all struct Lisp_foo types
7798         - Lisp_Objects must be initialized to Qnil rather than 0.
7799         - make sure XEmacs runs (slowly) with always_gc == 1;
7800         - fast and safe LOOP_* macros
7801         - change calls to XSETOBJ to XSETFOO
7802         - replace calls to XSETINT by make_int()
7803         - plug up memory leaks
7804         - use style markobj (foo), not silly ((markobj) (foo))
7805         - use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj))
7806
7807 1998-12-02  P. E. Jareth Hein  <jareth@camelot.co.jp>
7808
7809         * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0
7810
7811 1998-11-28  SL Baur  <steve@altair.xemacs.org>
7812
7813         * XEmacs 21.2-beta4 is released.
7814
7815 1998-11-27  SL Baur  <steve@altair.xemacs.org>
7816
7817         * mule-charset.c (complex_vars_of_mule_charset): Fix graphic
7818         property in control-1 charset.
7819         From Julian Bradfield <jcb@daimi.au.dk>
7820
7821 1998-11-26  Jan Vroonhof  <vroonhof@math.ethz.ch>
7822
7823         * gui-x.c (button_item_to_widget_value): Ignore :key-sequence
7824         keyword.
7825         Add stub for :label.
7826
7827         * gui.c (gui_item_add_keyval_pair): ditto.
7828
7829         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore
7830         :key-sequence keyword.
7831         Add stub for:label.
7832         Support :active for submenus like the Windows code and FSF Emacs.
7833
7834 1998-11-27  Hrvoje Niksic  <hniksic@srce.hr>
7835
7836         * dired.c (make_directory_hash_table): make_string() is OK because
7837         readdir() Mule-encapsulates.
7838
7839 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
7840
7841         * fns.c (Fbase64_encode_string): Fix docstring.
7842         (Fbase64_decode_string): Ditto.
7843
7844 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
7845
7846         * editfns.c (Ftranslate_region): Use
7847         convert_bufbyte_string_into_emchar_string().
7848
7849 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
7850
7851         * editfns.c (Ftranslate_region): Accept vectors and char-tables as
7852         well as strings.
7853         (Ftranslate_region): Turn table into an array of Emchars for
7854         larger regions.
7855
7856 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
7857
7858         * chartab.c (Freset_char_table): Fix wrong placement of #endif.
7859
7860 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
7861
7862         * chartab.c (Freset_char_table): Don't blindly fill chartables of
7863         type `char' with nils.
7864
7865         * chartab.c (canonicalize_char_table_value): Coerce ints to chars
7866         for tables of type `char'.
7867
7868 1998-11-26  Didier Verna  <verna@inf.enst.fr>
7869
7870         * input-method-xlib.c (Initialize_Locale): don't call
7871         XtSetLanguageProc. We've done the whole work here.
7872         * input-method-xfs.c (Initialize_Locale): ditto.
7873         * input-method-motif.c (Initialize_Locale): ditto.
7874
7875 1998-11-26  Didier Verna  <verna@inf.enst.fr>
7876
7877         * process-unix.c (unix_create_process): handle properly
7878         Vfile_name_coding_system for converting the program and directory
7879         names.
7880
7881 1998-11-27  SL Baur  <steve@altair.xemacs.org>
7882
7883         * m/arm.h: New file.
7884         From James LewisMoss <dres@ioa.com>
7885
7886 1998-11-27  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
7887
7888         * m/mips-nec.h:
7889         Fix the realpath() problem of UnixWare2.1.3.
7890         Patches for NEC's sysv4.2 machine.
7891
7892 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
7893
7894         * dired.c (Fdirectory_files): Remove redundant code.
7895
7896 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
7897
7898         * fns.c (free_malloced_ptr): New function.
7899         (XMALLOC_OR_ALLOCA): New macro.
7900         (XMALLOC_UNBIND): Ditto.
7901         (Fbase64_encode_region): Use malloc() for large blocks; arrange it
7902         to be freed in case of non-local exit.
7903         (Fbase64_encode_string): Ditto.
7904         (Fbase64_decode_region): Ditto.
7905         (Fbase64_decode_string): Ditto.
7906         (STORE_BYTE): New macro.
7907         (base64_decode_1): Use it.
7908
7909 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
7910
7911         * fns.c (base64_value_to_char): Base64 stuff.
7912
7913 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
7914
7915         * editfns.c (Fbuffer_substring): New function.
7916
7917         * lisp.h: Declare make_string_from_buffer_no_extents().
7918
7919         * insdel.c (make_string_from_buffer_1): New function.
7920         (make_string_from_buffer_no_extents): Ditto.
7921
7922 1998-11-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
7923
7924         * linuxplay.c: Including <fcntl.h> instead of <sys/fcntl.h> makes
7925         sound work on AIX with OSS installed.  Linux should still work.
7926
7927 1998-11-03  Andy Piper  <andyp@parallax.co.uk>
7928
7929         * config.h.in: name change for cygwin/version.h
7930
7931         * configure.in: check for cygwin/version.h now.
7932
7933         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
7934         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
7935         move cygwin32/version.h to cygwin/version.h
7936
7937 1998-11-03  Olivier Galibert  <galibert@pobox.com>
7938
7939         * lisp.h  (struct  Lisp_Bit_Vector): Fix declaration of  bits from
7940         int to long.
7941
7942 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
7943
7944         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
7945         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
7946         enable BROKEN_SIGIO under b20 to make QUIT work.
7947
7948 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
7949
7950         * frame-msw.c (mswindows_size_frame_internal): force frame sizing
7951         to fit within the constraints of the screen size. I.e. make the
7952         frame small enough to fit and move it if some of it will be
7953         off-screen.
7954
7955 1998-10-19  Greg Klanderman  <greg@alphatech.com>
7956
7957         * dired.c: conditionalize inclusion of user-name-completion
7958         primitives on non-Windows NT.  The needed functions don't exist on NT.
7959
7960 1998-11-24  SL Baur  <steve@altair.xemacs.org>
7961
7962         * gifrlib.h: Clean up types for 64 bit compile.
7963         * dgif_lib.c (DGifInitRead): Ditto.
7964         (MakeSavedImage): Ditto.
7965         * emacs.c (decode_path): Ditto.
7966         From Steve Carney <carney@pa.dec.com>
7967
7968 1998-10-16  William M. Perry  <wmperry@aventail.com>
7969
7970         * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps
7971           (cehckboxes instead of checkboxes).
7972
7973 1998-10-15  SL Baur  <steve@altair.xemacs.org>
7974
7975         * XEmacs 21.2-beta3 is released.
7976
7977 1998-10-13  Raymond Toy  <toy@rtp.ericsson.se>
7978
7979         * runemacs.c (WinMain): If the basename is "rungnuclient.exe", run
7980         gnuclient.  Otherwise, we run xemacs as we always did.  This gets
7981         rid of the annoying DOS window when running gnuclient.
7982
7983 1998-10-13  Andy Piper  <andyp@parallax.co.uk>
7984
7985         * dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS ->
7986         HAVE_MS_WINDOWS typo.
7987
7988 1998-10-13  SL Baur  <steve@altair.xemacs.org>
7989
7990         * process-unix.c (unix_send_process): Set closed flag on writable
7991         pipe after SIGPIPE is received and before we call deactivate_process.
7992
7993 1998-10-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7994
7995         * window.c (Fset_window_start): respect narrowing when
7996         checking wheter start is at the beginning of a line.
7997         (Fset_window_buffer): Ditto
7998         Fixes repeatable crash in VM.
7999
8000 1998-10-09  SL Baur  <steve@altair.xemacs.org>
8001
8002         * window.c (specifier_vars_of_window): Set default vertical
8003         divider width to 1 on ttys.
8004
8005 1998-10-08  Martin Buchholz  <martin@xemacs.org>
8006
8007         * alloc.c:
8008         * unexec.c:
8009         * malloc.c:
8010         Add <stddef.h> to get ptrdiff_t declaration
8011
8012 1998-10-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8013
8014         * scrollbar-msw.c: Use the same vertical scrollbar drag hack as
8015           is used for Motif or Lucid scrollbars under X.
8016
8017 1998-10-08  Pierre Wendling  <pw@ebc.vbe.dec.com>
8018
8019         * m/alpha.h (UNEXEC): quoted to avoid bad expansion when running
8020         `configure'
8021
8022 1998-10-06  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
8023
8024         * frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget.
8025
8026 1998-10-05  Andy Piper  <andyp@parallax.co.uk>
8027
8028         * s/cygwin32.h: more cygwin b20 reorganisation.
8029
8030 1998-10-01  Raymond Toy  <toy@rtp.ericsson.se>
8031
8032         * nas.c: Added necessary support functions to be able to handle
8033         WAVE files in memory, just like the support for SND files in
8034         memory.
8035
8036 1998-09-30  SL Baur  <steve@altair.xemacs.org>
8037
8038         * callproc.c (child_setup): Fix spelling typo.
8039
8040 1998-09-29  SL Baur  <steve@altair.xemacs.org>
8041
8042         * XEmacs 21.2-beta2 is released.
8043
8044 1998-09-27  P. E. Jareth Hein  <jareth@camelot.co.jp>
8045
8046         * regex.c (re_match_2_internal): Add in code to reset lowest_active_reg
8047         to prevent memory corruption in the case of jumping out of a series of
8048         nested match patterns. This is a rather brute force approach, though.
8049
8050 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
8051
8052         * config.h.in: ditto.
8053
8054         * s/cygwin32.h: rearrange declarations to cope with cygwin
8055         b20. Include cygwin32/version.h if it exists.
8056
8057 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8058
8059         * device-msw.c (mswindows_init_device): Call new
8060           mswindows_enumerate_fonts() function in objects-msw.c instead
8061           of font_enum_callback_1() to enumerate fonts.
8062
8063           font_enum_callback_1() and _2() moved to objects-msw.c.
8064
8065         * faces.c (complex_vars_of_faces): Make the mswindows default
8066           face font fully specified and provide some fallbacks.
8067
8068         * objects-msw.c: font_enum_callback_1() and _2() moved here
8069           from objects-msw.c. Obtain the enumerated font's character
8070           sets by table lookup instead of using the locale-specific
8071           string provided by Windows.
8072
8073           New public non-method mswindows_enumerate_fonts() that fills
8074           in the supplied mswindows device's font list.
8075
8076           mswindows_initialize_font_instance: Use the supplied name
8077           variable instead of f->name when signalling errors. Match font
8078           weights and character sets using lookup tables which handle
8079           spaces instead of by frobbing.
8080
8081 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8082
8083         * process-nt.c: Define an arbitrary limit, FRAGMENT_CODE_SIZE,
8084           on the size of code fragments passed to run_in_other_process.
8085
8086           run_in_other_process(): Use FRAGMENT_CODE_SIZE to determine
8087           the amount of memory to allocate in the other process.
8088
8089           Removed sigkill_code_end(), sigint_code_end() and
8090           sig_enable_code_end() since they are now redundant.
8091
8092           send_signal() and enable_child_signals(): Don't try to work
8093           out the end of the code fragments passed to
8094           run_in_other_process()
8095
8096 1998-09-10  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
8097
8098         * src/s/freebsd.h: Added __ELF__ and compiler/liker flags for
8099         FreeBSD-current.
8100
8101         * src/unexelf.c: Partially synched with FSF's 20.3.
8102
8103 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
8104
8105         * insdel.c (signal_after_change): Map across indirect buffers
8106         here, and not in the upper-level functions.
8107         (signal_first_change): Don't check for Armageddon.
8108         (signal_before_change): Map across indirect buffers here.
8109         (prepare_to_modify_buffer): ...and here.
8110
8111 1998-09-09  Hrvoje Niksic  <hniksic@srce.hr>
8112
8113         * insdel.c (signal_after_change): Add return value.
8114         (buffer_insert_string_1): Use it.
8115         (buffer_delete_range): Ditto.
8116         (buffer_replace_char): Ditto.
8117         (cancel_multiple_change): Map the indirect buffers.
8118
8119 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
8120
8121         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
8122         (uninit_buffer_text): Ditto.
8123
8124         * buffer.c (Fmake_indirect_buffer): Implement stricter
8125         error-checking.
8126
8127 1998-09-04  Hrvoje Niksic  <hniksic@srce.hr>
8128
8129         * insdel.c (change_function_restore): Reverse order of
8130         function-call and assignment.
8131         (first_change_hook_restore): Ditto.
8132
8133         * extents.c (mark_extent_auxiliary): Mark them.
8134         (Fset_extent_property): Set them.
8135         (Fextent_property): Get them.
8136         (Fextent_properties): Ditto.
8137         (vars_of_extents): Set their default.
8138
8139         * extents.h (struct extent_auxiliary): Add before_change_functions
8140         and after_change_functions.
8141
8142         * insdel.c (signal_before_change): Use it.
8143         (signal_after_change): Ditto.
8144
8145         * extents.c (report_extent_modification): New function.
8146
8147         * insdel.c (signal_before_change): Don't check for Armageddon.
8148         (signal_after_change): Ditto.
8149
8150 1998-09-11  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
8151
8152         * redisplay.c (redisplay_window): make sure a new starting point
8153         is chosen if it somehow got moved from the beginning of the line
8154         -- this can happen because Fwiden was called recently.
8155
8156         * window.c (Fset_window_start): set start_at_line_beg correctly
8157         (Fset_window_buffer): Ditto
8158
8159 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
8160
8161         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
8162         (uninit_buffer_text): Ditto.
8163
8164         * buffer.c (Fmake_indirect_buffer): Implement stricter
8165         error-checking.
8166
8167 1998-05-14  Jan Vroonhof  <vroonhof@math.ethz.ch>
8168
8169         * emacs.c (main_1): Removed references to *vars_of_filelock.
8170
8171         * lisp.h: Added Fsystem_name.
8172
8173         * filelock.c: Replaced by version from FSF 20.2. Now implements
8174         locking by using symlinks which is NFS safe. However keep the
8175         GCPRO's in lock_file and the calls to callx_in_buffer like our old
8176         version (and of course use ansi C, acessor macros, etc).
8177
8178 1998-09-06  Jan Vroonhof  <vroonhof@math.ethz.ch>
8179
8180         * process-unix.c (unix_create_process): Reset SIGHUP handler to
8181         SIG_DFL. We now try to conserve any inherted SIG_IGN settings
8182         in init_signals_very_early. However these should not be passed
8183         on to children attached to the new pty.
8184
8185 1998-08-28  Andy Piper  <andyp@parallax.co.uk>
8186
8187         * glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use.
8188
8189 1998-09-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8190
8191         * fileio.c (file-name-directory, file_name_as_directory):
8192           Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT.
8193
8194 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
8195
8196         * emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC
8197
8198         * ralloc.c: uncomment __morecore.
8199
8200 1998-09-92  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8201
8202         * event-msw.c(winsock_writer): Supply a dummy 4th argument to
8203           WriteFile() to fix a winsock 1.x bug on Win95.
8204
8205 1998-08-28  Hrvoje Niksic  <hniksic@srce.hr>
8206
8207         * event-Xt.c (emacs_Xt_mapping_action): Check for device being
8208         deleted.
8209         (x_event_to_emacs_event): Ditto.
8210         (emacs_Xt_handle_focus_event): Ditto.
8211         (emacs_Xt_handle_magic_event): Ditto.
8212
8213         * console-x.h (struct x_device): New flag being_deleted.
8214         (DEVICE_X_BEING_DELETED): New macro.
8215
8216         * device-x.c (x_IO_error_handler): Throw to top-level instead of
8217         returning.  Before doing that, set the being_deleted flag on the
8218         device.
8219
8220 1998-08-27  Hrvoje Niksic  <hniksic@srce.hr>
8221
8222         * device-x.c (x-seppuku-on-epipe): Removed.
8223
8224 1998-08-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
8225
8226         * frame-x.c (x_delete_frame): Flush the X output buffer after
8227         calling XtDestroyWidget to ensure that the windows are really
8228         killed right now.
8229
8230 1998-08-26  Hrvoje Niksic  <hniksic@srce.hr>
8231
8232         * menubar-x.c (my_run_hook): New unused function.
8233         (pre_activate_callback): Use run_hook for Qactivate_menubar_hook,
8234         since we ignore the results of the contained functions anyway.
8235
8236 1998-08-26  P. E. Jareth Hein  <jareth@camelot.co.jp>
8237
8238         * glyphs-eimage.c (gif_instantiate): Fix a crash in handling
8239         interlaced GIF files that are smaller than 4 lines high...
8240
8241 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
8242
8243         * buffer.c (map_over_sharing_buffers): Deleted.
8244
8245         * insdel.c (MAP_INDIRECT_BUFFERS): Move to buffer.h.
8246
8247         * buffer.c (Fkill_buffer): Keep indirect_children updated while
8248         killing them.
8249
8250 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
8251
8252         * insdel.c (buffer_insert_string_1): Advance the point bytind in
8253         all the buffers.
8254         (buffer_delete_range): Ditto.
8255
8256         * marker.c (init_buffer_markers): Set point-marker to the value of
8257         point in an indirect buffer.
8258
8259 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
8260
8261         * undo.c (undo_prelude): Test last-undo-buffer against base
8262         buffer.
8263
8264         * insdel.c (MAP_INDIRECT_BUFFERS): Use it.
8265
8266         * buffer.h (BUFFER_BASE_BUFFER): New macro.
8267
8268 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
8269
8270         * insdel.c (init_buffer_text): Initialize it here.
8271
8272         * line-number.c: Address line_number_cache through buffer->text.
8273
8274         * buffer.c (mark_buffer): Mark line number cache.
8275
8276         * bufslots.h (line_number_cache): Move to struct buffer_text.
8277
8278         * insdel.c (buffer_insert_string_1): Propagate signals and changes
8279         across the children buffers.
8280         (buffer_delete_range): Ditto.
8281         (buffer_replace_char): Ditto.
8282         (gap_left): Ditto.
8283         (gap_right): Ditto.
8284
8285         * insdel.c (MAP_INDIRECT_BUFFERS): New macro.
8286
8287         * buffer.c (Fmake_indirect_buffer): Uncomment.
8288
8289 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
8290
8291         * macros.c (Fend_kbd_macro): Remove trailing period from error
8292         message.
8293         (Fexecute_kbd_macro): Ditto.
8294
8295 1998-08-21  Greg Klanderman  <greg@alphatech.com>
8296
8297         * dired.c (Fuser_name_completion): remove optional 2nd argument.
8298         (Fuser_name_completion_1): new function to return uniqueness
8299         indication in addition to the user name completion.
8300         (user_name_completion): change type of `uniq' argument.
8301
8302 1998-08-19  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
8303
8304         * lread.c (vars_of_lread): Removed `source-directory' variable.
8305
8306 1998-08-22  Hrvoje Niksic  <hniksic@srce.hr>
8307
8308         * fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to
8309         Cygwin.
8310
8311 1998-08-19  SL Baur  <steve@altair.xemacs.org>
8312
8313         * dired.c (vars_of_dired): Fix misapplied patch.
8314
8315 1998-08-16  Martin Buchholz  <martin@xemacs.org>
8316
8317         * fns.c (Fremrassq, remrassq_no_quit):
8318         A XCAR that should have been an XCDR turned Fremrassq into Fremassq
8319
8320 1998-07-17  Didier Verna  <verna@inf.enst.fr>
8321
8322         * redisplay-x.c (x_get_gc): returns a GC with a FillStipple fill
8323         style as foreground GC for faces that have the `dim' property.
8324         (x_output_string): when the `dim' face property is set,
8325         ensure the gray pixmap has been created, and get a proper
8326         foreground GC to draw the text.
8327
8328 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8329
8330         * event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug:
8331           Manually track the state of the left and right Ctrl and Alt
8332           modifiers.
8333
8334 1998-08-07 Matt Stupple <matts@tibco.com>
8335
8336         * ntproc.c: don't wait on char_consumed at thread entry.
8337         Additionally, to get the 'process' marked as finished, ensure
8338         that the CHILD_ACTIVE macro returns false, so before exiting
8339         close char_avail and set it to NULL, and close other handles
8340         to reduce handle leak problems.
8341
8342 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8343
8344         * menubar-msw.c (displayable_menu_item): take account of menu
8345           depth when deciding whether to try to display accelerators.
8346
8347 1998-08-04  Andy Piper  <andyp@parallax.co.uk>
8348
8349         * event-msw.c: use MsgWaitForMultipleObjects if there are no
8350         subprocesses.
8351
8352         * glyphs-msw.c: fix a couple of potential handle leaks.
8353
8354 1998-08-04  P. E. Jareth Hein  <jareth@camelot.co.jp>
8355
8356         * dgif_lib.c gif_io.c gifrlib.h: New files to put GIF
8357           *decoding ONLY* back into the core.
8358         * glyphs-eimage.c: Change referenced header file for GIF
8359           reading to point to the incore version.
8360
8361 1998-07-20  Martin Buchholz  <martin@xemacs.org>
8362
8363         * casefiddle.c (casify_object):
8364         Change algorithm from O(N**2) to O(N).
8365         Code cleanup.
8366         Doc string cleanup.
8367
8368 1998-07-22  Greg Klanderman  <greg@alphatech.com>
8369
8370         * dired.c (file_name_completion_unwind): don't leak the cons.
8371
8372 1998-07-20  Greg Klanderman  <greg@alphatech.com>
8373
8374         * dired.c (Fuser_name_completion): new function.
8375         (Fuser_name_all_completions): new function.
8376         (user_name_completion): new function.
8377         (syms_of_dired): 2 new DEFSUBRs.
8378         (vars_of_dired): initialize user name cache vars.
8379
8380 1998-07-29  P. E. Jareth Hein  <jareth@camelot.co.jp>
8381
8382         * glyphs-eimage.c (png_instantiate): Add proper handling for background
8383         colors taken from the default face.  Also correct a thinko in
8384         transparency (not alpha) handling.
8385
8386 1998-07-23  Martin Buchholz  <martin@xemacs.org>
8387
8388         * s/decosf4-0.h:  Use a perfectly ordinary link.  Nuke BSD crap.
8389         * unexalpha.c: ANSI C-ize.  Clean compiler warnings.
8390         * lread.c (Fload_internal):  Be very careful with printfs of
8391         size_t's
8392         * gui-x.c (menu_name_to_accelerator): tolower wants an `int'
8393         argument.
8394
8395 1998-07-27  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
8396
8397         * callint.c (Fcall_interactively): GCPRO prompt string before
8398         passing it to Fread_key_sequence
8399
8400 1998-07-27  SL Baur  <steve@altair.xemacs.org>
8401
8402         * keymap.c (vars_of_keymap): Initialize Vkey_translation_map and
8403         Vvertical_divider_map.
8404
8405         * mule-canna.c (vars_of_mule_canna): Initialize every symbol to
8406         Qnil or 0, none were initialized prior to this change.
8407
8408         Rename misnamed `V' prefixed integer variables:
8409         Vcanna_empty_info, Vcanna_through_info, Vcanna_underline,
8410         Vcanna_inhibit_hankakukana, Vcanna_henkan_length, Vcanna_henkan_revPos,
8411         Vcanna_henkan_revLen, Vcanna_ichiran_length, Vcanna_ichiran_revPos,
8412         Vcanna_ichiran_revLen.
8413
8414         Rename misnamed `V' prefixed integer variables and initialize
8415         properly in the vars_of routine.
8416         Vcanna_mode_AlphaMode, Vcanna_mode_EmptyMode, Vcanna_mode_KigoMode,
8417         Vcanna_mode_YomiMode, Vcanna_mode_JishuMode, Vcanna_mode_TankouhoMode,
8418         Vcanna_mode_IchiranMode, Vcanna_mode_YesNoMode, Vcanna_mode_OnOffMode,
8419         Vcanna_mode_AdjustBunsetsuMode, Vcanna_mode_ChikujiYomiMode,
8420         Vcanna_mode_ChikujiTanMode, Vcanna_mode_HenkanMode,
8421         Vcanna_mode_HenkanNyuryokuMode, Vcanna_mode_ZenHiraHenkanMode,
8422         Vcanna_mode_HanHiraHenkanMode, Vcanna_mode_ZenKataHenkanMode,
8423         Vcanna_mode_HanKataHenkanMode, Vcanna_mode_HanKataHenkanMode,
8424         Vcanna_mode_ZenAlphaHenkanMode, Vcanna_mode_HanAlphaHenkanMode,
8425         Vcanna_mode_ZenHiraKakuteiMode, Vcanna_mode_HanHiraKakuteiMode,
8426         Vcanna_mode_ZenKataKakuteiMode, Vcanna_mode_HanKataKakuteiMode,
8427         Vcanna_mode_ZenAlphaKakuteiMode, Vcanna_mode_HanAlphaKakuteiMode,
8428         Vcanna_mode_HexMode, Vcanna_mode_BushuMode, Vcanna_mode_ExtendMode,
8429         Vcanna_mode_RussianMode, Vcanna_mode_GreekMode, Vcanna_mode_LineMode,
8430         Vcanna_mode_ChangingServerMode, Vcanna_mode_HenkanMethodMode,
8431         Vcanna_mode_DeleteDicMode, Vcanna_mode_TourokuMode,
8432         Vcanna_mode_TourokuEmptyMode, Vcanna_mode_TourokuHinshiMode,
8433         Vcanna_mode_TourokuDicMode, Vcanna_mode_QuotedInsertMode,
8434         Vcanna_mode_BubunMuhenkanMode, Vcanna_mode_MountDicMode,
8435         Vcanna_fn_SelfInsert, Vcanna_fn_FunctionalInsert,
8436         Vcanna_fn_QuotedInsert, Vcanna_fn_JapaneseMode, Vcanna_fn_AlphaMode,
8437         Vcanna_fn_HenkanNyuryokuMode, Vcanna_fn_Forward, Vcanna_fn_Backward,
8438         Vcanna_fn_Next, Vcanna_fn_Prev, Vcanna_fn_BeginningOfLine,
8439         Vcanna_fn_EndOfLine, Vcanna_fn_DeleteNext, Vcanna_fn_DeletePrevious,
8440         Vcanna_fn_KillToEndOfLine, Vcanna_fn_Henkan, Vcanna_fn_Kakutei,
8441         Vcanna_fn_Extend, Vcanna_fn_Shrink, Vcanna_fn_AdjustBunsetsu,
8442         Vcanna_fn_Quit, Vcanna_fn_ConvertAsHex, Vcanna_fn_ConvertAsBushu,
8443         Vcanna_fn_KouhoIchiran, Vcanna_fn_BubunMuhenkan, Vcanna_fn_Zenkaku,
8444         Vcanna_fn_Hankaku, Vcanna_fn_ExtendMode, Vcanna_fn_ToUpper,
8445         Vcanna_fn_Capitalize, Vcanna_fn_ToLower, Vcanna_fn_Hiragana,
8446         Vcanna_fn_Katakana, Vcanna_fn_Romaji, Vcanna_fn_BaseHiragana,
8447         Vcanna_fn_BaseKatakana, Vcanna_fn_BaseEisu, Vcanna_fn_BaseZenkaku,
8448         Vcanna_fn_BaseHankaku, Vcanna_fn_BaseKana, Vcanna_fn_BaseKakutei,
8449         Vcanna_fn_BaseHenkan, Vcanna_fn_BaseHiraKataToggle,
8450         Vcanna_fn_BaseZenHanToggle, Vcanna_fn_BaseKanaEisuToggle,
8451         Vcanna_fn_BaseKakuteiHenkanToggle, Vcanna_fn_BaseRotateForward,
8452         Vcanna_fn_BaseRotateBackward, Vcanna_fn_Touroku, Vcanna_fn_HexMode,
8453         Vcanna_fn_BushuMode, Vcanna_fn_KigouMode, Vcanna_fn_Mark,
8454         Vcanna_fn_TemporalMode, Vcanna_key_Nfer, Vcanna_key_Xfer,
8455         Vcanna_key_Up, Vcanna_key_Left, Vcanna_key_Right, Vcanna_key_Down,
8456         Vcanna_key_Insert, Vcanna_key_Rollup, Vcanna_key_Rolldown,
8457         Vcanna_key_Home, Vcanna_key_Help, Vcanna_key_KP_Key,
8458         Vcanna_key_Shift_Nfer, Vcanna_key_Shift_Xfer, Vcanna_key_Shift_Up,
8459         Vcanna_key_Shift_Left, Vcanna_key_Shift_Right, Vcanna_key_Shift_Down,
8460         Vcanna_key_Cntrl_Nfer, Vcanna_key_Cntrl_Xfer, Vcanna_key_Cntrl_Up,
8461         Vcanna_key_Cntrl_Left, Vcanna_key_Cntrl_Right, Vcanna_key_Cntrl_Down
8462
8463 1998-07-16  Jan Vroonhof  <vroonhof@math.ethz.ch>
8464
8465         * event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms.
8466         (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier
8467         keys thus no longer considering all keysyms on a key.
8468
8469 1998-07-19  SL Baur  <steve@altair.xemacs.org>
8470
8471         * XEmacs 21.2-beta1 is released.
8472
8473 1998-07-12  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
8474
8475         * eldap.c (Fldap_search_internal): When converting the list of
8476         attributes to search Copy the final 0 from Lisp strings to C
8477         strings.
8478         Check base, not Vldap_default_base as a a string
8479
8480 1998-07-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8481
8482         * nt.c: Remove Vstdio_str; already defined in console-stream.c.
8483
8484         * unexnt.c: Unconditionally define bss_start and bss_size, and
8485           ensure that they don't go in the .bss section.
8486
8487 1998-07-17  Olivier Galibert  <galibert@pobox.com>
8488
8489         * glyphs-x.c (convert_EImage_to_XImage):  Fix previous patch (conv
8490         byte order is dependant  of  the local  byte order).
8491         From Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp>
8492
8493 1998-07-18  SL Baur  <steve@altair.xemacs.org>
8494
8495         * glyphs-msw.c (mswindows_resource_normalize): Qresource ->
8496         Qmswindows_resource.
8497         From Jonathan Harris <jhar@tardis.ed.ac.uk>
8498
8499 1998-07-12  SL Baur  <steve@altair.xemacs.org>
8500
8501         * general.c (syms_of_general): Add defsymbol for Qresource.
8502
8503         * glyphs-msw.c (vars_of_glyphs_mswindows): Rename Qresource to
8504         Qmswindows_resource.
8505         (TopLevel): Rename 'resource image format to 'mswindows_resource.
8506         (mswindows_resource_validate): Rename.
8507         (mswindows_resource_normalize): Rename.
8508         (mswindows_resource_possible_dest_types): Rename.
8509         (mswindows_resource_instantiate): Rename.
8510         (image_instantiator_format_create_glyphs_mswindows): Replace
8511         `resource' with `mswindows.resource'.
8512
8513         * XEmacs 21.0-pre5 is released.
8514
8515 1998-07-10  SL Baur  <steve@altair.xemacs.org>
8516
8517         * mule-wnnfns.c (Fwnn_open): Correctly trap on misdefined Wnn
8518         server type in environment.
8519         Use alloca-ed strings instead of tiny fixed size ones.
8520
8521 1998-07-09  SL Baur  <steve@altair.xemacs.org>
8522
8523         * XEmacs 21.0-pre4 is released.
8524
8525 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
8526
8527         * fileio.c: (expand_file_name): under win32: Don't treat names
8528         as UNC names if a drive letter has been specified.  If a drive
8529         has been specified, strip out extra directory-seperators that
8530         reportedly cause problems under Win95.
8531
8532 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8533
8534         * windowsnt.h: Define DUMP_SEPARATE_SECTION when building with
8535           MSVC >= 5.0. Put emacs init and zero-init data in a special
8536           section of the executable when this is defined.
8537
8538         * unexnt.c, ntheap.h:
8539           Removed unused find_section() and get_section_size().
8540
8541         * unexnt.c:
8542           Fix up the executable's checksum after dumping otherwise the
8543           profiler complains.
8544           When DUMP_SEPARATE_SECTION is defined, don't need to dump
8545           zero-init data separately from init data. Dump emacs data
8546           into a special section of the executable.
8547           When DUMP_SEPARATE_SECTION not defined, dump .bss up to
8548           my_ebss instead of up to the end of bss.
8549
8550 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8551
8552         * filelock.c: Removed Vconfigure_lock_directory - already
8553           defined in emacs.c.
8554
8555         * frame-msw.c: Removed Qinitially_unmapped and Qpopup - already
8556           defined in frame.c and general.c respectively.
8557
8558         * glyphs-msw.c: Removed Qresource - already defined in
8559           general.c.
8560
8561 1998-07-05  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
8562
8563         * eldap.c (Fldap_search_internal): Docstring fixes
8564
8565 1998-07-04  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8566
8567         * nt.c (init_environment): Removed unused PRELOAD_WINSOCK,
8568           EMACSDOC and TERM variables. Added EMACSDEBUGPATHS,
8569           EMACSPACKAGEPATH and INFOPATH variables.
8570           Removed unused get_emacs_configuration function.
8571
8572         * s/windowsnt.h: Don't define EMACS_CONFIGURATION here because
8573           it is now defined at build-time by the makefile.
8574
8575 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
8576
8577         * fileio.c: (expand_file_name): under win32: Don't treat names as
8578         UNC names if a drive letter has been specified.  If a drive has
8579         been specified, strip out extra directory-seperators that
8580         reportedly cause problems under Win95.
8581
8582 1998-07-05  Andy Piper  <andyp@parallax.co.uk>
8583
8584         * faces.c (complex_vars_of_faces): for the gui-element face don't
8585         fallback to the default face, instead provide reasonable default
8586         fallbacks that were previously hardcoded elsewhere.
8587
8588 1998-07-06  Olivier Galibert  <galibert@pobox.com>
8589
8590         * glyphs-x.c (convert_EImage_to_XImage): Fix pixel writing problem
8591         when the X server endianness is different than the client's one.
8592
8593 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
8594
8595         * eval.c (run_hook_with_args_in_buffer): Check
8596           default (non-buffer-local) value of hook for
8597           nil before treating it as a function.  Don't initialize
8598           the `globals' variable twice.
8599
8600 1998-06-24  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8601
8602         * fileio.c: Don't do directory seperator canonicalisation in
8603           substitute-in-file-name because we don't know that the
8604           filename refers to a local file.
8605
8606 1998-06-24  Adrian Aichner  <adrian@xemacs.org>
8607
8608         * process-nt.c (nt_create_process): Try appending the standard
8609           executable file extensions to the filename if none supplied.
8610
8611 1998-06-29  SL Baur  <steve@altair.xemacs.org>
8612
8613         * fileio.c (Fsubstitute_in_file_name): Enable double slash notation
8614         for cygwin32.
8615         From Keisuke Mori <ksk@ntts.com>
8616
8617 1998-06-24  Andy Piper  <andyp@parallax.co.uk>
8618
8619         * toolbar-msw.c (mswindows_output_toolbar): only enable masked
8620         images if we have masks. This handles the xbm case (have masks)
8621         and avoids overuse of resources in the xpm case (generally no masks).
8622         Don't output small toolbars.
8623
8624 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
8625
8626         * eval.c (run_hook_with_args_in_buffer): Don't treat
8627           the default value of a buffer local hook as a list of
8628           hooks unless it is both a cons and the car of that cons
8629           is not Qlambda.
8630
8631 1998-06-29  SL Baur  <steve@altair.xemacs.org>
8632
8633         * extents.c: Email address for Ben Wing is ben@xemacs.org.
8634         * process-unix.c: Ditto.
8635         * mule-coding.h: Ditto.
8636         * mule-coding.c: Ditto.
8637         * mule-charset.c: Ditto.
8638         * mule-charset.h: Ditto.
8639         * file-coding.c: Ditto.
8640         * file-coding.h: Ditto.
8641
8642 1998-06-22  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8643
8644         * event-msw.c: Guard against recursion when freeing
8645           FRAME_MSWINDOWS_TARGET_RECT struture in WM_SIZE processing.
8646
8647         * frame-msw.c: Don't set WS_VISIBLE attribute on first frame.
8648           Call ShowWindow twice in init_frame_3 to get round runemacs
8649           weirdness.
8650
8651 1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>
8652
8653         * scrollbar.c (vertical_scrollbar_changed_in_window): Ditto.
8654
8655         * winslots.h: Rename.
8656
8657         * window.c (specifier_vars_of_window): Renamed
8658         vertical-divider-draggable-p to vertical-divider-always-visible-p,
8659         as suggested by Ben Wing.
8660         (specifier_vars_of_window): Fix docstrings.
8661
8662 1998-06-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
8663
8664         * unexaix.c: Line number information works correctly again.
8665
8666 1998-06-22  Olivier Galibert  <galibert@pobox.com>
8667
8668         * emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry.
8669
8670 1998-06-21  Martin Buchholz  <martin@xemacs.org>
8671
8672         * editfns.c (get_home_directory): ANSIfy.
8673         XEmacs is compilable under C *and* C++.
8674         It's XEmacs, not Xemacs!
8675
8676 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8677
8678         * console-msw.h: added a list of fonts to device data.
8679
8680         * device-msw.c: enumerate list of available fonts in
8681           mswindows_init_device. Free list in mswindows_delete_device.
8682
8683         * objects-msw.c: Added helper function match_font used by
8684           mswindows_initialize_font_instance and mswindows_list_fonts.
8685           Allow a charset to be specified in a font string, even if
8686           previous fields havn't been specified.
8687
8688 1998-06-23  Greg Klanderman  <greg@alphatech.com>
8689
8690         * indent.c (column_at_point): column cache bugfix.
8691         Set last_known_column_point to the buffer position for
8692         which the column was requested, not buffer's point.
8693
8694         * redisplay.c (decode_mode_spec): for current-column, show
8695         window's point's column, not buffer's point's column.
8696
8697 1998-06-23  Andy Piper  <andyp@parallax.co.uk>
8698
8699         * menubar-msw.c (mswindows_handle_wm_command): use
8700         enqueue_misc_user event rather than
8701         mswindows_enqueue_msic_user_event to fix customize problems. Add some
8702         checks that X does.
8703
8704         * console-msw.h: declare mswindows_enqueue_magic_event.
8705
8706         * event-msw.c (mswindows_enqueue_magic_event): make global.
8707
8708 1998-06-24  Hrvoje Niksic  <hniksic@srce.hr>
8709
8710         * line-number.c (LINE_NUMBER_FAR): Reverted to 16384.
8711         (buffer_line_number): Use EMACS_INT_MAX instead of random LOTS.
8712         (add_position_to_cache): Use EMACS_INT instead of int.
8713
8714 1998-06-21  Olivier Galibert  <galibert@pobox.com>
8715
8716         * lisp-disunion.h (XMARKBIT): Have XMARKBIT return something
8717         suitable for an int used as a boolean (btw, C sucks.).
8718
8719 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
8720
8721         * object-msw.c: remove warnings.
8722
8723         * device-msw.c: #define wrongly named cygwin structure elements.
8724
8725         * s/cygwin32.h: define DEMI_BOLD
8726
8727 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8728
8729         * redisplay-msw.c: new function mswindows_apply_face_effects.
8730           This is called by output_string and output_cursor to display
8731           underline and strikeout on faces.
8732
8733 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8734
8735         * console-msw.h: added a list of fonts to device data.
8736
8737         * device-msw.c: enumerate list of available fonts in
8738           mswindows_init_device. Free list in mswindows_delete_device.
8739
8740         * objects-msw.c: Added helper function match_font used by
8741           mswindows_initialize_font_instance and mswindows_list_fonts.
8742           Allow a charset to be specified in a font string, even if
8743           previous fields havn't been specified.
8744
8745 1998-06-15  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8746
8747         * objects-msw.c:
8748           Removed compilation warnings from mswindows_string_to_color.
8749           mswindows_list_fonts returns a more general bogus font.
8750           New lisp-visible function mswindows-color-list.
8751
8752 1998-06-19  David Bush <david.bush@adn.alcatel.com>
8753
8754         * editfns.c (Fuser_login_name): Modify to user new function
8755         user_login_name.
8756         (user_login_name): C only function to avoid Lisp object overhead
8757         Returns "unknown" instead of nil in Cygwin environment
8758
8759         * fileio.c (Fexpand_file_name): Treat "~" and "~user" as
8760         equivalent for current user in Cygwin environment. Use new
8761         function user_login_name to get username.
8762
8763         * lisp.h: Declare user_login_name
8764
8765 1998-06-18  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
8766
8767         * unexaix.c (make_hdr): Fixed bias computations so debugging info
8768         works again.
8769         Some other insignificant nitpicks.
8770
8771 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
8772
8773         * toolbar-msw.c (mswindows_output_toolbar): specify ILC_MASK when
8774         creating the image list and make sure he bk color is transparent.
8775
8776 1998-06-18  Jan Vroonhof  <vroonhof@math.ethz.ch>
8777
8778         * event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from
8779         completed_timeouts. The timer could have expired.
8780
8781 1998-06-17  Andy Piper  <andyp@parallax.co.uk>
8782
8783         * console-msw.h: move XEMACS_RECT_WH inside frame
8784         parameters. define macors to access it.
8785
8786         * frame-msw.c (mswindows_init_frame_1): use new target_rect
8787         parameter to intialise desired sizing. (mswindows_init_frame_2):
8788         enable and size the frame to something sensible when we get
8789         here. (mswindows_set_frame_properites): use new
8790         mswindows_size_frame_internal function and size frame if frame
8791         parameters not just if init is finished - WM_SIZE happens too
8792         early for some specs. (mswindows_size_frame_internal): new
8793         function abstracted from mswindows_set_frame_properties.
8794         (Vmswindows_use_system_frame_size_defaults):
8795         new variable controls whether to allow the system to pick frame
8796         size defaults, defaults to nil.
8797
8798         * event-msw.c: in WM_SIZE use mswindows_size_frame_internal rather
8799         than duplicated code.
8800
8801 1998-06-15  Colin Rafferty <colin@xemacs.org>
8802
8803         * Makefile.in.in: Made EXTW_LINK expand properly.
8804
8805 1998-06-12  Martin Buchholz  <martin@xemacs.org>
8806
8807         * redisplay.c (vars_of_redisplay): default value of
8808         column-number-start-at-one should be NIL!
8809
8810 1998-06-11  Martin Buchholz  <martin@xemacs.org>
8811
8812         * casefiddle.c:
8813         (upcase-initials "fooBar") ==> "FooBar" instead of "Foobar"
8814
8815 1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
8816
8817         * eldap.c (Fldap_search_internal): Use build_ext_string instead of
8818         build_string to avoid crashes under Mule.
8819
8820 1998-06-13  Andy Piper  <andyp@parallax.co.uk>
8821
8822         * ntplay.c (play_sound_data_1): don't delete the sound data until
8823         the next sound is played and the previous one finished.
8824
8825 1998-06-10  Samuel Mikes  <smikes@alumni.hmc.edu>
8826
8827         * fileio.c (directory-sep-char): Escape backslashes.
8828
8829 1998-06-10  Hrvoje Niksic  <hniksic@srce.hr>
8830
8831         * event-stream.c: Fix docstring reference.
8832
8833 1998-06-12  Hrvoje Niksic  <hniksic@srce.hr>
8834
8835         * alloc.c (make_float): Remove useless initialization of `next'
8836         field.
8837         (make_pure_float): Ditto.
8838
8839         * lisp.h (struct Lisp_Float): Rename `next' to `__unused__next'.
8840
8841 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
8842
8843         * fileio.c (Fmake_directory_internal): Remove conditionals
8844         on WINDOWSNT when calling mkdir.
8845
8846         * ntproc.c: Deleted the following unused functions:
8847         register_child, reap_subprocess, sys_wait.
8848
8849         * nt.c (sys_rename): Ifzeroed this implementation.
8850         Deleted the following unused functions:
8851         sys_access, sys_chdir, sys_chmod, sys_creat, sys_link, sys_mkdir,
8852         sys_mktemp, sys_rmdir, sys_unlink, sys_close, sys_dup, sys_dup2,
8853         sys_read, sys_write.
8854         Merger sys_fopen and sys_open with sysdep.c implementation.
8855
8856         * sysdep.c: Removed MS-DOS code.
8857         (sys_rename): Deal with Microsoft rename weirdness.
8858         (sys_open): Implemented for Windows.
8859         (sys_fopen): Ditto.
8860         (sys_mkdir): Ditto.
8861
8862 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
8863
8864         * buffer.c (complex_vars_of_buffer): Removed %t description from
8865         the docstring.
8866
8867 1998-06-04  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
8868
8869         * scrollbar-msw.c: initialize the cbSize element of the
8870         SCROLLINFO struct before calling SetScrollInfo. WinNT seems
8871         to ignore the value of cbSize, but Win95 (and I presume Win98)
8872         appear to want it set to sizeof(SCROLLINFO).
8873
8874 1998-06-04  Kirill M. Katsnelson  <kkm@kis.ru>
8875
8876         * event-stream.c: Defined Qcancel_mode_internal.
8877         (syms_of_event_stream): defsymbol'ed it.
8878
8879         * events.h: Externed it.
8880
8881         * event-msw.c (mswindows_wnd_proc, WM_CANCELMODE): Added this handler.
8882
8883 1998-06-04  Oliver Graf <ograf@fga.de>
8884
8885         * frame-x.c (x_cde_destroy_callback): free the data
8886         (cde-start-drag-internal) corrected root position, 21.1 needs this
8887         hardcoded in Button events
8888         (offix-start-drag-internal) corrected root position
8889
8890 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
8891
8892         * process-nt.c (signal_cannot_launch): Use signal_simple_error()
8893         instead of error().
8894
8895 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
8896
8897         * dialog-msw.c (button_width): Removed `inline' from the function
8898         declaration.
8899
8900 1998-06-03  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
8901
8902         * frame-msw.c: add WS_VISIBLE flag to the first frame created.
8903         Note that adding this flag to subsequent frames causes problems.
8904
8905 1998-06-03  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
8906
8907         * glyphs-eimage.c (png_instantiate) move 'struct
8908         png_memory_storage tbr' out of nested block to avoid dangling
8909         reference
8910
8911 1998-06-02  Andy Piper  <andyp@parallax.co.uk>
8912
8913         * faces.h:
8914         * faces.c: rename 3d-object -> gui-element. add toolbar face which
8915         inherits from gui-element.
8916
8917         * glyphs-msw.c: use DIBitmaps for xbm bitmaps to be consistent
8918         with existing code, generate masks correctly.
8919
8920 1998-06-03  P. E. Jareth Hein  <jareth@camelot-soft.com>
8921
8922         * glyphs-eimage.c: Changed included header for gifs to use
8923         Gifreader instead of giflib.
8924
8925         * glyphs-x.c: removed the image-related functions that were
8926         moved into glyphs-eimage.
8927
8928 1998-06-02  David Bush  <david.bush@adnb.alcatel.com>
8929
8930         * glyphs.c (bitmap_to_lisp_data) Define XFree to be free
8931         if built without X Windows support.
8932
8933 1998-06-02  Hrvoje Niksic  <hniksic@srce.hr>
8934
8935         * fns.c (Fconcat): Synch docstring with new reality.
8936
8937 1998-06-03  SL Baur  <steve@altair.xemacs.org>
8938
8939         * frame.c: Remove reference to msdos.h (which is going away).
8940         Suggested by Hrvoje Niksic and Kirill Katsnelson.
8941
8942 1998-06-02  P. E. Jareth Hein  <jareth@camelot-soft.com>
8943
8944         * glyphs-eimage.c (jpeg_instantiate): Fix handling of
8945         grayscale images/
8946
8947
8948 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
8949
8950         * events.h: Fixed commentary about misc-user scrollbar events.
8951
8952         * scrollbar-x.c (x_update_vertical_scrollbar_callback): Use frame
8953         object as an event channel, instead of window object.
8954         (x_update_horizontal_scrollbar_callback): Ditto.
8955
8956 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
8957
8958         * ntplay.c (play_sound_data_1) new function. convert alloca data
8959         to malloc if necessary.
8960         (play_sound_file): if the file is not in our path then convert to
8961         data and play.
8962
8963 1998-06-01  SL Baur  <steve@altair.xemacs.org>
8964
8965         * mule-mcpath.c (mc_chdir): Reverse parameters in call to memcpy.
8966         * msdos.c (Frecent_doskeys): Ditto.
8967
8968         * unexalpha.c (unexec): Reverse parameters in call to memcpy.
8969         Suggested by Reggie Perry <perry@zso.dec.com>
8970
8971         * buffer.h: Eliminate size in declaration.
8972
8973 1998-06-01  Olivier Galibert  <galibert@pobox.com>
8974
8975         * unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge.
8976
8977 1998-06-01  Kirill M. Katsnelson  <kkm@kis.ru>
8978
8979         * gui.c (gui_item_init): Changed the default value for config member
8980         from Qunbound to Qnil.
8981
8982 1998-06-01  Greg Klanderman  <greg@alphatech.com>
8983
8984         * indent.c (vmotion_pixels): Don't #define abs().
8985
8986 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
8987
8988         * s/windowsnt.h: Defined popen and pclose to be _popen and _pclose
8989         respectively.
8990
8991 1998-05-30  Andy Piper  <andyp@parallax.co.uk>
8992
8993         * glyphs.h: add xbm declarations.
8994
8995         * console.h: add xbm_instantiate_method device method.
8996
8997         * glyphs.c (check_valid_xbm_inline) (xbm_validate)
8998         (bitmap_to_lisp_data) (xbm_mask_file_munging) (xbm_normalize)
8999         (xbm_possible_dest_types): moved here from glyphs-x.c. use
9000         locate_pixmap_file device method and read_bitmap_data_from_file
9001         instead of XmuReadBitmapDataFromFile.
9002         (xbm_instatntiate): make a device method.
9003
9004         * glyphs-x.c: see glyphs.c changes. (read_bitmap_data_from_file)
9005         new function that just calls XmuReadBitmapDataFromFile.
9006         (x_xbm_instatntiate): device method from xbm_instantiate.
9007
9008         * glyphs-msw.c (read_bitmap_data) (NextInt)
9009         (read_bitmap_data_from_file): new functions copied from Xmu
9010         sources.
9011         (xbm_create_bitmap_from_data) from Ben <ben@666.com> convert
9012         inline data to an mswindows bitmap.
9013         (init_image_instance_from_xbm_inline) (xbm_instantiate_1)
9014         (mswindows_xbm_instantiate): mswindows-ized versions of the X
9015         functions.
9016
9017 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
9018
9019         * window.c (specifier_vars_of_window): Renamed `has_modeline-p' to
9020         `modeline-visible-p'.
9021         Declared specifier lisp variables at the beginning oh the file
9022         as static.
9023
9024         * procimpl.h (struct process_methods): Changed semantics of
9025         create_process method so it accepts lisp strings instead of
9026         char pointers.
9027
9028         * process.c (Fstart_process_internal): Moved building of
9029         unix style argv from here to process-unix.c, ...
9030
9031         * process-unix.c (unix_create_process): ... right here.
9032
9033         * process-nt.c (nt_create_process): Changed this function to
9034         support new semantics, so avoided a GC problem.
9035
9036         * events.c (Fmake_event): Document misc-user events properties.
9037         (Fmake_event): Do not allow arbitrary objects for channel property
9038         of misc-user events.
9039         (Fmake_event): Change misc-user event validation: it is function
9040         which is required, not button.
9041
9042         * event-msw.c (mswindows_user_event_p): Recognize misc user events as
9043         user events.
9044         (mswindows_enqueue_misc_user_event): Added function.
9045         (mswindows_bump_queue): Removed function.
9046         (mswindows_enqueue_magic_event): Support NULL HWND parameter.
9047         (mswindows_wnd_proc, WM_CLOSE): Use mswindows_enqueue_misc_user_event().
9048         (mswindows_wnd_proc, WM_EXITSIZEMOVE): Ditto.
9049         (emacs_mswindows_handle_magic_event): Handle XM_BUMPQUEUE, by doing
9050         really nothing, which is my personal favorite thing.
9051
9052         * console-msw.h: Removed prototype for mswindows_bump_queue().
9053         Added prototype for mswindows_enqueue_misc_user_event().
9054
9055         * menubar-msw.c (mswindows_handle_wm_command): Use
9056         mswindows_enqueue_misc_user_event().
9057
9058         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
9059
9060         * dialog-msw.c (dialog_proc): Ditto.
9061
9062         * scrollbar-msw.c (mswindows_handle_scrollbar_event): Ditto.
9063          (mswindows_handle_scrollbar_event): Use frame, not window, for misc
9064         user events channel.
9065
9066 1998-05-29  Greg Klanderman  <greg@alphatech.com>
9067
9068         * window.c (Fwindow_displayed_text_pixel_height): was relying on
9069         incorrect semantics of vmotion_pixels which has been fixed.  don't
9070         use it anymore as it can't easily be used.
9071
9072         * indent.c (vmotion_pixels): fix off by one bug moving up.  also
9073         the motion was reported incorrectly if you tried to go past end of
9074         buffer.
9075
9076 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
9077
9078         * toolbar.h: Removed misleading commentary, as Martin suggested.
9079
9080 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
9081
9082         * lisp.h: Extern Qactivate_menubar_hook.
9083
9084         * menubar-msw.c (unsafe_handle_wm_initmenu_1): Pass correct value to
9085         run_hook ().
9086
9087 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
9088
9089         * glyphs-msw.c: use BPLINE macro.
9090
9091         * select-msw.c (mswindows-selection-exists-p)
9092         (mswindows-delete-selection): doc string fixes.
9093
9094         * toolbar-msw.c (mswindows_output_toolbar): make disabled buttons
9095         unpressable. warning elimination.
9096
9097 1998-05-28  Martin Buchholz  <martin@xemacs.org>
9098
9099         * alloc.c (dbg_constants):
9100         * dbxrc:
9101         * gdbinit:
9102         Remove toolbar_data debugging code, since that lrecord has
9103         also been removed.
9104
9105 Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
9106
9107         * alloc.c: zap cached value of (user-home-directory), so that
9108           it's not undumped.
9109
9110         * buffer.c: From init_buffer(), separated out code that
9111           determined the initial directory for the *scratch* buffer, and
9112           put them into a function called "init_initial_directory()".
9113           The initial directory is now available as a global "char *"
9114           called initial_directory.
9115
9116         * buffer.h: Added extern entries for initial_directory[] and
9117           init_initial_directory().
9118
9119         * editfns.c: added new elisp function "user-home-directory",
9120         which basically returns getenv("HOME"), but attempts to use
9121         other values if $HOME isn't set.This may have to be tweaked in
9122         the future as, under Unix, "/" is used if $HOME isn't set (this
9123         probably should be set to the current directory).  To support
9124         this, a new C function, "get_home_directory()", now exists,
9125         which returns the "home directory", as a "char *" string.
9126
9127         * emacs.c: Rearrange NT initialization order so that
9128         environment/registry variables will be properly entered into
9129         Vprocess_enviroment.
9130
9131         * fileio.c: replaced egetenv("HOME") with calls to the new
9132           get_home_directory().
9133
9134         * lisp.h: Added function prototypes for uncache_home_directory()
9135           and get_home_directory(), along with lisp prototypes for
9136           Fuser_home_directory() and friends.
9137
9138         * nt.c: replaced getenv("HOME") with calls to the new
9139           get_home_directory().
9140
9141         * sysfile.h: for WINDOWSNT, #include <direct.h>, to suppress
9142           warnings about getcwd(), etc. not having prototypes.
9143
9144 1998-05-28  Kirill M. Katsnelson  <kkm@kis.ru>
9145
9146         * process-nt.c (send_signal): Emulate SIGHUP.
9147         (validate_signal_number): Ditto.
9148
9149         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally
9150         remove MOD_SHIFT from ASCII characters.
9151         (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when
9152         F10 is pressed.
9153
9154 1998-05-24  Oliver Graf <ograf@fga.de>
9155
9156         * frame-x.c (cde-start-drag-internal): added filename and multi-
9157         data transfers
9158         (x_cde_convert_callback) dito
9159
9160 1998-05-26  Oliver Graf <ograf@fga.de>
9161
9162         * frame-x.c: include event-mod.h also with CDE
9163         (x_cde_convert_callback) made the thing working
9164         (cde-start-drag-internal) also debugging
9165
9166 1998-05-25  Hans Guenter Weigand  <hgweigand@wiesbaden.netsurf.de>
9167
9168         * m/sparc.h:
9169         * getloadavg.c:
9170         * malloc.c:
9171         * unexec.c:
9172         * mem-limits.h:
9173           - add __OpenBSD__ where __NetBSD__ was found.
9174           - TODO: replace platform-specific conditional compilation by
9175             feature tests in configure.in.
9176
9177 1998-05-15  Greg Klanderman  <greg@alphatech.com>
9178
9179         * window.c (Fwindow_displayed_text_pixel_height): New function.
9180         (syms_of_window): DEFSUBR it.
9181
9182         * indent.c (Fvertical_motion_pixels): New function - request
9183         movement in pixels.
9184         (vmotion_pixels): helper.
9185         (syms_of_indent): DEFSUBR.
9186         * lisp.h: declaration for vmotion_pixels().
9187
9188         * indent.c (Fvertical_motion): Add optional third argument PIXELS,
9189         to request returning motion in pixels.
9190         (Fvertical_motion_pixels): Remove, functionality merged into
9191         Fvertical_motion.
9192         * window.c (window_scroll): call Fvertical_motion with 3 arguments.
9193         (Fmove_to_window_line): ditto.
9194         * lisp.h: Change declaration for Fvertical_motion.
9195
9196         * window.c: rename window-text-pixel-{height,width,edges} to
9197         window-text-area-pixel-*.
9198
9199 1998-05-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
9200
9201         * tooltalk.c (vars_of_tooltalk) added staticpro for
9202         Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str
9203
9204 1998-05-27  Andy Piper  <andyp@parallax.co.uk>
9205
9206         * faces.c: create a new 3d_object_face, make modeline and
9207         vertical_divider faces fallback to this rather than the default.
9208
9209 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
9210
9211         * s/cygwin32.h: define charsets for cygwin.
9212
9213 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
9214
9215         * toolbar-msw.c (mswindows_output_toolbar): fix up button sizes
9216         and coordinates. resize bitmaps if we have already settled on a
9217         different size.
9218
9219         * glyphs-msw.c (xpm_to_eimage): add ';' for mswindows compiler.
9220
9221 1998-05-25  Hrvoje Niksic  <hniksic@srce.hr>
9222
9223         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
9224
9225         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
9226
9227         * gui.h: Ditto.
9228
9229         * gui-x.c (popup_selection_callback): Ditto.
9230
9231         * dialog-msw.c (dialog_proc): get_callback -> get_gui_callback.
9232
9233         * gui.c (get_callback): Renamed to get_gui_callback.
9234
9235 1998-05-17  Martin Buchholz  <martin@xemacs.org>
9236
9237         * glyphs.h: order rearrangement.
9238
9239         * device-tty.c (tty_asynch_device_change): Warning suppression.
9240         * device-x.c (x_device_system_metrics): Warning suppression.
9241         Make Doc strings consistent with coding standards.
9242
9243 1998-05-24  Martin Buchholz  <martin@xemacs.org>
9244
9245         * general.c: multiple definition of `Qicon'.  general.c seems
9246           like a good home for Qicon.
9247
9248 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
9249
9250         * This patch is to fix compilation warnings under Windows.
9251
9252         * s/windowsnt.h: Encapsulate getpid with sys_getpid.
9253         Added prototypes for FSF inherited functions, with which XEmacs is
9254         sprinkled thoroughly.
9255         Removed some #if 0 code. Bracketed some more definitions, probably
9256         related to Visual C versions prior to 4 (we do not support them).
9257
9258         * sysfloat.h (logb): Finally, get logb() prototyped.
9259
9260         * sysfile.h: Added Windows specific includes.
9261         Removed old Windows specific code bracketed with #if 0.
9262
9263         * sysdep.h: Added prototype for xrealpath().
9264
9265         * sysdep.c (sys_getpid): Added function, to support '95 negative pids.
9266
9267         * symsinit.h: Added prototypes for syms_of_dired_mswindows,
9268         vars_of_dired_mswindows and init_ntproc (Grrr).
9269
9270         * realpath.c: Added Windows specific include files.
9271         (xrealpath): Conditionalized declaration of some auto variables on
9272         S_IFLNK, to avoid warnings.
9273
9274         * ntproc.c: Disabled some compiler warnings. This file is going to
9275         die, so I have not cleaned it up much.
9276         (set_process_dir): Const parameter.
9277         (Fwin32_short_file_name): Down CHECK_* macros to one argument.
9278         (Fwin32_long_file_name): Ditto.
9279         (Fwin32_set_process_priority): Ditto. Why didn't I remove these
9280         three functions?
9281
9282         * nt.h: Added prototypes for set_process_dir and convert_time.
9283
9284         * nt.c: More include files.
9285         (getpwnam): Consted char* argument.
9286         (get_emacs_configuration): Const return value.
9287         (opendir): Const argument.
9288         (stat): Casted converstion long->short.
9289         (stat): Removed ad hoc and questionable support for non-MSC compile.
9290         (sys_pipe): Removed unused auto variable.
9291         (_sys_read_ahead): Removed calls to DebPrint.
9292         (sys_read): Ditto, in 2 places.
9293         (term_ntproc): Added unused int parameter to signal handler, to
9294         avoid a warning when compiling a call to signal().
9295         (msw_sigset): Properly return old signandler or NULL instead of void.
9296
9297         * floatfns.c (Flogb): Casted arguments to unary minus to signed.
9298
9299         * gmalloc.c (morecore): Ditto.
9300         (_free_internal): Ditto.
9301
9302         * lread.c (parse_integer): Ditto.
9303
9304         * dired-msw.c: Added several include files.
9305
9306         * cmdloop.c (Fcommand_loop_1): Added Microsoft C to the Big List
9307         of Compilers to Shut Up.
9308
9309         * callproc.c: Added #includes to suppress warnings under Windows.
9310         (init_callproc): Removed #if0'ed code and unused variables.
9311
9312 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
9313
9314         * device-msw.c (mswindows_device_system_metrics): do planes in a
9315         way consistent with X.
9316
9317         * glyphs-msw.c (mswindows_initialize_image_instance_mask): don't
9318         use SetPixel, use DIBits functions.
9319         (xpm_to_eimage): frob colors more closely like xpm deos.
9320
9321         * toolbar-msw.c: only resize bitmaps when shrinking. Adjust look
9322         to be closer to X version.
9323
9324         * event-msw.c: use tooltip string directly.
9325
9326         * redisplay-msw.c: reinstate Kirill's bg pixmap change.
9327
9328         * objects-msw.c: frob rgb colors that only Kyle uses.
9329
9330         * dialog-msw.c (button_width): INLINE -> inline.
9331
9332 1998-05-23  SL Baur  <steve@altair.xemacs.org>
9333
9334         * getloadavg.c (getloadavg): Fix typo.
9335
9336 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
9337
9338         * objects-msw.c (mswindows_initialize_font_instance): Added support
9339         for font character sets.
9340         Replaced 'XXX' with '####' in comments throughout the file.
9341
9342 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
9343
9344         * emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and
9345         console_type_create_dialog_mswindows(), to initialize Windows dialog
9346         support.
9347
9348         * symsinit.h: Prototyped the above functions.
9349
9350         * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency
9351         checks to dialog.c...
9352
9353         * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a
9354         device must support dialog boxes, and the descriptor must supply at
9355         least one button.
9356
9357         * dialog-msw.c: New file, dialogs for Windows.
9358
9359 1998-05-21  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
9360
9361         * eldap.c (ldap_search_unwind): Return Qnil instead of nothing
9362         (Fldap_search_internal): Removed unused variable `err'
9363
9364         * eldap.h: Moved Lisp_LDAP declaration here instead of using a
9365         forward declaration
9366
9367 1998-05-17  Martin Buchholz  <martin@xemacs.org>
9368
9369         * eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is
9370         defined.  Therefore there is no need to handle the case when
9371         HAVE_LDAP is undefined.  Similarily, there is no reason to have
9372         any code wrapped within `#ifdef emacs', since this code is only
9373         useful within an emacs.  This simplifies the code significantly.
9374
9375         * inline.c: Include eldap.h only if HAVE_LDAP.
9376         * inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h
9377         already does that.
9378
9379 1998-05-21  Kirill M. Katsnelson  <kkm@kis.ru>
9380
9381         * unexnt.c (copy_executable_and_dump_data_section): Suppress
9382         printing dump stats when building without DEBUG_XEMACS.
9383         (dump_bss_and_heap): Ditto.
9384
9385 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
9386
9387         * gnuclient.c: don't suppress window system if there is no display
9388         and we are running under mswindows. send 'mswindows device type if
9389         we are in this situation.
9390
9391 1998-05-20  Andy Piper  <andyp@parallax.co.uk>
9392
9393         * general.c:
9394         * lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c.
9395
9396         * glyphs-msw.c: change cursor imgae type name to resource. Fix
9397         some nits.
9398
9399 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
9400
9401         * EmacsFrame.c (Xt_StringToScrollBarPlacement):  Added support for
9402         {top,bottom}-{left,right} values in addition to
9403         {top,bottom}_{left,right}.
9404
9405 1998-05-18  Hrvoje Niksic  <hniksic@srce.hr>
9406
9407         * fileio.c (Fmake_temp_name): Remove unreached code.
9408
9409         * process-nt.c (validate_signal_number): Use
9410         signal_simple_error().
9411
9412 1998-05-19  Martin Buchholz  <martin@xemacs.org>
9413
9414         * unexhp9k800.c:
9415         * sound.c (vars_of_sound):
9416         * sysdep.c (reset_sigio_on_device):
9417         * window.c (window_bottom_gutter_height):
9418         unexhp9k800.c:258: warning: implicit declaration of function
9419         `calculate_checksum'
9420         sound.c:604: warning: implicit declaration of function `vars_of_hpplay'
9421         sysdep.c:1012: warning: unused variable `owner'
9422         window.c:993: warning: `window_right_toolbar_width' defined but not used
9423
9424 1998-05-19  Andy Piper  <andyp@parallax.co.uk>
9425
9426         * glyphs-msw.c (mswindows_create_resized_mask)
9427         (mswindows_create_resized_bitmap): new funnctions split out from
9428         mswindows_resize_dibitmap_instance.
9429
9430         * glyphs-msw.h: declare new resize functions.
9431
9432         * toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize
9433         functions so that the original bitmaps are preserved.
9434
9435         * sheap.c: fixup static heap exhausted error to avoid FAQs.
9436
9437         * redisplay-msw.c (mswindows_output_blank): fixup brush from bg
9438         color if we are trying to output 0 depth bg pixmap.
9439
9440         * scrollbar-msw.c: warning elimination.
9441
9442 1998-05-18  Martin Buchholz  <martin@xemacs.org>
9443
9444         * frame-x.c (x_update_frame_external_traits): Start preprocessor
9445         directives in column 1.
9446
9447         * search.c (skip_chars): Avoid using xzero with arrays, since some
9448         compilers get confused by the construct &array.
9449
9450 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
9451
9452         * objects-msw.h:
9453         * objects-msw.c: Changed the charset value for a new font from
9454         "don't care" to "ansi".
9455
9456         * glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix.
9457
9458 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
9459
9460         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift
9461         modifier on control chars.
9462         Use IsCharAlpha() instead of isaplha().
9463
9464 1998-05-19  Kazuyuki IENAGA <ienaga@jsys.co.jp>
9465
9466         * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, "").
9467
9468 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
9469
9470         * objects-msw.c (mswindows_initialize_font_instance): Use ANSI
9471         charset when creating font.
9472         (mswindows_initialize_color_instance): Do not create brush along
9473         with a color.
9474         (mswindows_finalize_color_instance): Do not delete it then.
9475
9476         * objects-msw.h (struct mswindows_color_instance_data): Removed
9477         brush slot, and corresponding accessor macro.
9478
9479 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
9480
9481         * toolbar.c: Removed toolbar_data lrecord implementation.
9482         (mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data
9483         with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS).
9484         (compute_frame_toolbar_buttons): Ditto.
9485         (CHECK_TOOLBAR): Ditto.
9486         (set_frame_toolbar): Removed allocation of toolbar_data lrecord.
9487         (update_frame_toolbars): Do not check for changed buffer
9488         here. Toolbar information is provided by cached specs in
9489         windows. The check for buffer is eliminated becuase toolbars are
9490         marked changed in set_frame_selected_window() in frame.c
9491         Added check for changed toolbars geometry.
9492         (compute_frame_toolbars_data): Removed unused second parameter;
9493         Adjusted callers of this static function throughout the file.
9494         (init_frame_toolbars): Initialize current_toolbar_size.
9495         (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of
9496         what is its current expansion, for clarity.
9497         (init_frame_toolbars): Ditto.
9498         (init_device_toolbars): Ditto.
9499         (init_global_toolbars): Ditto.
9500
9501         * toolbar.h: Removed definition of toolbar_data lrecord.
9502         Added accessor macros FRAME_TOOLBAR_BUTTONS and
9503         FRAME_CURRENT_TOOLBAR_SIZE.
9504         Added macro DEVICE_SUPPORTS_TOOLBARS_P.
9505
9506         * toolbar-x.c (x_output_toolbar): The same change as in
9507         toolbar-msw.c
9508         (x_output_toolbar): Ditto.
9509         (x_redraw_exposed_toolbar): Ditto.
9510
9511         * toolbar-msw.c (mswindows_output_toolbar): Retrieve current
9512         buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro.
9513         (mswindows_output_toolbar): Ditto.
9514         (mswindows_output_toolbar): Ditto.
9515
9516         * frame.c (mark_frame): Removed marking of arrays, according to
9517         frameslots.h change.
9518         (nuke_all_frame_slots): Ditto.
9519         (set_frame_selected_window): Mark toolbars changed when
9520         last_nonminibuf_window changes.
9521
9522         * frame.h (struct frame): Moved some slots to frameslots.h.
9523         Added current_toolbar_size array.
9524         Changed references from toolbar_data to toolbar_buttons in macros
9525         FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE,
9526         FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and
9527         FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH.
9528
9529         * frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h
9530         Moved arrays of lisp objects here from frame.h: toolbar_size,
9531         toolbar_visible_p, toolbar_border_width.
9532         Removed toolbar_data slot and added toolbar_buttons.
9533
9534 1998-05-17  Kirill M. Katsnelson  <kkm@kis.ru>
9535
9536         * symsinit.h: Externed syms_of_process_nt()
9537
9538         * emacs.c (main_1): Call syms_of_process_nt()
9539
9540         * process-nt.c: Quote process arguments by a call to Lisp function
9541         `nt-quote-process-args'.
9542         (syms_of_process_nt): New function.
9543         (nt_send_process): Flush data stream after each write, to avoid
9544         leaving buffered data.
9545         (nt_send_process): When blocked on process output, wait for
9546         process to slurp more for progressively increasing time intervals.
9547
9548 1998-05-17  Martin Buchholz  <martin@xemacs.org>
9549
9550         * window.c (have_undivided_common_edge): Make file-local function
9551         static.
9552         (map_windows): Return 0 if all map functions successful.
9553         Fix typos.
9554
9555         * winslots.h: Use unlikely names for local variables in macros to
9556         avoid shadowing warnings.
9557
9558 1998-05-17  Andy Piper  <andyp@parallax.co.uk>
9559
9560         * toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width
9561         so that we re-output if the toolbar size has changed.
9562
9563 1998-05-17  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
9564
9565         * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c.
9566
9567         * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c.
9568
9569         * unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully
9570         greater).
9571
9572 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
9573
9574         * glyphs-msw.c: Defined OEMRESOURCE before including windows.h to
9575         get bitmap manifest constants defined.
9576
9577         * console-msw.h: Include system files in angle brackets, not in
9578         quotes.
9579
9580         * window.c (specifier_vars_of_window): Fixed a typo in
9581         `vertical-divider-line-width' docstirng.
9582
9583 1998-05-16  Olivier Galibert  <galibert@pobox.com>
9584
9585         * line-number.c (delete_invalidate_line_number_cache): Use an
9586         EMACS_INT.
9587         (buffer_line_number): Remove dangerous, plain wrong when using
9588         64bits emacs ints, cast.
9589
9590         * insdel.c (buffer_delete_range): Use an EMACS_INT.
9591
9592         * cmds.c (Fforward_line): Use EMACS_INTs.
9593
9594         * search.c (bi_scan_buffer): Change to use EMACS_INTs.
9595         (scan_buffer): Ditto.
9596         (bi_find_next_newline_no_quit): Remove useless cast.
9597         (find_next_newline_no_quit): Ditto.
9598         (find_next_newline): Ditto.
9599         (find_before_next_newline): Use an EMACS_INT.
9600
9601         * lisp.h: Change scan_buffer to pass EMACS_INTs.
9602
9603 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
9604
9605         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
9606
9607         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
9608
9609         * gui-x.c (popup_selection_callback): Use it.
9610
9611         * gui.h (get_callback): Declare it.
9612
9613         * gui.c (get_callback): New function.
9614
9615 1998-05-15  SL Baur  <steve@altair.xemacs.org>
9616
9617         * window.c (have_undivided_common_edge): Guard scrollbar specific
9618         stuff.
9619         (window_needs_vertical_divider_1): Ditto.
9620
9621 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
9622
9623         * emacs.c (decode_path): Eliminate compiler warning.
9624         (Fdecode_path): Renamed to Fsplit_path.
9625         (Fsplit_string_by_char): New function.
9626
9627 1998-05-14  Damon Lipparelli  <lipp@primus.com>
9628
9629         * winslots.h: close comment
9630
9631 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
9632
9633         * callproc.c: Removed declared and unused variable Qbuffer_file_type.
9634
9635         * bufslots.h: Removed buffer_file_type slot.
9636
9637         * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from
9638         buffer local flags.
9639         (complex_vars_of_buffer): Removed buffer-file-type variable and
9640         its default reference.
9641
9642 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
9643
9644         * faces.c (complex_vars_of_faces): Defined
9645         Vvertical_divider_face.
9646         (vars_of_faces): Staticpro it.
9647
9648         * faces.h: Externed Vvertical_divider_face.
9649
9650         * redisplay-x.c (x_output_vertical_divider): Use
9651         Vvertical_divider_face to draw the divider instead of modeline
9652         face.
9653
9654         * redisplay-msw.c (mswindows_output_vertical_divider): Draw
9655         divider face using Vvertical_divider_face background.
9656         Fix drawing spacing gaps around the divider.
9657
9658 1998-05-14  Didier Verna  <verna@inf.enst.fr>
9659
9660         * redisplay-x.c (x_output_vertical_divider): removed hard-wired
9661         values for the vertical divider line width and spacing. Use the
9662         cached values from the window structure instead.
9663         (x_divider_width): ditto.
9664
9665         * window.c (specifier_vars_of_window): new specifiers:
9666         vertical-divier -line-width and -spacing.
9667         (vertical_divider_global_width_changed): formerly known as
9668         vertical_divider_shadow_thickness_changed.
9669
9670         * winslots.h: new slots: vertical_specifier _line_width and
9671         _spacing. Plus corrected a comment typo.
9672
9673 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
9674
9675         * window.h: Declared window_divider_width().
9676
9677         * console-stream.c (stream_divider_width): Removed method.
9678         (console_type_create_stream): And declaration for it.
9679
9680         * redisplay.c (pixel_to_glyph_translation): Use
9681         window_divider_width() instead of divider_width redisplay method.
9682         (pixel_to_glyph_translation): Fix top divider edge calculation
9683         when scrollbar is on top.
9684
9685         * window.c (window_divider_width): New function, an outphaser for
9686         divider_width redisplay method.
9687         (window_right_gutter_width): Use it.
9688         (specifier_vars_of_window): For vertical-divider-{spacing,line-width}
9689         specifiers, set fallback values differently on TTYs, and document
9690         the behavior of these on TTYs in the docstrings.
9691
9692         * scrollbar.c (update_scrollbar_instance): Use
9693         window_divider_width() instead of divider_width redisplay method.
9694
9695         * console.h (struct console_methods): Removed divider_width_method.
9696
9697         * redisplay-tty.c (tty_divider_width): Removed device method.
9698         (console_type_create_redisplay_tty): Removed definition for it.
9699         (tty_output_vertical_divider): Respect the value returned by
9700         window_divider_width thus divider line width specification.
9701
9702         * redisplay-msw.c (mswindows_divider_width): Removed device method.
9703         (console_type_create_redisplay_mswindows): Removed definition for it.
9704         (mswinodws_output_vertical_divider): Respect the value returned by
9705         window_divider_width thus divider line width specification.
9706
9707 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
9708
9709         * toolbar-msw.c: guess toolbar frame size a bit more accurately.
9710
9711 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
9712
9713         * glyphs-msw.c: resource loading implementation.
9714         (cursor_normalize): new function.
9715         (cursor_validate): ditto.
9716         (cursor_instantiate): ditto.
9717         (cursor_name_to_resource): ditto.
9718         (cursor_possible_dest_types): ditto.
9719         (check_valid_symbol): ditto.
9720         (check_valid_string_or_int): ditto.
9721
9722 1998-05-14  Martin Buchholz  <martin@xemacs.org>
9723
9724         * sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like
9725         VINTR and VQUIT.
9726
9727         * process-unix.c (process_signal_char): Use VSUSP instead of
9728         non-standard VSWTCH.  Always prefer VSUSP to VSWTCH.
9729
9730 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
9731
9732         * specifier.c (specifier_instance): Change locale precedence of
9733         instantiation so window locale has higher priority than buffer
9734         locale.
9735         (Fspecifier_instance): Reflect this in docstring.
9736         (Fadd_spec_list_to_specifier): Ditto.
9737         (Fadd_spec_to_specifier): Ditto.
9738         (Fremove_specifier): Ditto.
9739
9740 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
9741
9742         ** Dialog separation into a device method from Andy Piper
9743
9744         * emacs.c (main_1): Call console_type_create_dialog_x().
9745
9746         * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted
9747         into this device method.
9748         (console_type_create_dialog_x): New function.
9749
9750         * dialog.c (Fpopup_dialog_box): New function.
9751         (syms_of_dialog): Defsubr it.
9752
9753         * console.h (struct console_methods): Declared
9754         popup_dialog_box_method().
9755
9756         * symsinit.h: Defined console_type_create_dialog_{x,mswindows}
9757
9758 1998-05-14  Oliver Graf <ograf@fga.de>
9759
9760         * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created
9761         * frame-x.c (x_cde_transfer_callback): checked for merge errors
9762
9763 1998-05-13  Oliver Graf <ograf@fga.de>
9764
9765         * dragdrop.c (vars_of_dragdrop): provide dragdrop-api
9766
9767 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
9768
9769         * console.h (device_metrics): Removed dbcs, input-method-editor
9770         and right-to-left metrics.
9771
9772         * device.c (Fdevice_system_metric): Ditto.
9773         (Fdevice_system_metrics): Ditto.
9774         (syms_of_device): Ditto.
9775         (Fdevice_system_metric): Swapped DEVICE and METRIC parameters back
9776         again.
9777
9778 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
9779
9780         * line-number.h (mark_line_number_cache): Remove unused
9781         declaration.
9782
9783         * line-number.c (LINE_NUMBER_FAR): Increase to 32768.
9784         (get_nearest_line_number): Simplify.
9785         (add_position_to_cache): Make the old marker point nowhere.
9786
9787 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
9788
9789         ** Renamed window-divider-map => vertical-divider-map
9790         and event-over-divider-p => event-over-vertical-divider-p,
9791         in the following files/functions:
9792         * events.h:
9793         * events.c (Fevent_over_divider_p):
9794         * keymap.c (get_relevant_keymaps):
9795         (vars_of_keymap):
9796
9797         * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER.
9798
9799         * redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER.
9800
9801 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
9802
9803         * window.c (vertical_divider_changed_in_window): Renamed so.
9804         (specifier_vars_of_window): Defined Vvertical_divider_draggable_p.
9805         (window_needs_vertical_divider_1): Decide whether we need it based
9806         on the value of the above specifier. If separators are unwanted,
9807         put them only if there's no scrollbar between this window and its
9808         right neighbor.
9809         (have_undivided_common_edge): New function, helper for the above.
9810         (window_needs_vertical_divider): Return either a cached value,
9811         or clauclate and cache one.
9812         (invalidate_vertical_divider_cache_in_window): Implemented.
9813         (map_windows): Changed return type to int, return the value from
9814         MAPFUN.
9815
9816         * window.h: Prototype invalidate_vertical_divider_cache_in_window.
9817         (struct window): Added need_vertical_divider_p and
9818         need_vertical_divider_valid_p.
9819
9820         * winslots.h: Added vertical_divider_draggable_p slot.
9821
9822         * scrollbar.c (vertical_scrollbar_changed_in_window): Implemented.
9823         (specifier_vars_of_scrollbar): Used it in all vertical specifiers.
9824
9825         * frame.c (invalidate_vertical_divider_cache_in_frame): New function.
9826
9827         * frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call
9828         invalidate_vertical_divider_cache_in_frame().
9829         Prototype it.
9830
9831 1998-05-14  Andy Piper  <andyp@parallax.co.uk>
9832
9833         * toolbar-msw.c: provide correct parameters to TB_SETROWS.
9834
9835         * glyphs-msw.c (mswindows_initialize_image_instance_mask): size
9836         masks correctly and don't select 0.
9837
9838 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
9839
9840         * winslots.h: New file, declaration of some struct window and
9841         struct saved_window members.
9842
9843         * window.h (struct window): Include it, with required preprocessor
9844         magic.
9845
9846         * window.c (mark_window): Ditto.
9847         (allocate_window): Ditto.
9848         (struct saved_window): Ditto.
9849         (mark_window_config): Ditto.
9850         (saved_window_equal): Ditto.
9851         (Fset_window_configuration): Ditto.
9852
9853 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
9854
9855         * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix.
9856
9857 1998-05-12  Didier Verna  <verna@inf.enst.fr>
9858
9859         * redisplay-x.c (x_output_vertical_divider): draw shadows around
9860         the divider line. The shadow thickness is currently
9861         hard-wired. This will probably be turned into a specifier soon.
9862
9863 1998-05-12  Didier Verna  <verna@inf.enst.fr>
9864
9865         * console.h (struct console_methods): the divider_width console
9866         method now requires a struct window * argument.
9867
9868         * redisplay-x.c (x_divider_width): ditto. Plus remove
9869         X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS.
9870         (x_output_vertical_divider): give a depressed look when the shadow
9871         thickness is negative.
9872
9873         * console-stream.c (stream_divider_width): pass a struct window *
9874         argument.
9875
9876         * redisplay-tty.c (tty_divider_width): ditto.
9877
9878         * window.c (window_right_gutter_width): totdi.
9879
9880         * redisplay.c (generate_modeline): ittod.
9881
9882         * scrollbar.c (update_scrollbar_instance): ttido.
9883
9884         * redisplay-msw.c (mswindows_divider_width): ottid.
9885         WARNING: this enables to compile, but the feature is not functional.
9886
9887         * window.h (struct window): new field
9888         vertical_divider_shadow_thickness.
9889
9890         * window.c (specifier_vars_of_window): new specifier
9891         vertical-divider-shadow-thickness.
9892         (vertical_divider_shadow_thickness_changed): new function to
9893         inform redisplay that the window has changed.
9894         (mark_window): handle new field vertical_divider_shadow_thickness
9895         from struct window.
9896         (allocate_window): ditto.
9897         (saved_window_equal): toddi.
9898         (Fset_window_configuration): totid.
9899         (save_window_save): ttdio.
9900         (struct saved_window): new field vertical_divider_shadow_thickness.
9901
9902 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
9903
9904         * device-msw.c (mswindows_device_system_metrics): Support a deluge
9905         of metrics.
9906
9907 1998-05-12  Oliver Graf <ograf@fga.de>
9908
9909         * frame-x.c (x_cde_transfer_callback): fixed for the new protocol
9910         * event-Xt.c (x_event_to_emacs_event): C++ compability
9911
9912 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
9913
9914         * emacs.c (Fdecode_path): Default SEPCHAR to value of
9915         path-separator.
9916
9917 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
9918
9919         * emacs.c (vars_of_emacs): Do it here; change the meaning of
9920         Vpath_separator.
9921
9922         * fileio.c (vars_of_fileio): Don't define Vpath_separator here.
9923
9924 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
9925
9926         * emacs.c (decode_path_1): New function.
9927         (decode_path): Use it.
9928         (Fdecode_path): Renamed from Fdecode_path_internal; use
9929         decode_path_1.
9930
9931 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
9932
9933         * macros.c (Fzap_last_kbd_macro_event): New function.
9934         (Fend_kbd_macro): Remove REMOVE_LAST kludge.
9935
9936 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
9937
9938         * redisplay-msw.c (mswindows_output_dibitmap_region): make sure
9939         multiple bitmaps are output vertically as well as horizontally.
9940         * (mswindows_output_dibitmap): don't cope with bitmap boundaries
9941         crossing lines this is handled by
9942         mswindows_output_dibitmap_region.
9943
9944 1998-05-12  Martin Buchholz  <martin@xemacs.org>
9945
9946         * inline.c: Include eldap.h
9947
9948         * menubar-x.c (x_update_frame_menubar_internal):
9949         Remove: unused variable `container'
9950
9951 1998-05-11  Martin Buchholz  <martin@xemacs.org>
9952
9953         * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly.
9954         Unfortunately, the resulting temacs still cannot dump.
9955
9956         * symbols.c (symbol_is_constant):
9957         (verify_ok_for_buffer_local):
9958         -Wswitch Warning suppression - add default case to switches.
9959
9960         * redisplay.c (decode_mode_spec): Remove unused variables,
9961         Replace Fcoding_system_property (codesys, Qmnemonic) with
9962         XCODING_SYSTEM_MNEMONIC (codesys);
9963         Fcoding_system_property is for users.
9964
9965         * buffer.c:
9966         * fileio.c:
9967         * lread.c:
9968         * xselect.c:
9969         Change empty docstrings into no doc strings at all.
9970         Fix bogus FSF-format docstrings.
9971
9972         * extents.c:
9973         Standardize docstrings.
9974
9975         * floatfns.c:
9976         Explain problems with matherr.
9977
9978         * glyphs.c:  make DEFUNs etags-readable, i.e. single-line
9979
9980         * syssignal.h:
9981         if BROKEN_SIGIO, then SIGIO wants to be undefined.
9982         if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\
9983         Fix the weird resultant interaction (causes windows problems)
9984
9985         * gdbinit:
9986         * dbxrc:
9987         Take new EMACSBOOTSTRAPLOADPATH into account.
9988         Update documentation strings
9989
9990         * Makefile.in.in:
9991         - Adjust for luser's CDPATH being set to something weird.
9992         - Take into account bash 2.02's tendency to print the cwd when
9993           using CDPATH.  Always use `cd ./foo' instead of `cd foo'.
9994         - fix the run-temacs target to use $(DUMPENV)
9995         - fix the run-puremacs target to use $(DUMPENV)
9996         - fix the `depend' target to properly $(RM) the right files
9997         - Generate a better TAGS file for XEmacs' lisp code using
9998           hand-crafted regexps.
9999         - Use standard coding conventions for modules/Makefile.in
10000
10001 1998-05-12  Didier Verna  <verna@inf.enst.fr>
10002
10003         * redisplay.c: removed the scrolling modeline code that didn't
10004         make it for 21.0. To be continued ...
10005
10006 1998-05-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
10007
10008         * emacs.c (Fdecode_path_internal): Removed bogus handling of nil
10009         and empty string inputs.
10010
10011 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
10012
10013         * redisplay-x.c (x_output_vertical_divider): Fixed typo.
10014
10015 1998-05-10  Oliver Graf <ograf@fga.de>
10016
10017         * event-stream.c (enqueue_misc_user_event_pos): created
10018         * lisp.h (enqueue_misc_user_event_pos): prototype added
10019         * frame-x.c (x_cde_transfer_callback): debug code plus API changes
10020         * emacs.c: call vars_of_dragdrop
10021         * dragdrop.c (vars_of_dragdrop): provide dragdrop
10022
10023 1998-05-11  Oliver Graf <ograf@fga.de>
10024
10025         * frame-x.c (x_cde_transfer_callback): return at correct pos
10026         * event-Xt.c (x_event_to_emacs_event): changed format of drop
10027         object for MIME (see comment in dragdrop.c)
10028         * dragdrop.c: API change documented in comment
10029         removed provide of dragdrop [is provided by dragdrop.el]
10030
10031 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
10032
10033         * window.c (window_needs_vertical_divider): Enable vertical
10034         dividers for every non-rightmost window.
10035         (window_left_gutter_width): Left gutter consists of mythical
10036         toolbar and a virtual scrollbar.
10037         (window_right_gutter_width): The right one may have a divider
10038         also.
10039
10040         * scrollbar.c (update_scrollbar_instance): Position vertical
10041         scrollbar left to divider if the latter present.
10042
10043         * redisplay.h: Declared OVER_DIVIER constant.
10044
10045         * redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER
10046         case.
10047
10048         * redisplay-x.c (x_output_vertical_divider): Output divider along
10049         the right side of the window, down to window bottom. Swapped
10050         foreground and background colors so it is visible by default.
10051
10052         * redisplay-tty.c (tty_output_vertical_divider): Uncondiionally
10053         stick the divider to the right window side.
10054
10055         * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed
10056         deadbox painting.
10057         (mswindows_divider_width): Ask system for user preferred value.
10058         (mswindows_output_vertical_divider): Always output the divider on
10059         the right side of a window, down to bottom.
10060
10061         * keymap.c (get_relevant_keymaps): Route mouse button events which
10062         happened over a window divider through window-divider-map.
10063         (Fkey_binding): Documented that in the docstring.
10064         Defined the variable Vwindow_divider_map.
10065
10066         * events.c (Fevent_over_divider_p): Added this function.
10067
10068         * events.h: EXFUNed it.
10069
10070 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
10071
10072         * toolbar.c (update_frame_toolbars): Re-layout frame windows if
10073         toolbar geometry is suspected to change.
10074
10075 1998-05-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10076
10077         * src/device-msw.c
10078         * src/event-msw.c
10079         Condition dnd and dde code on HAVE_DRAGNDROP.
10080
10081 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
10082
10083         * events.c (format_event_object): Print space as SPC etc.
10084
10085 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
10086
10087         * print.c (print_internal): In the default case, abort() if
10088         ERROR_CHECK_TYPECHECK.
10089
10090         * fileio.c (Fmake_temp_name): Doc fix.
10091
10092 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
10093
10094         * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS.
10095
10096         * undo.c (Fprimitive_undo): Fixed typo.
10097
10098 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
10099
10100         * fns.c (concat): Signal error on integer argument.
10101
10102 1998-05-10  Kirill M. Katsnelson  <kkm@kis.ru>
10103
10104         * console.h (device_metrics): Prefixed each constatnt with DM_
10105
10106         * device.c: (Fdevice_system_metric): Renamed so from plural form
10107         (metrics); Changed parameters order and added DEFAULT parameter;
10108         Unabbreviated some metric constants; Fixed and untabified doc string.
10109         (Fdevice_system_metrics): Added. Returns a plist of all provided
10110         metrics.
10111
10112         * device-msw.c (mswindows_device_system_metrics): Renamed
10113         device_metrics enum constants.
10114         Return Qunbound instead of Qnil.
10115
10116         * device-tty.c (tty_device_system_metrics): Ditto.
10117
10118         * device-x.c (x_device_system_metrics): Ditto.
10119
10120 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
10121
10122         * redisplay-msw.c: implement background pixmaps (really!). Make
10123         sure bg color is transparent if we have bg pmaps.
10124         * (mswindows_output_string) (mswindows_clear_region): output bg
10125         pmap if required.
10126         * (mswindows_output_dibitmap_region): new function.
10127         * (mswindows_output_dibitmap): output offset pixmaps, blt masks in
10128         the bg color rather than transparently.
10129
10130         * toolbar-msw.c: use masks if they exist.
10131
10132         * glyphs-msw.c: set up masks correctly.
10133
10134         * event-msw.c: typedef SOCKET if cygwin and not msg select().
10135
10136 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
10137
10138         * regex.c (re_match_2_internal): Check for quit.
10139
10140 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
10141
10142         * frame.c (Ffocus_frame): New function.