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