(C2-274E): Add `ideographic-strokes'.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
4         (syms_of_mule_charset): Add new function `find-char'.
5
6 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
9         XEmacs UTF-2000.
10         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
11         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
12         XEmacs UTF-2000.
13         (complex_vars_of_mule_charset): Add new coded-charset
14         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
15         `ideograph-gt-pj-*'.
16
17         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
18
19 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * mule-charset.c (encode_builtin_char_1): Purge codes about
22         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
23         {MIN|MAX}_CHAR_HEBREW.
24         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
25         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
26
27         * char-ucs.h (MIN_CHAR_GREEK): Purged.
28         (MAX_CHAR_GREEK): Purged.
29         (MIN_CHAR_CYRILLIC): Purged.
30         (MAX_CHAR_CYRILLIC): Purged.
31         (MIN_CHAR_HEBREW): Commented out.
32         (MAX_CHAR_HEBREW): Likewise.
33
34 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * mule-charset.c (Qto_ucs): New variable.
37         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
38         (Fdefine_char): Likewise.
39         (syms_of_mule_charset): Add new symbol `=>ucs'.
40
41 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * mule-charset.c (Fdecode_char): Fixed.
44
45 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
48         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
49         "tcvn5712-1".
50
51 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * mule-charset.c (Vcharset_ucs_big5): New variable.
54         (Qucs_big5): Likewise.
55         (syms_of_mule_charset): Add new symbol `ucs-big5'.
56         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
57
58         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
59
60 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
61
62         * mule-charset.c (decode_builtin_char): Check Big5 code range
63         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
64
65 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
66
67         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
68         (Qchinese_gb12345): Likewise.
69         (Fdecode_builtin_char): Fixed.
70         (syms_of_mule_charset): Add `chinese-gb12345'.
71         (complex_vars_of_mule_charset): Add coded-charset
72         `chinese-gb12345'.
73
74         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
75         (LEADING_BYTE_CHINESE_GB12345): New macro.
76
77 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
80         and `latin-viscii-upper' for `latin-viscii'.
81
82 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * mule-charset.c (Fdecode_builtin_char): Comment out
85         regularization code for ISO-IR GR representation.
86
87 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
88
89         * mule-charset.c (decode_builtin_char): New function; renamed from
90         `make_builtin_char'; return -1 instead of signal.
91         (Fdecode_builtin_char): Use `decode_builtin_char'.
92
93         * char-ucs.h (decode_builtin_char): New prototype; renamed from
94         `make_builtin_char'.
95         (DECODE_CHAR): Use `decode_builtin_char' instead of
96         `make_builtin_char'; use mapping table of `chinese-big5' for
97         `chinese-big5-{1,2}'.
98
99 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * text-coding.c (char_encode_big5): New function.
102         (char_finish_big5): Likewise.
103         (reset_encoding_stream): Use `char_encode_big5' and
104         `char_finish_big5' for CODESYS_BIG5.
105         (mule_encode): Don't use `encode_coding_big5'.
106         (encode_coding_big5): Deleted.
107
108 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
111         0x81- in XEmacs UTF-2000.
112         (detect_coding_big5): Likewise.
113
114 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * mule-charset.c (Fdefine_char): Don't use a CCS property to
117         generate character-id if the CCS property does not have
118         corresponding predefined character.
119         (make_builtin_char): Return -1 if corresponding predefined
120         character is not found.
121         (Fdecode_char): Return nil if corresponding character is not
122         found.
123         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
124         don't map to builtin ucs space.
125
126 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
129         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
130
131 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * mule-charset.c (Vcharset_ideograph_gt): New variable.
134         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
135         (Qideograph_gt): Likewise.
136         (Qideograph_gt_pj_{1..11}): Likewise.
137         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
138         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
139         `ideograph-gt-pj-11'.
140         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
141         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
142         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
143
144         * char-ucs.h (LEADING_BYTE_GT): New macro.
145         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
146         (MIN_CHAR_GT): Likewise.
147         (MAX_CHAR_GT): Likewise.
148
149 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
150
151         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
152         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
153
154         * doprnt.c (unsigned_int_converters): Add `c'.
155         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
156
157         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
158         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
159         `MIN_CHAR_MOJIKYO'.
160         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
161         (MAX_CHAR_MOJIKYO_0): New macro.
162         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
163
164 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * mule-charset.c (Fdefine_char): Delete cemented out code.
167         (encode_builtin_char_1): Modify for new allocation of builtin
168         Mojikyo characters.
169
170         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
171
172 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * mule-charset.c (Vcharset_ucs_cns): New variable.
175         (Qucs_cns): New variable.
176         (syms_of_mule_charset): Add new symbol `ucs-cns'.
177         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
178
179 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
182
183 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
184
185         * search.c (search_buffer): Make `charset_base_code' as
186         character-id >> 6 to eliminate the corresponding last byte in
187         UTF-8 representation [I'm not sure it is right thing].
188         (boyer_moore): Likewise.
189
190 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
191
192         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
193         representation in MULE.
194
195 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * text-coding.c (Fmake_coding_system): Use
198         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
199         `EXTERNAL_PROPERTY_LIST_LOOP'.
200
201 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * text-coding.c (decode_output_utf8_partial_char): New function.
204         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
205
206 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * text-coding.c (decode_coding_utf8): Output original byte
209         sequence if it is broken; change order of conditions.
210
211         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
212         of conditions.
213
214         * mb-multibyte.h (BYTE_ASCII_P):
215         Use bit ops for char-signedness safety.
216         (BYTE_C0_P): Use bit ops for char-signedness safety.
217         (BYTE_C1_P): Use bit ops for char-signedness safety.
218
219         * character.h: (XCHAR_OR_CHAR_INT):
220         Always use inline function.
221         Remove redundant type checking assert() - XINT will abort quite
222         nicely.
223
224 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * text-coding.c: (Fencode_shift_jis_char):
227         (Fencode_big5_char):
228         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
229         Replace 0 with '\0' when working with bytes.
230         Replace initial "(" with "\(" in docstrings.
231
232         (Fmake_coding_system):
233         When type is ccl and value is vector, register it with a proper
234         symbol.  And checks whether the given ccl program is valid.
235         (mule_decode): When calling ccl_driver, if src indicates
236         NULL pointer, set an empty string instead.
237         (mule_encode): Likewise.
238
239         (detect_eol_type):
240         (detect_coding_sjis):
241         (decode_coding_sjis):
242         (detect_coding_big5):
243         (decode_coding_big5):
244         (detect_coding_ucs4):
245         (decode_coding_ucs4):
246         (detect_coding_utf8):
247         (decode_coding_utf8):
248         (detect_coding_iso2022):
249         (decode_coding_iso2022):
250         (decode_coding_no_conversion):
251         (mule_decode):
252         Make all detecting and decoding functions take an Extbyte * arg.
253         (text_encode_generic):
254         (encode_coding_big5):
255         (encode_coding_no_conversion):
256         (mule_encode):
257         Make all encoding functions take a Bufbyte * arg.
258         Use size_t instead of unsigned int for memory sizes.
259         Only cast to unsigned char whenever dereferencing Extbyte *.
260
261         (struct lrecord_description fcd_description_1): Use countof.
262         (complex_vars_of_file_coding):
263         Use countof instead of sizeof.
264         Use CHECK_NATNUM instead of CHECK_INT.
265
266 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * mule-charset.c (Fget_char_attribute): Add new optional argument
269         `default-value'.
270         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
271         (remove_char_ccs): Likewise.
272
273 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * text-coding.c (char_encode_shift_jis): New implementation in
276         UTF-2000.
277         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
278         ...)'.
279
280         * mule-charset.c (Vcharset_chinese_big5): New variable in
281         UTF-2000.
282         (Qchinese_big5): New variable in UTF-2000.
283         (BIG5_SAME_ROW): New macro in UTF-2000.
284         (make_builtin_char): Use builtin characters of
285         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
286         characters of `Vcharset_chinese_big5'.
287         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
288         (complex_vars_of_mule_charset): Add new coded-charset
289         `chinese-big5' in UTF-2000.
290
291         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
292         (Vcharset_chinese_big5): New external variable declaration.
293         (Vcharset_japanese_jisx0208_1990): Likewise.
294
295 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
298         function.
299         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
300
301 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
302
303         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
304         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
305         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
306         `mojikyo-pj-*'.
307
308 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
309
310         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
311
312 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
315         to 0.17.
316
317 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
320         for `CHARSET_BY_ATTRIBUTES'.
321         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
322         `CHARSET_BY_ATTRIBUTES'.
323
324         * text-coding.c (struct decoding_stream): Rename member `CH' to
325         `CPOS'.
326         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
327         (decode_coding_sjis): Likewise.
328         (decode_coding_big5): Likewise.
329         (decode_coding_ucs4): Likewise.
330         (decode_coding_utf8): Likewise.
331         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
332         `CHARSET_BY_ATTRIBUTES'.
333         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
334         `str->counter'; decode 3, 4 bytes sets.
335         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
336         sets.
337         (decode_coding_no_conversion): Use `str->cpos' instead of
338         `str->ch'.
339
340         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
341         (Qmojikyo_2022_1): New variable.
342         (make_charset): Don't use `CHARSET_TYPE_*'.
343         (range_charset_code_point): Support coded-charset
344         `mojikyo-2022-1'.
345         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
346         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
347         `CHARSET_BY_ATTRIBUTES'.
348         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
349         `CHARSET_BY_ATTRIBUTES'.
350         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
351         (complex_vars_of_mule_charset): Add new coded-charset
352         `mojikyo-2022-1'.
353
354         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
355         interface; changed to inline function.
356
357         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
358         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
359         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
360         (CHARSET_TYPE_94): Deleted.
361         (CHARSET_TYPE_94X94): Deleted.
362         (CHARSET_TYPE_96): Deleted.
363         (CHARSET_TYPE_96X96): Deleted.
364         (CHARSET_TYPE_128): Deleted.
365         (CHARSET_TYPE_128X128): Deleted.
366         (CHARSET_TYPE_256): Deleted.
367         (CHARSET_TYPE_256X256): Deleted.
368         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
369         to inline function.
370         (DECODE_MOJIKYO_2022): New inline function.
371         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
372         `Vcharset_mojikyo_2022_1'.
373
374 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
377         instead of `EQ'.
378         (put_byte_table): Likewise.
379         (char_id_table_equal): Use `get_byte_table' [new implementation].
380
381 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * mule-charset.c: Include <limits.h> in UTF-2000.
384         (BT_UINT8_MIN): New macro in UTF-2000.
385         (BT_UINT8_MAX): New macro in UTF-2000.
386         (BT_UINT8_t): New macro in UTF-2000.
387         (BT_UINT8_nil): New macro in UTF-2000.
388         (BT_UINT8_unbound): New macro in UTF-2000.
389         (INT_UINT8_P): New inline function in UTF-2000.
390         (UINT8_VALUE_P): New inline function in UTF-2000.
391         (UINT8_ENCODE): New inline function in UTF-2000.
392         (UINT8_DECODE): New inline function in UTF-2000.
393         (mark_uint8_byte_table): New function in UTF-2000.
394         (print_uint8_byte_table): New function in UTF-2000.
395         (uint8_byte_table_equal): New function in UTF-2000.
396         (uint8_byte_table_hash): New function in UTF-2000.
397         (make_uint8_byte_table): New function in UTF-2000.
398         (uint8_byte_table_same_value_p): New function in UTF-2000.
399         (BT_UINT16_MIN): New macro in UTF-2000.
400         (BT_UINT16_MAX): New macro in UTF-2000.
401         (BT_UINT16_t): New macro in UTF-2000.
402         (BT_UINT16_nil): New macro in UTF-2000.
403         (BT_UINT16_unbound): New macro in UTF-2000.
404         (INT_UINT16_P): New inline function in UTF-2000.
405         (UINT16_VALUE_P): New inline function in UTF-2000.
406         (UINT16_ENCODE): New inline function in UTF-2000.
407         (UINT16_DECODE): New inline function in UTF-2000.
408         (UINT8_TO_UINT16): New inline function in UTF-2000.
409         (mark_uint16_byte_table): New function in UTF-2000.
410         (print_uint16_byte_table): New function in UTF-2000.
411         (uint16_byte_table_equal): New function in UTF-2000.
412         (uint16_byte_table_hash): New function in UTF-2000.
413         (make_uint16_byte_table): New function in UTF-2000.
414         (uint16_byte_table_same_value_p): New function in UTF-2000.
415         (print_byte_table): New function in UTF-2000.
416         (byte-table): Use `print_byte_table' as printer.
417         (make_byte_table): Delete second argument `older'.
418         (byte_table_same_value_p): New function in UTF-2000.
419         (copy_byte_table): Deleted.
420         (get_byte_table): New function in UTF-2000.
421         (put_byte_table): New function in UTF-2000.
422         (print_char_id_table): New function in UTF-2000.
423         (char-id-table): Use `print_char_id_table' as printer.
424         (make_char_id_table): Delete second argument `older'.
425         (get_char_id_table): Use `get_byte_table [new implementation].
426         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
427         implementation].
428         (Ffind_char_attribute_table): New function in UTF-2000.
429         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
430         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
431         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
432         (syms_of_mule_charset): Add new function
433         `find-char-attribute-table' in UTF-2000.
434
435         * lrecord.h (enum lrecord_type): Add
436         `lrecord_type_uint16_byte_table' and
437         `lrecord_type_uint8_byte_table'.
438
439         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
440         (Lisp_Uint8_Byte_Table): New type.
441         (XUINT8_BYTE_TABLE): New macro.
442         (XSETUINT8_BYTE_TABLE): New macro.
443         (UINT8_BYTE_TABLE_P): New macro.
444         (GC_UINT8_BYTE_TABLE_P): New macro.
445         (struct Lisp_Uint16_Byte_Table): New structure.
446         (Lisp_Uint16_Byte_Table): New type.
447         (XUINT16_BYTE_TABLE): New macro.
448         (XSETUINT16_BYTE_TABLE): New macro.
449         (UINT16_BYTE_TABLE_P): New macro.
450         (GC_UINT16_BYTE_TABLE_P): New macro.
451
452 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
455         (Vcharacter_ideographic_strokes_table): Deleted.
456         (Vcharacter_total_strokes_table): Deleted.
457         (Vcharacter_morohashi_daikanwa_table): Deleted.
458         (Vcharacter_decomposition_table): Deleted.
459         (Qname): Deleted because it is duplicated.
460         (Qideographic_radical): Deleted.
461         (Qideographic_strokes): Deleted.
462         (Qtotal_strokes): Deleted.
463         (Qmorohashi_daikanwa): Deleted.
464         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
465         `ideographic-radical', `ideographic-strokes', `total-strokes',
466         `morohashi-daikanwa' and `->decomposition'.
467         (Fget_char_attribute): Likewise.
468         (Fput_char_attribute): Likewise; use `make-vector' instead of
469         `make_older_vector' for `->decomposition' value.
470         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
471         `ideograph-daikanwa'.
472         (syms_of_mule_charset): Delete builtin symbols `name',
473         `ideographic-radical', `ideographic-strokes', `total-strokes' and
474         `morohashi-daikanwa'.
475         (vars_of_mule_charset): Don't setup
476         `Vcharacter_ideographic_radical_table',
477         `Vcharacter_ideographic_strokes_table',
478         `Vcharacter_total_strokes_table',
479         `Vcharacter_morohashi_daikanwa_table' and
480         `Vcharacter_decomposition_table'.
481
482 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
483
484         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
485         `make_older_vector', `make_vector_newer_1' and
486         `make_vector_newer'.
487
488         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
489         `make_older_vector' and `make_vector_newer'.
490
491         * config.h.in (HAVE_GGC): New macro.
492
493 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
494
495         * mule-charset.c (struct char_attribute_list_closure): New
496         structure in UTF-2000.
497         (add_char_attribute_to_list_mapper): New function in UTF-2000.
498         (Fchar_attribute_list): Likewise.
499         (Fset_charset_mapping_table): Use `make_vector_newer'.
500         (Fdecode_builtin_char): New function in UTF-2000.
501         (syms_of_mule_charset): Add new function `char-attribute-list' and
502         `decode-builtin-char' in UTF-2000.
503
504         * lisp.h (make_vector_newer): New prototype.
505
506         * alloc.c (make_vector_newer_1): New function.
507         (make_vector_newer): New function.
508
509 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
510
511         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
512         50100)'.
513
514 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
515
516         * mule-charset.c (Vchar_attribute_hash_table): New variable.
517         (Vcharacter_attribute_table): Deleted.
518         (Vcharacter_name_table): Deleted.
519         (put_char_attribute): Deleted.
520         (remove_char_attribute): Deleted.
521         (struct char_attribute_alist_closure): New structure.
522         (add_char_attribute_alist_mapper): New function.
523         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
524         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
525         (Fget_char_attribute): Likewise.
526         (Fput_char_attribute): Likewise.
527         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
528         of `remove_char_attribute'.
529         (Fdefine_char): Return character.
530         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
531         and `Vcharacter_name_table'.
532         (complex_vars_of_mule_charset): Likewise
533         `Vchar_attribute_hash_table'.
534
535 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
536
537         * character.h (CHARC_CHARSET): New macro.
538         (CHARC_CHARSET_ID): New macro.
539         (CHARC_CODE_POINT): New macro.
540         (CHARC_COLUMNS): New macro.
541         (CHARC_TO_CHAR): New inline function.
542         (CHARC_EQ): New inline function.
543         (CHARC_ASCII_EQ): New inline function.
544         (CHARC_IS_SPACE): New inline function.
545         (ASCII_TO_CHARC): New inline function.
546
547         * char-ucs.h (encode_char_2): Deleted.
548         (ENCODE_CHAR): Use `encode_char_1' again.
549         (breakup_char_1): Likewise.
550         (CHAR_TO_CHARC): New inline function.
551
552         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
553
554 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
557         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
558         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
559         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
560         (create_string_text_block): Use `CHARC_ASCII_EQ' and
561         `CHARC_IS_SPACE'.
562         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
563
564         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
565         `CHARC_CODE_POINT'.
566         (x_output_display_block): Use `CHARC_CHARSET' and
567         `CHARC_ASCII_EQ'.
568
569         * redisplay-tty.c (tty_output_display_block): Use
570         `CHARC_ASCII_EQ'.
571         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
572
573         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
574
575         * insdel.c (find_charsets_in_charc_string): Use
576         `CHARC_CHARSET_ID'.
577         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
578         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
579         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
580         (convert_charc_string_into_malloced_string): Likewise.
581
582 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
585         instead of <Emchar_dynarr *> for buf; use
586         `convert_bufbyte_string_into_charc_dynarr' instead of
587         `convert_bufbyte_string_into_emchar_dynarr'; use
588         `find_charsets_in_charc_string' instead of
589         `find_charsets_in_emchar_string'.
590
591         * redisplay.h:
592         - Include "character.h".
593         (struct rune): New member `cglyph'; delete member `chr'.
594
595         * redisplay.c (redisplay_text_width_charc_string): New function;
596         delete `redisplay_text_width_emchar_string'.
597         (rtw_charc_dynarr): New variable; renamed from
598         `rtw_emchar_dynarr'.
599         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
600         `rtw_emchar_dynarr'; use
601         `convert_bufbyte_string_into_charc_dynarr' instead of
602         `convert_bufbyte_string_into_emchar_dynarr'; use
603         `redisplay_text_width_charc_string' instead of
604         `redisplay_text_width_emchar_string'.
605         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
606         instead of `rtw_emchar_dynarr'; use
607         `convert_bufbyte_string_into_charc_dynarr' instead of
608         `convert_bufbyte_string_into_emchar_dynarr'.
609         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
610         `redisplay_text_width_charc_string' instead of
611         `redisplay_text_width_emchar_string'.
612         (create_text_block): Modify for <struct rune> change.
613         (generate_formatted_string_db): Likewise.
614         (create_string_text_block): Likewise.
615         (pixel_to_glyph_translation): Likewise.
616
617         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
618         instead of <const Emchar *>.
619         (x_text_width): Likewise.
620         (x_output_display_block): Use <Charc_dynarr *> instead
621         <Emchar_dynarr *>; modify for <structure rune> change.
622         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
623         *>.
624
625         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
626         <const Emchar *>; use `charc_string_displayed_columns' instead of
627         `emchar_string_displayed_columns'.
628         (tty_output_display_block): Use <Charc_dynarr *> instead of
629         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
630         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
631         (tty_output_charc_dynarr_dynarr): New variable; renamed from
632         `tty_output_emchar_dynarr_dynarr'.
633         (tty_output_charc_dynarr): New function; delete
634         `tty_output_charc_dynarr'.
635
636         * redisplay-output.c (compare_runes): Modify for `struct rune'.
637         (redisplay_output_layout): Use <Charc_dynarr *> instead of
638         <Emchar_dynarr *> for buf; use
639         `convert_bufbyte_string_into_charc_dynarr' instead of
640         `convert_bufbyte_string_into_emchar_dynarr'.
641
642         * frame.c (title_string_charc_dynarr): New variable; renamed from
643         `title_string_emchar_dynarr'.
644         (generate_title_string): Use `title_string_charc_dynarr' instead
645         of `title_string_emchar_dynarr'; use
646         `convert_charc_string_into_malloced_string' instead of
647         `convert_emchar_string_into_malloced_string'.
648         (init_frame): Use `title_string_charc_dynarr' instead of
649         `title_string_emchar_dynarr'.
650
651         * console.h:
652         - Include "character.h".
653         (struct console_methods): Use <const Charc *> instead of <const
654         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
655         <Emchar_dynarr *> in output_string_method.
656
657         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
658         <Emchar_dynarr *>.
659
660         * console-stream.c (stream_text_width): Use <const Charc *>
661         instead of <const Emchar *>.
662
663         * character.h (Charc_dynarr): New type.
664
665         * char-ucs.h (structure Charc): New structure; define new type
666         `Charc'.
667
668         * char-lb.h (DECODE_CHAR): New inline function.
669         (encode_char_1): New inline function.
670         (ENCODE_CHAR): New macro.
671         (structure Charc): New structure; define new type `Charc'.
672
673         * char-1byte.h (Vcharset_control_1): New macro.
674         (Vcharset_latin_iso8859_1): New macro.
675         (DECODE_CHAR): New inline function.
676         (encode_char_1): New inline function.
677         (ENCODE_CHAR): New macro.
678         (structure Charc): New structure; define new type `Charc'.
679
680         * insdel.c (find_charsets_in_charc_string): New function; delete
681         `find_charsets_in_emchar_string'.
682         (charc_string_displayed_columns): New function; delete
683         `emchar_string_displayed_columns'.
684         (convert_bufbyte_string_into_charc_dynarr): New function; delete
685         `convert_bufbyte_string_into_emchar_dynarr'.
686         (convert_charc_string_into_bufbyte_dynarr): New function; delete
687         `convert_charc_string_into_bufbyte_dynarr'.
688         (convert_charc_string_into_malloced_string): New function; delete
689         `convert_charc_string_into_malloced_string'.
690
691         * buffer.h (find_charsets_in_charc_string): New prototype; delete
692         `find_charsets_in_emchar_string'.
693         (charc_string_displayed_columns): New prototype; delete
694         `emchar_string_displayed_columns'.
695         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
696         `convert_charc_string_into_bufbyte_dynarr'.
697         (convert_charc_string_into_malloced_string): New prototype; delete
698         `convert_charc_string_into_malloced_string'.
699
700 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
701
702         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
703
704 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
707
708         * char-ucs.h: Use <short> for <Charset_ID>.
709
710         * mule-charset.h, char-1byte.h: Use <unsigned char> for
711         <Charset_ID>.
712
713 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
716         to 0.16.
717
718 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
721         variable.
722         (Qmorohashi_daikanwa): New variable.
723         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
724         for `morohashi-daikanwa' attribute.
725         (Fget_char_attribute): Likewise.
726         (Fput_char_attribute): Likewise.
727         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
728         has the same value of `ideograph-daikanwa'.
729         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
730         (vars_of_mule_charset): Setup
731         `Vcharacter_morohashi_daikanwa_table'.
732
733 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
734
735         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
736         attributes.
737         (add_charset_to_list_mapper): Add `key' instead of
738         `XCHARSET_NAME (value)' to return aliases.
739
740 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
741
742         * mule-charset.c (Vcharacter_ideographic_radical_table): New
743         variable.
744         (Vcharacter_ideographic_strokes_table): New variable.
745         (Qideographic_radical): New variable.
746         (Qideographic_strokes): New variable.
747         (Fchar_attribute_alist): Use
748         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
749         attribute; use `Vcharacter_ideographic_strokes_table' for
750         `ideographic-strokes' attribute.
751         (Fget_char_attribute): Likewise.
752         (Fput_char_attribute): Likewise.
753         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
754         `ideographic-strokes'.
755         (vars_of_mule_charset): Setup
756         `Vcharacter_ideographic_radical_table' and
757         `Vcharacter_ideographic_strokes_table'.
758
759 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
762         (Qtotal_strokes): New variable.
763         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
764         `total-strokes' attribute.
765         (Fget_char_attribute): Likewise.
766         (Fput_char_attribute): Likewise.
767         (syms_of_mule_charset): Add new symbol `total-strokes'.
768         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
769
770 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * mule-charset.c (Vcharacter_decomposition_table): New variable.
773         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
774         are found.
775         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
776         `->decomposition' attribute.
777         (Fput_char_attribute): Likewise.
778         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
779
780 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * mule-charset.c (decoding_table_check_elements): New function.
783         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
784
785 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
786
787         * mule-charset.c (Fset_charset_mapping_table): Use
788         `put_char_ccs_code_point'.
789
790 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * mule-charset.c (decoding_table_put_char): New inline function.
793         (put_char_ccs_code_point): Use `decoding_table_put_char'.
794
795 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
796
797         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
798         (XCHARSET_BYTE_SIZE): New macro.
799         (decoding_table_remove_char): New inline function.
800         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
801         `decoding_table_remove_char'.
802         (remove_char_ccs): Use `decoding_table_remove_char'.
803         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
804
805 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * mule-charset.c (Vcharacter_name_table): New variable.
808         (Qname): New variable.
809         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
810         attribute.
811         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
812         `Vcharacter_name_table' for `name' attribute.
813         (Fremove_char_attribute): Use function `remove_char_ccs'.
814         (put_char_ccs_code_point): New function.
815         (remove_char_ccs): New function.
816         (syms_of_mule_charset): Add new symbol `name'.
817         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
818
819 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * mule-charset.c (make_byte_table): Add new argument `older'.
822         (make_char_id_table): Likewise.
823         (copy_char_id_table): Comment out because it is not used.
824         (put_char_id_table): Modify for `make_byte_table'.
825         (Fput_char_attribute): Make encoding_table as older object;
826         inherit older bit of `Vcharacter_composition_table'.
827         (mark_charset): Don't mark `cs->encoding_table'.
828         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
829         normal object; make `Vcharacter_composition_table' as an older
830         object; delete staticpro for `Vcharacter_composition_table'; make
831         `Vcharacter_variant_table' as a normal object.
832
833         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
834         (mark_object): Don't check older object in UTF-2000.
835
836         * lrecord.h (struct lrecord_header): Add new member `older' in
837         UTF-2000.
838         (set_lheader_implementation): Setup `SLI_header->older' in
839         UTF-2000.
840         (set_lheader_older_implementation): New macro in UTF-2000.
841         (OLDER_RECORD_P): New macro in UTF-2000.
842         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
843         (alloc_older_lcrecord): New prototype in UTF-2000.
844         (alloc_older_lcrecord_type): New macro in UTF-2000.
845
846 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * mule-charset.c (byte_table_description): Use
849         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
850         (char_id_table_description): Delete bogus `, 1'.
851         (Fget_char_attribute): Refer encoding_table of each coded-charset
852         to get value of coded-charset attribute of a character.
853         (Fput_char_attribute): Use `make_older_vector' instead of
854         `make_vector'; use encoding_table of each coded-charset to store
855         value of coded-charset attribute of a character.
856         (Fremove_char_attribute): Use encoding_table of each coded-charset
857         to store value of coded-charset attribute of a character.
858         (mark_charset): Mark `cs->encoding_table'; don't mark
859         `cs->decoding_table'.
860         (charset_description): Add description of new member
861         `encoding_table'.
862         (make_charset): Initialize `encoding_table'.
863
864         * char-ucs.h (struct Lisp_Charset): Add new member
865         `encoding_table'.
866         (CHARSET_ENCODING_TABLE): New macro.
867         (XCHARSET_ENCODING_TABLE): New macro.
868         (charset_code_point): New implementation.
869         (encode_char_1): Likewise.
870
871         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
872         (disksave_object_finalization_1): Call finalizers of
873         `all_older_lcrecords' in UTF-2000.
874         (make_older_vector): New function in UTF-2000.
875         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
876         UTF-2000.
877
878         * lisp.h (make_older_vector): New prototype in UTF-2000.
879
880 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
881
882         * lrecord.h (enum lrecord_type): Rename
883         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
884
885         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
886         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
887         `get_char_code_table'.
888
889         * mule-charset.c (mark_char_id_table): Renamed from
890         `mark_char_code_table'.
891         (char_id_table_equal): Renamed from `char_code_table_equal'.
892         (char_id_table_hash): Renamed from `char_code_table_hash'.
893         (make_char_id_table): Renamed from `make_char_code_table'.
894         (copy_char_id_table): Renamed from `copy_char_code_table'.
895         (get_char_id_table): Renamed from `get_char_code_table'.
896         (put_char_id_table): Renamed from `put_char_code_table'.
897         (to_char_id): Renamed from `to_char_code'.
898
899         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
900         `Lisp_Char_Code_Table'.
901         (char_id_table): Renamed from `char_code_table'.
902         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
903         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
904         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
905         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
906         (get_char_id_table): Renamed from `get_char_code_table'.
907
908 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
909
910         * lrecord.h (enum lrecord_type): Rename
911         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
912
913         * mule-charset.c (mark_byte_table): Renamed from
914         `mark_char_byte_table'.
915         (byte_table_equal): Renamed from `char_byte_table_equal'.
916         (byte_table_hash): Renamed from `byte_table_hash'.
917         (make_byte_table): Renamed from `make_byte_table'.
918         (copy_byte_table): Renamed from `copy_char_byte_table'.
919
920         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
921         `Lisp_Char_Byte_Table'.
922         (byte_table): Renamed from `char_byte_table'.
923         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
924         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
925         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
926         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
927
928 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
929
930         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
931         (dfc_convert_to_internal_format): Likewise.
932         
933         * text-coding.c (Fcoding_system_canonical_name_p): New function.
934         * text-coding.c (Fcoding_system_alias_p): New function.
935         * text-coding.c (Fcoding_system_aliasee): New function.
936         * text-coding.c (append_suffix_to_symbol): New function.
937         * text-coding.c (dangling_coding_system_alias_p): New function.
938         * text-coding.c (Ffind_coding_system):
939         * text-coding.c (Fcopy_coding_system):
940         * text-coding.c (encode_coding_no_conversion):
941         * text-coding.c (syms_of_file_coding):
942         * text-coding.c (vars_of_file_coding):
943         Rewrite coding system alias code.
944         Allow nested aliases, like symbolic links.
945         Allow redefinition of coding system aliases.
946         Prevent existence of dangling coding system aliases.
947         Eliminate convert_to_external_format.
948         Eliminate convert_to_internal_format.
949         
950         * text-coding.c: Change enum eol_type to eol_type_t.
951
952 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
955         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
956
957         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
958         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
959
960 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
961
962         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
963         `ideograph-daikanwa'.
964
965         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
966         (Vcharset_ucs_bmp): Likewise.
967         (Vcharset_mojikyo): Add new extern variable definition.
968         (Vcharset_latin_iso8859_2): Deleted because it is not used.
969         (Vcharset_latin_iso8859_3): Likewise.
970         (Vcharset_latin_iso8859_4): Likewise.
971         (Vcharset_latin_iso8859_9): Likewise.
972         (Vcharset_latin_viscii_lower): Likewise.
973         (Vcharset_latin_viscii_upper): Likewise.
974         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
975         `mojikyo' code-point is used to decode.
976         (encode_char_2): New function [to convert `mojikyo' code-point to
977         Mojikyo font encoding].
978         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
979         (breakup_char_1): Likewise.
980         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
981
982 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * text-coding.c (Fmake_coding_system): Add document about
985         `disable-composition' property.
986
987 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
988
989         * text-coding.c (Qdisable_composition): New variable; delete
990         `Qcomposite'.
991         (Fmake_coding_system): Add new property `disable-composite';
992         delete property `composite'.
993         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
994         instead of `!CODING_SYSTEM_COMPOSITE'.
995         (syms_of_file_coding): Add new symbol `disable-composition';
996         delete symbol `composite'.
997
998         * file-coding.h (struct Lisp_Coding_System): Add
999         `disable_composition'; delete `enable_composition'.
1000         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1001         `CODING_SYSTEM_COMPOSITE'.
1002         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1003         `XCODING_SYSTEM_COMPOSITE'.
1004
1005 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1006
1007         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1008         to 0.15.
1009
1010 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1011
1012         * text-coding.c (Qcomposite): New variable.
1013         (Fmake_coding_system): Add new property `composite'.
1014         (struct decoding_stream): Add `combined_char_count',
1015         `combined_chars' and `combining_table' in UTF-2000.
1016         (COMPOSE_FLUSH_CHARS): New macro.
1017         (COMPOSE_ADD_CHAR): New macro.
1018         (reset_decoding_stream): Reset `str->combined_char_count' and
1019         `str->combining_table' in UTF-2000.
1020         (decode_coding_iso2022): Modify for character-decomposition.
1021         (syms_of_file_coding): Add new symbol `composite'.
1022
1023 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1024
1025         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1026         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1027         of `Vcharacter_composition_table' if `->decomposition' property
1028         has only 1 element.
1029         (Qlatin_tcvn5712): New variable.
1030         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1031         (complex_vars_of_mule_charset): Add new coded-charset
1032         `latin-tcvn5712'.
1033
1034         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1035
1036 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1037
1038         * file-coding.h (struct Lisp_Coding_System): Add
1039         `enable_composition'.
1040         (CODING_SYSTEM_COMPOSITE): New macro.
1041         (XCODING_SYSTEM_COMPOSITE): New macro.
1042
1043 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1044
1045         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1046
1047 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1048
1049         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1050         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1051
1052 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1053
1054         * mule-charset.c (Vcharset_mojikyo): New variable.
1055         (Fdefine_char): Don't use coded-charset which does not have
1056         non-builtin character range to allocate character-id.
1057         (Qmojikyo): New variable.
1058         (syms_of_mule_charset): Add new symbol `mojikyo'.
1059         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1060
1061         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1062         (LEADING_BYTE_MOJIKYO): New macro.
1063         (MIN_CHAR_MOJIKYO): New macro.
1064         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1065         (MAX_CHAR_MOJIKYO): New macro.
1066
1067 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1068
1069         * mule-charset.c (remove_char_attribute): Fixed.
1070
1071 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1072
1073         * mule-charset.c (remove_char_attribute): New function.
1074         (Fremove_char_attribute): New function.
1075         (encode_builtin_char_1): Comment out builtin-support for
1076         greek-iso8859-7 and cyrillic-iso8859-5.
1077         (Fdecode_char): Check `code' is an integer.
1078         (syms_of_mule_charset): Add `remove-char-attribute'.
1079         (MIN_CHAR_GREEK): Deleted.
1080         (MAX_CHAR_GREEK): Likewise.
1081         (MIN_CHAR_CYRILLIC): Likewise.
1082         (MAX_CHAR_CYRILLIC): Likewise.
1083         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1084         MAX_CHAR_GREEK for `greek-iso8859-7'.
1085
1086         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1087         (MAX_CHAR_GREEK): Likewise.
1088         (MIN_CHAR_CYRILLIC): Likewise.
1089         (MAX_CHAR_CYRILLIC): Likewise.
1090
1091 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1092
1093         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1094         format is used without `ucs' property.
1095         (Fdecode_char): Fix problem with GR representation.
1096         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1097         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1098
1099 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1100
1101         * mule-charset.c (make_builtin_char): New function.
1102         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1103         (Fset_charset_mapping_table): Modify for new representation of
1104         code-point.
1105         (Fdecode_char): New function.
1106         (syms_of_mule_charset): Add new builtin function `decode-char' in
1107         UTF-2000.
1108
1109         * char-ucs.h (make_builtin_char): New prototype.
1110         (DECODE_CHAR): New inline function.
1111         (MAKE_CHAR): Use `DECODE_CHAR'.
1112
1113 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1114
1115         * text-coding.c (parse_charset_conversion_specs): Use
1116         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1117         `XCHARSET_TYPE'.
1118         (iso2022_designate): Likewise.
1119
1120         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1121         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1122
1123         * mule-charset.c (Vcharset_ucs): New variable.
1124         (print_charset): Change design; use `CHARSET_CHARS' and
1125         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1126         (make_charset): Change signature to specify `chars' and
1127         `dimension' instead of `type'.
1128         (range_charset_code_point): Modify for 256^n-set.
1129         (encode_builtin_char_1): Encode as `ucs' in default.
1130         (Fmake_charset): Modify for `make_charset'.
1131         (Fmake_reverse_direction_charset): Likewise.
1132         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1133         UTF-2000.
1134         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1135         for `make_charset'.
1136
1137         * char-ucs.h (Vcharset_ucs): New variable.
1138         (LEADING_BYTE_UCS): New macro.
1139         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1140         and `chars' to `unsigned short' from `unsigned int'.
1141         (CHARSET_TYPE): Deleted.
1142         (XCHARSET_TYPE): Deleted.
1143
1144 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1145
1146         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1147
1148         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1149         (ENCODE_CHAR): New macro.
1150
1151 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1152
1153         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1154         to 0.14 (Kawachi-Katakami).
1155
1156 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1157
1158         * text-coding.c (char_encode_shift_jis): Modify for
1159         `charset_code_point'.
1160         (char_encode_iso2022): Likewise.
1161
1162         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1163         (integer) instead of list of <Lisp_Object>s (integers) as the
1164         format of code-point of a coded-charset.
1165         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1166         (encode_builtin_char_1): New function; delete
1167         `split_builtin_char'.
1168         (charset_code_point): Return <int> instead of <Lisp_Object>.
1169         (Fsplit_char): Don't use `SPLIT_CHAR'.
1170
1171         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1172         prototype for `split_builtin_char'.
1173         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1174         (charset_code_point): Likewise.
1175         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1176         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1177
1178 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1179
1180         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1181         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1182
1183 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1184
1185         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1186
1187         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1188         (MAX_CHAR_OBS_94x94): Deleted.
1189
1190 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1191
1192         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1193
1194         * char-ucs.h (MAX_CHAR_BMP): New macro.
1195
1196 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1197
1198         * text-coding.c: Sync with r21-2-24.
1199
1200 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1201
1202         * file-coding.c: Modify for UTF-2000.
1203
1204 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1205
1206         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1207         to 0.13 (Takaida).
1208
1209 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1210
1211         * mule-charset.c (split_builtin_char): Delete builtin support for
1212         `katakana-jisx0201'.
1213         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1214         BMP area in builtin representation.
1215
1216         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1217         `Vcharset_katakana_jisx0201'.
1218
1219 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1220
1221         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1222         (Qisolated): New variable.
1223         (Qinitial): New variable.
1224         (Qmedial): New variable.
1225         (Qfinal): New variable.
1226         (Qvertical): New variable.
1227         (Qsmall): New variable.
1228         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1229         `Qvertical' and `Qsmall'.
1230         (Qmojikyo_pj_[1 .. 21]): New variable.
1231         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1232         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1233         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1234         .. 21]'.
1235
1236 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1237
1238         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1239         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1240         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1241
1242 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1243
1244         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1245         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1246         BMP.
1247         (Qjapanese_jisx0208_1990): New variable.
1248         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1249         (complex_vars_of_mule_charset): Add new coded-charset
1250         `japanese-jisx0208-1990'.
1251
1252         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1253         (MIN_CHAR_JIS_X0208_1990): New macro.
1254         (MAX_CHAR_JIS_X0208_1990): New macro.
1255
1256 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1257
1258         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1259         coded-charset is not found.
1260
1261 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1262
1263         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1264         (Fdefine_char): Use `Fmake_char'.
1265
1266 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1267
1268         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1269         (Vcharset_hiragana_jisx0208): Deleted.
1270         (Vcharset_katakana_jisx0208): Deleted.
1271         (Qideograph_daikanwa): New variable.
1272         (Qhiragana_jisx0208): Deleted.
1273         (Qkatakana_jisx0208): Deleted.
1274         (split_builtin_char): Split `ideograph-daikanwa'.
1275         (Fsplit_char): New implementation for UTF-2000.
1276         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1277         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1278         (complex_vars_of_mule_charset): Add new coded-charset
1279         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1280         `katakana-jisx0208'.
1281
1282         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1283         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1284         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1285         (MIN_CHAR_DAIKANWA): New macro.
1286         (MAX_CHAR_DAIKANWA): New macro.
1287
1288 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1289
1290         * data.c (Fstring_to_number): Don't recognize floating point if
1291         base is not 10.
1292
1293 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1294
1295         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1296
1297 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1298
1299         * mule-charset.c (Qsquare): New variable.
1300         (to_char_code): Add `Qsquare'.
1301         (syms_of_mule_charset): Add new symbol `square'.
1302
1303 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1304
1305         * mule-charset.c (Qcircle): New variable.
1306         (to_char_code): Add `Qcircle'.
1307         (syms_of_mule_charset): Add new symbol `circle'.
1308
1309 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1310
1311         * mule-charset.c (Qfont): New variable.
1312         (to_char_code): Add `Qfont'.
1313         (syms_of_mule_charset): Add new symbol `font'.
1314
1315 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1316
1317         * mule-charset.c (Qsub): New variable.
1318         (to_char_code): Add `Qsub'.
1319         (syms_of_mule_charset): Add new symbol `sub'.
1320
1321 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1322
1323         * mule-charset.c (Fput_char_attribute): Convert each element of
1324         VALUE to GL position if ATTRIBUTE is a GR-set,
1325
1326 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1327
1328         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1329         coded-charset is a GR-set.
1330
1331 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1332
1333         * mule-charset.c (Fput_char_attribute): Check each element of
1334         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1335
1336 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1337
1338         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1339         UTF-2000.
1340         (Qethiopic_ucs): New variable in UTF-2000.
1341         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1342         (complex_vars_of_mule_charset): Add new coded-charset
1343         `ethiopic-ucs' in UTF-2000.
1344
1345         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1346         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1347         9)'.
1348         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1349         10)'.
1350         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1351
1352 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1353
1354         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1355         `ascii'.
1356
1357 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1358
1359         * mule-charset.c (Vcharacter_variant_table): New variable.
1360         (Q_ucs): New variable.
1361         (Fchar_variants): New function.
1362         (Fput_char_attribute): Register `->ucs' value to
1363         `Vcharacter_variant_table'.
1364         (syms_of_mule_charset): Add new function `char-variants' and new
1365         symbol `->ucs'.
1366         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1367
1368 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1369
1370         * mule-charset.c (get_char_code_table): Allow negative character
1371         code.
1372         (put_char_code_table): Likewise.
1373         (Vcharacter_composition_table): New variable.
1374         (Q_decomposition): New variable.
1375         (Qwide): New variable.
1376         (Qnarrow): New variable.
1377         (Qcompat): New variable.
1378         (QnoBreak): New variable.
1379         (Qsuper): New variable.
1380         (Qfraction): New variable.
1381         (to_char_code): New function.
1382         (Fget_composite_char): New function.
1383         (Fput_char_attribute): Register `->decomposition' value to
1384         `Vcharacter_composition_table'.
1385         (syms_of_mule_charset): Add new function `get-composite-char', new
1386         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1387         `super' and `fraction'.
1388         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1389
1390 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1391
1392         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1393         character; copy the return value.
1394
1395 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1396
1397         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1398
1399         * mule-charset.c (range_charset_code_point): Must use make_int.
1400         (split_builtin_char): New function.
1401
1402 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1403
1404         * mule-charset.c (char_byte_table): Change name from
1405         "char-code-table" to "char-byte-table".
1406         (mark_char_code_table): New function.
1407         (char_code_table_equal): New function.
1408         (char_code_table_hash): New function.
1409         (char_code_table_description): New constant.
1410         (char_code_table): New type.
1411         (make_char_code_table): New function.
1412         (copy_char_code_table): New function.
1413         (get_char_code_table): Modify for `char_code_table' type.
1414         (put_char_code_table): Likewise.
1415         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1416         (Kashiwara).
1417
1418         * char-ucs.h (char_code_table): New type.
1419         (XCHAR_CODE_TABLE): New macro.
1420         (XSETCHAR_CODE_TABLE): New macro.
1421         (CHAR_CODE_TABLE_P): New macro.
1422         (GC_CHAR_CODE_TABLE_P): New macro.
1423         (struct Lisp_Char_Code_Table): New structure.
1424
1425 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1426
1427         * mule-charset.c (Fmake_charset): Setup byte_offset for
1428         {94|96}^n-set.
1429
1430 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1431
1432         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1433         character.
1434
1435 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1436
1437         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1438         is found.
1439
1440 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1441
1442         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1443         charset, it is regarded as a charset.
1444         (put_char_attribute): New function in UTF-2000.
1445         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1446         charset, mapping-table of the charset is modified.
1447         (Fdefine_char): New function in UTF-2000.
1448         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1449         `Fput_char_attribute'.
1450         (syms_of_mule_charset): Add new function `define-char' and new
1451         symbol `ucs' in UTF-2000.
1452         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1453
1454 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1455
1456         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1457         non-UTF-2000 configuration.
1458
1459 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1460
1461         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1462         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1463
1464         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1465         deleted.
1466         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1467         (Fset_charset_mapping_table): Likewise.
1468
1469         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1470         (CHARSET_ENCODING_TABLE): Delete.
1471         (XCHARSET_ENCODING_TABLE): Delete.
1472         (charset_code_point): New interface.
1473
1474 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1475
1476         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1477         instead of `charset_get_byte1' and `charset_get_byte2'.
1478
1479         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1480         (charset_get_byte2): Deleted.
1481
1482 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1483
1484         * char-ucs.h (SPLIT_CHAR): New inline function.
1485         (breakup_char_1): Use `SPLIT_CHAR'.
1486
1487         * mule-charset.c (range_charset_code_point): New function.
1488         (charset_code_point): New function.
1489
1490         * char-ucs.h (range_charset_code_point): New interface.
1491         (breakup_char_1): Use `range_charset_code_point'.
1492
1493 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1494
1495         * mule-charset.c (Fmake_charset): Delete unused local variable
1496         `code_offset'.
1497
1498         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1499         (breakup_char_1): Find a charset and code-point in
1500         `Vcharacter_attribute_table'.
1501
1502 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1503
1504         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1505         to 0.10 (Yao).
1506
1507 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1508
1509         * mule-charset.c (Vcharacter_attribute_table): New variable.
1510         (Fchar_attribute_alist): New function.
1511         (Fget_char_attribute): New function.
1512         (Fput_char_attribute): New function.
1513         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1514         too.
1515         (syms_of_mule_charset): Add new function `char-attribute-alist',
1516         `get-char-attribute' and `put-char-attribute'.
1517         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1518
1519 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1520
1521         * mule-charset.c (Fmake_charset): Just use
1522         `get_unallocated_leading_byte'.
1523
1524         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1525         sets; don't use final-byte based number for private sets.
1526
1527 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1528
1529         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1530         integer.
1531
1532 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1533
1534         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1535         to 0.9.
1536
1537 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1538
1539         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1540         of `CHAR_LEADING_BYTE' in UTF-2000.
1541
1542         * insdel.c (find_charsets_in_bufbyte_string): Use
1543         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1544         (find_charsets_in_emchar_string): Likewise.
1545
1546         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1547         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1548
1549         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1550         (CHAR_CHARSET_ID): New macro.
1551
1552 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1553
1554         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1555         charset-id - MIN_LEADING_BYTE.
1556         (put_char_table): Likewise.
1557
1558 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1559
1560         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1561         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1562         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1563         (CHARSET_ID_OFFSET): New macro.
1564         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
1565         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
1566         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
1567         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1568         4).
1569         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1570         5).
1571         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
1572         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
1573         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
1574         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
1575         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
1576
1577 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1578
1579         * mule-charset.c (next_allocated_leading_byte): New variable in
1580         UTF-2000.
1581         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
1582         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
1583         (get_unallocated_leading_byte): Simply use
1584         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
1585         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
1586         UTF-2000.
1587
1588         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
1589         (MAX_LEADING_BYTE_PRIVATE): New macro.
1590         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
1591         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
1592
1593 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1594
1595         * mule-charset.c (Fmake_charset): Allocate final-byte based
1596         charset-id for 94-set, 96-set and 94x94-set.
1597
1598 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1599
1600         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
1601         ambiguous `else'.
1602         (Fmake_charset): Likewise.
1603         (complex_vars_of_mule_charset): Modify the font registry of
1604         `ucs-bmp' not to match `Ethiopic-Unicode'.
1605
1606 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1607
1608         * mule-charset.c (complex_vars_of_mule_charset): Add font
1609         registory of `ucs-bmp'.
1610
1611 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1612
1613         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
1614         coded-charsets in `default-coded-charset-priority-list' when
1615         breaking up a character.
1616
1617         * mule-charset.c (Vcharset_latin_viscii): New variable.
1618         (Qlatin_viscii): New variable.
1619         (make_charset): Don't use `decoding_table'.
1620         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
1621         byte_offset.
1622         (Fset_charset_mapping_table): New implementation.
1623         (syms_of_mule_charset): Add new symbol `latin-viscii'.
1624         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
1625         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
1626         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
1627         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
1628         charset `latin_viscii'.
1629
1630         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
1631         (CHARSET_TYPE_94X94): Change to 1 from 2.
1632         (CHARSET_TYPE_96): Change to 2 from 1.
1633         (CHARSET_TYPE_128): New macro.
1634         (CHARSET_TYPE_128X128): Change to 5 from 4.
1635         (CHARSET_TYPE_256): New macro.
1636         (CHARSET_TYPE_256X256): Change to 7 from 5.
1637         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
1638
1639 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1640
1641         * text-coding.c (char_encode_shift_jis): Refer
1642         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
1643         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
1644
1645         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
1646         (char_byte_table_equal): New function in UTF-2000.
1647         (char_byte_table_hash): New function in UTF-2000.
1648         (char_byte_table_description): New constant in UTF-2000.
1649         (char_byte_table): New type in UTF-2000.
1650         (make_char_byte_table): New function in UTF-2000.
1651         (copy_char_byte_table): New function in UTF-2000.
1652         (make_char_code_table): New macro in UTF-2000.
1653         (get_char_code_table): New function in UTF-2000.
1654         (put_char_code_table): New function in UTF-2000.
1655         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1656         (charset_description): Add setting in UTF-2000.
1657         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
1658         `CHARSET_TO_BYTE1_TABLE(cs)'.
1659         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
1660         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
1661         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
1662         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
1663         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
1664         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
1665         `CHARSET_TO_BYTE2_TABLE(cs)'.
1666
1667         * char-ucs.h (char_byte_table): New type.
1668         (XCHAR_BYTE_TABLE): New macro.
1669         (XSETCHAR_BYTE_TABLE): New macro.
1670         (CHAR_BYTE_TABLE_P): New macro.
1671         (GC_CHAR_BYTE_TABLE_P): New macro.
1672         (struct Lisp_Char_Byte_Table): New structure.
1673         (get_char_code_table): New interface.
1674         (Emchar_to_byte_table): Deleted.
1675         (get_byte_from_character_table): Deleted.
1676         (struct Lisp_Charset): Add `encoding_table'; delete
1677         `to_byte1_table' and `to_byte2_table'.
1678         (CHARSET_ENCODING_TABLE): New macro.
1679         (CHARSET_TO_BYTE1_TABLE): Deleted.
1680         (CHARSET_TO_BYTE2_TABLE): Deleted.
1681         (XCHARSET_ENCODING_TABLE): New macro.
1682         (XCHARSET_TO_BYTE1_TABLE): Deleted.
1683         (XCHARSET_TO_BYTE2_TABLE): Deleted.
1684
1685 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1686
1687         * mule-charset.c (syms_of_mule_charset): Delete charset alias
1688         `vietnamese-viscii-*'.
1689
1690 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1691
1692         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
1693         (Qvietnamese_viscii_upper): New variable.
1694         (Fdefine_charset_alias): New function.
1695         (syms_of_mule_charset): Add new function `define-charset-alias'.
1696         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
1697         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
1698         `latin-viscii-*'.
1699
1700 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
1701
1702         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
1703         (MAX_CHAR_OBS_94x94): New macro.
1704         (breakup_char_1): Support obsolete XEmacs-UCS private code space
1705         for 94x94 sets.
1706
1707         * mule-charset.c (put_byte_from_character_table): Change unit size
1708         from 128 to 256.
1709         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
1710         not defined.
1711         (Fmake_reverse_direction_charset): Modify dummy argument of
1712         `make_charset' for non-UTF-2000 environment.
1713
1714 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1715
1716         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
1717
1718         * mule-charset.c (destroy_byte_from_character_table): New macro.
1719         (latin_jisx0201_to_ucs): Deleted.
1720         (latin_iso8859_2_to_ucs): Deleted.
1721         (latin_iso8859_3_to_ucs): Deleted.
1722         (latin_iso8859_4_to_ucs): Deleted.
1723         (latin_iso8859_9_to_ucs): Deleted.
1724         (latin_viscii_lower_to_ucs): Deleted.
1725         (latin_viscii_upper_to_ucs): Deleted.
1726         (mark_charset): Mark `cs->decoding_table'.
1727         (Fcharset_mapping_table): Fix DOC-string.
1728         (Fset_charset_mapping_table): New function.
1729         (syms_of_mule_charset): Add nwe function
1730         `set-charset-mapping-table'.
1731         (complex_vars_of_mule_charset): Don't setup and use
1732         `latin_*_to_ucs'.
1733
1734 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1735
1736         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
1737         charset.
1738
1739 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1740
1741         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
1742         (Vcharset_katakana_jisx0208): New variable.
1743         (Qhiragana_jisx0208): New variable.
1744         (Qkatakana_jisx0208): New variable.
1745         (make_charset): Add new argument `byte_offset'.
1746         (charset_get_byte1): Modify for new coded-charset definition; use
1747         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1748         `XCHARSET_BYTE_OFFSET'.
1749         (Fmake_charset): Modify for `make_charset'.
1750         (Fmake_reverse_direction_charset): Likewise.
1751         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
1752         `katakana-jisx0208'.
1753         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
1754         `.'  in font registry of charset `katakana-jisx0201',
1755         `latin-jisx0201', `vietnamese-viscii-lower' and
1756         `vietnamese-viscii-upper'; modify DOC-string of charset
1757         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
1758         registry of charset `japanese-jisx0208' not to use font for JIS
1759         X0208:1990; add new charset `hiragana-jisx0208' and
1760         `katakana-jisx0208'.
1761
1762         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
1763         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
1764         (struct Lisp_Charset): Add `byte_offset'.
1765         (CHARSET_BYTE_OFFSET): New macro.
1766         (XCHARSET_UCS_MIN): New macro.
1767         (XCHARSET_UCS_MAX): New macro.
1768         (XCHARSET_CODE_OFFSET): New macro.
1769         (XCHARSET_BYTE_OFFSET): New macro.
1770         (MIN_CHAR_HIRAGANA): New macro.
1771         (MAX_CHAR_HIRAGANA): New macro.
1772         (MIN_CHAR_KATAKANA): New macro.
1773         (MAX_CHAR_KATAKANA): New macro.
1774         (MAKE_CHAR): Modify for new coded-charset definition; use
1775         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1776         `XCHARSET_BYTE_OFFSET'.
1777
1778 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1779
1780         * mule-charset.c (CHAR96): Deleted.
1781         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
1782         <Lisp_Object>.
1783         (latin_iso8859_2_to_ucs): Likewise.
1784         (latin_iso8859_3_to_ucs): Likewise.
1785         (latin_iso8859_4_to_ucs): Likewise.
1786         (latin_iso8859_9_to_ucs): Likewise.
1787         (latin_viscii_lower_to_ucs): Likewise.
1788         (latin_viscii_upper_to_ucs): Likewise.
1789         (latin_tcvn5712_to_ucs): Commented out.
1790         (make_charset): Change type of argument `decoding_table' from
1791         <Emchar*> to <Lisp_Object> [vector of characters].
1792         (Fmake_charset): Modify for `make_charset'.
1793         (Fmake_reverse_direction_charset): Likewise.
1794         (Fcharset_mapping_table): New function in UTF-2000.
1795         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
1796         UTF-2000.
1797         (complex_vars_of_mule_charset): Modify for type change of
1798         `*_to_ucs'; modify for `make_charset'.
1799
1800         * char-ucs.h (struct Lisp_Charset): Change type of
1801         `decoding_table' from <Emchar*> to <Lisp_Object>.
1802         (MAKE_CHAR): Modify for new specification of `decoding_table'.
1803
1804 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1805
1806         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
1807         error with non-UTF-2000-Mule.
1808
1809 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
1810
1811         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
1812         in lisp again].
1813         (Vcharset_chinese_cns11643_4): Likewise.
1814         (Vcharset_chinese_cns11643_5): Likewise.
1815         (Vcharset_chinese_cns11643_6): Likewise.
1816         (Vcharset_chinese_cns11643_7): Likewise.
1817         (Qchinese_cns11643_3): Likewise.
1818         (Qchinese_cns11643_4): Likewise.
1819         (Qchinese_cns11643_5): Likewise.
1820         (Qchinese_cns11643_6): Likewise.
1821         (Qchinese_cns11643_7): Likewise.
1822         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
1823         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1824         and `chinese-cns11643-7' to lisp/mule/chinese.el.
1825         (complex_vars_of_mule_charset): Likewise.
1826
1827 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1828
1829         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
1830         96-set.
1831         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
1832         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
1833
1834 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1835
1836         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
1837         0xFF60.
1838         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
1839         (breakup_char_1): Likewise.
1840
1841         * text-coding.c (char_encode_iso2022): Keep designated charsets if
1842         one of them includes the specified character.
1843
1844 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1845
1846         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
1847
1848 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1849
1850         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
1851
1852 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1853
1854         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
1855         definition for non-UTF-2000 Mule.
1856         (latin_iso8859_3_to_ucs): Likewise.
1857         (latin_iso8859_4_to_ucs): Likewise.
1858         (latin_iso8859_9_to_ucs): Likewise.
1859         (latin_jisx0201_to_ucs): Likewise.
1860         (MIN_CHAR_THAI): Likewise.
1861         (MAX_CHAR_THAI): Likewise.
1862         (MIN_CHAR_GREEK): Likewise.
1863         (MAX_CHAR_GREEK): Likewise.
1864         (MIN_CHAR_HEBREW): Likewise.
1865         (MAX_CHAR_HEBREW): Likewise.
1866         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
1867         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
1868         (MIN_CHAR_CYRILLIC): Likewise.
1869         (MAX_CHAR_CYRILLIC): Likewise.
1870
1871 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1872
1873         * char-ucs.h (breakup_char_1): Use
1874         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
1875         thai-tis620 and katakana-jisx0201 area.
1876
1877 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1878
1879         * char-ucs.h (breakup_char_1): Use
1880         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
1881         area.
1882
1883         * text-coding.c (reset_encoding_stream): Fixed.
1884         (char_encode_ucs4): Delete `& 255'.
1885
1886         * char-ucs.h (breakup_char_1): Use
1887         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
1888
1889 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1890
1891         * file-coding.c (Fmake_coding_system): Don't set up
1892         `codesys->fixed.size'.
1893         (encode_coding_no_conversion): Don't refer
1894         `str->codesys->fixed.size'.
1895
1896 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1897
1898         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
1899         (latin_a_char_to_byte1): Deleted.
1900         (latin_a_char_to_byte2): Deleted.
1901
1902 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1903
1904         * mule-charset.c (make_charset): Add new argument `ucs_min',
1905         `ucs_max' and `code_offset'.
1906         (charset_get_byte1): New implementation [delete specific charset
1907         depended implementations].
1908         (Fmake_charset): Modify for `make_charset'.
1909         (Fmake_reverse_direction_charset): Likewise.
1910         (complex_vars_of_mule_charset): Likewise.
1911
1912         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
1913         `code_offset'.
1914         (CHARSET_UCS_MIN): New macro.
1915         (CHARSET_UCS_MAX): New macro.
1916         (CHARSET_CODE_OFFSET): New macro.
1917         (MAKE_CHAR): Delete charset depended definitions [except
1918         katakana-jisx0201].
1919
1920 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1921
1922         * char-ucs.h (breakup_char_1): Use
1923         `Vdefault_coded_charset_priority_list' for C0-Controls,
1924         Basic-Latin, C1-Controls and Latin-1-Supplement area.
1925
1926 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1927
1928         * char-ucs.h (charset_get_byte1): New function.
1929         (XCHARSET_GET_BYTE1): Deleted.
1930         (charset_get_byte2): New function.
1931         (XCHARSET_GET_BYTE2): Deleted.
1932         (Vdefault_coded_charset_priority_list): New external variable.
1933         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
1934         `Vdefault_preferred_coded_charset_list'.
1935
1936         * mule-charset.c (charset_get_byte1): New function.
1937         (charset_get_byte2): New function.
1938         (Vdefault_coded_charset_priority_list): New variable.
1939         (vars_of_mule_charset): Add new variable
1940         `default-coded-charset-priority-list'.
1941
1942 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1943
1944         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
1945         (XCHARSET_GET_BYTE2): New inline function.
1946         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
1947         `XCHARSET_GET_BYTE2'.
1948
1949 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1950
1951         * mule-charset.c (make_charset): Initialize
1952         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
1953         NULL if table is not defined.
1954
1955 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1956
1957         * text-coding.c (char_encode_shift_jis): Use
1958         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
1959         `ucs_to_latin_jisx0201'.
1960
1961         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
1962         (ucs_to_latin_iso8859_2): Deleted.
1963         (ucs_to_latin_iso8859_3): Deleted.
1964         (ucs_to_latin_iso8859_4): Deleted.
1965         (ucs_to_latin_iso8859_9): Deleted.
1966         (ucs_to_latin_viscii_lower): Deleted.
1967         (ucs_to_latin_viscii_upper): Deleted.
1968         (ucs_to_latin_tcvn5712): Deleted.
1969         (make_charset): Add new argument `decoding_table'; set up
1970         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
1971         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
1972         `decoding_table' is defined in UTF-2000.
1973         (Fmake_charset): Modify for `make_charset'.
1974         (Fmake_reverse_direction_charset): Likewise.
1975         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
1976         and `GENERATE_96_SET'.
1977
1978         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
1979         (ucs_to_latin_jisx0201): Deleted.
1980         (latin_iso8859_2_to_ucs): Deleted.
1981         (ucs_to_latin_iso8859_2): Deleted.
1982         (latin_iso8859_3_to_ucs): Deleted.
1983         (ucs_to_latin_iso8859_3): Deleted.
1984         (latin_iso8859_4_to_ucs): Deleted.
1985         (ucs_to_latin_iso8859_4): Deleted.
1986         (latin_iso8859_9_to_ucs): Deleted.
1987         (ucs_to_latin_iso8859_9): Deleted.
1988         (latin_viscii_lower_to_ucs): Deleted.
1989         (ucs_to_latin_viscii_lower): Deleted.
1990         (latin_viscii_upper_to_ucs): Deleted.
1991         (ucs_to_latin_viscii_upper): Deleted.
1992         (struct Lisp_Charset): Renamed `encoding_table' to
1993         `to_byte1_table'; add `to_byte2_table'.
1994         (CHARSET_DECODING_TABLE): New macro.
1995         (CHARSET_TO_BYTE1_TABLE): New macro.
1996         (CHARSET_TO_BYTE2_TABLE): New macro.
1997         (XCHARSET_DECODING_TABLE): New macro.
1998         (XCHARSET_TO_BYTE1_TABLE): New macro.
1999         (XCHARSET_TO_BYTE2_TABLE): New macro.
2000         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2001         tables.
2002         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2003         don't use `ucs_to_*' tables.
2004
2005 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2006
2007         * text-coding.c (Fmake_coding_system): Don't set up
2008         `codesys->fixed.size'.
2009         (encode_coding_no_conversion): Use `if' instead of `switch'.
2010
2011         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2012
2013 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2014
2015         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2016         (Fmake_charset): Modify for `make_charset'.
2017         (Fmake_reverse_direction_charset): Likewise.
2018         (complex_vars_of_mule_charset): Likewise.
2019
2020 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2021
2022         * text-coding.c (char_encode_shift_jis): Use table
2023         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2024
2025 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2026
2027         * text-coding.c (text_encode_generic): Use `if' instead of
2028         `switch'.
2029         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2030         decode JIS-Latin.
2031
2032 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2033
2034         * text-coding.c (encode_coding_sjis): Deleted.
2035         (char_encode_shift_jis): New function.
2036         (char_finish_shift_jis): New function.
2037         (reset_encoding_stream): Set up `encode_char' and `finish' for
2038         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2039         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2040         (char_encode_utf8): Treat `eol_type'.
2041
2042 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2043
2044         * file-coding.c (decode_coding_iso2022): Use
2045         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2046
2047 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2048
2049         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2050         to 0.7 (Hirano).
2051
2052 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2053
2054         * char-lb.h (CHAR_COLUMNS): New macro.
2055
2056 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2057
2058         * text-coding.c (char_encode_ucs4): New function.
2059         (char_finish_ucs4): New function.
2060         (encode_coding_ucs4): Deleted.
2061         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2062         (text_encode_generic): Delete local variable `charset' and `half'.
2063         (ucs_to_mule_table): Deleted.
2064         (mule_to_ucs_table): Deleted.
2065         (Fset_ucs_char): Deleted.
2066         (ucs_to_char): Deleted.
2067         (Fucs_char): Deleted.
2068         (Fset_char_ucs): Deleted.
2069         (Fchar_ucs): Deleted.
2070         (decode_ucs4): Deleted.
2071         (mule_char_to_ucs4): Deleted.
2072         (encode_ucs4): Deleted.
2073         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2074         (decode_coding_utf8): Likewise.
2075         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2076         (char_encode_iso2022): Fixed.
2077         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2078         `Fset_char_ucs' and `Fchar_ucs'.
2079         (complex_vars_of_file_coding): Don't initialize
2080         `ucs_to_mule_table'.
2081
2082         * objects-tty.c (tty_initialize_font_instance): Don't use
2083         `XCHARSET_COLUMNS'.
2084
2085         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2086         UTF-2000.
2087
2088         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2089         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2090
2091         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2092         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2093         (emchar_string_displayed_columns): Likewise.
2094
2095         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2096         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2097         (string_column_at_point): Likewise.
2098         (Fmove_to_column): Likewise.
2099
2100         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2101         `encoding_table' and `decoding_table'.
2102         (CHARSET_REP_BYTES): Deleted.
2103         (XCHARSET_REP_BYTES): Deleted.
2104         (XCHARSET_COLUMNS): Deleted.
2105         (CHAR_COLUMNS): New macro.
2106         (lookup_composite_char): Deleted unconditionally.
2107         (composite_char_string): Likewise.
2108
2109 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2110
2111         * char-ucs.h (Emchar_to_byte_table): New type.
2112         (get_byte_from_character_table): New function interface.
2113         (Vcharset_latin_jisx0201): New variable.
2114         (latin_jisx0201_to_ucs): New variable.
2115         (ucs_to_latin_jisx0201): New variable.
2116         (Vcharset_latin_iso8859_2): New variable.
2117         (latin_iso8859_2_to_ucs): New variable.
2118         (ucs_to_latin_iso8859_2): New variable.
2119         (Vcharset_latin_iso8859_3): New variable.
2120         (latin_iso8859_3_to_ucs): New variable.
2121         (ucs_to_latin_iso8859_3): New variable.
2122         (Vcharset_latin_iso8859_4): New variable.
2123         (latin_iso8859_4_to_ucs): New variable.
2124         (ucs_to_latin_iso8859_4): New variable.
2125         (Vcharset_latin_iso8859_9): New variable.
2126         (latin_iso8859_9_to_ucs): New variable.
2127         (ucs_to_latin_iso8859_9): New variable.
2128         (Vcharset_latin_viscii_lower): New variable.
2129         (latin_viscii_lower_to_ucs): New variable.
2130         (ucs_to_latin_viscii_lower): New variable.
2131         (Vcharset_latin_viscii_upper): New variable.
2132         (latin_viscii_upper_to_ucs): New variable.
2133         (ucs_to_latin_viscii_upper): New variable.
2134         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2135         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2136         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2137         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2138         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2139         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2140         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2141         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2142         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2143         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2144
2145         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2146         (Vcharset_latin_viscii_upper): New variable.
2147         (make_byte_from_character_table): New function.
2148         (put_byte_from_character_table): New function.
2149         (get_byte_from_character_table): New function.
2150         (CHAR96): New macro.
2151         (ucs_to_latin_jisx0201): New variable.
2152         (latin_jisx0201_to_ucs): New variable.
2153         (ucs_to_latin_iso8859_2): New variable.
2154         (latin_iso8859_2_to_ucs): New variable.
2155         (ucs_to_latin_iso8859_3): New variable.
2156         (latin_iso8859_3_to_ucs): New variable.
2157         (ucs_to_latin_iso8859_4): New variable.
2158         (latin_iso8859_4_to_ucs): New variable.
2159         (ucs_to_latin_iso8859_9): New variable.
2160         (latin_iso8859_9_to_ucs): New variable.
2161         (ucs_to_latin_viscii_lower): New variable.
2162         (latin_viscii_lower_to_ucs): New variable.
2163         (ucs_to_latin_viscii_upper): New variable.
2164         (latin_viscii_upper_to_ucs): New variable.
2165         (ucs_to_latin_tcvn5712): New variable.
2166         (latin_tcvn5712_to_ucs): New variable.
2167         (Qlatin_viscii_lower): New variable.
2168         (Qlatin_viscii_upper): New variable.
2169         (syms_of_mule_charset): Set up new symbol
2170         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2171         (complex_vars_of_mule_charset): Set up new charset
2172         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2173         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2174         `ucs_to_<CHARSET>' tables.
2175
2176 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2177
2178         * text-coding.c: New file.
2179
2180 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2181
2182         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2183
2184         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2185         (MAKE_CHAR): Modify for `ucs-bmp'.
2186         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2187         non-MULE characters of BMP.
2188
2189 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2190
2191         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2192         to 0.6.
2193
2194 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2195
2196         * lstream.h:
2197         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2198         - Include character.h for `CHAR_ASCII_P'.
2199
2200         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2201
2202         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2203         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2204
2205         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2206         (BYTE_C0_P): Likewise.
2207         (BYTE_C1_P): Likewise.
2208         (Lstream_get_emchar_1): Likewise.
2209         (Lstream_fput_emchar): Likewise.
2210         (Lstream_funget_emchar): Likewise.
2211         (copy_internal_to_external): Likewise.
2212         (copy_external_to_internal): Likewise.
2213
2214         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2215         (BYTE_C0_P): Likewise.
2216         (BYTE_C1_P): Likewise.
2217         (Lstream_get_emchar_1): Likewise.
2218         (Lstream_fput_emchar): Likewise.
2219         (Lstream_funget_emchar): Likewise.
2220         (copy_internal_to_external): Likewise.
2221         (copy_external_to_internal): Likewise.
2222
2223         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2224         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2225
2226         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2227         (BYTE_ASCII_P): Moved to mb-1byte.h.
2228
2229 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2230
2231         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2232
2233         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2234         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2235         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2236         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2237         (VALIDATE_CHARPTR_FORWARD): Likewise.
2238         (simple_charptr_emchar): Moved to mb-multibyte.h.
2239         (simple_set_charptr_emchar): Likewise.
2240         (simple_charptr_copy_char): Likewise.
2241         (non_ascii_charptr_emchar): Likewise.
2242         (non_ascii_set_charptr_emchar): Likewise.
2243         (non_ascii_charptr_copy_char): Likewise.
2244         (charptr_emchar): Moved to mb-*byte.h.
2245         (set_charptr_emchar): Likewise.
2246         (charptr_copy_char): Likewise.
2247
2248         * mb-1byte.h, mb-multibyte.h: New files.
2249
2250 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2251
2252         * mb-utf-8.h (MULTIBYTE): New macro.
2253         (MAX_EMCHAR_LEN): Moved from buffer.h.
2254         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2255
2256         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2257
2258         * mb-lb.h, multibyte.h: New files.
2259
2260         * char-1byte.h (Charset_ID): Moved from buffer.h.
2261         (MIN_LEADING_BYTE): Likewise.
2262         (LEADING_BYTE_ASCII): Likewise.
2263         (NUM_LEADING_BYTES): Likewise.
2264         (CHARSETP): Likewise.
2265         (CHARSET_BY_LEADING_BYTE): Likewise.
2266         (XCHARSET_LEADING_BYTE): Likewise.
2267         (XCHARSET_GRAPHIC): Likewise.
2268         (XCHARSET_COLUMNS): Likewise.
2269         (XCHARSET_DIMENSION): Likewise.
2270         (CHAR_CHARSET): Likewise.
2271         (CHAR_LEADING_BYTE): Likewise.
2272         (BREAKUP_CHAR): Likewise.
2273         (Vcharset_ascii): Likewise.
2274
2275         * buffer.h: Include multibyte.h unconditionally.
2276         (VALID_CHARPTR_P): Moved to multibyte.h.
2277         (ASSERT_VALID_CHARPTR): Likewise.
2278         (REAL_INC_CHARPTR): Likewise.
2279         (REAL_INC_CHARBYTIND): Likewise.
2280         (REAL_DEC_CHARPTR): Likewise.
2281         (INC_CHARPTR): Likewise.
2282         (INC_CHARBYTIND): Likewise.
2283         (DEC_CHARPTR): Likewise.
2284         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2285         (VALIDATE_CHARPTR_FORWARD): Likewise.
2286         (charptr_n_addr): Likewise.
2287         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2288         (simple_charptr_emchar): Moved to multibyte.h.
2289         (simple_set_charptr_emchar): Likewise.
2290         (simple_charptr_copy_char): Likewise.
2291         (non_ascii_charptr_emchar): Likewise.
2292         (non_ascii_set_charptr_emchar): Likewise.
2293         (non_ascii_charptr_copy_char): Likewise.
2294         (charptr_emchar): Likewise.
2295         (set_charptr_emchar): Likewise.
2296         (charptr_copy_char): Likewise.
2297         (charptr_emchar_n): Likewise.
2298         (Charset_ID): Moved to char-1byte.h.
2299         (Vcharset_ascii): Likewise.
2300         (CHAR_CHARSET): Likewise.
2301         (CHAR_LEADING_BYTE): Likewise.
2302         (LEADING_BYTE_ASCII): Likewise.
2303         (NUM_LEADING_BYTES): Likewise.
2304         (MIN_LEADING_BYTE): Likewise.
2305         (CHARSETP): Likewise.
2306         (CHARSET_BY_LEADING_BYTE): Likewise.
2307         (XCHARSET_LEADING_BYTE): Likewise.
2308         (XCHARSET_GRAPHIC): Likewise.
2309         (XCHARSET_COLUMNS): Likewise.
2310         (XCHARSET_DIMENSION): Likewise.
2311         (BREAKUP_CHAR): Likewise.
2312
2313 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2314
2315         * character.h: Add document about interface for characters.
2316
2317         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2318         (MAKE_CHAR): Delete comment about
2319         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2320         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2321         (BREAKUP_CHAR): Modify name of arguments.
2322         (CHAR_CHARSET): Modify name of argument.
2323
2324         * buffer.h: Delete document about Emchar accessors.
2325
2326 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2327
2328         * character.h (CHAR_INTP): Moved from buffer.h
2329         (CHAR_OR_CHAR_INTP): Likewise.
2330         (XCHAR_OR_CHAR_INT): Likewise.
2331         (CHECK_CHAR_COERCE_INT): Likewise.
2332
2333         * buffer.h (CHAR_INTP): Moved to character.h
2334         (CHAR_OR_CHAR_INTP): Likewise.
2335         (XCHAR_OR_CHAR_INT): Likewise.
2336         (CHECK_CHAR_COERCE_INT): Likewise.
2337
2338 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2339
2340         * character.h:
2341         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2342         - Include char-1byte.h, char-lb.h or char-ucs.h.
2343
2344         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2345
2346         * buffer.h: Include character unconditionally.
2347         (valid_char_p): Moved to char-*.h.
2348         (non_ascii_valid_char_p): Moved to char-lb.h.
2349
2350         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2351
2352 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2353
2354         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2355         in UTF-2000 because it is not ported yet and not to use
2356         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2357         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2358         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2359
2360         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2361         (CHAR_ASCII_P): Moved from character.h.
2362
2363         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2364         (CHAR_ASCII_P): Likewise.
2365         (CHAR_FIELD1_MASK): Deleted.
2366         (CHAR_FIELD2_MASK): Deleted.
2367         (CHAR_FIELD3_MASK): Deleted.
2368         (MAX_CHAR_BASIC_LATIN): New macro.
2369         (CHAR_FIELD1): Deleted.
2370         (CHAR_FIELD2_INTERNAL): Deleted.
2371         (CHAR_FIELD3_INTERNAL): Deleted.
2372         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2373         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2374         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2375         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2376         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2377         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2378         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2379         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2380         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2381         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2382         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2383         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2384         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2385         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2386         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2387         (MIN_CHAR_COMPOSITION): Deleted.
2388         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2389         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2390
2391 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2392
2393         * buffer.h: Include mb-utf-8.h in UTF-2000.
2394
2395         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2396
2397         * mb-utf-8.h: New file.
2398
2399 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2400
2401         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2402         instead of `int'.
2403
2404         * mule-charset.h, buffer.h (Charset_ID): New type.
2405
2406 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2407
2408         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2409         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2410         instead of `MULE_CHAR_PRIVATE_OFFSET',
2411         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2412         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2413         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2414
2415         * character.h (Vcharset_japanese_jisx0212): New variable
2416         definition.
2417
2418 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2419
2420         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2421         (charset_by_attributes): Delete array about direction.
2422         (latin_a_char_to_charset): New variable in UTF-2000.
2423         (latin_a_char_to_byte1): New variable in UTF-2000.
2424         (latin_a_char_to_byte2): New variable in UTF-2000.
2425         (Qucs_bmp): New variable.
2426         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2427         `Bufbyte'.
2428         (next_allocated_2_byte_leading_byte): Likewise.
2429         (non_ascii_set_charptr_emchar): Likewise.
2430         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2431         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2432         `charset_by_attributes'.
2433         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2434         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2435         and `CHARSET_BY_LEADING_BYTE'.
2436         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2437         `utf-2000-version' to `vars_of_mule_charset'.
2438         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2439         define `leading-code-private-11' in UTF-2000; move setting of
2440         `utf-2000-version' from `syms_of_mule_charset'.
2441         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2442         UTF-2000.
2443
2444         * character.h (Charset_ID): New type.
2445         (LEADING_BYTE_UCS_BMP): New macro.
2446         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2447         (CHARSET_ID_OFFSET_94): New macro.
2448         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2449         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2450         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2451         final-byte.
2452         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2453         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2454         (CHARSET_ID_OFFSET_96): New macro.
2455         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2456         CHARSET_ID_OFFSET_96 and final-byte.
2457         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2458         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2459         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2460         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2461         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2462         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2463         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2464         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2465         (LEADING_BYTE_THAI_TIS620): Likewise.
2466         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2467         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2468         (CHARSET_ID_OFFSET_94x94): New macro.
2469         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2470         CHARSET_ID_OFFSET_94x94 and final-byte.
2471         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2472         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2473         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2474         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2475         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2476         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2477         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2478         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2479         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2480         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2481         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2482         (CHARSET_TYPE_128X128): New macro.
2483         (CHARSET_TYPE_256X256): New macro.
2484         (XCHARSET_PRIVATE_P): Delete unconditionally.
2485         (charset_by_attributes): Delete array about direction.
2486         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2487         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2488         (MIN_CHAR_94): New macro.
2489         (MAX_CHAR_94): New macro.
2490         (MIN_CHAR_96): New macro.
2491         (MAX_CHAR_96): New macro.
2492         (MIN_CHAR_94x94): New macro.
2493         (MAX_CHAR_94x94): New macro.
2494         (MIN_CHAR_96x96): New macro.
2495         (MAX_CHAR_96x96): New macro.
2496         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2497         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2498         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2499         - 32)'.
2500         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2501         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2502         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2503         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2504         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2505         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2506         `XCHARSET_LEADING_BYTE' to make code-point.
2507         (latin_a_char_to_charset): New variable.
2508         (latin_a_char_to_byte1): New variable.
2509         (latin_a_char_to_byte2): New variable.
2510         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2511         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2512         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2513
2514         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2515         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2516         (find_charsets_in_emchar_string): Likewise.
2517         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2518
2519         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2520         `int'.
2521         (decode_coding_iso2022): Likewise.
2522
2523         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2524         of `unsigned char'.
2525
2526         * redisplay.c (redisplay_text_width_emchar_string): Use
2527         `Charset_ID' instead of `unsigned char'.
2528         (redisplay_frame_text_width_string): Likewise.
2529
2530         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2531         `unsigned char'.
2532
2533         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2534         instead of `unsigned char'.
2535         (face_cachel_charset_font_metric_info): Likewise.
2536
2537         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2538         (get_non_ascii_char_table_value): Likewise.
2539         (get_char_table): Likewise.
2540         (put_char_table): Likewise.
2541         (map_over_other_charset): Likewise.
2542         (map_char_table): Likewise.
2543
2544         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2545         instead of `unsigned char'.
2546
2547 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2548
2549         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2550         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2551
2552         * mule-charset.c (leading_code_private_11): Don't define in
2553         UTF-2000.
2554
2555         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2556         in UTF-2000 because it is not ported yet and not to use
2557         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2558
2559 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2560
2561         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2562
2563 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2564
2565         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
2566         in UTF-2000.
2567
2568         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
2569         of unsigned char to store leading-byte.
2570
2571         * chartab.c (get_non_ascii_char_table_value): Don't use
2572         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
2573
2574         * file-coding.c (encode_coding_big5): Delete bogus implementation
2575         in UTF2000.
2576
2577         * character.h (LEADING_BYTE_*): Delete definition for
2578         non-UTF-2000.
2579         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
2580         (LEADING_BYTE_PREFIX_P): Deleted.
2581         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
2582         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
2583         (BUFBYTE_LEADING_BYTE_P): Deleted.
2584         (CHARSET_PRIVATE_P): Deleted unconditionally.
2585         (rep_bytes_by_first_byte): Deleted unconditionally.
2586         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
2587         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
2588         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2589         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
2590         (CHAR_FIELD2): Deleted.
2591         (CHAR_FIELD3): Deleted.
2592         (MAKE_CHAR): Delete definition for non-UTF-2000.
2593         (BREAKUP_CHAR_1_UNSAFE): Deleted.
2594         (breakup_char_1): New implementation.
2595         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
2596         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
2597
2598 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2599
2600         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
2601         condition.
2602
2603 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2604
2605         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
2606         (CHARSET_PRIVATE_P): Likewise.
2607         (XCHARSET_PRIVATE_P): Likewise.
2608         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
2609
2610         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
2611         UTF2000.
2612         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
2613
2614 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2615
2616         * character.h (LEADING_BYTE_*): Changed in UTF2000.
2617         (NUM_LEADING_BYTES): Changed from 128 to 256.
2618         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2619         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
2620         UTF2000.
2621         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2622
2623         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
2624         UTF2000.
2625         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
2626         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
2627         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
2628         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
2629         (Qchinese_cns11643_3): New variable in UTF2000.
2630         (Qchinese_cns11643_4): New variable in UTF2000.
2631         (Qchinese_cns11643_5): New variable in UTF2000.
2632         (Qchinese_cns11643_6): New variable in UTF2000.
2633         (Qchinese_cns11643_7): New variable in UTF2000.
2634         (syms_of_mule_charset): Define `chinese-cns11643-3',
2635         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2636         and `chinese-cns11643-7' in UTF2000.
2637         (vars_of_mule_charset): Initialize
2638         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
2639         + 1 in UTF2000.
2640         (complex_vars_of_mule_charset): Setup charset
2641         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
2642         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
2643
2644 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2645
2646         * mule-charset.c: Move setting for `leading-code-private-11' from
2647         `syms_of_mule_charset' to `vars_of_mule_charset'.
2648
2649 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2650
2651         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
2652         and `NUM_LEADING_BYTES' in assert.
2653
2654 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2655
2656         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
2657         instead of 128.
2658         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
2659         `NUM_LEADING_BYTES' instead of 128.
2660
2661 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2662
2663         * mule-charset.h (charset_by_leading_byte): Use
2664         `NUM_LEADING_BYTES' instead of 128.
2665         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
2666
2667         * mule-charset.c (charset_by_leading_byte): Use
2668         `NUM_LEADING_BYTES' instead of 128.
2669         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
2670
2671         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
2672         128.
2673
2674 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2675
2676         * mule-charset.c (syms_of_mule_charset): Update to
2677         0.4 (Shin-Imamiya).
2678
2679 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
2680
2681         * file-coding.c (encode_coding_sjis): New implementation for
2682         UTF2000.  (decode_coding_sjis): Ditto.
2683
2684 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2685
2686         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
2687         Don't define in UTF2000.
2688
2689         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
2690         defined.
2691
2692         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2693         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
2694         MULE.
2695
2696 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2697
2698         * config.h.in (CHAR_IS_UCS4): New macro.
2699
2700         * mule-charset.c (rep_bytes_by_first_byte): Modify for
2701         conventional MULE representation.
2702         (syms_of_mule_charset): Update to 0.3 (Imamiya).
2703
2704         * mule-charset.h: Reverted to original.
2705
2706         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2707         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
2708         "mule-charset.h" if CHAR_IS_UCS4 is defined.
2709
2710         * character.h: New file.
2711
2712         * file-coding.c (Fmake_coding_system): Set 1 to
2713         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
2714         defined.
2715         (encode_coding_no_conversion): New implementation for UTF2000.
2716
2717         * file-coding.h (struct Lisp_Coding_System): Add new member
2718         `fixed.size'.
2719
2720 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
2721
2722         * file-coding.c (decode_coding_iso2022): Code-point arguments of
2723         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
2724         (encode_coding_iso2022): New implementation for UTF2000.
2725
2726 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2727
2728         * mule-canna.c (c2mu): New implementation for UTF2000.
2729         (m2c): Likewise.
2730
2731 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2732
2733         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
2734
2735 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2736
2737         * file-coding.c (reset_encoding_stream): Set 0 to
2738         `str->iso2022.current_char_boundary' in UTF2000.
2739         (encode_utf8): Don't define in UTF2000.
2740         (encode_coding_utf8): New implementation for UTF-8 representation
2741         of UTF2000.
2742         (complex_vars_of_file_coding): Define coding-system `utf-8'.
2743
2744 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2745
2746         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
2747
2748         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
2749         UTF2000.
2750         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2751
2752         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
2753
2754         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
2755         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
2756         as UTF-8 in UTF2000.
2757         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
2758         (non_ascii_valid_char_p): Don't define in UTF2000.
2759         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
2760         (Lstream_get_emchar_1): Likewise.
2761         (utf-2000-version): New variable in UTF2000.
2762
2763         * lread.c (read_escape): Add new reader `u'.
2764
2765         * insdel.c (three_to_one_table): Don't define in UTF2000.
2766         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
2767         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2768         UTF2000.
2769         (bytind_to_bufpos_func): Likewise.
2770         (buffer_mule_signal_inserted_region): Likewise.
2771         (vars_of_insdel): Don't initialize `three_to_one_table'.
2772         (init_buffer_text): Use `buf->text->mule_size' instead of
2773         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2774         UTF2000.
2775
2776         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
2777         UTF-8 representation in UTF2000.
2778         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
2779         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
2780         (decode_coding_iso2022): Don't define local variable `lb' in
2781         UTF2000; don't use LEADING_BYTE in UTF2000; use
2782         `DECODE_ADD_UCS_CHAR' in UTF2000.
2783         (convert_to_external_format): Decode as UTF-8 in UTF2000.
2784
2785         * config.h.in (UTF2000): New macro.
2786
2787         * buffer.h (struct buffer_text): Add new member `mule_size' and
2788         don't add `mule_shifter' and `mule_three_p' in UTF2000.
2789         (valid_char_p): Return always 1 in UTF2000.
2790         (MAX_EMCHAR_LEN): 6 in UTF2000.
2791         (three_to_one_table): Don't define in UTF2000.
2792         (real_bufpos_to_bytind): Modify for UTF-8 representation in
2793         UTF2000.
2794         (real_bytind_to_bufpos): Likewise.
2795
2796         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
2797
2798 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2799
2800         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
2801         representation change.
2802         (Vutf_2000_version): New variable.
2803         (leading_code_private_11): New variable.
2804         (syms_of_mule_charset): Add new variables `utf-2000-version' and
2805         `leading-code-private-11'.
2806
2807         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
2808         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
2809         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
2810         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
2811         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
2812         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
2813         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
2814         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
2815         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
2816         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
2817         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
2818         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
2819         (MIN_CHAR_GREEK): New macro.
2820         (MAX_CHAR_GREEK): New macro.
2821         (MIN_CHAR_CYRILLIC): New macro.
2822         (MAX_CHAR_CYRILLIC): New macro.
2823         (MIN_CHAR_HEBREW): New macro.
2824         (MAX_CHAR_HEBREW): New macro.
2825         (MIN_CHAR_THAI): New macro.
2826         (MAX_CHAR_THAI): New macro.
2827         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
2828         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
2829         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
2830         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
2831         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
2832         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
2833         (CHAR_FIELD2): New inline function.
2834         (CHAR_FIELD3): New inline function.
2835         (MULE_CHAR_PRIVATE_OFFSET): New macro.
2836         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
2837         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
2838         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
2839         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
2840         (MIN_CHAR_COMPOSITION): Likewise.
2841         (CHAR_LEADING_BYTE): Modified for character representation change.
2842         (MAKE_CHAR): Likewise.
2843
2844         * lisp.h (Vcharset_latin_iso8859_1): New variable.
2845         (Vcharset_greek_iso8859_7): Likewise.
2846         (Vcharset_cyrillic_iso8859_5): Likewise.
2847         (Vcharset_hebrew_iso8859_8): Likewise.
2848         (Vcharset_thai_tis620): Likewise.
2849         (Vcharset_katakana_jisx0201): Likewise.
2850
2851 2000-12-05  Martin Buchholz <martin@xemacs.org>
2852
2853         * XEmacs 21.2.38 is released.
2854
2855 2000-12-05  Martin Buchholz  <martin@xemacs.org>
2856
2857         * symsinit.h: Add init_postgresql_from_environment.
2858
2859 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
2860
2861         * regex.c: Convert to clean C.
2862
2863 2000-12-05  Dan Holmsand  <dan@eyebee.com>
2864
2865         * realpath.c:
2866         Don't #include sysfile.h. Revert to duplicating PATH_MAX
2867         initialization.
2868         (sys_readlink): renamed to system_readlink to avoid conflict with
2869         the other sys_readlink.
2870
2871 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
2872
2873         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
2874
2875 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
2876
2877         * postgresql.c (init_postgresql_from_environment): new function.
2878         (vars_of_postgresql): Move code initializing Lisp variables out and
2879         into init_postgresql_from_environment.
2880         emacs.c (main_1): Call init_postgresql_from_environment if and only
2881         if running a dumped XEmacs.
2882
2883 2000-08-31  Dan Holmsand  <dan@eyebee.com>
2884
2885         * buffer.c: Make find-file-compare-truenames default to true on
2886         windows.
2887
2888         * realpath.c (win32_abs_start): 
2889         (cygwin_readlink):
2890         (win32_readlink): New functions.
2891         (xrealpath): Return really real filenames on windows.
2892
2893         * fileio.c (Ffile_truename): Make file-truename work on windows.
2894
2895 2000-11-29  Didier Verna  <didier@xemacs.org>
2896
2897         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
2898         * faces.c (update_face_cachel_data): use it.
2899         * faces.c (add_face_cachel): use it. Complete background pixmap
2900         frobbing in face cache if `update_face_cachel_data' has not done so.
2901
2902 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
2903
2904         * search.c (string_match_1): Don't set last_thing_searched
2905         when search failed.
2906
2907 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
2908
2909         * buffer.c: Include casetab.h
2910         (common_init_complex_vars_of_buffer): Use new case-table object.
2911         * buffer.h: Include casetab.h
2912         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
2913         (DOWNCASE_TABLE_OF): Ditto.
2914         * bufslots.h: Remove char-tables and add case-table.
2915         * casetab.c: Include casetab.h
2916         (CASE_TABLE_P): Removed.
2917         (mark_case_table): New function.
2918         (allocate_case_table): New function.
2919         (Fcase_table_p): Use new case-table.
2920         (case_table_char): New function.
2921         (Fget_case_table): Ditto.
2922         (Fput_case_table): Ditto.
2923         (Fput_case_table_pair): Ditto.
2924         (Fcopy_case_table): Ditto.
2925         (Fcurrent_case_table): Return case-table.
2926         (Fstandard_case_table): Return case-table.
2927         (Fset_case_table): Fix doc-string.
2928         (set_case_table): Use case-table
2929         (syms_of_casetab): DEFSUBR new functions.
2930         (complex_vars_of_casetab): Set up standard case-table.
2931         * casetab.h: New file.
2932         * editfns.c: Include casetab.h
2933         (Fcompare_buffer_substrings): Use case-table.
2934         * inline.c: Include casetab.h
2935         * lisp.h: Remove bogus extern.
2936         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
2937         * search.c: Include casetab.h
2938         (TRANSLATE_ASCII): Removed.
2939         (TRANSLATE): Unconditionally translate character.
2940         (looking_at_1): Use case-table.
2941         (string_match_1): Ditto.
2942         (fast_string_match): Ditto.
2943         (search_command): Ditto.
2944         (search_buffer): Separate boyer_moore.  Check whether
2945         boyer_moore is poosible.
2946         (simple_search): New function.
2947         (boyer_moore): Separated from search_buffer. Translate char.
2948
2949 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
2950
2951         * regex.c (RE_TR_ASCII): Removed.
2952         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
2953         (PATFETCH): Call PATFETCH_RAW.
2954         (PATFETCH_RAW): Fetch Emchar.
2955         (PATUNFETCH): Decrement charptr.
2956         (GET_BUFFER_SPACE): Rename b to buf_end.
2957         (BUF_PUSH): Ditto.
2958         (BUF_PUSH_2): Ditto.
2959         (BUF_PUSH_3): Ditto.
2960         (EXTEND_BUFFER): Ditto.
2961         (SET_LIST_BIT): Ditto.
2962         (regex_compile): Ditto.  Translate non ASCII char.
2963         (compile_range): Ditto.
2964         (re_search_2): Ditto.
2965         (re_match_2_internal): Compare Emchar.
2966         (bcmp_translate): Ditto.
2967
2968 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
2969
2970         * lisp.h (basic char/int typedefs):  comment improvement.
2971
2972 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
2973
2974         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
2975         unstomp inhibit_site_lisp.  Improve comments.
2976
2977 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
2978
2979         * mule-charset.c (Fcharset_property):  improve type checking, comments.
2980
2981 2000-11-28  Andy Piper  <andy@xemacs.org>
2982
2983         * redisplay-output.c (redisplay_output_subwindow): make sure we do
2984         clipped display for windows in the gutter also.
2985         (redisplay_display_boxes_in_window_p): change semantics of return
2986         codes to be more intuitive.
2987
2988         * gutter.h: declare display_boxes_in_gutter_p.
2989
2990         * gutter.c (display_boxes_in_gutter_p): new function for
2991         redisplay.
2992
2993 2000-11-22  Andy Piper  <andy@xemacs.org>
2994
2995         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
2996         autodetect domain.
2997
2998 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
2999
3000         * callproc.c (Fold_call_process_internal):
3001         * gpm.c (Freceive_gpm_event):
3002         (tty_get_foreign_selection): Might be just warning supression.
3003         * fileio.c (Fwrite_region_internal):
3004         (Fset_visited_file_modtime):
3005         * keymap.c (event_matches_key_specifier_p):
3006         Initialize GCPROed variable.
3007
3008         * menubar-x.c (command_builder_find_menu_accelerator):
3009         Initialize before use.
3010
3011 2000-11-23  Andy Piper  <andy@xemacs.org>
3012
3013         * unexcw.c (unexec): make the resulting executable executable.
3014
3015 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3016
3017         * doc.c (get_doc_string):
3018         Use size_t, not int, for result of XSTRING_LENGTH.
3019
3020         * cmds.c (Fdelete_char):
3021         * cmds.c (Fpoint_at_eol):
3022         * cmds.c (Fself_insert_command):
3023         Use EMACS_INT, not int, for result of XINT.
3024         Someday, someone will want to insert more than 2**31 identical characters.
3025
3026         * cmds.c (Fdelete_char):
3027         * cmds.c (Fdelete_backward_char):
3028         * syntax.c (Fforward_word):
3029         * syntax.c (Fforward_comment):
3030         Make COUNT argument optional, for consistency with forward-char et al.
3031
3032 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3033
3034         * lisp.h:
3035         * print.c (long_to_string):
3036         Return a useful value: the pointer at end of data written.
3037
3038         * doprnt.c:
3039         Use `static const char * const' for constant strings.
3040         (union printf_arg): Delete `i', `ui' members.
3041         (get_doprnt_args):
3042         (emacs_doprnt_1):
3043         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3044         Do all printf-ing via the `l' specifier.
3045         Use EMACS_INT instead of int.
3046         Optimize.
3047
3048 2000-11-20  Didier Verna  <didier@xemacs.org>
3049
3050         * faces.c (update_face_cachel_data): don't frob the background
3051         pixmap when the window is being created. The face is needed but
3052         does not exist yet.
3053
3054 2000-11-20  Andy Piper  <andy@xemacs.org>
3055
3056         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3057         messing with a debug environment.
3058
3059 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3060
3061         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3062
3063 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3064
3065         * casetab.c (Fcase_table_p): Fix compile error and crash.
3066
3067 2000-11-18  Philip Aston  <philipa@mail.com>
3068
3069         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3070
3071 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3072
3073         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3074         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3075
3076 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3077
3078         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3079         * unexelf.c: Use HAVE_ELF_H.
3080         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3081         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3082         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3083         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3084         for testing.
3085         So this is an unexelfsgi.c from a different line of development.
3086
3087 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3088
3089         * regex.c (RE_TR_ASCII): New function.
3090         (RE_TRANSLATE): Call it.
3091
3092 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3093
3094         * buffer.h (TRT_TABLE_OF): Remove assert.
3095         (IN_TRT_TABLE_DOMAIN): Removed.
3096
3097 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3098
3099         * free-hook.c (log_gcpro):
3100         (show_gcprohist): Add support for GCPRO5.
3101
3102 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3103
3104         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3105
3106 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3107
3108         * symeval.h: Declare flush_all_buffer_local_cache.
3109
3110         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3111         (flush_buffer_local_cache): Added.
3112         (flush_all_buffer_local_cache): Added.
3113
3114         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3115
3116         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3117         (pdump_dump_data): Ditto.
3118         (pdump_reloc_one): Ditto.
3119         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3120         before dumping.
3121
3122
3123 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3124
3125         * buffer.c: Remove if 0'ed entry.
3126         * buffer.h: Rewrite TRT to use char-table.
3127         * bufslots.h: Remove mirror tables.
3128         * casetab.c: Remove mirror tables.
3129         (CASE_TABLE_P): New macro.
3130         (Fcase_table_p): Element of a case table is string or char-table.
3131         (make_mirror_trt_table): Removed.
3132         (set_case_table): Setup char-table from strings for backward
3133         compatibility.
3134         * dired.c (Fdirectory_files):
3135         * dired-msw.c: (mswindows_get_files):
3136         * lisp.h: Change prototype of re_pattern_buffer.
3137         * regex.c: (RE_TRANSLATE): New macro.
3138         (TRANSLATE_P): Ditto.
3139         Change translate to type RE_TRANSLATE_TYPE.
3140         * regex.h: Define RE_TRANSLATE_TYPE
3141         * search.c (TRANSLATE): New macro.
3142         (TRANSLATE_ASCII): New macro.
3143         Translate table is changed to Lisp_Object.
3144         (signal_failure): Inhibit return.
3145
3146 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3147
3148         * device-msw.c:
3149         * eldap.c:
3150         * event-Xt.c:
3151         * event-stream.c:
3152         * print.c:
3153         Do UNGCPRO before return.
3154
3155 2000-11-14  Martin Buchholz <martin@xemacs.org>
3156
3157         * XEmacs 21.2.37 is released.
3158
3159 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3160
3161         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
3162         Add comments about discarded return value.
3163
3164 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3165
3166         * callint.c:
3167         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
3168
3169 2000-10-27  Andy Piper  <andy@xemacs.org>
3170
3171         * gutter.c (Fset_default_gutter_position): default left and right
3172         gutters to visible.
3173         (calculate_gutter_size): calculate resonable heuristic for left
3174         and right gutter sizes.
3175         (specifier_vars_of_gutter): change left and right gutter sizes to
3176         autodetect.
3177         (calculate_gutter_size_from_display_lines): new function.
3178         (output_gutter): check for resizing on left and right gutters.
3179         (clear_gutter): don't special case top and left gutters.
3180         (specifier_vars_of_gutter): use new signature for
3181         set_specifier_caching.
3182
3183         * glyphs-x.c (x_redisplay_widget): spelling fix.
3184         * glyphs.c (specifier_vars_of_glyphs):
3185         * menubar.c (specifier_vars_of_menubar):
3186         * redisplay.c (specifier_vars_of_redisplay):
3187         * toolbar.c (specifier_vars_of_toolbar):
3188         * window.c (specifier_vars_of_window):
3189         * scrollbar.c (specifier_vars_of_scrollbar):
3190         (complex_vars_of_scrollbar): use new signature for
3191         set_specifier_caching.
3192
3193         * specifier.c (set_specifier_caching): include recompute flag.
3194         (recompute_one_cached_specifier_in_window): always recompute if
3195         flag set.
3196         (recompute_one_cached_specifier_in_frame): ditto.
3197
3198         * specifier.h (struct specifier_caching): add recompute flag.
3199
3200 2000-10-24  Andy Piper  <andy@xemacs.org>
3201
3202         * unexcw.c (copy_executable_and_dump_data_section): add new
3203         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
3204         5.0 happy.
3205
3206 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3207
3208         * console-x.h (x_device): New member modifier_release_time.
3209         * event-Xt.c (x_handle_sticky_modifiers):
3210         Bound interval modifier keys are sticky.
3211         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
3212         * events.h: extern it.
3213
3214 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3215
3216         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
3217
3218 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3219
3220         * event-stream.c (execute_command_event): Preserve current_events
3221         and the like when event is misc-user-event.
3222         Inhibit quit during the call to maybe_echo_keys.
3223
3224 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
3225
3226         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
3227         symlink when buffer is killed.
3228         (inhibit_clash_detection): New variable.
3229
3230 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
3231
3232         * console.c (Fset_input_method): Trigger redisplay on tty.
3233
3234 2000-11-07  Martin Buchholz  <martin@xemacs.org>
3235
3236         * process.c (Fprocess_status): Revert to previous behavior:
3237         (process-status "nosuchprocess") ==> nil
3238
3239 2000-11-06  Martin Buchholz  <martin@xemacs.org>
3240
3241         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
3242         Work around another GCC 2.95.2 optimizer bug.
3243
3244 2000-11-02  Martin Buchholz  <martin@xemacs.org>
3245
3246         * process.c (Fget_process): Use LIST_LOOP_2.
3247         (kill_buffer_processes): Use LIST_LOOP_2.
3248
3249         * minibuf.c (Fall_completions):
3250         Delete old non-functional code for FSF fourth argument.
3251
3252         * frame.c (frame_matches_frame_spec):
3253         Renamed from `frame_matches_frametype'.  Update all callers.
3254         (device_matches_device_spec):
3255         Renamed from 'device_matches_console_spec'.  Update all callers.
3256
3257         * doc.c (Fsubstitute_command_keys):
3258         Remove buffer overflow crash.  Small code cleanups.
3259
3260         * casetab.c (check_case_table): Simpler code.
3261
3262         * window.c (Freplace_buffer_in_windows):
3263         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
3264         (and similar implementation) as Fdelete_windows_on.
3265         Update all callers.
3266
3267         * alloc.c (Fmake_list):
3268         * alloc.c (make_vector):
3269         * alloc.c (Fmake_vector):
3270         * alloc.c (make_bit_vector):
3271         * alloc.c (Fmake_bit_vector):
3272         * alloc.c (Fbit_vector):
3273         * alloc.c (Fmake_string):
3274         * alloc.c (Fpurecopy):
3275         * alloc.c (Fmemory_limit):
3276         * buffer.c:
3277         * buffer.c (Fget_buffer):
3278         * buffer.c (Fkill_buffer):
3279         * buffer.c (complex_vars_of_buffer):
3280         * bytecode.c (Fcompiled_function_stack_depth):
3281         * callint.c (Fprefix_numeric_value):
3282         * event-stream.c:
3283         * event-stream.c (Fread_key_sequence):
3284         * casetab.c:
3285         * casetab.c (Fcase_table_p):
3286         * casetab.c (check_case_table):
3287         * casetab.c (Fset_case_table):
3288         * casetab.c (Fset_standard_case_table):
3289         * chartab.c:
3290         * chartab.c (Fchar_table_type):
3291         * chartab.c (Freset_char_table):
3292         * chartab.c (Fget_char_table):
3293         * chartab.c (Fget_range_char_table):
3294         * chartab.c (Fput_char_table):
3295         * chartab.c (Fmap_char_table):
3296         * chartab.c (Fcategory_table_p):
3297         * chartab.c (Fcheck_category_at):
3298         * chartab.c (Fchar_in_category_p):
3299         * chartab.c (Fcategory_table):
3300         * chartab.c (Fcopy_category_table):
3301         * chartab.c (Fset_category_table):
3302         * chartab.c (Fcategory_designator_p):
3303         * chartab.c (Fcategory_table_value_p):
3304         * cmds.c (Fdelete_char):
3305         * cmds.c (Fdelete_backward_char):
3306         * cmds.c (Fself_insert_command):
3307         * cmds.c (Fself_insert_internal):
3308         * console.c (Fvalid_console_type_p):
3309         * console.c (Fcdfw_console):
3310         * console.c (Fconsole_type):
3311         * console.c (Fconsole_name):
3312         * console.c (Fconsole_device_list):
3313         * console.c (Fconsole_on_window_system_p):
3314         * data.c:
3315         * data.c (Feq):
3316         * data.c (Fold_eq):
3317         * data.c (Fsubr_interactive):
3318         * data.c (Fchar_to_int):
3319         * data.c (Fint_to_char):
3320         * data.c (Fsetcar):
3321         * data.c (Fsetcdr):
3322         * data.c (Fnumber_to_string):
3323         * data.c (Fstring_to_number):
3324         * data.c (Frem):
3325         * database.c (mark_database):
3326         * database.c (finalize_database):
3327         * database.c (Fdatabase_live_p):
3328         * database.c (Fdatabasep):
3329         * device-x.c (Fx_get_resource):
3330         * device.c (Fdfw_device):
3331         * dired.c:
3332         * dired.c (Ffile_name_completion):
3333         * dired.c (Ffile_name_all_completions):
3334         * dired.c (Fuser_name_completion):
3335         * dired.c (Fuser_name_completion_1):
3336         * dired.c (Fuser_name_all_completions):
3337         * doc.c (Fdocumentation):
3338         * doc.c (Fdocumentation_property):
3339         * doc.c (Fsubstitute_command_keys):
3340         * editfns.c:
3341         * editfns.c (Fchar_to_string):
3342         * editfns.c (Fstring_to_char):
3343         * editfns.c (Ftemp_directory):
3344         * editfns.c (Finsert_char):
3345         * editfns.c (Fbuffer_substring_no_properties):
3346         * editfns.c (Fnarrow_to_region):
3347         * editfns.c (Fchar_equal):
3348         * editfns.c (Fchar_Equal):
3349         * editfns.c (Ftranspose_regions):
3350         * emacs.c (Fdump_emacs):
3351         * eval.c (Fthrow):
3352         * eval.c (Fcommand_execute):
3353         * eval.c (Fautoload):
3354         * eval.c (Fbacktrace):
3355         * eval.c (Fbacktrace_frame):
3356         * events.c:
3357         * events.c (Fcopy_event):
3358         * events.c (Fcharacter_to_event):
3359         * events.c (Fevent_button):
3360         * events.c (Fevent_process):
3361         * extents.c:
3362         * extents.c (Fnext_extent_change):
3363         * extents.c (Fextent_property):
3364         * faces.c (Ffacep):
3365         * faces.c (Fmake_face):
3366         * file-coding.c:
3367         * file-coding.c (Fencode_shift_jis_char):
3368         * file-coding.c (Fencode_big5_char):
3369         * fileio.c (Ffile_name_directory):
3370         * fileio.c (Ffile_name_nondirectory):
3371         * fileio.c (Ffile_name_as_directory):
3372         * fileio.c (Fdirectory_file_name):
3373         * fileio.c (Ffile_truename):
3374         * fileio.c (Fsubstitute_in_file_name):
3375         * fileio.c (Ffile_modes):
3376         * fileio.c (Fset_file_modes):
3377         * fileio.c (Fset_default_file_modes):
3378         * fileio.c (Fverify_visited_file_modtime):
3379         * floatfns.c (Facos):
3380         * floatfns.c (Fasin):
3381         * floatfns.c (Fatan):
3382         * floatfns.c (Fcos):
3383         * floatfns.c (Fsin):
3384         * floatfns.c (Ftan):
3385         * floatfns.c (Fbessel_j0):
3386         * floatfns.c (Fbessel_j1):
3387         * floatfns.c (Fbessel_jn):
3388         * floatfns.c (Fbessel_y0):
3389         * floatfns.c (Fbessel_y1):
3390         * floatfns.c (Fbessel_yn):
3391         * floatfns.c (Ferf):
3392         * floatfns.c (Ferfc):
3393         * floatfns.c (Flog_gamma):
3394         * floatfns.c (Fexp):
3395         * floatfns.c (Fexpt):
3396         * floatfns.c (Flog):
3397         * floatfns.c (Flog10):
3398         * floatfns.c (Fsqrt):
3399         * floatfns.c (Fcube_root):
3400         * floatfns.c (Facosh):
3401         * floatfns.c (Fasinh):
3402         * floatfns.c (Fatanh):
3403         * floatfns.c (Fcosh):
3404         * floatfns.c (Fsinh):
3405         * floatfns.c (Ftanh):
3406         * floatfns.c (Fabs):
3407         * floatfns.c (Ffloat):
3408         * floatfns.c (Flogb):
3409         * floatfns.c (Fceiling):
3410         * floatfns.c (Ffloor):
3411         * floatfns.c (Fround):
3412         * floatfns.c (Ftruncate):
3413         * floatfns.c (Ffceiling):
3414         * floatfns.c (Fffloor):
3415         * floatfns.c (Ffround):
3416         * floatfns.c (Fftruncate):
3417         * fns.c (Fstring_equal):
3418         * fns.c (Fstring_lessp):
3419         * fns.c (concat2):
3420         * fns.c (concat3):
3421         * fns.c (vconcat2):
3422         * fns.c (vconcat3):
3423         * fns.c (Fsubstring):
3424         * fns.c (Fassoc):
3425         * fns.c (Fold_assoc):
3426         * fns.c (assoc_no_quit):
3427         * fns.c (Fassq):
3428         * fns.c (Fold_assq):
3429         * fns.c (assq_no_quit):
3430         * fns.c (Frassoc):
3431         * fns.c (Fold_rassoc):
3432         * fns.c (Frassq):
3433         * fns.c (Fold_rassq):
3434         * fns.c (rassq_no_quit):
3435         * fns.c (Fremassoc):
3436         * fns.c (remassoc_no_quit):
3437         * fns.c (Fremassq):
3438         * fns.c (remassq_no_quit):
3439         * fns.c (Fremrassoc):
3440         * fns.c (Fremrassq):
3441         * fns.c (remrassq_no_quit):
3442         * fns.c (Fsort):
3443         * fns.c (Fplist_get):
3444         * fns.c (Fplist_put):
3445         * fns.c (Fplist_remprop):
3446         * fns.c (Fplist_member):
3447         * fns.c (Flax_plist_get):
3448         * fns.c (Flax_plist_put):
3449         * fns.c (Flax_plist_remprop):
3450         * fns.c (Flax_plist_member):
3451         * fns.c (Fequal):
3452         * fns.c (Fold_equal):
3453         * fns.c (Frequire):
3454         * fns.c (Fbase64_encode_region):
3455         * fns.c (Fbase64_encode_string):
3456         * fns.c (Fbase64_decode_region):
3457         * frame.c:
3458         * frame.c (frame_matches_frame_spec):
3459         * frame.c (device_matches_device_spec):
3460         * frame.c (next_frame):
3461         * frame.c (previous_frame):
3462         * frame.c (Fnext_frame):
3463         * frame.c (Fprevious_frame):
3464         * frame.c (Fframe_property):
3465         * frame.c (Fset_frame_height):
3466         * frame.c (Fset_frame_size):
3467         * frame.h:
3468         * glyphs.c:
3469         * glyphs.c (if):
3470         * glyphs.c (decode_error_behavior_flag):
3471         * glyphs.c (Fmake_image_instance):
3472         * indent.c (Findent_to):
3473         * intl.c (Fignore_defer_gettext):
3474         * keymap.c (Fkeymapp):
3475         * keymap.c (Flookup_key):
3476         * lread.c:
3477         * lread.c (Fload_internal):
3478         * lread.c (Feval_buffer):
3479         * lread.c (Feval_region):
3480         * macros.c (Fexecute_kbd_macro):
3481         * marker.c (set_marker_internal):
3482         * marker.c (Fset_marker):
3483         * marker.c (set_marker_restricted):
3484         * marker.c (Fcopy_marker):
3485         * marker.c (noseeum_copy_marker):
3486         * menubar.c:
3487         * menubar.c (Fpopup_menu):
3488         * minibuf.c:
3489         * mule-charset.c (Fcharset_name):
3490         * mule-charset.c (Fchar_charset):
3491         * mule-charset.c (Fchar_octet):
3492         * mule-charset.c (Fsplit_char):
3493         * mule-wnnfns.c (Fwnn_open):
3494         * mule-wnnfns.c (Fwnn_dict_comment):
3495         * mule-wnnfns.c (Fwnn_quit_henkan):
3496         * mule-wnnfns.c (Fwnn_word_toroku):
3497         * mule-wnnfns.c (Fwnn_word_sakujo):
3498         * mule-wnnfns.c (Fwnn_word_use):
3499         * mule-wnnfns.c (Fwnn_hindo_set):
3500         * objects.c:
3501         * objects.c (Fmake_color_instance):
3502         * objects.c (Fmake_font_instance):
3503         * print.c (Fwrite_char):
3504         * process.c:
3505         * process.c (mark_process):
3506         * process.c (print_process):
3507         * process.c (get_process_from_usid):
3508         * process.c (Fprocessp):
3509         * process.c (Fprocess_live_p):
3510         * process.c (Fget_process):
3511         * process.c (Fget_buffer_process):
3512         * process.c (get_process):
3513         * process.c (Fprocess_id):
3514         * process.c (Fprocess_name):
3515         * process.c (Fprocess_command):
3516         * process.c (init_process_io_handles):
3517         * process.c (start_process_unwind):
3518         * process.c (Fstart_process_internal):
3519         * process.c (Fopen_multicast_group_internal):
3520         * process.c (Fset_process_window_size):
3521         * process.c (read_process_output):
3522         * process.c (send_process):
3523         * process.c (Fprocess_tty_name):
3524         * process.c (Fset_process_buffer):
3525         * process.c (Fprocess_buffer):
3526         * process.c (Fprocess_mark):
3527         * process.c (set_process_filter):
3528         * process.c (Fset_process_filter):
3529         * process.c (Fprocess_filter):
3530         * process.c (Fprocess_send_region):
3531         * process.c (Fprocess_send_string):
3532         * process.c (exec_sentinel):
3533         * process.c (Fset_process_sentinel):
3534         * process.c (Fprocess_sentinel):
3535         * process.c (status_notify):
3536         * process.c (Fprocess_status):
3537         * process.c (Fprocess_exit_status):
3538         * process.c (process_send_signal):
3539         * process.c (Fprocess_send_eof):
3540         * process.c (deactivate_process):
3541         * process.c (remove_process):
3542         * process.c (Fdelete_process):
3543         * process.c (kill_buffer_processes):
3544         * process.c (Fprocess_kill_without_query):
3545         * process.c (Fprocess_kill_without_query_p):
3546         * rangetab.c:
3547         * rangetab.c (Fget_range_table):
3548         * rangetab.c (Fput_range_table):
3549         * rangetab.c (Fremove_range_table):
3550         * rangetab.c (Fclear_range_table):
3551         * search.c:
3552         * search.c (Fskip_chars_forward):
3553         * search.c (Fskip_chars_backward):
3554         * search.c (Fskip_syntax_forward):
3555         * search.c (Fskip_syntax_backward):
3556         * search.c (search_command):
3557         * search.c (Freplace_match):
3558         * search.c (Fregexp_quote):
3559         * select.c (Fown_selection_internal):
3560         * select.c (Fselection_owner_p):
3561         * select.c (Fselection_exists_p):
3562         * select.c (Fget_selection_internal):
3563         * specifier.c:
3564         * symbols.c:
3565         * symbols.c (Fintern):
3566         * symbols.c (Fintern_soft):
3567         * symbols.c (Funintern):
3568         * symbols.c (Fapropos_internal):
3569         * symbols.c (Fset_default):
3570         * syntax.c:
3571         * syntax.c (Fsyntax_table_p):
3572         * syntax.c (Fcopy_syntax_table):
3573         * syntax.c (Fset_syntax_table):
3574         * syntax.c (Fchar_syntax):
3575         * syntax.c (syntax_match):
3576         * syntax.c (Fmatching_paren):
3577         * syntax.c (Fforward_word):
3578         * syntax.c (scan_lists):
3579         * syntax.c (Fscan_lists):
3580         * syntax.c (Fscan_sexps):
3581         * syntax.c (Fparse_partial_sexp):
3582         * toolbar.c (Fcheck_toolbar_button_syntax):
3583         * tooltalk.doc:
3584         * window.c:
3585         * window.c (Fwindowp):
3586         * window.c (Fwindow_live_p):
3587         * window.c (Fwindow_point):
3588         * window.c (Fdelete_window):
3589         * window.c (Fnext_window):
3590         * window.c (Fprevious_window):
3591         * window.c (Fother_window):
3592         * window.c (window_loop):
3593         * window.c (Fget_lru_window):
3594         * window.c (Fsplit_window):
3595         * window.c (Fenlarge_window):
3596         * window.c (Fenlarge_window_pixels):
3597         * window.c (Fshrink_window):
3598         * window.c (Fshrink_window_pixels):
3599         * window.c (change_window_height):
3600         * window.c (Fwindow_configuration_p):
3601         * window.c (Fcurrent_window_configuration):
3602         * window.h:
3603         * casefiddle.c (casify_object):
3604         * casefiddle.c (Fupcase):
3605         * casefiddle.c (Fdowncase):
3606         * casefiddle.c (Fcapitalize):
3607         * casefiddle.c (Fupcase_initials):
3608         * casefiddle.c (casify_region_internal):
3609         * casefiddle.c (casify_region):
3610         * casefiddle.c (Fupcase_region):
3611         * casefiddle.c (Fdowncase_region):
3612         * casefiddle.c (Fcapitalize_region):
3613         * casefiddle.c (Fupcase_initials_region):
3614         * casefiddle.c (Fupcase_word):
3615         * casefiddle.c (Fdowncase_word):
3616         * casefiddle.c (Fcapitalize_word):
3617         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3618         Replace 0 with '\0' when working with bytes.
3619         Replace initial "(" with "\(" in docstrings.
3620
3621 2000-11-01  Martin Buchholz  <martin@xemacs.org>
3622
3623         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
3624
3625         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
3626
3627 2000-10-31  Martin Buchholz  <martin@xemacs.org>
3628
3629         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
3630
3631 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
3632
3633         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
3634         correctly.
3635
3636 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
3637
3638         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
3639         (inhibit_auto_save_session): New variable.
3640         (vars_of_fileio): Declare and initialize them.
3641         * fileio.c (Fdo_auto_save): Don't create session file if
3642         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
3643
3644 2000-10-31  Martin Buchholz  <martin@xemacs.org>
3645
3646         * sgiplay.c (play_internal): C++ compilability.
3647         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
3648         * callproc.c (Fold_call_process_internal):
3649         Remove unused vars `env', `first'.
3650         * scrollbar.c (update_scrollbar_instance):
3651         #### unused var `current_window'.
3652         * redisplay-tty.c: Put currently unused vars insert_mode_on,
3653         etc. within #ifdef NOT_YET.
3654         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
3655         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
3656         * specifier.c (specifier_instance):
3657         #### unused var `tag'.
3658         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
3659
3660 2000-10-27  Martin Buchholz  <martin@xemacs.org>
3661
3662         * fns.c (Fbutlast):
3663         * fns.c (list_sort):
3664         * fns.c (Ffillarray):
3665         * fns.c (bytecode_nconc2):
3666         * fns.c (Fnconc):
3667         * fns.c (mapcar1):
3668         * fns.c (Fmapconcat):
3669         Be pedantically 64-bit correct.  For the time when someone will
3670         want to have a list with length > 2**32.
3671
3672         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
3673         Work around MIPSpro compiler bug.
3674
3675         * process-unix.c (unix_kill_child_process): Add snarky comment.
3676         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
3677
3678         * config.h.in: Oops, _getpt ==> _getpty
3679
3680 2000-10-26  Martin Buchholz  <martin@xemacs.org>
3681
3682         * config.h.in:
3683         * regex.c:
3684         Use void*, not char*, as return type of alloca().
3685
3686         * alloc.c (free_marker): Side effect inside assert expression!
3687
3688 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
3689
3690         * mule-charset.c (Fset_charset_ccl_program): To check
3691         if the given ccl program is valid, use setup_ccl_program()
3692         instead of CHECK_VECTOR().
3693         (Fmake_charset): Likewise.
3694
3695 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
3696
3697         * faces.c (get_extent_fragment_face_cache_index):
3698         Fix cachel.merged_faces memory leak.
3699
3700 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
3701
3702         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
3703         Reset MSB of octets obtained by DECODE_SJIS
3704         because of the incompatibility with Emacs.
3705         (ccl_driver)<CCL_ENCODE_SJIS>:
3706         Set MSB of octets before passing them to
3707         ENCODE_SJIS because of the incompatibility
3708         with Emacs.
3709
3710 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
3711
3712         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
3713         (DECLARE_LRECORD): Undo the last change.
3714         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
3715
3716 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
3717
3718         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
3719         the implementation to lrecord_implementations_table.
3720
3721 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
3722
3723         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
3724         initial value of `lrecord_type_##c_name' and
3725         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
3726         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
3727         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
3728         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
3729         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
3730
3731 2000-10-17  Martin Buchholz  <martin@xemacs.org>
3732
3733         * miscplay.c (sndcnv8S_2mono):
3734         (sndcnv2monounsigned):
3735         (sndcnvULaw_2linear):
3736         (sndcnv16swap):
3737         Remove implementation-defined behavior.
3738
3739 2000-10-12  Martin Buchholz  <martin@xemacs.org>
3740
3741         * input-method-xlib.c: Warning suppression.
3742
3743 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
3744
3745         * mule-ccl.c: Sync up with Emacs 21.0.90.
3746         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
3747         Do nothing.
3748         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
3749         Likewise.
3750         (ccl_driver[WriteMultibyteChar2]): Bug fix.
3751         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
3752         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
3753         leading char belongs to official 2-dimensional charset.
3754         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
3755         write the given character as is.  Otherwise,
3756         if it is a multibyte char, convert it by
3757         non_ascii_set_charptr_emchar, then write it.
3758         (CCL_WRITE_STRING): Likewise.
3759         (ccl_get_compiled_code): New function.
3760         (setup_ccl_program): When ccl_prog is invalid,
3761         return -1.
3762         (Fregister_code_conversion_map): New function.
3763         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
3764
3765         * mule-ccl.h: Sync up with Emacs 21.0.90.
3766         (Fregister_ccl_program): export it.
3767
3768         * redisplay-msw.c (separate_textual_runs):
3769         If ccl program is not valid, don't do ccl conversion.
3770
3771         * redisplay-x.c (separate_textual_runs): Ditto.
3772
3773         * file-coding.c (Fmake_coding_system):
3774         When type is ccl and value is vector, register it
3775         with a proper symbol.  And checks whether the
3776         given ccl program is valid.
3777         (mule_decode): When calling ccl_driver, if src indicates
3778         NULL pointer, set an empty string instead.
3779         (mule_encode): Likewise.
3780
3781 2000-10-11  Martin Buchholz  <martin@xemacs.org>
3782
3783         The following large batch of changes gets us back to a state of
3784         C++ compilability.  Extbyte is now a char, which means that
3785         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
3786
3787         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
3788
3789         * sound.c (Fplay_sound): Type correctness.
3790
3791         * select-x.c (hack_motif_clipboard_selection): Type correctness.
3792         (x_get_window_property): Type correctness.
3793         (receive_incremental_selection): unsigned char ==> Extbyte
3794         (selection_data_to_lisp_data): unsigned char ==> Extbyte
3795         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
3796         (Fx_store_cutbuffer_internal): Type correctness.
3797
3798         * process-unix.c (try_to_initialize_subtty): Type correctness.
3799
3800         * objects-x.c (x_print_color_instance): Type correctness.
3801         (x_print_font_instance): Type correctness.
3802         (x_list_fonts): SExtbyte ==> Extbyte.
3803         (valid_x_font_name_p): SExtbyte ==> Extbyte.
3804         (x_find_charset_font): SExtbyte ==> Extbyte.
3805         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
3806         (truename_via_XListFonts): SExtbyte ==> Extbyte.
3807         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
3808         Use bufbyte_strcmp.
3809
3810         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
3811         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
3812         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
3813         (BYTE_C0_P): Use bit ops for char-signedness safety.
3814         (BYTE_C1_P): Use bit ops for char-signedness safety.
3815         (CHARSET_BY_LEADING_BYTE):
3816         (CHARSET_BY_ATTRIBUTES):
3817         Always use inline function.
3818         Use type_checking_assert.
3819         Hide chlook.
3820
3821         * mule-charset.c (non_ascii_charptr_copy_char):
3822         Modify to work with both ASCII and non-ASCII characters.
3823         Improve docs and variable names.
3824         Replace over-clever fall-through switch with a simple loop.
3825         (Lstream_get_emchar_1):
3826         Replace over-clever fall-through switch with a simple loop.
3827
3828         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3829         Warning suppression.
3830
3831         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
3832         the return value of Lstream_getc, which could be EOF as well.
3833
3834         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
3835
3836         * lisp.h: Make Extbyte a char, not unsigned char, so that external
3837         APIs can be used on Extbytes without casts.  Risky!
3838         (SExtbyte): Remove.
3839         (UExtbyte): Remove.
3840
3841         * input-method-xlib.c (XIM_init_device):
3842         Use Xlib.h instead of IntrinsicP.h.
3843         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
3844         which will break in X11R7.
3845         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
3846         to call XRegisterIMInstantiateCallback with correct types.
3847
3848         * gui-x.c (button_item_to_widget_value): Type correctness.
3849
3850         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
3851
3852         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
3853         (xbm_instantiate_1): Type correctness.
3854         (BUILD_GLYPH_INST):  Type correctness.
3855
3856         * fileio.c (Fsubstitute_in_file_name): Type correctness.
3857
3858         * file-coding.c:
3859         (decode_coding_sjis):
3860         (decode_coding_big5):
3861         (decode_coding_ucs4):
3862         (decode_coding_utf8):
3863         (decode_coding_iso2022):
3864         (decode_coding_no_conversion):
3865         Make all decoding functions take an Extbyte * arg.
3866         (encode_coding_sjis):
3867         (encode_coding_big5):
3868         (encode_coding_ucs4):
3869         (encode_coding_utf8):
3870         (encode_coding_iso2022):
3871         (encode_coding_no_conversion):
3872         Make all encoding functions take a Bufbyte * arg.
3873         Use size_t instead of unsigned int for memory sizes.
3874         Only cast to unsigned char whenever dereferencing Extbyte *.
3875
3876         * doc.c (unparesseuxify_doc_string): Type correctness.
3877
3878         * console-x.c (split_up_display_spec):
3879         Rewrite without using details of internal string representation.
3880         (x_semi_canonicalize_device_connection): Type correctness.
3881
3882         * config.h.in:
3883         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
3884         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
3885         (HAVE_XFREE386): Removed.
3886
3887         * buffer.h (DEC_CHARPTR): `const' correctness.
3888         (bufbyte_strcmp): New.
3889         (bufbyte_memcmp): New.
3890
3891         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
3892
3893         * buffer.h (XCHAR_OR_CHAR_INT):
3894         Always use inline function.
3895         Remove redundant type checking assert() - XINT will abort quite nicely.
3896
3897 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
3898
3899         * search.c (Freplace_match): Set newtext to an empty string.
3900
3901 2000-10-10  Martin Buchholz  <martin@xemacs.org>
3902
3903         * s/decosf1-3.h: Remove #include of stropts.h
3904         * s/ptx.h: Remove #include of stropts.h
3905         * s/usg5-4.h: Remove #include of stropts.h
3906         * sysproc.h:
3907         * config.h.in:
3908         Use stropts.h, not sys/stropts.h.
3909         Use strtio.h, not sys/strtio.h.
3910
3911 2000-10-04  Martin Buchholz <martin@xemacs.org>
3912
3913         * XEmacs 21.2.36 is released.
3914
3915 2000-09-21  Andy Piper  <andy@xemacs.org>
3916
3917         * glyphs-x.c (x_redisplay_widget): make sure non-structural
3918         changes still involve copying the widget tree.
3919         (update_widget_face): make sure a change is register in the widget
3920         tree. Call update_tab_widget_face appropriately.
3921         (update_tab_widget_face): ditto.
3922         (x_tab_control_redisplay): make sure non-structural changes still
3923         involve copying the widget tree.
3924
3925 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
3926
3927         * lread.c (locate_file): Check the path element is non-nil.
3928
3929 2000-10-02  Martin Buchholz  <martin@xemacs.org>
3930
3931         * lisp.h: Warning suppression for SCO compilers.
3932
3933         * redisplay-tty.c (reset_tty_modes): Fix crash.
3934         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
3935
3936 2000-09-27  Martin Buchholz  <martin@xemacs.org>
3937
3938         Big signal/process handling overhaul.  Bugs fixed:
3939         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
3940         M-x comint-kill-subjob should work for both values nil and t of
3941         process-connection-type. It was broken on most platforms.
3942         Testing on Irix and Cygwin still needed.  Other plaforms tested.
3943         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
3944         * process-unix.c: Signal/Process handling overhaul.
3945         (pty_name): make 64 bytes, as `expect' does, for paranoia.
3946         (allocate_pty): Use all available modern methods of allocating
3947         ptys, falling back to old style BSD allocation as a last resort.
3948         Use allegedly more secure Unix98 pty allocation by default.
3949         (allocate_pty_the_old_fashioned_way): New. the last resort.
3950         (unix_create_process): Push ptem, ldterm, ttcompat where
3951         available.  Autoconfiscate.
3952         (try_to_initialize_subtty): New.
3953         (unix_kill_child_process): Proper signal handling for ptys on most
3954         platforms, using special knowledge of AIX, BSD, etc...
3955         (unix_create_process): Always disconnect_controlling_terminal() for
3956         subprocesses, whether using ptys or not.
3957         * process.h: Remove old getpt-dependent PTY code.
3958         * process.c (Fprocess_send_signal): New, obvious generic function.
3959         (decode_signal): New.
3960         (Finterrupt_process):
3961         (Fkill_process):
3962         (Fquit_process):
3963         (Fstop_process):
3964         (Fcontinue_process):
3965         (Fsignal_process): Use decode_signal.
3966         (process_send_signal):
3967         Many docstring corrections.
3968         Allow any signal to be sent to a process object.
3969         * config.h.in: Add symbols for big signal/process overhaul.
3970         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
3971         * sysproc.h: Include process-related headers, where available:
3972         sys/stropts.h sys/strtio.h pty.h libutil.h
3973         * s/irix4-0.h:
3974         * s/irix5-0.h:
3975         * s/cygwin32.h:
3976         * s/gnu.h:
3977         * s/linux.h:
3978         * s/hpux.h:
3979         * s/aix3-1.h:
3980         Remove old S&M pty stuff.
3981         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
3982         * systty.h: Simplify cpp hackery, improve comments.
3983         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
3984
3985         * editfns.c (Fformat_time_string):
3986         Be a little more paranoid with the return value of ctime.
3987
3988         * fileio.c (check_executable):
3989         (check_writable):
3990         Use symbolic constants X_OK, W_OK.
3991
3992         * console-x.c (split_up_display_spec): Fix a warning.
3993
3994 2000-10-02  Martin Buchholz  <martin@xemacs.org>
3995
3996         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
3997         * ntproc.c (sys_spawnve): make_string ==> build_string
3998         Small clarity improvements.
3999
4000 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4001
4002         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4003
4004         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4005
4006         * config.h.in (HAVE_STRCASECMP): Remove.
4007
4008 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4009
4010         * redisplay-output.c (redisplay_output_pixmap):
4011         Cleaner and possibly more 64-bit correct code.
4012
4013 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4014
4015         * dumper.c (pdump_load_finish): move restoration of
4016         `noninteractive1' to emacs.c (main_1).
4017         * emacs.c (main_1): protect LISP-visible command-line flags
4018         from pdump_load().
4019
4020 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4021
4022         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4023         DUMP_TARGET instead of literal program names.
4024
4025 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4026
4027         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4028
4029 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4030
4031         * *: Spelling mega-patch
4032
4033 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4034
4035         * fns.c (bad_bad_turtle):
4036         Delete "Eek!" comment, since we fixed the bug to which it refers.
4037
4038 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4039
4040         * alloca.c: Replace REGISTER with register.
4041
4042 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4043
4044         * file-coding.c (ucs_to_char): Use countof.
4045
4046 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4047
4048         * file-coding.c: (ucs_to_char):
4049         (complex_vars_of_file_coding):
4050         Use countof instead of sizeof.
4051         Use CHECK_NATNUM instead of CHECK_INT.
4052
4053         * sysdep.c (strcasecmp): Remove.
4054         * device-x.c (ascii_strcasecmp): New.
4055         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4056         Avoid using non-standard non-portable strcasecmp.
4057
4058 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4059
4060         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4061         * font-lock.c: remove reference to emacsfns.h.
4062         * search.c: small doc improvement.
4063         * event-Xt.c: correct file names in comments.
4064         * console-x.h Correct file names in comments.
4065         * frame.c: Correct file names in comments.
4066         * event-stream.c: remove Energize from comments.
4067
4068 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4069
4070         * symeval.h (DEFERROR_STANDARD):
4071         (DEFERROR):
4072         (DEFSYMBOL):
4073         (DEFSYMBOL_NO_DUMP):
4074         (DEFSYMBOL_MULTIWORD_PREDICATE):
4075         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4076         (DEFKEYWORD):
4077         The construct &##name is not sensible C.
4078         Fixes compilation errors with Unixware native compiler.
4079
4080 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4081
4082         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4083         (next_frame_internal): Removed.  We now just have next_frame.
4084         (next_frame):
4085         Write a simpler and cleaner one-pass algorithm.
4086         Remove called_from_delete_device arg and #ifdefed-out code.
4087         (previous_frame):
4088         Renamed from prev_frame.  Update callers.
4089         Cleaned up to have an analogous implementation to next_frame.
4090         (other_visible_frames_internal): Remove the
4091         called_from_delete_device bogus arg, and hence, remove this
4092         function.  Just use other_visible_frames().
4093
4094         * window.c (Fnext_window):
4095         Prettify docstring.
4096         Since next_frame() is guaranteed to return a frame, remove check
4097         for nil inserted in previous patch.
4098         (Fprevious_window):
4099         Prettify docstring.
4100         Make code look more like Fnext_window.
4101         (window_loop):
4102         Respect the `console' arg when iterating through windows.
4103         Fixes bug: (get-buffer-window buffer t device) not respecting
4104         the `device' arg.
4105         This function needs more work, as others have pointed out.
4106
4107         * frame.h: Rename prev_frame to previous_frame.
4108         device_matches_console_spec no longer takes a `frame' arg.
4109
4110         * s/gnu.h:
4111         * s/linux.h:
4112         * s/hpux.h:
4113         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4114         From "Golubev I. N." <gin@mo.msk.ru>.
4115
4116         * make-src-depend: Fix typo.
4117
4118 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4119
4120         * window.c (Fnext_window):
4121         next_frame() might return nil, not a frame.
4122         Fixes this crash:
4123         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4124
4125         * frame.c (next_frame_internal):
4126         We've passed a frame if we've passed its device.
4127         Fixes this crash:
4128         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4129 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4130
4131 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4132
4133         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4134         Allow option to suppress accelerators in menu/dialog items.
4135         (populate_or_checksum_helper): Pass dialog title through above.
4136
4137 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4138
4139         * event-msw.c (mswindows_key_to_emacs_keysym):
4140         Add "pause" key, fix "menu" key.
4141
4142 2000-09-09  Martin Buchholz  <martin@xemacs.org>
4143
4144         * eval.c (reinit_vars_of_eval):
4145         Increase max_lisp_eval_depth to 1000,
4146         required for thai-xtis.el to byte-compile under some circumstances.
4147
4148 2000-09-04  Martin Buchholz  <martin@xemacs.org>
4149
4150         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
4151         From Kenichi Handa.
4152
4153 2000-09-01  Martin Buchholz  <martin@xemacs.org>
4154
4155         * make-src-depend: Make the generated Makefiles smaller.
4156
4157         * s/hpux.h (SETUP_SLAVE_PTY):
4158         Provide a %d in the format string for the errno argument.
4159
4160         * editfns.c (Ftemp_directory):
4161         Warning fix.
4162         Avoid buffer overrun on very long file name.
4163
4164         * input-method-xlib.c (XIM_init_device):
4165         6th parameter of XRegisterIMInstantiateCallback has different
4166         pointer types on different OSes, so simply cast to (void *).
4167
4168         * unexhp9k800.c: Warning fixes.  Fiddly changes.
4169
4170         * sysdll.c (dll_open):
4171         shl_load will hang hard if passed a NULL filename.
4172         Simply return NULL for compatibility with dlopen.
4173         * sysdll.c: Conform to XEmacs coding standards.
4174
4175         * sysdep.c (get_pty_max_bytes):
4176         Support pty input lines longer than 512 bytes on HP-UX 10.20.
4177
4178 2000-08-31  Martin Buchholz  <martin@xemacs.org>
4179
4180         * tooltalk.c: Add #include <syssignal.h>
4181
4182 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
4183
4184         * s/hpux.h: Don't use undefined function sigunblock().
4185
4186 2000-08-31  Martin Buchholz  <martin@xemacs.org>
4187
4188         * config.h.in: Add HAVE_BALLOON_HELP.
4189         * emacs.c: Use HAVE_BALLOON_HELP.
4190         * Makefile.in.in (x_objs):
4191         Make Balloon Help conditional on finding shape.h.
4192
4193 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
4194
4195         * syntax.c (regex_emacs_buffer_p): New variable.
4196         * syntax.h (regex_emacs_buffer_p): extern.
4197         * search.c (looking_at_1):
4198         (string_match_1):
4199         (fast_string_match):
4200         (search_buffer): Set regex_emacs_buffer_p.
4201         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
4202         when before_dot, at_dot, after_dot.
4203
4204 2000-08-23  Andy Piper  <andy@xemacs.org>
4205
4206         * gui-x.c (popup_selection_callback): Only set action_occurred
4207         when we really have an image instance.
4208         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
4209
4210 2000-08-23  Andy Piper  <andy@xemacs.org>
4211
4212         * gui-msw.c (mswindows_handle_gui_wm_command): set
4213         action_occurred.
4214         * gui-x.c (popup_selection_callback): ditto.
4215
4216         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
4217         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
4218         (struct Lisp_Image_Instance): add action_occurred flag.
4219
4220         * glyphs.c (redisplay_subwindow): use action_occurred flag.
4221         (image_instance_changed): ditto.
4222         (reset_frame_subwindow_instance_cache): only unmap windows - do
4223         not remove them from the cache also.
4224
4225         * glyphs-widget.c (tab_control_update): better debug.
4226         (progress_gauge_update): ditto.
4227         (layout_update): ditto.
4228         (layout_instantiate): ditto.
4229         (tab_control_order_only_changed): cope with null pending items.
4230
4231         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
4232         debug. Force selection of an item when an action occurred. Cope
4233         with null pending_items.
4234         (mswindows_progress_gauge_redisplay): better debug.
4235         * glyphs-x.c (x_tab_control_redisplay): ditto.
4236
4237         * redisplay.c (redisplay_frame): reset the frame cache if the
4238         frame is garbaged.
4239
4240         * window.c (Fset_window_configuration): potentially re-enable
4241         frame cache reset.
4242         (window_unmap_subwindows): need to finalize instances here since
4243         it is only used in mark_window_as_deleted.
4244
4245 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
4246
4247         * nas.c (SndOpenDataForReading):
4248         nas.c (WaveOpenDataForReading):
4249         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
4250         Somehow escaped from the 2000-08-14 patch.
4251
4252 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4253
4254         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
4255         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
4256
4257 2000-08-21  Andy Piper  <andy@xemacs.org>
4258
4259         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
4260         window if it is not already displayed.
4261
4262         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
4263         it is not already displayed.
4264
4265         * window.c (Fset_window_configuration): don't reset the frame
4266         cache.
4267
4268         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
4269         instances from the frame cache if we are actually finalizing them.
4270         (reset_frame_subwindow_instance_cache): reset frame cache only
4271         after unmapping everything.
4272         (map_subwindow): set displayed flag after mapping.
4273
4274 2000-08-21  Martin Buchholz  <martin@xemacs.org>
4275
4276         * data.c (indirect_function):
4277         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
4278
4279         * eval.c (function_argcount):
4280         Use original function when signaling errors.
4281
4282 2000-08-18  Andy Piper  <andy@xemacs.org>
4283
4284         * frame.c (delete_frame_internal): use new
4285         free_frame_subwindow_instances name.
4286
4287         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
4288         (add_tab_item): make return type correct.
4289         (mswindows_tab_control_instantiate): assert index of tab.
4290         (mswindows_tab_control_redisplay): Re-code to use
4291         gui_item_equal_sans_selected and gui_item_list_find_selected.
4292
4293         * glyphs-widget.c (tab_control_update): Correct comment.
4294
4295         * window.c (window_unmap_subwindows): use new
4296         unmap_subwindow_instance_cache_mapper.
4297         (window_unmap_subwindows_cache_mapper): deleted.
4298         (Fset_window_configuration): comparisons should now be with
4299         EQ. Preserve the subwindow instance cache across configuration
4300         changes.
4301         (allocate_window): ditto.
4302         (make_dummy_parent): ditto.
4303
4304         * glyphs.c (free_frame_subwindow_instances): rename from
4305         free_frame_subwindow_instance_cache. finalize all instances rather
4306         than just those in the display cache.
4307         (finalize_all_subwindow_instances): walk windows unmapping and
4308         finalizing subwindows.
4309         (unmap_subwindow_instance_cache_mapper): moved from
4310         window.c. Allow finalization as well as unmapping.
4311
4312         * gui.c (gui_item_list_find_selected): new function.
4313
4314         * gui.h (gui_item_list_find_selected): declare.
4315
4316         * glyphs-x.c (x_tab_control_redisplay): pick tab
4317         explicitly. Re-code to use gui_item_equal_sans_selected and
4318         gui_item_list_find_selected.
4319
4320         * glyphs-x.h: add lwlib-utils.h
4321
4322         * buffer.c (Frecord_buffer): undo previous change.
4323
4324 2000-08-09  Vin Shelton  <acs@xemacs.org>
4325
4326         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
4327         possible.  Create temporary files more securely.  The patch was
4328         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
4329         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
4330         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
4331         for details.
4332
4333 2000-08-07  Ben Wing  <ben@xemacs.org>
4334
4335         * getloadavg.c: remove duplicate (and windows-breaking)
4336         includes of fcntl.h and sys/file.h.
4337
4338         * nt.c: remove duplicate getloadavg() definition.
4339
4340         * sysdll.h (Qdll_filename_encoding): add missing stand-in
4341         encodings.
4342
4343 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4344
4345         * eval.c (function_argcount): If function needs to be autoloaded
4346         actually use the loaded definition.
4347         GCPRO function.
4348
4349 2000-08-05  Ben Wing  <ben@xemacs.org>
4350
4351         * getloadavg.c: add prototype for getloadavg().  remove
4352         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
4353         of the code).  remove duplicate header includes.
4354
4355         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
4356
4357         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
4358         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
4359         useful load average.
4360
4361         * alloc.c (reinit_alloc_once_early): removed references to
4362         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
4363         the lisp vars are the only things referencing the malloc_sbrk_*
4364         vars, and they were already if 0'd out.  these vars only exist
4365         in the older malloc.c, which is basically unused, and they're
4366         only for informational purposes.
4367
4368         * m\*.h: removed useless VIRT_ADDR_VARIES.
4369
4370         * m\powerpc.h: removed stray NO_ARG_ARRAY.
4371
4372 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
4373
4374         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
4375         color if the image is a mono pixmap.
4376
4377 2000-07-30  Ben Wing  <ben@xemacs.org>
4378
4379         * Makefile.in.in (release):
4380         Remove stray @.
4381
4382         * buffer.c (directory_is_current_directory):
4383         * dired-msw.c (mswindows_get_files):
4384         * dired.c:
4385         * dired.c (Fdirectory_files):
4386         * dired.c (file_name_completion_stat):
4387         * dired.c (Ffile_attributes):
4388         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
4389         preprocessor tricks, to avoid problems on some machines
4390         (e.g. SCO).
4391
4392         * callproc.c (egetenv): GC docs.
4393
4394         * console-msw.h:
4395         * console-msw.h (struct mswindows_dialog_id):
4396         * lrecord.h (lrecord_type):
4397         New object for use with MSW dialogs.
4398
4399         * console.h (struct console_methods):
4400         New enable/disable frame methods, for proper modal dialogs.
4401
4402         * device-msw.c (msprinter_default_printer): Fix to follow
4403         proper Mule conventions.
4404
4405         * device-msw.c:
4406         * device-msw.c (signal_open_printer_error):
4407         * device-msw.c (msprinter_init_device):
4408         * device-msw.c (ensure_not_printing):
4409         * device-msw.c (plist_get_margin):
4410         * device-msw.c (Fmsprinter_select_settings):
4411         * device-msw.c (finalize_devmode):
4412         * device-msw.c (Fmsprinter_settings_despecialize):
4413         * device-msw.c (signal_enum_priner_error):
4414         * extents.c (decode_extent):
4415         * extents.c (decode_map_extents_flags):
4416         * extents.c (decode_extent_at_flag):
4417         * extents.c (Fextent_at):
4418         * extents.c (Fextents_at):
4419         * extents.c (symbol_to_glyph_layout):
4420         [[[[2]]]] Use structured errors.
4421
4422         * dialog-msw.c:
4423         * dialog-msw.c (mswindows_is_dialog_msg):
4424         * dialog-msw.c (mark_mswindows_dialog_id):
4425         * dialog-msw.c (dialog_proc):
4426         * dialog-msw.c (handle_question_dialog_box):
4427         * dialog-msw.c (syms_of_dialog_mswindows):
4428         Define new object to clean up marking; use it as a dialog identifier.
4429         Call new delete-dialog-box-hook.
4430
4431         * dialog-x.c (dbox_selection_callback):
4432         * dialog-x.c (dbox_descriptor_to_widget_value):
4433         * dialog-x.c (x_make_dialog_box_internal):
4434         Call new delete-dialog-box-hook.
4435         Return an id.
4436
4437         * dialog.c:
4438         * dialog.c (syms_of_dialog):
4439         * dialog.c (vars_of_dialog):
4440         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
4441
4442         * eval.c:
4443         * eval.c (signal_call_debugger):
4444         when noninteractive, output stack traces on the console instead
4445         of in a (never-seen) buffer.
4446
4447         * eval.c (signal_type_error):
4448         * eval.c (invalid_argument_2):
4449         * lisp.h:
4450         new funs for use w/structured errors.
4451
4452         * event-Xt.c:
4453         * event-Xt.c (x_to_emacs_keysym):
4454         * event-Xt.c (describe_event):
4455         * event-Xt.c (emacs_Xt_event_handler):
4456         * event-Xt.c (vars_of_event_Xt):
4457         * event-msw.c:
4458         * event-msw.c (mswindows_wnd_proc):
4459         * event-msw.c (vars_of_event_mswindows):
4460         rename {x,mswindows}-debug-events to debug-{}-events for
4461         consistency with other debug-foo variables.
4462
4463         * event-stream.c:
4464         document next-event more clearly.
4465
4466         * fileio.c (Ffile_name_directory):
4467         * fileio.c (Ffile_name_nondirectory):
4468         * fileio.c (Funhandled_file_name_directory):
4469         * fileio.c (file_name_as_directory):
4470         * fileio.c (Ffile_name_as_directory):
4471         * fileio.c (directory_file_name):
4472         * fileio.c (Fdirectory_file_name):
4473         * fileio.c (Fmake_temp_name):
4474         * fileio.c (Ffile_truename):
4475         * fileio.c (Fsubstitute_in_file_name):
4476         * fileio.c (expand_and_dir_to_file):
4477         * fileio.c (barf_or_query_if_file_exists):
4478         * fileio.c (check_executable):
4479         * fileio.c (Ffile_exists_p):
4480         * fileio.c (Ffile_writable_p):
4481         * fileio.c (Ffile_directory_p):
4482         * fileio.c (Ffile_regular_p):
4483         * fileio.c (Ffile_modes):
4484         * fileio.c (Ffile_newer_than_file_p):
4485         * fileio.c (Fverify_visited_file_modtime):
4486         * fileio.c (Fset_visited_file_modtime):
4487         * fileio.c (auto_save_1):
4488         (1). (2).
4489         fix up gcpro's.
4490
4491         * frame-msw.c:
4492         * frame-msw.c (mswindows_init_frame_1):
4493         * frame-msw.c (mswindows_enable_frame):
4494         * frame-msw.c (error_frame_unsizable):
4495         * frame-msw.c (msprinter_init_frame_1):
4496         * frame-msw.c (msprinter_init_frame_3):
4497         * frame-msw.c (console_type_create_frame_mswindows):
4498         (2).
4499         implement new enable/disable frame methods.
4500
4501         * frame-x.c:
4502         * frame-x.c (x_enable_frame):
4503         * frame-x.c (console_type_create_frame_x):
4504         implement new enable/disable frame methods.
4505
4506         * frame.c:
4507         * frame.c (Fdisable_frame):
4508         * frame.c (syms_of_frame):
4509         * frame.h (struct frame):
4510         implement new enable/disable frame methods/functions.
4511
4512         * general-slots.h:
4513         add initial-focus.
4514
4515         * glyphs-msw.c (mswindows_widget_instantiate):
4516         comment that initial-focus should be implemented.
4517
4518         * glyphs-widget.c:
4519         * glyphs-widget.c (check_valid_instantiator):
4520         * glyphs-widget.c (check_valid_orientation):
4521         * glyphs-widget.c (check_valid_tab_orientation):
4522         * glyphs-widget.c (check_valid_justification):
4523         * glyphs-widget.c (check_valid_border):
4524         * glyphs-widget.c (check_valid_callback):
4525         * glyphs-widget.c (check_valid_int_or_function):
4526         * glyphs-widget.c (check_valid_string_or_vector):
4527         * glyphs-widget.c (check_valid_item_list_1):
4528         * glyphs-widget.c (widget_validate):
4529         * glyphs-widget.c (combo_box_validate):
4530         * glyphs-widget.c (widget_instantiate):
4531         * glyphs-widget.c (syms_of_glyphs_widget):
4532         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
4533         * glyphs-widget.c (image_instantiator_combo_box):
4534         * glyphs-widget.c (image_instantiator_scrollbar):
4535         * glyphs-widget.c (image_instantiator_tab_control):
4536         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
4537         (2).
4538         support (unimplemented) keyword initial-focus.
4539         reindent long macros.
4540
4541         * glyphs-x.c (x_redisplay_widget):
4542         * glyphs-x.c (x_button_instantiate):
4543         * glyphs-x.c (x_button_redisplay):
4544         * glyphs-x.c (x_progress_gauge_instantiate):
4545         * glyphs-x.c (x_edit_field_instantiate):
4546         * glyphs-x.c (x_combo_box_instantiate):
4547         * glyphs-x.c (x_tab_control_instantiate):
4548         * glyphs-x.c (x_label_instantiate):
4549         * gui-x.c:
4550         * gui-x.c (button_item_to_widget_value):
4551         * gui-x.c (gui_items_to_widget_values_1):
4552         * gui-x.c (gui_item_children_to_widget_values):
4553         * gui-x.c (gui_items_to_widget_values):
4554         * gui-x.h:
4555         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4556         add new flag to gui-parsing routines to indicate whether
4557         accelerator specs should be supported.
4558
4559         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
4560
4561         * glyphs.h (struct Lisp_Image_Instance):
4562         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
4563         add initial-focus flag.
4564
4565         * gui.c:
4566         * gui.c (syms_of_gui):
4567         * gui.c (vars_of_gui):
4568         clean up menu-no-selection-hook.
4569
4570         * gui.h:
4571         support delete-dialog-box-hook.
4572
4573         * lread.c (Fload_internal):
4574         * lread.c (locate_file_in_directory_mapper):
4575         (1).
4576
4577         * lrecord.h:
4578         * lrecord.h (struct toolbar_button):
4579         * lrecord.h (syms_of_toolbar):
4580         document how to create a new object.
4581
4582         * menubar-msw.c (mswindows_char_is_accelerator):
4583         may be called on frames w/o menus.
4584
4585         * menubar.c (vars_of_menubar):
4586         clean up :filter docs.
4587
4588         * nt.c (readdir):
4589         * ntproc.c:
4590         (1).
4591
4592         * process-nt.c:
4593         * process-nt.c (validate_signal_number):
4594         * process-nt.c (signal_cannot_launch):
4595         * process-nt.c (nt_create_process):
4596         * process-nt.c (nt_send_process):
4597         * process-nt.c (nt_kill_child_process):
4598         * process-nt.c (nt_open_network_stream):
4599         * process-nt.c (syms_of_process_nt):
4600         (2).
4601         delete quote-handling.  call new lisp code that does it better.
4602
4603         * process-unix.c (connect_to_file_descriptor):
4604         * process-unix.c (allocate_pty):
4605         * process-unix.c (unix_send_process):
4606         * process-unix.c (unix_kill_child_process):
4607         * process-unix.c (unix_open_network_stream):
4608         * process-unix.c (unix_open_multicast_group):
4609         (1). (2).
4610
4611         * process.c:
4612         * process.c (Fstart_process_internal):
4613         (2).  need to canonicalize process path even if absolute.
4614
4615         * select-msw.c (symbol_to_ms_cf):
4616         * select-msw.c (ms_cf_to_symbol):
4617         * select-msw.c (cf_is_autofreed):
4618         * select-msw.c (mswindows_destroy_selection):
4619         * select.c:
4620         * select.c (syms_of_select):
4621         * select.h:
4622         support dibv5, fix bugs. (from Mike Alexander)
4623
4624         * select.c (Fget_selection_internal):
4625         * select.c (select_convert_out):
4626
4627         * sysdep.c:
4628         * sysdep.c (xemacs_stat):
4629         renamed.
4630
4631         * sysdep.c (mkdir):
4632         * sysdep.c (rmdir):
4633         but keep original stat() here because we provide encapsulation
4634         around these funs.
4635
4636         * sysfile.h:
4637         * sysfile.h (fstat):
4638         remove stat garbage.
4639
4640         * syswindows.h:
4641         fix X/MSW conflict.
4642         don't include tchar.h.  it's inappropriate because it makes
4643         compile-time distinctions when we want runtime distinctions.
4644         (we provide our own tchar replacements)
4645
4646         * toolbar.c:
4647         use default object printer for toolbar-button.
4648
4649         * unexcw.c:
4650         make sure we don't encapsulate.
4651
4652         * window.c (vars_of_window):
4653         emphasize that temp-buffer-show-hook is obsolete.
4654
4655 2000-08-05  Martin Buchholz  <martin@xemacs.org>
4656
4657         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
4658         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
4659
4660         * events.c (Fevent_timestamp_lessp):
4661         Not 64-bit clean.  Use EMACS_INT, not int.
4662
4663 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
4664
4665         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
4666         unsigned int and changed the last enum to
4667         lrecord_type_last_built_in_type.
4668         (lrecord_implementations_table): changed prototype to know how
4669         long the array is supposed to be.
4670         (lrecord_type_count): new unsigned int to keep track of the
4671         current number of lisp lrecord types.
4672         (DEFINE_EXTERNAL_LRECORD):
4673         (DECLARE_EXTERNAL_LRECORD): Added these two for external
4674         dynamic-modules to declare new lisp types. They are the same
4675         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
4676         int for each new type, and increment lrecord_type_count by 1.
4677
4678         * alloc.c (lrecord_implementations_table): Changed to reference
4679         lrecord_type_last_built_in_type for the size of the array.
4680         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
4681
4682 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4683
4684         * glyphs.h (check_valid_item_list): Renamed from
4685         check_valid_item_list_1.
4686
4687 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
4688
4689         * select.c (Qselect_coerce): New.
4690         * select.c (Vselection_coercion_alist): New.
4691         * select.c (syms_of_select): Declare.
4692         * select.c (get-selection-internal): Use it.
4693         Use the new select-coerce functionality.
4694
4695         * select.c (select_coerce): New.
4696         * select.h (select_coerce): Declare.
4697         New function to coerce one type of data into another.
4698
4699 2000-08-03  Martin Buchholz  <martin@xemacs.org>
4700
4701         * callproc.c (Fcall_process_internal):
4702         (Fcall_process_internal):
4703         * process-unix.c (unix_create_process):
4704         Save and restore the value of errno, so that error messages are accurate.
4705
4706 2000-08-01  Martin Buchholz  <martin@xemacs.org>
4707
4708         * elhash.c (print_hash_table):
4709         Fix printing of hash tables to also use `key-and-value' instead of `t'.
4710         Prettify docstrings and indentation.
4711
4712 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4713
4714         * window.c (Fwindow_pixel_edges): Subtract frame border and
4715         gutter size.
4716
4717 2000-07-31  Andy Piper  <andy@xemacs.org>
4718
4719         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
4720         will acknowledge the change.
4721
4722         * glyphs.h: declare tab_control_order_only_changed.
4723
4724         * glyphs-x.c (x_tab_control_redisplay): use
4725         tab_control_order_only_changed.
4726
4727         * glyphs-widget.c (tab_control_order_only_changed): new function.
4728
4729         * glyphs-msw.c (mswindows_tab_control_redisplay): use
4730         tab_control_order_only_changed.
4731
4732         * gui.c (gui_item_equal_sans_selected): new function.
4733         (gui_item_equal): use it.
4734
4735         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
4736         :properties in favor of :items..
4737
4738         * glyphs-widget.c (check_valid_item_list): rename from
4739         check_valid_item_list_1.
4740         (check_valid_item_list_1): renamed.
4741         (combo_box_validate): deprecate :properties in favor of :items.
4742         (widget_instantiate): ditto.
4743         (tab_control_update): ditto.
4744         (image_instantiator_combo_box): ditto.
4745         (image_instantiator_tree_view): ditto.
4746         (image_instantiator_tab_control): ditto.
4747         (layout_post_instantiate): remove dead code.
4748
4749         * print.c (debug_print_no_newline): only write to debugger if in
4750         WIN32_NATIVE.
4751
4752         * elhash.c (Fmake_hash_table): update doc string.
4753
4754         * event-msw.c (mswindows_wnd_proc): don't allow processing of
4755         messages whilst in GC. This at least stops XEmacs crashing but has
4756         the potential for wierd behaviour.
4757
4758 2000-07-31  Martin Buchholz  <martin@xemacs.org>
4759
4760         * config.h.in:
4761         Make existence of s&m files optional.
4762
4763         * s/bsd386.h: Remove HAVE_GETLOADAVG.
4764         * s/freebsd.h: Remove HAVE_GETLOADAVG.
4765         * s/gnu.h: Remove HAVE_GETLOADAVG.
4766         * s/netbsd.h: Remove HAVE_GETLOADAVG.
4767         * s/sol2.h: Remove HAVE_GETLOADAVG.
4768         * lisp.h: Remove getloadavg() declaration.
4769         * fns.c:
4770         Include <sys/loadavg.h> if available.
4771         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
4772         * config.h.in:  Group together getloadavg()-related macros.
4773         Use only configure-time tests to detect getloadavg().
4774
4775 2000-07-30  Martin Buchholz  <martin@xemacs.org>
4776
4777         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
4778
4779 2000-07-25  Andy Piper  <andy@xemacs.org>
4780
4781         * syswindows.h: add tchar.h for native builds.
4782
4783         * frame.c (syms_of_frame): remove set-glyph-image.
4784
4785         * general-slots.h: add Qset_glyph_image.
4786
4787         * glyphs-widget.c (layout_update): add domain arg to
4788         set-glyph-image.
4789         (syms_of_glyphs_widget): remove set-glyph-image.
4790
4791 2000-07-23  Ben Wing  <ben@xemacs.org>
4792
4793         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
4794         Vpopup_frame_list.
4795
4796 2000-07-22  Andy Piper  <andy@xemacs.org>
4797
4798         * symsinit.h: add syms_of_win32().
4799
4800         * gui-msw.c (syms_of_gui_mswindows): remove
4801         Fmswindows_shell_execute.
4802         (Fmswindows_shell_execute): moved to win32.c.
4803
4804         * emacs.c (main_1): add syms_of_win32 ().
4805
4806         * win32.c (init_potentially_nonexistent_functions): rewrite in
4807         compiler-friendly terms.
4808         (Fmswindows_shell_execute): move here from gui-msw.c.
4809         (syms_of_win32): new.
4810
4811         * device-msw.c (Fmswindows_printer_list): clean up args to
4812         EnumPrinters.
4813         Don't include tchar under cygwin or mingw.
4814         (msprinter_default_printer): make cygwin-friendly.
4815
4816 2000-07-21  Andy Piper  <andy@xemacs.org>
4817
4818         * glyphs-widget.c (image_instantiator_tree_view): use tab
4819         control's update function.
4820         (layout_property): new function. Retrieve items.
4821
4822         * glyphs-msw.c (mswindows_tree_view_redisplay): new
4823         function. Re-populate the tree view from the pending items.
4824
4825         * glyphs.c (instantiate_image_instantiator): Make sure the domain
4826         is designated the parent if the domain is an image instance. This
4827         is needed so that dirtiness can be cascade up the hierarchy and
4828         thus for layout children to be redisplayed correctly.
4829         (allocate_image_instance): rename glyph -> parent.
4830
4831         * redisplay.h: change redisplay_output_layout signature.
4832
4833         * redisplay-msw.c (mswindows_output_display_block): use domain
4834         arg.
4835
4836         * redisplay-x.c (x_output_display_block): use domain arg.
4837
4838 2000-07-10  Andy Piper  <andy@xemacs.org>
4839
4840         * window.c (Fset_window_configuration): add comment.
4841
4842         * redisplay-output.c (compare_runes):
4843         (redisplay_output_subwindow): redisplay rather than update subwindow.
4844         (redisplay_output_layout): ditto.
4845
4846         * redisplay-msw.c (mswindows_frame_output_end):
4847         (mswindows_frame_output_end): make defer window pos optional.
4848
4849         * lisp.h: add Flast.
4850
4851         * glyphs.h (struct image_instantiator_methods): add dest_mask top
4852         normalize method. Change update method to be for changed
4853         instantiators. Add redisplay method. Change signature of layout
4854         method.
4855         (struct Lisp_Image_Instance): add instantiator.
4856         (IMAGE_INSTANCE_INSTANTIATOR): new.
4857         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
4858         (XIMAGE_INSTANCE_INSTANTIATOR): new.
4859         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
4860
4861         * glyphs.c:
4862         (find_instantiator_differences): new function.
4863         (Fset_instantiator_property): new convenience function.
4864         (check_image_instance_structure): strictly check for vector
4865         instantiators.
4866         (normalize_image_instantiator): make non-static.
4867         (instantiate_image_instantiator): pass on dest_mask and use new
4868         signatures for image_instance_layout and friends.
4869         (mark_image_instance): mark the instantiator. Mark the subwindow
4870         face not the widget face.
4871         (image_instance_equal): add instantiator.
4872         (image_instance_hash): ditto.
4873         (allocate_image_instance): ditto.
4874         (Fset_image_instance_property): removed.
4875         (Fimage_instance_file_name): ditto.
4876         (Fcolorize_image_instance): ditto.
4877         (image_instance_layout): add offsets to be set.
4878         (update_image_instance): new function. update an image instance
4879         from its changed instantiator.
4880         (inherit_normalize): add dest_mask.
4881         (xbm_normalize): ditto.
4882         (xface_normalize): ditto.
4883         (xpm_normalize): ditto.
4884         (text_update): set_property -> update.
4885         (image_instantiate): use the glyph identity as a hash key, not the
4886         instantiator.
4887         (glyph_width): use new image_instance_layout signature.
4888         (glyph_ascent): ditto.
4889         (glyph_descent): ditto.
4890         (glyph_height): ditto.
4891         (glyph_query_geometry): ressurrect.
4892         (glyph_layout): ditto.
4893         (redisplay_subwindow): update -> redisplay.
4894         (syms_of_glyphs): add Fset_instantiator_property.
4895         (image_instantiator_format_create): set_property -> update.
4896
4897         * glyphs-x.c:
4898         (autodetect_normalize): add dest_maks to signature.
4899         (x_redisplay_subwindow): update -> redisplay.
4900         (x_redisplay_widget): ditto.
4901         (x_button_redisplay): ditto.
4902         (x_progress_gauge_redisplay): ditto.
4903         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
4904         stacking order.
4905         (console_type_create_glyphs_x): update -> redisplay.
4906         (image_instantiator_format_create_glyphs_x): ditto.
4907
4908         * glyphs-widget.c:
4909         (check_valid_instantiator): disallow glyphs in the instantiator,
4910         they must now be vectors.
4911         (check_valid_instantiator_list): ditto.
4912         (glyph_instantiator_to_glyph): use internal symbol rather than
4913         intern.
4914         (widget_update): renamed from widget_set_property. Call cascaded
4915         update methods.
4916         (redisplay_widget): renamed from update_widget.
4917         (widget_layout): image_instance_layout now takes position as well
4918         as size.
4919         (widget_normalize): ditto.
4920         (widget_instantiate): ditto.
4921         (tab_control_query_geometry) ditto.:
4922         (tab_control_update): renamed from tab_control_set_property.
4923         (progress_gauge_update): set_property -> update.
4924         (layout_normalize): rewrite so that child instantiators are
4925         normalized also.
4926         (layout_update): new function. Create glyphs from the normalized
4927         children and cope with any other layout keywords. We do not
4928         instantiate children here that will be take care of by
4929         redisplay_output_layout.
4930         (layout_instantiate): call layout_update and not much else.
4931         (layout_post_instantiate): not sure whether this is needed
4932         anymore.
4933         (layout_query_geometry): query glyph geometry rather than
4934         image_instance geometry.
4935         (layout_layout): set offsets from pass in parameters. Use glyph
4936         geometry and layout functions rather than image instance ones.
4937         (native_layout_layout): ditto.
4938         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
4939         (image_instantiator_widget): set_property -> update.
4940         (image_instantiator_buttons): ditto.
4941         (image_instantiator_progress_guage): ditto.
4942         (image_instantiator_tab_control): ditto.
4943         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
4944         (image_instantiator_layout): add update method.
4945
4946         * glyphs-msw.c (bmp_normalize):
4947         (mswindows_resource_normalize): add dest_mask so that it can be
4948         proprogated by layout_normalize.
4949         (begin_defer_window_pos): make optional because it may not be the
4950         right thing to do and it introduces differences with X.
4951         (mswindows_unmap_subwindow): ditto.
4952         (mswindows_map_subwindow): ditto.
4953         (mswindows_redisplay_subwindow): renamed from
4954         mswindows_update_subwindow.
4955         (mswindows_redisplay_widget): ditto.
4956         (mswindows_button_redisplay): renamed from
4957         mswindows_button_update. Update is now what the instantiation
4958         function does for a changed instantiator.
4959         (mswindows_progress_gauge_instantiate): set the progress value
4960         here if appropriate.
4961         (mswindows_tab_control_redisplay): cope with re-ordering of the
4962         members of the tab widget by simply selecting the new top
4963         widget. This makes things appear ok if you click on a tab.
4964         (mswindows_combo_box_instantiate): image_instance_layout now takes
4965         position as well as size.
4966         (mswindows_progress_gauge_redisplay): renamed from
4967         mswindows_progress_gauge_update.
4968         (console_type_create_glyphs_mswindows): fix update -> redisplay.
4969         (image_instantiator_format_create_glyphs_mswindows): ditto.
4970
4971         * glyphs-eimage.c (jpeg_normalize):
4972         (gif_normalize):
4973         (png_normalize):
4974         (tiff_normalize): add dest_mask so that it can be proprogated by
4975         layout_normalize.
4976
4977         * elhash.c:
4978         (print_hash_table):
4979         (hash_table_weakness_validate):
4980         (decode_hash_table_weakness):
4981         (Fhash_table_weakness):
4982         (Fhash_table_type):
4983         (syms_of_elhash): use Ben's naming scheme for hashtable types..
4984
4985         * console.h (struct console_methods): move update_* to
4986         redisplay_*.
4987
4988 2000-07-20  Ben Wing  <ben@xemacs.org>
4989
4990         * *.[ch] (XSETOBJ): remove unused middle argument.
4991         lisp-disunion.h: correct wrap_object() to one argument.
4992
4993 2000-07-15  Ben Wing  <ben@xemacs.org>
4994
4995         * s/cygwin32.h:
4996         * s/cygwin32.h (CYGWIN_CONV_PATH):
4997         Add missing logb prototype for v1.1.
4998         Use post-b20 names and alias to pre-b20 names when pre-b20.
4999
5000         * s/windowsnt.h: [5].
5001
5002 2000-07-15  Ben Wing  <ben@xemacs.org>
5003
5004         * Makefile.in.in (x_objs):
5005         * Makefile.in.in (sheap_objs):
5006         * Makefile.in.in (objs):
5007         added win32.o, cosmetic cleanups.
5008
5009         * alloc.c (Fmake_byte_code):
5010         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5011         etc. macros which declare their own args now.
5012
5013         * alloc.c (syms_of_alloc):
5014         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5015
5016         * buffer.c:
5017         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5018
5019         * buffer.c (Fget_file_buffer):
5020         Fixed GCPRO problem.
5021
5022         * buffer.c (get_truename_buffer):
5023         Fixed comment about GC checking.
5024
5025         * buffer.c (syms_of_buffer):
5026         Undeclared those dedicated frame funs.
5027         [2].
5028
5029         * buffer.h:
5030         Define convenience macros for internal/external conversions.
5031         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5032         and Qenvironment_variable_encoding for cleaner code.
5033
5034         * bufslots.h:
5035         Remove dedicated-frame; in lisp.
5036
5037         * bytecode.c (funcall_compiled_function):
5038         [1].
5039
5040         * bytecode.c (syms_of_bytecode):
5041         [2].
5042
5043         * console-msw.c:
5044         * console-msw.c (mswindows_show_console): Rewrote.
5045
5046         * console-msw.c (Fmswindows_debugging_output): New.
5047         Sends to OutputDebugString (special MSWin debugger interface).
5048
5049         * console-msw.c (Fmswindows_message_box):
5050         Fixed stupid bugs so it works when called from kill-emacs.
5051
5052         * console-msw.c (syms_of_console_mswindows):
5053         Declare Fmswindows_debugging_output.
5054
5055         * console-msw.h:
5056         New MSWin prototypes.
5057
5058         * console-msw.h (struct mswindows_frame):
5059         New entry last-click-mods for improved button-modifier support.
5060
5061         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5062         New struct entry `popup' with corresponding accessor.
5063
5064         * console-x.c:
5065         * console-x.c (split_up_display_spec):
5066         * console-x.c (get_display_arg_connection):
5067         * console-x.c (x_semi_canonicalize_console_connection):
5068         * console-x.c (x_canonicalize_device_connection):
5069         [[[6]]]: Change char to more specific type.
5070         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5071
5072         * console-x.c (x_semi_canonicalize_console_connection):
5073         * console-x.c (x_canonicalize_device_connection):
5074         [[[9]]]: Fix up error signalling to use new structured error system.
5075
5076         * console-x.h:
5077         [[[4]]]: Define codesys aliases:
5078         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5079         Qx_color_name_encoding, Qx_display_name_encoding.
5080
5081         * console.h (struct console_methods):
5082         New method make_dialog_box_internal supersedes older
5083         popup_dialog_box method.
5084
5085         * data.c:
5086         Define many new errors, part of new structured errors.
5087
5088         * data.c (init_errors_once_early):
5089         * data.c (syms_of_data):
5090         [2].
5091
5092         * device-msw.c (mswindows_init_device):
5093         [[[5]]]: Cleanup to support NT 3.51.
5094
5095         * device-msw.c (decode_devmode): Cleanup.
5096
5097         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5098         * device-msw.c (mswindows_handle_print_dialog_box):
5099         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5100         * device-msw.c (syms_of_device_mswindows):
5101         Delete the dialog box primitives recently introduced by Kirill and
5102         instead interface to general dialog box interface.
5103
5104         * device-x.c:
5105         * device-x.c (compute_x_app_name):
5106         * device-x.c (x_init_device):
5107         * device-x.c (Fx_valid_keysym_name_p):
5108         * device-x.c (Fx_set_font_path):
5109         [6].
5110         [7].
5111
5112         * device.h (wrap_device): New.
5113         First of its kind; meant to replace XSETDEVICE.
5114
5115         * dialog-msw.c: Many file-dialog symbols.
5116
5117         * dialog-msw.c (mswindows_register_popup_frame): New.
5118         * dialog-msw.c (mswindows_is_dialog_msg): New.
5119         For supporting kbd traversal in dialog boxes.
5120
5121         * dialog-msw.c (dialog_proc):
5122         Support hitting ESC in dialogs.
5123
5124         * dialog-msw.c (struct):
5125         Common dialog box errors.
5126
5127         * dialog-msw.c (handle_file_dialog_box): New.
5128         Add file dialog code.
5129
5130         * dialog-msw.c (handle_question_dialog_box):
5131         Redo existing code to support new question dialog syntax.
5132
5133         * dialog-msw.c (console_type_create_dialog_mswindows):
5134         We support new dialog console method.
5135
5136         * dialog-msw.c (syms_of_dialog_mswindows):
5137         * dialog-msw.c (vars_of_dialog_mswindows):
5138         New file dialog symbols, vars.
5139
5140         * dialog-x.c:
5141         * dialog-x.c (maybe_run_dbox_text_callback):
5142         * dialog-x.c (dbox_descriptor_to_widget_value):
5143         * dialog-x.c (x_make_dialog_box_internal):
5144         * dialog-x.c (console_type_create_dialog_x):
5145         Mule-ize entire file.
5146         Redo to support question dialog syntax.
5147         [6].
5148
5149         * dialog.c:
5150         * dialog.c (Fmake_dialog_box_internal):
5151         * dialog.c (syms_of_dialog):
5152         Kill old popup-dialog-box, replace with new primitive.
5153         Just call device method or signal error.
5154
5155         * eldap.c (Fldap_open):
5156         * eldap.c (Fldap_search_basic):
5157         * eldap.c (Fldap_add):
5158         * eldap.c (Fldap_modify):
5159         [1].
5160         [7].
5161
5162         * emacs.c:
5163         * emacs.c (make_arg_list_1):
5164         * emacs.c (make_arg_list):
5165         Mule-ize call to dll_init().
5166         [6].
5167         [8].
5168
5169         * emacs.c (make_argc_argv):
5170         * emacs.c (free_argc_argv):
5171         * emacs.c (init_cmdargs):
5172         * emacs.c (main_1):
5173         * emacs.c (Fkill_emacs):
5174         * emacs.c (Fdump_emacs):
5175         Update comments about what can be used in syms_* etc.
5176         Call init_win32() when necessary.
5177         Fix up MS Win dialog box in kill-buffer to actually work right.
5178         [7].
5179
5180         * eval.c:
5181         * eval.c (For):
5182         * eval.c (Fand):
5183         * eval.c (Fprogn):
5184         * eval.c (Fprog1):
5185         * eval.c (Fprog2):
5186         * eval.c (FletX):
5187         * eval.c (Flet):
5188         * eval.c (condition_case_3):
5189         * eval.c (Feval):
5190         * eval.c (function_argcount):
5191         * eval.c (funcall_lambda):
5192         [1].
5193
5194         * eval.c (type_error): New.
5195         * eval.c (maybe_type_error): New.
5196         * eval.c (continuable_type_error): New.
5197         * eval.c (maybe_continuable_type_error): New.
5198         * eval.c (type_error_with_frob): New.
5199         * eval.c (maybe_type_error_with_frob): New.
5200         * eval.c (continuable_type_error_with_frob): New.
5201         * eval.c (maybe_continuable_type_error_with_frob): New.
5202         New functions for use with structured errors.
5203
5204         * event-Xt.c:
5205         * event-Xt.c (x_event_to_emacs_event):
5206         Buttons are now modifiers too.
5207
5208         * event-Xt.c (emacs_Xt_current_event_timestamp):
5209         Implement new event method.
5210         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
5211
5212         * event-msw.c:
5213         * event-msw.c (ntpipe_shove_writer): [5].
5214         * event-msw.c (mswindows_enqueue_mouse_button_event):
5215         * event-msw.c (mswindows_drain_windows_queue):
5216         * event-msw.c (mswindows_wnd_proc): [7].
5217         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
5218         * event-msw.c (mswindows_modifier_state):
5219         Throughout: support new button modifiers.
5220
5221         * event-msw.c (emacs_mswindows_current_event_timestamp):
5222         Implement new event method.
5223         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
5224
5225         * event-stream.c:
5226         * event-stream.c (event_stream_current_event_timestamp): New.
5227         * event-stream.c (maybe_kbd_translate): New functionality.
5228         * event-stream.c (vars_of_event_stream):
5229         Document new kbd-translate-table functionality.
5230
5231         * event-stream.c (Fcurrent_event_timestamp): New.
5232         New primitive for use in fabricated events.
5233         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
5234
5235         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
5236
5237         * events.c:
5238         * events.c (Fmake_event):
5239         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
5240         [1].
5241         [9].
5242
5243         * events.c (format_event_object): fix gcc warnings.
5244
5245         * events.c (Fevent_timestamp): Document new primitives.
5246
5247         * events.c (TIMESTAMP_HALFSPACE): New.
5248
5249         * events.c (Fevent_timestamp_lessp): New.  New primitive for
5250         comparing timestamps correctly (half-space algorithm).
5251
5252         * events.c (Fevent_modifier_bits): Doc fix.
5253
5254         * events.c (Fevent_modifiers): Major doc addition.
5255         * events.c (event_x_y_pixel_internal): Typo fix.
5256         * events.c (syms_of_events): Declare new primitives.
5257
5258         * events.h:
5259         Update long comment for button modifiers, timestamps.
5260
5261         * events.h (struct event_stream):
5262         New current_event_timestamp method.
5263
5264         * extents.c:
5265         * extents.c (extent_in_region_p):
5266         * extents.c (decode_extent):
5267         * extents.c (Fset_extent_parent):
5268         * extents.c (decode_map_extents_flags):
5269         Fix gcc warnings.
5270         [9].
5271
5272         * extents.c (struct extent_at_arg):
5273         * extents.c (decode_extent_at_flag):
5274         * extents.c (extent_at_mapper):
5275         * extents.c (extent_at_bytind):
5276         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
5277         * extents.c (Fextents_at): New primitive. [9].
5278         * extents.c (symbol_to_glyph_layout): [9].
5279         Support new primitive `extents-at'.
5280
5281
5282         * extents.c (get_text_property_bytind):
5283         extent_at_bytind has another arg.
5284         [9].
5285
5286         * extents.c (syms_of_extents): New primitive.
5287
5288         * file-coding.c (Fmake_coding_system): [1].
5289         * file-coding.c (subsidiary_coding_system): fix gcc warning
5290         * file-coding.c (syms_of_file_coding): [2].
5291
5292         * fileio.c (Fexpand_file_name):
5293         * fileio.c (Fsysnetunam):
5294         * fileio.c (Ffile_exists_p):
5295         * fileio.c (Ffile_executable_p):
5296         * fileio.c (Fverify_visited_file_modtime):
5297         Clean up GCPROing.
5298
5299         * fileio.c (syms_of_fileio): [2].
5300
5301         * filelock.c (lock_file_1):
5302         * filelock.c (current_lock_owner):
5303         * filelock.c (lock_if_free):
5304         * filelock.c (lock_file):
5305         * filelock.c (unlock_file):
5306         Clean up GCPROing.
5307
5308         * fns.c (concat): Fix gcc warning.
5309
5310         * fns.c (Fmember):
5311         * fns.c (Fold_member):
5312         * fns.c (Fmemq):
5313         * fns.c (Fold_memq):
5314         * fns.c (memq_no_quit):
5315         * fns.c (Fassoc):
5316         * fns.c (Fold_assoc):
5317         * fns.c (Fassq):
5318         * fns.c (Fold_assq):
5319         * fns.c (assq_no_quit):
5320         * fns.c (Frassoc):
5321         * fns.c (Fold_rassoc):
5322         * fns.c (Frassq):
5323         * fns.c (Fold_rassq):
5324         * fns.c (rassq_no_quit):
5325         * fns.c (Fdelete):
5326         * fns.c (Fold_delete):
5327         * fns.c (Fdelq):
5328         * fns.c (Fold_delq):
5329         * fns.c (delq_no_quit):
5330         * fns.c (Fremassoc):
5331         * fns.c (Fremassq):
5332         * fns.c (remassq_no_quit):
5333         * fns.c (Fremrassoc):
5334         * fns.c (Fremrassq):
5335         * fns.c (remrassq_no_quit):
5336         * fns.c (Freverse):
5337         * fns.c (mapcar1):
5338         [1].
5339
5340         * frame-msw.c (mswindows_init_frame_1):
5341         * frame-msw.c (mswindows_delete_frame):
5342         Register popups with dialog code so keyboard traversing works.
5343
5344         * frame-tty.c (tty_raise_frame_no_select): [1].
5345
5346         * frame-x.c:
5347         * frame-x.c (x_set_frame_text_value):
5348         * frame-x.c (x_set_frame_properties):
5349         * frame-x.c (x_create_widgets):
5350         [7].
5351
5352         * frame.c:
5353         * frame.c (Fmouse_pixel_position): Minor doc fixes.
5354
5355         * frame.h (wrap_frame): New.
5356         Macro like wrap_device.
5357
5358         * general.c:
5359         * general.c (SYMBOL):
5360         * general.c (syms_of_general):
5361         Major reorg.  This is now just a wrapper and symbols themselves
5362         are listed in general-slots.h.
5363
5364         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
5365         * glyphs-msw.c (mswindows_resource_instantiate): [5].
5366
5367         * glyphs-msw.c (mswindows_native_layout_instantiate):
5368         Add DS_CONTROL so keyboard traversal will work.
5369
5370         * glyphs-widget.c:
5371         * glyphs-widget.c (syms_of_glyphs_widget):
5372         Move some symbols to general-slots.h.
5373
5374         * glyphs-x.c:
5375         * glyphs-x.c (xbm_instantiate_1):
5376         * glyphs-x.c (x_xbm_instantiate):
5377         * glyphs-x.c (x_xface_instantiate):
5378         * glyphs-x.c (autodetect_instantiate):
5379         * glyphs-x.c (cursor_font_instantiate):
5380         * glyphs-x.c (x_update_widget):
5381         * glyphs-x.c (x_widget_instantiate):
5382         * glyphs.c (bitmap_to_lisp_data):
5383         * glyphs.c (pixmap_to_lisp_data):
5384         [7].
5385
5386         * glyphs.c (syms_of_glyphs):
5387         [2].
5388
5389         * gui-x.c:
5390         * gui-x.c (print_widget_value):
5391         * gui-x.c (menu_separator_style_and_to_external):
5392         * gui-x.c (add_accel_and_to_external):
5393         * gui-x.c (button_item_to_widget_value):
5394         * gui-x.c (gui_items_to_widget_values_1):
5395         * gui-x.c (gui_items_to_widget_values):
5396         * gui-x.c (syms_of_gui_x):
5397         * gui-x.c (vars_of_gui_x):
5398         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
5399         [9].
5400
5401         * gui-x.h:
5402         Muleize, prototype changes matching gui-x.c.
5403
5404         * gui.c:
5405         * gui.c (separator_string_p):
5406         * gui.c (gui_item_add_keyval_pair):
5407         * gui.c (make_gui_item_from_keywords_internal):
5408         * gui.c (signal_too_long_error):
5409         * gui.c (parse_gui_item_tree_item):
5410         * gui.c (syms_of_gui):
5411         * gui.c (vars_of_gui):
5412         * gui.h:
5413         menu-no-selection-hook moved here (used by MSWin).
5414         Move some symbols to general-slots.h.
5415         [6].
5416         [9].
5417
5418         * insdel.c (get_buffer_pos_char):
5419         * insdel.c (get_buffer_range_char):
5420         Add GC comments.
5421
5422         * keymap.c (keymap_lookup_directly):
5423         * keymap.c (keymap_store):
5424         * keymap.c (ensure_meta_prefix_char_keymapp):
5425         * keymap.c (describe_map):
5426         * keymap.h:
5427         Support new button modifiers.
5428
5429         * lisp-disunion.h (wrap_object):
5430         * lisp-disunion.h (XSETOBJ):
5431         Rename make_obj to wrap_object.
5432
5433         * lisp-union.h:
5434         * lisp-union.h (make_int):
5435         * lisp-union.h (make_char):
5436         Support wrap_object.
5437
5438         * lisp.h:
5439         * lisp.h (LIST_LOOP):
5440         * lisp.h (EXTERNAL_LIST_LOOP):
5441         * lisp.h (LIST_LOOP_2):
5442         * lisp.h (EXTERNAL_LIST_LOOP_1):
5443         * lisp.h (EXTERNAL_LIST_LOOP_2):
5444         * lisp.h (EXTERNAL_LIST_LOOP_3):
5445         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
5446         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5447         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
5448         * lisp.h (EXTERNAL_ALIST_LOOP_5):
5449         * lisp.h (EXTERNAL_ALIST_LOOP_6):
5450         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
5451         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
5452         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
5453         * lisp.h (struct Lisp_Symbol):
5454         * lisp.h (maybe_continuable_error_with_frob):
5455         Fix up section comments.
5456         Add new types for char to indicate usage.
5457         Delete symbols auto-generated from general-slots.h.
5458         Add prototypes for structured error functions.
5459         Add long comments describing looping macros and change interface
5460         so that lvalues are automatically declared.
5461         Add NO_DECLARE macro in case callers want to declare lvalues
5462         themselves.
5463
5464         * lread.c (read_syntax_error):
5465         * lread.c (continuable_read_syntax_error):
5466         * lread.c (read_structure):
5467         * lread.c (sequence_reader):
5468         * lread.c (read_list_conser):
5469         * lread.c (read_compiled_function):
5470         Rename syntax_error and continuable_syntax_error to avoid clash
5471         with same-named structured error functions.
5472
5473         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5474         * menubar-msw.c (populate_menu_add_item):
5475         * menubar-msw.c (populate_or_checksum_helper):
5476         [5].
5477         [9].
5478
5479         * menubar-x.c:
5480         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5481         Mule-ize whole file.
5482
5483         * menubar.c (Fnormalize_menu_item_name): Add optimization.
5484
5485         * mule-charset.c (Fmake_charset):
5486         * mule-wnnfns.c (Fwnn_set_param):
5487         [1].
5488
5489         * ntproc.c (create_child):
5490         * ntproc.c (Fwin32_set_current_locale):
5491         Add comments portending doom.
5492
5493         * objects-msw.c:
5494         * objects-msw.c (old_font_enum_callback_2):
5495         * objects-msw.c (font_enum_callback_1):
5496         * objects-msw.c (mswindows_enumerate_fonts):
5497         [5].
5498
5499         * objects-x.c:
5500         * objects-x.c (allocate_nearest_color):
5501         * objects-x.c (x_parse_nearest_color):
5502         * objects-x.c (x_initialize_color_instance):
5503         * objects-x.c (x_print_color_instance):
5504         * objects-x.c (x_finalize_color_instance):
5505         * objects-x.c (x_valid_color_name_p):
5506         * objects-x.c (x_initialize_font_instance):
5507         * objects-x.c (x_print_font_instance):
5508         * objects-x.c (valid_x_font_name_p):
5509         * objects-x.c (truename_via_FONT_prop):
5510         * objects-x.c (truename_via_random_props):
5511         * objects-x.c (truename_via_XListFonts):
5512         * objects-x.c (x_font_truename):
5513         * objects-x.c (x_font_instance_truename):
5514         * objects-x.c (x_font_instance_properties):
5515         * objects-x.c (x_list_fonts):
5516         * objects-x.c (x_find_charset_font):
5517         Mule-ize entire file.
5518         [7].
5519
5520         * objects-x.h:
5521         Mule-verify.
5522
5523         * print.c:
5524         * print.c (std_handle_out_external):
5525         * print.c (debug_print_no_newline):
5526         * print.c (syms_of_print):
5527         Output to all debugger kinds in debug-print.
5528         Fix console-output code under MSWin to actually work.
5529
5530         * process-nt.c (send_signal):
5531         * process-nt.c (nt_create_process):
5532         Use newer Unicode macros.
5533
5534         * process-unix.c (unix_create_process):
5535         * process-unix.c (unix_canonicalize_host_name):
5536         * process-unix.c (unix_open_network_stream):
5537         [7].
5538
5539         * scrollbar-x.c:
5540         Mule-verify.
5541
5542         * search.c (syms_of_search):
5543         [2].
5544
5545         * select-msw.c (mswindows_destroy_selection):
5546         Use LIST_LOOP_2.
5547
5548         * select-x.c (symbol_to_x_atom):
5549         [7].
5550
5551         * select.c (syms_of_select):
5552         [2].
5553
5554         * sound.c (Fplay_sound_file):
5555         [7].
5556
5557         * specifier.c:
5558         * specifier.c (decode_specifier_type):
5559         * specifier.c (Fvalid_specifier_locale_type_p):
5560         * specifier.c (check_valid_locale_or_locale_type):
5561         * specifier.c (decode_locale):
5562         * specifier.c (decode_locale_type):
5563         * specifier.c (decode_locale_list):
5564         * specifier.c (check_valid_domain):
5565         * specifier.c (decode_specifier_tag_set):
5566         * specifier.c (Fcanonicalize_tag_set):
5567         * specifier.c (Fdefine_specifier_tag):
5568         * specifier.c (Fspecifier_tag_predicate):
5569         * specifier.c (check_valid_inst_list):
5570         * specifier.c (check_valid_spec_list):
5571         * specifier.c (decode_how_to_add_specification):
5572         * specifier.c (check_modifiable_specifier):
5573         * specifier.c (specifier_add_spec):
5574         * specifier.c (boolean_validate):
5575         * specifier.c (display_table_validate):
5576         [9].
5577
5578         * specifier.c (syms_of_specifier):
5579         Move some symbols to general-slots.h.
5580         [2].
5581
5582         * symbols.c:
5583         * symbols.c (Fmapatoms):
5584         * symbols.c (Fapropos_internal):
5585         Add GCPROs.
5586
5587         * symbols.c (set_default_buffer_slot_variable):
5588         * symbols.c (set_default_console_slot_variable):
5589         [1].
5590
5591         * symbols.c (defsymbol_massage_name_1):
5592         * symbols.c (defkeyword_massage_name):
5593         * symbols.c (deferror_1):
5594         * symbols.c (deferror):
5595         * symbols.c (deferror_massage_name_and_message):
5596         * symeval.h:
5597         * symeval.h (DEFSYMBOL):
5598         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
5599
5600         * symbols.c (syms_of_symbols):
5601         [2].
5602
5603         * symsinit.h:
5604         * symsinit.h (init_win32): New.
5605         Also new is syms_of_dialog_mswindows.
5606
5607         * syswindows.h:
5608         Add new Unicode macros, missing Cygwin wide-char functions,
5609         convenience conversion macros for Qmswindows_tstr, macros for
5610         encapsulating required MSWin <-> Cygwin filename conversions,
5611         prototype for dynamically-extracted (not in NT 3.51) functions.
5612
5613         * toolbar-x.c:
5614         Mule-verify.
5615
5616         * tooltalk.c (Fadd_tooltalk_message_arg):
5617         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
5618         * tooltalk.c (Fadd_tooltalk_pattern_arg):
5619         [7].
5620
5621         * tooltalk.c (syms_of_tooltalk):
5622         [2].
5623
5624         * unexnt.c:
5625         * unexnt.c (unexec):
5626         Fix up headers, declaration of unexec() to be more standard.
5627
5628 2000-07-20  Martin Buchholz  <martin@xemacs.org>
5629
5630         * offix.h: Revert change to guard macros - they're used in offix.c!
5631
5632 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5633
5634         * lisp.h: Defsubred Fdelete.
5635
5636         * console-msw.h:  (msprinter_default_printer): Added.
5637
5638         * console-msw.c (msprinter_canonicalize_console_connection):
5639         (msprinter_canonicalize_device_connection): Added.
5640
5641         * device-msw.c (msprinter_default_printer):
5642         (Fmswingows_get_default_printer):
5643         (signal_enum_priner_error):
5644         (Fmswingows_printer_list): Added.
5645
5646 2000-07-19  Martin Buchholz <martin@xemacs.org>
5647
5648         * XEmacs 21.2.35 is released.
5649
5650 2000-07-19  Martin Buchholz  <martin@xemacs.org>
5651
5652         * select-x.c (x_handle_selection_request):
5653         Text selected in xemacs and pasted into xterm failed to appear.
5654         Spelling fixes and cosmetic changes.
5655
5656 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5657
5658         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
5659         XEmacs frame (fix for doubling chars in dialog boxes).
5660
5661 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
5662
5663         * select.c (select_convert_in, select_convert_out):
5664         Don't call intern() every time.
5665
5666         * select.c (Qselect_convert_in, Qselect_convert_out): New.
5667         * select.c (vars_of_select): Initialise them.
5668
5669 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
5670
5671         * select.c (selection-coercible-types): New.
5672
5673         * select.c (own-selection-internal):
5674         * select.c (get-selection-internal):
5675         MULE bug fix - these should default to COMPOUND_TEXT and not
5676         STRING for MULE. I think.
5677
5678         * select.c (select_convert_out): Use selection-coercible-types
5679         to find types that we can attempt to perform coercions on.
5680
5681 2000-07-18  Martin Buchholz  <martin@xemacs.org>
5682
5683         * mule-wnnfns.c:
5684         * mule-canna.c:
5685         Add coding: cookie to identify encoding.
5686
5687         * mule-canna.c (CANNA_mode_keys): make static.
5688         Use proper prototypes, even for functions of no arguments.
5689         Remove external prototype for Fding().
5690
5691         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
5692
5693         * select.c (syms_of_select): Add missing DEFSUBR.
5694
5695 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
5696
5697         * select.c (get_selection_internal, own_selection_internal):
5698         Make the type default to STRING, rather than placing a nil type
5699         into Vselection_alist.
5700
5701 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
5702
5703         * gpmevent.c (tty_selection_exists_p):
5704         * gpmevent.c (tty_own_selection):
5705         Updated parameter lists.
5706
5707 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
5708
5709         * select.h (selection-alist): Removed declaration.
5710
5711         * select.h (get_local_selection):
5712         * select.c (get_local_selection):
5713         Made static.
5714
5715         * select.h (convert_selection): Removed declaration.
5716         * select.c (convert_selection): Removed.
5717         This function belongs in Lisp.
5718
5719         * select.h (select_convert_in): Declare.
5720         * select.h (select_convert_out): Declare.
5721         * select.c (select_convert_in): New.
5722         * select.c (select_convert_out): New.
5723         New conversion functions for other files to call.
5724
5725         * select.h (select_notify_buffer_kill): Declare.
5726         * select.c (select_notify_buffer_kill): New.
5727         New functions that get called from kill-buffer.
5728
5729         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
5730         X-specific lisp code.
5731
5732         * select.h: Declare some of the lisp-visible functions for
5733         external use.
5734
5735         * select.c (clean_local_selection_data): Removed. This was
5736         a disgusting function, and previously should have been in
5737         select-x.c in any case. The functionality is now provided
5738         in select-convert-from-integer (select.el).
5739
5740         * select.c (available-selection-types): Fixed stupidity where
5741         INTEGER and ATOM got added twice. Also add STRING when we see an
5742         extent.
5743
5744         * select.c (get-selection-internal): Removed symbol stripping. No
5745         longer causes conversion when data comes from the internal cache.
5746
5747         * select.c (syms_of_select): Added new functions.
5748
5749         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
5750         error checking - previously this called abort!
5751
5752         * select-x.c (x_own_selection): Changed comment.
5753
5754         * select-x.c (x_handle_selection_request): Use select_convert_out.
5755         Don't mess with selection-alist; it's an internal variable of select.c.
5756
5757         * select-x.c (x_get_foreign_selection): Use select_convert_in.
5758
5759         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
5760         rather than messing with selection-alist.
5761
5762         * select-msw.c (mswindows_get_foreign_selection):
5763         Use TO_INTERNAL_FORMAT rather than hacking.
5764
5765 2000-07-14  Martin Buchholz  <martin@xemacs.org>
5766
5767         * process-unix.c (unix_open_multicast_group):
5768         (unix_open_multicast_group): Remove useless casts.
5769
5770 2000-07-13  Martin Buchholz  <martin@xemacs.org>
5771
5772         * sound.c (Fplay_sound): Fix `unused variable' warning.
5773
5774         * emacs.c (main): Use correct type for _environ on SCO5.
5775
5776 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
5777
5778         * console.h (own_selection_method):
5779         * console.h (selection_exists_p_method):
5780         * console.h (available_selection_types_method): New.
5781         * console.h (register_selection_data_type_method): New.
5782         * console.h (selection_data_type_name): New.
5783
5784         * console-msw.h (mswindows_destroy_selection): Declare it.  New
5785         function & alist to track GlobalAlloc()'d handles that need
5786         releasing when the clipboard data gets replaced or emptied.
5787
5788         * event-msw.c (mswindows_wnd_proc): Call it.
5789
5790         * lisp.h, general.c (Qappend): New symbol representing a
5791         `how-to-add' mode.
5792
5793         * select.c (own-selection-internal):
5794         * select.c (selection-exists-p):
5795         * select.c (available-selection-types): New.
5796         * select.c (register-selection-data-type): New.
5797         * select.c (selection-data-type-name): New.  New functions to deal
5798         with device-specific selection data formats.
5799         * select.c (selection-converter-out-alist): Renamed.
5800         * select.c (selection-converter-in-alist): New.
5801         * select.c (selection-appender-alist): New.  Added new alists.
5802         * select.c (syms_of_select, vars_of_select): Added new symbols &
5803         variables.
5804         * select.c (get_local_selection): Split.
5805         * select.c: Removed spurious type checking - selections may now be
5806         of any type, not just strings.
5807         * select.c (own-selection-internal):
5808
5809         * select.h, select.c (convert_selection): New. Created
5810         convert_selection() function based on get_local_selection().
5811         * select.h, select.c (QCF_*): New symbols representing mswindows
5812         clipboard formats.
5813         * select.h, select.c (Qreplace_all, Qreplace_existing): New
5814         symbols representing `how-to-add' modes.
5815
5816         * select-msw.c (x_sym_p): New.
5817         * select-msw.c (symbol_to_ms_cf): New.
5818         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
5819         symbols & clipboard formats. Can also handle string names.
5820         * select-msw.c (mswindows_own_selection):
5821         * select-msw.c (mswindows_selection_exists_p):
5822         Added `data-type' parameter. Use it.
5823         * select-msw.c (mswindows_available_selection_types): New.
5824         * select-msw.c (mswindows_register_selection_data_type): New.
5825         * select-msw.c (mswindows_selection_data_type_name): New.
5826         * select-msw.c (mswindows_own_selection):
5827         * select-msw.c (mswindows_get_foreign_selection):
5828         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
5829         * select-msw.c (console_create_select_mswindows): Added new methods.
5830         * select-msw.c (mswindows_destroy_selection): New.
5831         * select-msw.c (Vhandle_alist): New list.
5832         * select-msw.c (mswindows_own_selection):
5833
5834         * select-x.c (x_own_selection):
5835         * select-x.c (x_selection_exists_p):
5836         * select-x.c: Added some comments about maybe using new
5837         functionality.
5838         * select-x.c (x_own_selection):
5839
5840         * specifier.c: Remove definition of Qappend (now in general.c)
5841         * specifier.c (syms_of_specifier): Remove Qappend.
5842
5843 2000-07-12  Martin Buchholz  <martin@xemacs.org>
5844
5845         * config.h.in: Add socklen_t.
5846
5847         * s/decosf4-0.h: No special compiler flags needed or desired.
5848         In particular, undefine _BSD for DEC OSF 4.0.
5849
5850 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5851
5852         * redisplay-msw.c (msprinter_frame_output_end): Added.
5853         (console_type_create_redisplay_mswindows): Referred the above.
5854
5855         * frame.c (setup_frame_without_minibuffer): Do not create a
5856         default minibuffer frame on a printer device.
5857
5858         * frame-msw.c (apply_dc_geometry): Added.
5859         (msprinter_start_page):
5860         (msprinter_init_frame_3):
5861         (msprinter_eject_page): Use it.
5862
5863         * console-msw.h (struct msprinter_frame): Added pix_left and top,
5864         and removed residual duplex and orientation properties.
5865
5866 2000-07-11  Martin Buchholz  <martin@xemacs.org>
5867
5868         * eval.c (function_argcount): Work around a DEC CC compiler bug.
5869
5870         * unexalpha.c: Remove system prototypes from C sources!
5871
5872 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
5873
5874         * eval.c: Remove references to M-x edit-options in DEFUNs for
5875         `defvar' and `defconst'.
5876
5877 2000-07-09  Martin Buchholz  <martin@xemacs.org>
5878
5879         * config.h.in: Remove SMART_INCLUDE hackery.
5880
5881         PostgreSQL hacking:
5882         * config.h.in: Don't use SMART_INCLUDE.
5883
5884         * postgresql.h: Include libpq-fe.h here.  Fix typo.
5885         * inline.c: Simply #include "postgresql.h"
5886         * postgresql.c:
5887         - Don't use SMART_INCLUDE
5888         - Use simply "const".
5889         - Use standard doc string conventions.
5890         - Use correct type for result of PQstatus.
5891
5892 2000-07-09  Martin Buchholz  <martin@xemacs.org>
5893
5894         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
5895
5896         C++ compilation changes.
5897         * config.h.in (EXTERN_C): Define.
5898         * config.h.in (not): This is also a C++ keyword.
5899         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
5900         * cm.c: Use EXTERN_C.
5901         * redisplay-tty.c: Use EXTERN_C.
5902         * sysdep.c: Use EXTERN_C.  Remove Gould support.
5903
5904 2000-07-09  Martin Buchholz  <martin@xemacs.org>
5905
5906         * general.c: Remove duplicate definition for Qfunction.
5907
5908 2000-07-08  Ben Wing  <ben@xemacs.org>
5909
5910         * device-msw.c (msprinter_init_device):
5911         * device-msw.c (sync_printer_with_devmode):
5912         * device-msw.c (handle_devmode_changes):
5913         * device-msw.c (print_dialog_worker):
5914         * device-msw.c (Fmsprinter_apply_settings):
5915         * device-msw.c (hash_devmode):
5916         * device-msw.c (Fmsprinter_settings_despecialize):
5917         use Qmswindows_tstr, not Qctext.
5918
5919         * vm-limit.c (check_memory_limits):
5920         avoid infinite loop printing warning messages.
5921
5922 2000-07-05  Craig Lanning  <lanning@scra.org>
5923
5924         * Makefile.in.in: Add support for including the Windows resources
5925         when building with the cygwin and mingw targets.
5926
5927         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
5928         not set or not correct.
5929         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
5930         (init_initial_directory): Don't try to use $PWD on the
5931         WIN32_NATIVE target.
5932
5933         * s\cygwin32.h:
5934         [[Add -mwindows to eliminate console window.]] not required --ben
5935         (HAVE_NATIVE_SOUND): removed; now handled by configure.
5936         (MAIL_USE_POP): removed; now handled by configure.
5937
5938         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
5939         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
5940         (HAVE_NATIVE_SOUND): removed; now handled by configure.
5941         (MAIL_USE_POP): removed; now handled by configure.
5942         (ENCAPSULATE_STAT): from Dan Holmsand, added.
5943         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
5944         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
5945         constant string.
5946         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
5947         up from <winsock.h> via systime.h.
5948         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
5949         (getpagesize): from Dan Holmsand, added.
5950         Added #endif which was left dangling by Ben's mega patch; added
5951         comment to help prevent this in the future.
5952
5953         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
5954
5955 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5956
5957         * console-msw.h (struct mswindows_device): Removed unnecessary
5958         cached device geometry values.
5959         Added update_tick and an accessor macro.
5960         (Lisp_Devmode): Added lrecord declaration.
5961         (struct msprinter_device): Contain devmode as a Lisp object.
5962         Added mswindows_get_selected_frame_hwnd();
5963
5964         * console.h (struct console_methods): Indentation nitpicking.
5965
5966         * device-msw.c (mswindows_init_device): Do not initialize geometry
5967         cache. Initialize update tick.
5968         (mswindows_device_system_metrics): Ask the device for its geometry.
5969         (global_free_2_maybe):
5970         (devmode_to_hglobal):
5971         (handle_printer_changes):
5972         (ensure_not_printing):
5973         (print_dialog_worker):
5974         (Fmsprinter_print_setup_dialog):
5975         (Fmsprinter_print_dialog):
5976         (plist_get_margin):
5977         (plist_set_margin):
5978         (Fmsprinter_page_setup_dialog): Added functions.
5979         (sync_printer_with_devmode):
5980         (handle_devmode_changes):
5981         (Fmsprinter_get_settings):
5982         (Fmsprinter_select_settings):
5983         (Fmsprinter_apply_settings):
5984         (allocate_devmode):
5985         (Fmsprinter_settings_copy):
5986         (Fmsprinter_settings_despecialize):
5987         (print_devmode):
5988         (finalize_devmode):
5989         (equal_devmode):
5990         (hash_devmode): Added functions
5991         (syms_of_device_mswindows): Init devmode lrecord class.
5992
5993         * device.h: Added an exfun for find-device.
5994
5995         * event-msw.c (mswindows_wnd_proc): Do not update the cached
5996         geometry; although, recreate the device compatible DC.
5997
5998         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
5999         (msprinter_init_frame_3):
6000         (msprinter_frame_property):
6001         (msprinter_internal_frame_property_p):
6002         (msprinter_frame_properties):
6003         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6004         print job properties (will move to device settings).
6005
6006         * lisp.h: Added symbols.
6007
6008         * general.c (syms_of_general): Declared them.
6009
6010         * hash.c (string_hash): Added.
6011
6012         * lrecord.h (lrecord_type): Added devmode lrecord type.
6013
6014 2000-07-02  Mike Sperber <mike@xemacs.org>
6015
6016         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6017         FreeBSD 4.0.
6018
6019 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6020
6021         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6022         integer.
6023
6024 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6025
6026         * data.c (Fstring_to_number): Don't recognize floating point if
6027         base is not 10.
6028
6029 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6030
6031         * glyphs-widget.c (tab_control_query_geometry):
6032         (widget_query_geometry):
6033         (button_query_geometry):
6034         * glyphs.c (text_query_geometry):
6035         Enforce type correctness.
6036
6037 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6038
6039         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6040         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6041
6042 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6043
6044         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6045         conflicts with gcc's fixincluded version of FOO.h.
6046
6047         * glyphs.h (image_instance_geometry): Remove trailing `,'
6048
6049 2000-06-08  Mike Alexander  <mta@arbortext.com>
6050
6051         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6052         (shove_thread): Don't write the same output twice
6053         (make_ntpipe_output_stream): Increase priority of shove thread
6054         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6055         chance to run
6056         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6057         it.
6058
6059 2000-06-12  Ben Wing  <ben@xemacs.org>
6060
6061         * s\mingw32.h (sigset):
6062         * s\windowsnt.h (sigset):
6063         rename msw_ to mswindows_ for consistency with general convention.
6064
6065 2000-06-12  Ben Wing  <ben@xemacs.org>
6066
6067         * console-msw.c:
6068         * console-msw.c (mswindows_get_console_hwnd):
6069         * console-msw.c (mswindows_ensure_console_allocated):
6070         * console-msw.c (mswindows_hide_console):
6071         * console-msw.c (mswindows_show_console):
6072         * console-msw.c (mswindows_ensure_console_buffered):
6073         * console-msw.c (mswindows_output_console_string):
6074         * console-msw.c (mswindows_windows9x_p):
6075         * console-msw.h:
6076         * device-msw.c (mswindows_get_workspace_coords):
6077         * device-msw.c (mswindows_device_system_metrics):
6078         * dialog-msw.c (mswindows_popup_dialog_box):
6079         * event-msw.c (mswindows_wnd_proc):
6080         * frame-msw.c (mswindows_size_frame_internal):
6081         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6082         * menubar-msw.c (displayable_menu_item):
6083         * menubar-msw.c (mswindows_char_is_accelerator):
6084         * nt.c:
6085         * nt.c (mswindows_sigset):
6086         * nt.c (mswindows_sigrelse):
6087         * nt.c (mswindows_sigpause):
6088         * nt.c (mswindows_raise):
6089         * nt.c (timer_proc):
6090         * ntproc.c:
6091         * ntproc.c (find_child_console):
6092         * ntproc.c (sys_kill):
6093         * print.c:
6094         * print.c (std_handle_out_external):
6095         * process-nt.c (find_child_console):
6096         * process-nt.c (send_signal_the_95_way):
6097         * process-nt.c (ensure_console_window_exists):
6098         * process-nt.c (nt_create_process):
6099         * syssignal.h:
6100         rename msw_ to mswindows_ for consistency with general convention.
6101
6102         * emacs.c:
6103         * dumper.c:
6104         include nt.h, not syswindows.h.
6105
6106         * nt.c (mswindows_fstat):
6107         * nt.c (mswindows_stat):
6108         prefix mswindows_ instead of attempting to directly override the
6109         library functions.  fix declarations.
6110
6111         * nt.h:
6112         include syswindows.h.  move some sysdep.h stuff here.
6113
6114         * ntheap.h:
6115         include syswindows.h, not <windows.h>.
6116
6117         * ntplay.c:
6118         clean up headers.
6119
6120         * sysdep.c:
6121         clean up headers.
6122
6123         * sysdep.c (sys_fstat):
6124         * sysdep.c (sys_stat):
6125         call mswindows versions when appropriate.
6126
6127         * sysdep.h:
6128         move mswin decls to nt.h.
6129
6130         * syswindows.h:
6131         add long comment describing appropriate use of the various windows
6132         headers.
6133
6134 2000-06-11  Ben Wing  <ben@xemacs.org>
6135
6136         * device-x.c: Correct doc string for sixth arg of x-get-resource.
6137
6138 2000-06-10  Ben Wing  <ben@xemacs.org>
6139
6140         * Makefile.in.in (release):
6141         Correction to make sure xemacs.exe always dumped when correct.
6142
6143         * alloca.c:
6144         * balloon_help.c:
6145         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
6146
6147         * buffer.c (set_buffer_internal):
6148         [[[[2]]]]: Remove HAVE_FEP code.
6149
6150         * buffer.c (init_initial_directory):
6151         [3].
6152
6153         * bytecode.c:
6154         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
6155         individual files.
6156
6157         * callproc.c:
6158         * callproc.c (call_process_cleanup):
6159         * callproc.c (Fold_call_process_internal):
6160         * callproc.c (child_setup):
6161         * callproc.c (getenv_internal):
6162         * callproc.c (init_callproc):
6163         * callproc.c (vars_of_callproc):
6164         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
6165         __CYGWIN32__ -> CYGWIN.
6166         DOS_NT -> WIN32_NATIVE.
6167         Remove MSDOS support/references, converting to WIN32_NATIVE
6168           where correct.
6169         __MINGW32__ -> MINGW.
6170         Fix windows.h includes.
6171         Remove bogus HAVE_NTGUI.
6172
6173         * config.h.in:
6174         [2].
6175
6176         * console-msw.c:
6177         mswindows_message_outputted added for use in allowing startup
6178         errors on the console to be seen.
6179
6180         * console-msw.c (msw_ensure_console_allocated):
6181         * console-msw.c (msw_output_console_string):
6182         * console-msw.c (DHEADER):
6183         * console-msw.c (DOPAQUE_DATA):
6184         * console-msw.c (DEVENT):
6185         * console-msw.c (DCONS):
6186         * console-msw.c (DCONSCDR):
6187         * console-msw.c (DSTRING):
6188         * console-msw.c (DVECTOR):
6189         * console-msw.c (DSYMBOL):
6190         * console-msw.c (DSYMNAME):
6191         Fix warnings.
6192
6193         * console-stream.c (stream_init_console):
6194         Fix text/binary problems.
6195
6196         * device-msw.c:
6197         * device-msw.c (mswindows_finish_init_device):
6198         * device-msw.c (mswindows_delete_device):
6199         [1].
6200
6201         * device.c (handle_asynch_device_change):
6202         [3].
6203
6204         * dgif_lib.c:
6205         * dgif_lib.c (DGifOpenFileName):
6206         * dgif_lib.c (DGifOpenFileHandle):
6207         * dgif_lib.c (DGifGetLine):
6208         * dgif_lib.c (DGifGetPixel):
6209         Added config.h/lisp.h, fix up includes.
6210         [1].
6211
6212         * dired-msw.c:
6213         [4].
6214
6215         * dired.c:
6216         * dired.c (file_name_completion):
6217         * dired.c (Ffile_attributes):
6218         * dired.c (syms_of_dired):
6219         [1].
6220
6221         * dumper.c:
6222         * dumper.c (pdump_file_unmap):
6223         * dumper.c (pdump_load):
6224         [1].
6225
6226         * editfns.c:
6227         * editfns.c (Ftemp_directory):
6228         * editfns.c (user_login_name):
6229         * editfns.c (Fuser_real_login_name):
6230         * editfns.c (get_home_directory):
6231         [1].
6232
6233         * elhash.c (finish_marking_weak_hash_tables):
6234         [[[[5]]]]: Fix GCC warnings.
6235
6236         * emacs.c:
6237         * emacs.c (mswindows_handle_hardware_exceptions):
6238         * emacs.c (make_arg_list_1):
6239         * emacs.c (main_1):
6240         * emacs.c (Fkill_emacs):
6241         * emacs.c (Fdump_emacs):
6242         [1].
6243         Fix problems with nested crashes, add long comment.
6244
6245         * event-Xt.c (init_event_Xt_late):
6246         [1].
6247
6248         * event-msw.c:
6249         * event-msw.c (mswindows_dde_callback):
6250         * event-msw.c (mswindows_handle_sticky_modifiers):
6251         * event-msw.c (mswindows_wnd_proc):
6252         [1].
6253         [5].
6254
6255         * events.c (character_to_event):
6256         [1].
6257
6258         * fileio.c:
6259         * fileio.c (Ffile_name_directory):
6260         * fileio.c (Ffile_name_nondirectory):
6261         * fileio.c (directory_file_name):
6262         * fileio.c (Fexpand_file_name):
6263         * fileio.c (Fsubstitute_in_file_name):
6264         * fileio.c (Ffile_name_absolute_p):
6265         * fileio.c (check_executable):
6266         * fileio.c (Ffile_readable_p):
6267         * fileio.c (Ffile_accessible_directory_p):
6268         * fileio.c (Ffile_modes):
6269         * fileio.c (Funix_sync):
6270         * fileio.c (vars_of_fileio):
6271         [1]. [4].
6272
6273         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
6274
6275         Expand getdefdir defn.
6276         Fix bogus rename() comment.
6277
6278         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
6279         to use standard XEmacs include files, e.g. sysfile.h, rather
6280         than system-specific includes.
6281
6282         * fns.c:
6283         * fns.c (Fsubseq):
6284         [5]. [6].
6285
6286         * frame.c (vars_of_frame):
6287         [1].
6288
6289         * getloadavg.c:
6290         * getloadavg.c (getloadavg):
6291         [1]. [6].
6292         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
6293         (We don't use it elsewhere in the code; just add a comment.)
6294
6295         * gif_io.c:
6296         [6].
6297         Add config.h.
6298
6299         * glyphs-msw.c:
6300         * glyphs-msw.c (mswindows_resource_instantiate):
6301         [1].
6302
6303         * glyphs-x.c (x_native_layout_instantiate):
6304         [5].
6305
6306         * gui-msw.c (Fmswindows_shell_execute):
6307         [1].
6308
6309         * insdel.c:
6310         [4].
6311
6312         * lisp.h:
6313         [4]. [5].
6314
6315         * lread.c (locate_file_in_directory_mapper):
6316         [1].
6317
6318         * lstream.c:
6319         [4].
6320
6321         * mem-limits.h:
6322         * mem-limits.h (get_lim_data):
6323         [1].
6324
6325         * menubar-msw.c:
6326         [4].
6327
6328         * ndir.h:
6329         [1].
6330
6331         * nt.c:
6332         * nt.c (getwd):
6333         * nt.c (closedir):
6334         * nt.c (rva_to_section):
6335         * nt.c (mswindows_executable_type):
6336         [1]. [6].
6337         Fix closedir() defn.
6338
6339         * nt.h:
6340         [[[[8]]]]: *_OK defs moved to sysfile.h.
6341
6342         * ntproc.c:
6343         [6]. [7].
6344
6345         * objects-x.c:
6346         [4].
6347
6348         * print.c:
6349         * print.c (std_handle_out_external):
6350         [1]. [4].
6351
6352         * process-nt.c:
6353         * process-nt.c (nt_create_process):
6354         [6].
6355         try to fix process quoting somewhat.
6356
6357         * process-unix.c (unix_create_process):
6358         [1].
6359
6360         * process.c:
6361         * process.c (vars_of_process):
6362         Add Vnull_device.
6363
6364         * process.h:
6365         [1].
6366
6367         * realpath.c:
6368         * realpath.c (xrealpath):
6369         [1].
6370
6371         * redisplay-tty.c (init_tty_for_redisplay):
6372         [3].
6373
6374         * redisplay.c:
6375         [4]. [6].
6376
6377         * scrollbar-msw.c:
6378         [4].
6379
6380         * sheap.c:
6381         * sheap.c (more_static_core):
6382         * sheap.c (report_sheap_usage):
6383         [5]. [6].
6384
6385         * signal.c:
6386         * signal.c (alarm_signal):
6387         [1]. [6].
6388
6389         * sound.c:
6390         [6].
6391
6392         * strftime.c:
6393         * strftime.c (zone_name):
6394         [1]. [5].
6395
6396         * symsinit.h (init_sunpro):
6397         [1].
6398
6399         * syscommctrl.h:
6400         commctrl.h not in Cygwin b20.1.
6401
6402         * sysdep.c:
6403         * sysdep.c (endif):
6404         * sysdep.c (sys_subshell):
6405         * sysdep.c (init_baud_rate):
6406         * sysdep.c (emacs_get_tty):
6407         * sysdep.c (emacs_set_tty):
6408         * sysdep.c (tty_init_sys_modes_on_device):
6409         * sysdep.c (init_system_name):
6410         * sysdep.c (sys_open):
6411         * sysdep.c (interruptible_open):
6412         * sysdep.c (sys_fopen):
6413         * sysdep.c (sys_mkdir):
6414         * sysdep.c (sys_rename):
6415         * sysdep.c (get_process_times_1):
6416         [1]. [6].
6417
6418         * sysdep.h:
6419         [1].
6420
6421         * sysdir.h:
6422         * sysdir.h (DIRENTRY_NONEMPTY):
6423         [1]. [6].
6424
6425         * sysdll.c (dll_init):
6426         * sysdll.h:
6427         [1].
6428
6429         * sysfile.h:
6430         [1]. [6]. [8].
6431         added text/binary defs.
6432
6433         * sysfloat.h:
6434         [1].
6435
6436         * sysproc.h:
6437         * sysproc.h (EDESTADDRREQ):
6438         * sysproc.h (poll_fds_for_input):
6439         [1]. [6].
6440
6441         * syspwd.h:
6442         [6].
6443
6444         * syssignal.h:
6445         [1].
6446
6447         * systime.h:
6448         [1]. [6].
6449
6450         * systty.h:
6451         [1].
6452
6453         * syswindows.h:
6454         [1].
6455         Always define WIN32_LEAN_AND_MEAN.
6456
6457         * unexcw.c (unexec):
6458         [5].
6459
6460         * unexec.c:
6461         * unexec.c (copy_text_and_data):
6462         * unexec.c (adjust_lnnoptrs):
6463         [1].
6464
6465         * unexnt.c:
6466         * unexnt.c (_start):
6467         [1].
6468
6469 2000-06-07  Ben Wing  <ben@xemacs.org>
6470
6471         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
6472         was used only as a model.  We've long since extracted any useful
6473         logic or code out of this. (I just did an exhaustive search.)
6474
6475         * s\msdos.h: Removed.
6476
6477         * s\windows95.h: Removed.
6478
6479 2000-06-10  Ben Wing  <ben@xemacs.org>
6480
6481         * s\cygwin32.h:
6482         [1]. [5].
6483         Don't use extern with fun defs.
6484
6485         * s\mingw32.h:
6486         [1]. [7].
6487         Remove nt\inc include.
6488         Remove getdisk, getdefdir. (The former is unused, the latter
6489         expanded in fileio.h.)
6490
6491         * s\windowsnt.h:
6492         * s\windowsnt.h (WIN32_NATIVE):
6493         * s\windowsnt.h (HAVE_STRCASECMP):
6494         [1]. [7].
6495         Add long comment about preprocessor changes.
6496         Remove getdisk, getdefdir. (The former is unused, the latter
6497         expanded in fileio.h.)
6498
6499 2000-06-10  Ben Wing  <ben@xemacs.org>
6500
6501         * m\arm.h:
6502         * m\delta.h:
6503         * m\intel386.h:
6504         * m\sequent.h:
6505         * m\template.h:
6506         * m\windowsnt.h:
6507         [1].
6508         Remove bogus/unused NO_SOCK_SIGIO.
6509
6510 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
6511
6512         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
6513         not an Emchar.
6514
6515 2000-06-04  Mike Sperber <mike@xemacs.org>
6516
6517         * casetab.c (set_case_table): For `set-standard-case-table',
6518         actually deposit the new case tables where the rest of XEmacs can
6519         see them.
6520
6521 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
6522
6523         * data.c (Faset): Don't cast XCHAR() to unsigned char.
6524
6525 2000-06-05  Ben Wing  <ben@xemacs.org>
6526
6527         * callproc.c (child_setup): Don't do close_load_descs() under
6528         MS Windows.  Put in a comment explaining why.
6529
6530 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
6531
6532         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
6533         Toolkit shell" which breaks `kill-compilation' on Windows NT
6534         native, retaining STDERR handling improvements.
6535
6536 2000-06-01  Andreas Jaeger  <aj@suse.de>
6537
6538         * s/s390.h: Support for S390, based on a patch by Martin
6539         Schwidefsky <schwidefsky@de.ibm.com>.
6540
6541 2000-05-30  Andy Piper  <andy@xemacs.org>
6542
6543         * window.c (allocate_window):
6544         (make_dummy_parent):
6545         (Fset_window_configuration): use new hashtable type.
6546
6547         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
6548         (struct image_instantiator_methods):
6549         (struct Lisp_Image_Instance): make instance geometry signed.
6550
6551         * glyphs.c (instantiate_image_instantiator):
6552         (image_instance_query_geometry):
6553         (image_instance_layout):
6554         (image_instance_layout):
6555         (query_string_geometry):
6556         (text_query_geometry):
6557         (image_instantiate):
6558         (image_instantiate):
6559         (cache_subwindow_instance_in_frame_maybe):
6560         (subwindow_query_geometry): make instance geometry signed.
6561
6562         * glyphs-widget.c (widget_query_geometry):
6563         (widget_layout):
6564         (button_query_geometry):
6565         (tree_view_query_geometry):
6566         (tab_control_query_geometry):
6567         (layout_query_geometry):
6568         (layout_layout):
6569         (native_layout_layout): make instance geometry signed.
6570
6571 2000-05-29  Olivier Galibert  <galibert@pobox.com>
6572
6573         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
6574         constant.
6575
6576         * general.c (syms_of_general): Add Qfull_assoc symbol.
6577
6578         * data.c (finish_marking_weak_lists): Mark full-assoc lists
6579         correctly.
6580         (decode_weak_list_type): Decode full-assoc type.
6581         (encode_weak_list_type): Encode full-assoc type.
6582         (Fmake_weak_list): Update doc string.
6583
6584 2000-05-30  Andy Piper  <andy@xemacs.org>
6585
6586         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
6587
6588         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
6589         (decode_hash_table_weakness): ditto.
6590         (Fhash_table_weakness): ditto.
6591         (Fhash_table_type): ditto.
6592         (finish_marking_weak_hash_tables): ditto.
6593         (hash_table_weakness_validate): ditto.
6594         (syms_of_elhash): ditto.
6595
6596 2000-05-28  Martin Buchholz <martin@xemacs.org>
6597
6598         * XEmacs 21.2.34 is released.
6599
6600 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
6601
6602         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
6603         start cache.
6604         (updating_line_start_cache): Gone.
6605         (regenerate_window): Replace resetting of VERTICAL_CLIP by
6606         generic code to force a minimum of 1 line laid out in the
6607         CMOTION_DISP case.
6608
6609 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
6610
6611         * glyphs.c (instantiate_image_instantiator): Check for initialized
6612         height & width no longer special cases IMAGE_NOTHING.
6613         (nothing_instantiate): Set height and width of instance.
6614
6615 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6616
6617         * unexelf.c (unexec): Search for ".data" section.
6618         Initialize new_data2_offset from old_data_index.
6619         Remove redundant check for ElfW.
6620
6621 2000-05-23  Andy Piper  <andy@xemacs.org>
6622
6623         * glyphs.c (get_image_instantiator_governing_domain): allow more
6624         specific domains as the governing domain rather than expecting an
6625         exact match. This fixes problems with layouts.
6626
6627 2000-05-22  Andy Piper  <andy@xemacs.org>
6628
6629         * redisplay-output.c (compare_runes): check for non-images
6630
6631         * glyphs.c (set_glyph_dirty_p): ditto.
6632         (update_glyph_cachel_data): ditto.
6633
6634         * glyphs-widget.c (layout_post_instantiate): ditto.
6635         (layout_post_instantiate): ditto.
6636
6637         * event-msw.c (mswindows_wnd_proc): warning removal.
6638
6639 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
6640
6641         * s\mingw32.h: Added #undef for CLASH_DETECTION.
6642
6643         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
6644
6645         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
6646
6647         * nt.c (rva_to_section): mingw32 needs rva_to_section.
6648         (mswindows_executable_type): mingw32 now has enough headers for
6649         this to work.
6650
6651 2000-05-20  Andy Piper  <andy@xemacs.org>
6652
6653         * console-msw.c (mswindows_output_last_error): ; -> ,
6654
6655 2000-05-12  Andy Piper  <andy@xemacs.org>
6656
6657         * console-msw.c (FROB): compare ints with ints.
6658
6659 2000-05-11  Andy Piper  <andy@xemacs.org>
6660
6661         * glyphs-x.c (x_finalize_image_instance): make minimal build
6662         happy.
6663
6664 2000-05-20  Ben Wing  <ben@xemacs.org>
6665
6666         * event-Xt.c:
6667         * event-Xt.c (vars_of_event_Xt):
6668         move modifier-keys-are-sticky to event-stream.c.
6669
6670         * event-msw.c:
6671         * event-msw.c (mswindows_enqueue_mouse_button_event):
6672         * event-msw.c (key_needs_default_processing_p):
6673         * event-msw.c (XEMSW_LCONTROL):
6674         * event-msw.c (mswindows_handle_sticky_modifiers):
6675         * event-msw.c (FROB):
6676         * event-msw.c (clear_sticky_modifiers):
6677         * event-msw.c (output_modifier_keyboard_state):
6678         * event-msw.c (output_alt_keyboard_state):
6679         * event-msw.c (mswindows_wnd_proc):
6680         * event-msw.c (mswindows_modifier_state):
6681         * event-msw.c (emacs_mswindows_handle_magic_event):
6682         implement sticky modifiers.
6683
6684         * event-stream.c:
6685         * event-stream.c (vars_of_event_stream):
6686         move modifier-keys-are-sticky here.
6687
6688         * lisp.h:
6689         add CHECK_FUNCTION.
6690
6691         * rangetab.c:
6692         implement map-range-table.
6693
6694
6695 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
6696
6697         * redisplay-tty.c (reset_tty_modes):
6698         (tty_redisplay_shutdown): Adjust argument type to
6699         tty_frame_output_end.
6700
6701 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6702
6703         * eval.c (Fbacktrace): Don't output a line with only right
6704         parenthesis.
6705
6706 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
6707
6708         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
6709         (Fpq_reset_poll): Ditto.
6710
6711 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
6712
6713         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
6714
6715 2000-05-16  Ben Wing  <ben@xemacs.org>
6716
6717         * buffer.c:
6718         * buffer.c (dfc_convert_to/from_internal_format):
6719         * buffer.c (reinit_vars_of_buffer):
6720         Fix conversion functions to allow reentrancy.
6721
6722         * console-msw.c:
6723         * console-msw.c (mswindows_output_last_error):
6724         New fun, generally useful -- output a human-readable
6725         version of GetLastError() on the console.
6726
6727         * console-msw.h:
6728         * console-msw.h (struct mswindows_frame):
6729         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
6730
6731         * console-stream.c (stream_output_begin):
6732         * console-stream.c (stream_output_end):
6733         * console-stream.c (stream_output_vertical_divider):
6734         * console-stream.c (stream_clear_region):
6735         * console-stream.c (stream_flash):
6736         * console-stream.c (console_type_create_stream):
6737         Delete blank stream methods, not needed.
6738
6739         * console.h (struct console_methods):
6740         Split begin/end methods into window and frame.
6741
6742         * event-msw.c:
6743         * event-msw.c (mswindows_handle_paint):
6744         * event-msw.c (output_alt_keyboard_state):
6745         * event-msw.c (mswindows_wnd_proc):
6746         * event-msw.c (vars_of_event_mswindows):
6747         Comment about problems with ignored-expose.
6748         Define mswindows-debug-events; not really implemented.
6749
6750         * frame-msw.c (mswindows_init_frame_1):
6751         random cleanups.
6752
6753         * glyphs-msw.c:
6754         * glyphs-msw.c (begin_defer_window_pos):
6755         * glyphs-msw.c (mswindows_unmap_subwindow):
6756         * glyphs-msw.c (mswindows_map_subwindow):
6757         * glyphs-msw.c (mswindows_resize_subwindow):
6758         Use DeferWindowPos to reduce flashing when mapping/unmapping.
6759
6760         * glyphs.c (make_image_instance_1):
6761         Fix crash.
6762
6763         * gutter.c (Fredisplay_gutter_area):
6764         Use new begin/end methods.
6765
6766         * lisp.h (Dynarr_new2):
6767         New creation fun.
6768
6769         * redisplay-msw.c:
6770         * redisplay-msw.c (mswindows_frame_output_begin):
6771         * redisplay-msw.c (mswindows_frame_output_end):
6772         * redisplay-msw.c (console_type_create_redisplay_mswindows):
6773         New begin/end methods -- handle DeferWindowPos.
6774
6775         * redisplay-output.c (redisplay_move_cursor):
6776         * redisplay-output.c (redraw_cursor_in_window):
6777         * redisplay-output.c (redisplay_update_line):
6778         * redisplay-output.c (redisplay_output_window):
6779         New begin/end methods.
6780
6781         * redisplay-tty.c:
6782         * redisplay-tty.c (tty_frame_output_begin):
6783         * redisplay-tty.c (tty_frame_output_end):
6784         * redisplay-tty.c (console_type_create_redisplay_tty):
6785         New begin/end methods.
6786
6787         * redisplay-x.c:
6788         * redisplay-x.c (x_window_output_begin):
6789         * redisplay-x.c (x_window_output_end):
6790         * redisplay-x.c (console_type_create_redisplay_x):
6791         New begin/end methods.
6792
6793         * redisplay.c (redisplay_frame):
6794         * redisplay.c (Fredisplay_echo_area):
6795         New begin/end methods.
6796         use MAYBE_DEVMETH for clear_frame; it may not exist.
6797
6798         * window.h (WINDOW_XFRAME):
6799         WINDOW_XFOO macros -- get locale and decode struct pointer.
6800
6801
6802 2000-05-12  Ben Wing  <ben@xemacs.org>
6803
6804         * emacs.c:
6805         * emacs.c (ensure_no_quitting_from_now_on):
6806         * emacs.c (fatal_error_signal):
6807         * emacs.c (mswindows_handle_hardware_exceptions):
6808         * emacs.c (main):
6809         * emacs.c (Fkill_emacs):
6810         * emacs.c (shut_down_emacs):
6811         * emacs.c (assert_failed):
6812         various improvements in fatal error handling.
6813
6814         * eval.c:
6815         move preparing_for_armageddon to emacs.c.
6816
6817         * lisp.h:
6818         declare fatal_error_in_progress.
6819
6820         * print.c:
6821         * print.c (std_handle_out_external):
6822         * print.c (std_handle_out_va):
6823         * print.c (stderr_out):
6824         * print.c (stdout_out):
6825         use console under mswin when no standard output.
6826         don't do code conversion during fatal error.
6827
6828         * scrollbar.c (Fscrollbar_page_up):
6829         * scrollbar.c (Fscrollbar_page_down):
6830         fix missing else.  reindent.
6831
6832 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
6833
6834         Emergency fix.
6835
6836         * glyphs.h (GLYPH_CACHEL_DESCENT):
6837         (GLYPH_CACHEL_DESCENT):
6838         (GLYPH_CACHEL_DESCENT):
6839         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
6840         used in case these are inline functions.
6841         Use more absurd values to error check.
6842
6843         include window.h for error check functions.
6844
6845 2000-05-11  Ben Wing  <ben@xemacs.org>
6846
6847         * cmdloop.c (Freally_early_error_handler):
6848         Display message box under windows; otherwise, message will disappear
6849         before it can be viewed.
6850
6851         * console-msw.c:
6852         * console-msw.c (Fmswindows_message_box):
6853         * console-msw.c (FROB):
6854         * console-msw.c (syms_of_console_mswindows):
6855         Define new fun `mswindows-message-box'.
6856         #### I will merge this into `popup-dialog-box'; just give me
6857         a bit of time.
6858
6859         * general.c:
6860         * general.c (syms_of_general):
6861         Some new symbols used in `mswindows-message-box'.
6862
6863         * glyphs.c:
6864         * glyphs.c (Fset_image_instance_property):
6865         put warning in this fun.
6866
6867         * glyphs.h:
6868         * glyphs.h (GLYPH_CACHEL_WIDTH):
6869         * glyphs.h (GLYPH_CACHEL_ASCENT):
6870         * glyphs.h (GLYPH_CACHEL):
6871         * glyphs.h (GLYPH_CACHEL_GLYPH):
6872         define error-checking versions to try to catch a bug i've seen --
6873         redisplay gets in an infinite loop because the glyph width of the
6874         continuation glyph is 65535.
6875
6876         * lisp.h:
6877         Extern message-box stuff.
6878
6879         * window.c (allocate_window):
6880         * window.c (make_dummy_parent):
6881         * window.c (Fset_window_configuration):
6882         Use EQUAL not EQ for subwindow caches to make them work a bit
6883         better. (Something is still very broken.)
6884
6885
6886 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6887
6888         * glyphs.c (image_instantiate): Suppress gcc warnings.
6889         (Fmake_image_instance): Fix doc string.
6890         * specifier.c (Fmake_specifier): Ditto.
6891
6892 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6893
6894         * paths.h.in (PATH_LOCK): Removed.
6895         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
6896         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
6897
6898 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6899
6900         * fns.c (Ffeaturep): Update e-mail address in doc-string.
6901         Document (featurep '(and xemacs 21.02)).
6902
6903 2000-05-09  Ben Wing  <ben@xemacs.org>
6904
6905         * buffer.c (complex_vars_of_buffer):
6906         update modeline-format doc.
6907
6908         * device.h:
6909         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
6910
6911         * emacs.c:
6912         timeline of all released versions of Emacs, for use in creating
6913         authorship comments and in synching up.
6914
6915         * glyphs-widget.c (image_instantiator_buttons):
6916         * glyphs-widget.c (image_instantiator_edit_fields):
6917         * glyphs-widget.c (image_instantiator_combo_box):
6918         * glyphs-widget.c (image_instantiator_scrollbar):
6919         * glyphs-widget.c (image_instantiator_progress_guage):
6920         * glyphs-widget.c (image_instantiator_tree_view):
6921         * glyphs-widget.c (image_instantiator_tab_control):
6922         * glyphs-widget.c (image_instantiator_labels):
6923         * glyphs-widget.c (image_instantiator_layout):
6924         * glyphs-widget.c (image_instantiator_native_layout):
6925         rename decode_domain method to governing_domain.
6926
6927         * glyphs.c:
6928         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
6929         * glyphs.c (add_entry_to_device_ii_format_list):
6930         make sure we don't put an entry more than once into the list.
6931         * glyphs.c (check_instance_cache_mapper):
6932         *************************************************************
6933         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
6934         HAVE BEEN GETTING.
6935         *************************************************************
6936         * glyphs.c (get_image_instantiator_governing_domain):
6937         clean up, expand on new concept of governing domain.
6938         * glyphs.c (instantiate_image_instantiator):
6939         * glyphs.c (allocate_image_instance):
6940         use governing_domain instead of cache_domain in naming.
6941         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
6942         * glyphs.c (make_image_instance_1):
6943         * glyphs.c (Fmake_image_instance):
6944         allow for any domain (not just device), and process the
6945         governing domain correctly.  very big doc fix.
6946         * glyphs.c (Fimage_instance_domain):
6947         new primitive, to retrieve the governing domain of an image instance.
6948         * glyphs.c (image_instantiate):
6949         use new governing_domain stuff.  this fixes a crash you could get
6950         by instantiating certain widget glyphs in frame locales. (should
6951         signal an error instead of crashing.)
6952         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
6953         * glyphs.c (Fglyphp): clean up doc.
6954         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
6955         * glyphs.c (syms_of_glyphs):
6956         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
6957         * glyphs.c (image_instantiator_format_create): add some comments about
6958         bogus code.
6959         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
6960         for current-display-table. (Apparently Hrjove implemented in 1998 a
6961         design I wrote up in 1996, but didn't update the doc string.)
6962
6963         * glyphs.h: clean up a doc string.
6964         * glyphs.h (governing_domain):
6965         * glyphs.h (struct image_instantiator_methods):
6966         changes for governing_domain stuff.
6967
6968         * gutter.c:
6969         * gutter.c (Fgutter_specifier_p):
6970         * gutter.c (Fgutter_size_specifier_p):
6971         * gutter.c (Fgutter_visible_specifier_p):
6972         * objects.c:
6973         * objects.c (Fcolor_specifier_p):
6974         * objects.c (Ffont_specifier_p):
6975         * objects.c (Fface_boolean_specifier_p):
6976         doc strings moved to make-*-specifier.
6977
6978         * redisplay.c (add_disp_table_entry_runes_1):
6979         * redisplay.c (generate_fstring_runes):
6980         * redisplay.c (screen):
6981         add random comments and doc strings.
6982
6983         * specifier.c:
6984         * specifier.c (Fmake_specifier):
6985         major overhaul of this doc string.
6986
6987         * specifier.c (Fvalid_specifier_domain_p):
6988         comment about the bogosity of image instances being domains.
6989         * specifier.c (decode_domain):
6990         now non-static, used in glyphs.c.
6991         * specifier.c (specifier_instance):
6992         comment about the bogosity of image instances being domains.
6993         * specifier.c (Fgeneric_specifier_p):
6994         move doc string to make-generic-specifier.
6995         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
6996         rebackslashify.
6997
6998         * specifier.h:
6999         * specifier.h (DOMAIN_FRAME):
7000         * specifier.h (DOMAIN_LIVE_P):
7001         * specifier.h (DOMAIN_XDEVICE):
7002         rebackslashify.
7003         add comments about problems with these macros.
7004         prototype for decode_domain.
7005
7006         * toolbar.c:
7007         * toolbar.c (Ftoolbar_specifier_p):
7008         move doc string to `make-toolbar-specifier'.
7009
7010         * window.c (window_unmap_subwindows_cache_mapper):
7011         *************************************************************
7012         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7013         HAVE BEEN GETTING.
7014         *************************************************************
7015
7016 2000-05-09  Andy Piper  <andy@xemacs.org>
7017
7018         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7019
7020         * window.c (Fset_window_configuration): reset the frame subwindow
7021         cache and re-initialize the window subwindow caches.
7022
7023         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7024
7025 2000-05-09  Ben Wing  <ben@xemacs.org>
7026
7027         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7028         DWORD.
7029
7030 2000-04-26  Mike Woolley  <mike@bulsara.com>
7031
7032         * ntheap.c: Changed recreate_heap to limit the amount reserved
7033         for the heap to that which is actually available. Also now
7034         displays a message box (with some dignostics) in the event that
7035         it still can't start.
7036
7037 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7038
7039         * callproc.c (Fold_call_process_internal): GCPRO path
7040
7041 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7042
7043         Patch by Bill Perry.
7044
7045         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7046         back data instead of #ifdef.
7047         (Fscrollbar_page_down): ditto.
7048
7049 2000-05-07  Ben Wing  <ben@xemacs.org>
7050
7051         * buffer.h:
7052         Kludge for defining Qmswindows_tstr.
7053
7054         * nt.c:
7055         * nt.c (open_input_file):
7056         * nt.c (open_output_file):
7057         * nt.c (rva_to_section):
7058         * nt.c (mswindows_executable_type):
7059         Move all memory-mapped-file routines here (some were in unexnt.c,
7060         which is bad because they are used by process-nt.c, and unexnt
7061         won't be around when portable dumping).  Synched the above routines
7062         with FSF 20.6.
7063
7064         * nt.h:
7065         Removed ifdef'd out bogus code.
7066         Fixed some prototypes.
7067
7068         * nt.h (file_data):
7069         * nt.h (OFFSET_TO_RVA):
7070         * nt.h (RVA_TO_OFFSET):
7071         * nt.h (RVA_TO_PTR):
7072         Moved the memory-mapped-file structures, macros and prototypes
7073         here, to parallel nt.c.  ntheap.h should really be removed
7074         entirely, and it's a non-portable-dumper specific file.
7075
7076         * ntheap.h (round_to_next):
7077         Moved the memory-mapped-file structures, macros and prototypes
7078         to nt.h.
7079
7080         * ntproc.c (compare_env):
7081         Moved rva_to_section and mswindows_executable_type to nt.c.
7082         Moved compare_env to process-nt.c.
7083         ntproc.c will die, one day.
7084
7085         * ntproc.c (sys_spawnve):
7086         Account for win32_ -> mswindows_.
7087
7088         * process-nt.c:
7089         * process-nt.c (struct nt_process_data):
7090         * process-nt.c (ensure_console_window_exists):
7091         * process-nt.c (compare_env):
7092         * process-nt.c (nt_create_process):
7093         * process-nt.c (nt_kill_process_by_pid):
7094         * process-nt.c (syms_of_process_nt):
7095         * process-nt.c (vars_of_process_nt):
7096         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7097         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7098         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7099         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7100         Move compare_env here from ntproc.c.
7101
7102         * process.c (Fprocess_send_region):
7103         Takes an optional fourth argument, BUFFER, which should fix some
7104         problems with call-process.
7105
7106         * syscommctrl.h:
7107         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7108
7109         * syswindows.h:
7110         Move ICC_BAR_CLASSES to syscommctrl.h.
7111         Add preliminary macros for MSWindows/Mule.  More to come.
7112
7113         * unexnt.c:
7114         * unexnt.c (unexec):
7115         open_output_file moved to nt.c.
7116
7117
7118 2000-05-05  Andy Piper  <andy@xemacs.org>
7119
7120         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7121         instance from the frame cache also since GC may catch up too late
7122         to make frame deletion sane.
7123
7124 2000-05-04  Andy Piper  <andy@xemacs.org>
7125
7126         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7127         (x_finalize_image_instance): ungcpro on deletion.
7128
7129         * glyphs.c (image_instantiator_format_create): give pointers a
7130         query geometry method so that the geometry is at least set.
7131
7132         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
7133         initialize layouts if using widgets.
7134
7135 2000-05-03  Andy Piper  <andy@xemacs.org>
7136
7137         * nt.c: remove bogus reference to sysmmsystem.h
7138
7139         * gui-x.c (popup_selection_callback): fix no selection abort.
7140
7141 2000-05-02  Andy Piper  <andy@xemacs.org>
7142
7143         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
7144         (mswindows_widget_instantiate): ditto.
7145
7146         * glyphs-widget.c (initialize_widget_image_instance): initialize
7147         children correctly.
7148         (widget_instantiate): cope with children and items in the same
7149         instance.
7150
7151         * glyphs.c (mark_image_instance): cope with children as a first
7152         class member.
7153         (image_instance_equal): ditto.
7154         (image_instance_hash): ditto.
7155         (image_instance_changed): ditto.
7156
7157 2000-04-30  Andy Piper  <andy@xemacs.org>
7158
7159         * glyphs.c (subwindow_query_geometry): new function. Return some
7160         defaults.
7161         (subwindow_instantiate): don't assign dimensions if none have been
7162         given.
7163         (image_instantiator_format_create): add subwindow_query_geometry.
7164         (print_image_instance): cope with layouts as widgets.
7165
7166 2000-04-29  Andy Piper  <andy@xemacs.org>
7167
7168         * frame.c (delete_frame_internal): call
7169         free_frame_subwindow_instance_cache so that all subwindows are
7170         finalized before their parent.
7171         (mark_frame): remove subwindow_cachels.
7172         (Fmake_frame): remove subwindow_cachel manipulation.
7173         (allocate_frame_core): subwindow_instance_cache is a weak list.
7174         (delete_frame_internal): set subwindow_instance_cache to nil.
7175
7176         * glyphs-msw.c (mswindows_finalize_image_instance): make double
7177         finalization safe.
7178         (mswindows_finalize_image_instance): use the device
7179         not the domain as the domain may have died already.
7180
7181         * glyphs-x.c (x_finalize_image_instance): ditto.
7182         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
7183         HEIGHT.
7184
7185         * redisplay-output.c (redisplay_unmap_subwindows): update for
7186         subwindow instance cache as a weak list.
7187         (redisplay_unmap_subwindows_maybe): ditto.
7188         (redisplay_unmap_subwindows_except_us): ditto.
7189
7190         * glyphs.c (unmap_subwindow): error checking will check the domain
7191         so don't deal with it here. Don't use cachels anymore.
7192         (map_subwindow): ditto.
7193         (update_subwindow_cachel_data): remove old accessor names.
7194         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
7195         (Fresize_subwindow): don't update cachel.
7196         (mark_subwindow_cachels):
7197         (update_subwindow_cachel_data):
7198         (add_subwindow_cachel):
7199         (get_subwindow_cachel_index):
7200         (update_subwindow_cachel):
7201         (reset_subwindow_cachels):
7202         (mark_subwindow_cachels_as_not_updated): deleted.
7203         (cache_subwindow_instance_in_frame_maybe): new function. Add a
7204         subwindow instance to the frame cache.
7205         (find_matching_subwindow): update for subwindow instance cache as
7206         a weak list.
7207         (update_widget_instances): ditto.
7208         (image_instance_type_to_mask):inlined.
7209         (free_frame_subwindow_instance_cache): new function. finalize all
7210         subwindows that are instantiated.
7211
7212         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
7213         of cachel information.
7214         (IMAGE_INSTANCE_DISPLAY_X):
7215         (IMAGE_INSTANCE_DISPLAY_Y):
7216         (IMAGE_INSTANCE_DISPLAY_WIDTH):
7217         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
7218         (XIMAGE_INSTANCE_DISPLAY_X):
7219         (XIMAGE_INSTANCE_DISPLAY_Y):
7220         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
7221         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
7222         remove subwindow_cachel structure and function references.
7223         (image_instance_type_to_mask): inline from glyphs.c
7224
7225         * redisplay.c (redisplay_frame): remove subwindow_cachel
7226         references.
7227
7228         * frame.h (struct frame): remove subwindow_cachels.
7229         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
7230
7231         * frameslots.h: add subwindow_instance_cache.
7232
7233         * window.c (replace_window): check subwindow cache of replacement.
7234         (window_unmap_subwindows_cache_mapper):
7235         (window_unmap_subwindows): new functions. Unmap all subwindows
7236         cached on this window.
7237         (mark_window_as_deleted): unmap all subwindows.
7238
7239 2000-04-27  Andy Piper  <andy@xemacs.org>
7240
7241         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
7242
7243         * glyphs-widget.c (widget_layout): return something.
7244         (layout_layout): return something. Fail if not initialized.
7245         (layout_query_geometry): ditto.
7246         (image_instantiator_native_layout): new function. Initialized the
7247         native layout type.
7248         (widget_instantiate): don't do layout stuff here.
7249
7250         * glyphs.c (instantiate_image_instantiator): reorded calling or
7251         instantiate and post_instantiate with layout in between.
7252         (image_instance_layout): be more selective about deciding whether
7253         the layout has been done or not.
7254
7255         * glyphs.h (struct image_instantiator_methods): return a value
7256         from layout_method.
7257
7258 2000-04-26  Andy Piper  <andy@xemacs.org>
7259
7260         * glyphs.c (allocate_image_instance): make initial width and
7261         height unspecified. Set initialized to 0.
7262
7263         * syscommctrl.h new file. Encapsulates commctrl.h.
7264
7265         * syswindows.h new file. Encapsulates windows.h.
7266
7267         * ntplay.c: use new syswindows.h and syscommctrl.h header.
7268         * nt.c: ditto.
7269         * console-msw.h: ditto.
7270
7271         * redisplay-tty.c (tty_output_display_block): remove layout references.
7272
7273         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
7274         window handle rather than just the frame.
7275
7276         * glyphs.c (mark_image_instance): remove layout references.
7277         (print_image_instance): ditto.
7278         (image_instance_equal): ditto.
7279         (image_instance_hash): ditto.
7280         (decode_image_instance_type): ditto.
7281         (encode_image_instance_type): ditto.
7282         (image_instantiate): ditto.
7283         (allocate_glyph): ditto.
7284         (Fimage_instance_height): ditto.
7285         (Fimage_instance_width): ditto.
7286         (update_subwindow): ditto.
7287
7288         * redisplay-x.c (x_output_display_block): recode for layouts as
7289         widgets.
7290
7291         * redisplay-output.c (redisplay_output_layout): recode for layouts
7292         as widgets.
7293         (compare_runes): remove layout references.
7294
7295         * redisplay-msw.c (mswindows_output_display_block): recode for
7296         layouts as widgets.
7297
7298         * glyphs-widget.c (image_instantiator_layout): remove
7299         layout_possible_dest_types.
7300         (layout_possible_dest_types): deleted.
7301
7302         * glyphs.h (image_instance_type): remove layout references.
7303         (struct Lisp_Image_Instance): ditto. Add initialized flag.
7304         (IMAGE_INSTANCE_INITIALIZED): new accessor.
7305         (XIMAGE_INSTANCE_INITIALIZED): ditto.
7306
7307 2000-04-25  Andy Piper  <andy@xemacs.org>
7308
7309         * glyphs-widget.c (image_instantiator_buttons):
7310         (image_instantiator_edit_fields):
7311         (image_instantiator_combo_box):
7312         (image_instantiator_scrollbar):
7313         (image_instantiator_progress_guage):
7314         (image_instantiator_tree_view):
7315         (image_instantiator_tab_control):
7316         (image_instantiator_labels):
7317         (image_instantiator_layout): call default post_instantiate method.
7318         (widget_post_instantiate): new function. Simply lays out the
7319         widgets.
7320
7321         * glyphs.h (struct image_instantiator_methods): add
7322         post_instantiate method.
7323
7324         * glyphs.c (instantiate_image_instantiator): add post_instantiate
7325         method calls.
7326
7327 2000-04-23  Andy Piper  <andy@xemacs.org>
7328
7329         * glyphs.h (struct image_instantiator_methods): add
7330         decode_domain_method.
7331         (struct Lisp_Image_Instance): remove subwindow frame - it can be
7332         derived from the domain.
7333         (IMAGE_INSTANCE_FRAME): new accessor.
7334         (XIMAGE_INSTANCE_FRAME): ditto.
7335
7336         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
7337         instead of _SUBWINDOW_FRAME.
7338         (finalize_image_instance): ditto.
7339         (Fimage_instance_foreground): ditto.
7340         (Fimage_instance_background): ditto.
7341         (image_instantiate): ditto.
7342         (update_subwindow_cachel): ditto.
7343         (update_subwindow): ditto.
7344         (unmap_subwindow): ditto.
7345         (map_subwindow): ditto
7346         (subwindow_instantiate): ditto.
7347         * glyphs-msw.c (mswindows_update_widget): ditto.
7348         (mswindows_progress_gauge_instantiate): ditto.
7349         (mswindows_tab_control_update): ditto.
7350         * glyphs-x.c (x_update_widget): ditto.
7351         (x_widget_instantiate): ditto.
7352         (x_tab_control_instantiate): ditto.
7353         (x_tab_control_update): ditto.
7354         * event-msw.c (mswindows_wnd_proc): ditto
7355
7356         * glyphs-widget.c (image_instantiator_layout): use
7357         subwindow_decode_domain.
7358         (image_instantiator_buttons): ditto.
7359         (image_instantiator_edit_fields): ditto.
7360         (image_instantiator_combo_box): ditto.
7361         (image_instantiator_scrollbar): ditto.
7362         (image_instantiator_progress_guage): ditto.
7363         (image_instantiator_tree_view): ditto.
7364         (image_instantiator_tab_control): ditto.
7365         (image_instantiator_labels): ditto.
7366         (image_instantiator_layout): ditto.
7367
7368         * glyphs.c: add instance error checking to many functions.
7369         (instantiate_image_instantiator): decode device from cache_domain.
7370         (image_instantiate): partially rewrite by using
7371         decode_image_instantiator_domain to determine what domain the
7372         instance needs to be cached in.
7373         (decode_image_instantiator_domain): new function. Determine what
7374         domain the image needs to be cached in.
7375         (check_window_subwindow_cache): new error checking function.
7376         (check_instance_cache_mapper): ditto.
7377         (check_image_instance_structure): ditto.
7378         (subwindow_decode_domain): new function. Encodes a window as a
7379         subwindow's cache domain.
7380         (image_instantiator_format_create): use it for text and
7381         subwindows.
7382
7383 2000-04-21  Andy Piper  <andy@xemacs.org>
7384
7385         * glyphs.c (image_instance_device): new function.
7386         (image_instance_frame): new function.
7387         (image_instance_window): new function.
7388         (image_instance_live_p): new function.
7389
7390         * window.c (mark_window_as_deleted): reset the subwindow_instance_
7391         cache to nil.
7392
7393         * glyphs.h (struct Lisp_Image_Instance): device->domain.
7394         (IMAGE_INSTANCE_DOMAIN): new accessor.
7395         (XIMAGE_INSTANCE_DOMAIN): ditto.
7396
7397         * glyphs-x.c (x_finalize_image_instance): device->domain.
7398
7399         * glyphs-msw.c (init_image_instance_geometry): device->domain.
7400         (mswindows_finalize_image_instance): ditto.
7401
7402         * glyphs-eimage.c (jpeg_instantiate): device->domain.
7403         (gif_instantiate): ditto.
7404         (png_instantiate): ditto.
7405         (tiff_instantiate): ditto.
7406
7407         * glyphs.c (instantiate_image_instantiator): use domain rather
7408         than device.
7409         (mark_image_instance): device -> domain.
7410         (print_image_instance): ditto.
7411         (finalize_image_instance): ditto.
7412         (image_instance_equal): ditto.
7413         (allocate_image_instance): ditto.
7414         (Fcolorize_image_instance): ditto.
7415         (query_string_geometry): ditto.
7416         (image_instantiate): ditto
7417         (query_string_font): ditto.
7418         (image_instantiate): ditto.
7419         (update_subwindow): ditto.
7420         (unmap_subwindow): ditto.
7421         (map_subwindow): ditto.
7422         (subwindow_instantiate): ditto.
7423
7424         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
7425         (DOMAIN_FRAME): ditto.
7426         (DOMAIN_WINDOW): ditto.
7427         (DOMAIN_LIVE_P): ditto.
7428         (XDOMAIN_DEVICE): ditto.
7429         (XDOMAIN_FRAME): ditto.
7430         (XDOMAIN_WINDOW): ditto.
7431
7432         * specifier.c (Fvalid_specifier_domain_p): add image instances as
7433         a valid specifier domain.
7434
7435 2000-04-19  Andy Piper  <andy@xemacs.org>
7436
7437         * glyphs-widget.c (syms_of_glyphs_widget): remove
7438         widget-callback-current-channel.
7439         (vars_of_glyphs_widget): ditto.
7440         * glyphs.h: ditto
7441
7442         * gui.c (get_gui_callback): revert to previous behaviour.
7443
7444 2000-04-18  Andy Piper  <andy@xemacs.org>
7445
7446         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
7447         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
7448         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
7449
7450         * glyphs.c (image_instance_equal): add margin_width.
7451         (image_instance_hash): ditto.
7452
7453         * glyphs-widget.c (widget_instantiate): deal with margin-width.
7454         (layout_query_geometry): ditto.
7455         (layout_layout): ditto.
7456         (syms_of_glyphs_widget): add margin-width.
7457         (image_instantiator_layout): allow margin-width.
7458
7459         * glyphs.c (update_widget_instances): make a normal function.
7460         (syms_of_glyphs): remove Qupdate_widget_instances.
7461         * glyphs.h: ditto.
7462
7463         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
7464         so that we don't corrupt ideas about the last event or
7465         command. Remove widget-callback-current-channel fiddling.
7466         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
7467
7468 2000-05-01  Martin Buchholz <martin@xemacs.org>
7469
7470         * XEmacs 21.2.33 is released.
7471
7472 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
7473
7474         * make-src-depend: Allow dots in header file name.
7475
7476 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
7477
7478         * mule-charset.h (struct charset_lookup): Add
7479         next_allocated_1_byte_leading_byte and
7480         next_allocated_2_byte_leading_byte.
7481         * mule-charset.c: Move above two variables so that those values
7482         will be dumped.
7483
7484 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
7485
7486         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
7487         when string length is zero.
7488         (find_charsets_in_emchar_string): Ditto.
7489
7490 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
7491
7492         * lisp.h: extern Qdialog and Qmenubar.
7493
7494         * gui-x.c: added events.h.
7495                 also fixed typo which made the file uncompilable.
7496
7497         * general.c: Added Qmenubar and Qdialog
7498
7499 2000-04-28  Ben Wing  <ben@xemacs.org>
7500
7501         * frame-msw.c (mswindows_init_frame_1):
7502         * frame-msw.c (mswindows_mark_frame):
7503         * event-msw.c (mswindows_enqueue_dispatch_event):
7504         * console-msw.h:
7505         * console-msw.h (struct mswindows_frame):
7506         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
7507         there are now three hash tables for callbacks.
7508         mswindows_enqueue_dispatch_event is no longer static.
7509
7510         * dialog-x.c (maybe_run_dbox_text_callback):
7511         * dialog-x.c (dbox_descriptor_to_widget_value):
7512         switch to new cons3 form for callbacks.
7513
7514         * glyphs-msw.c (mswindows_register_gui_item):
7515         * glyphs-msw.c (mswindows_widget_instantiate):
7516         * glyphs-msw.c (add_tree_item):
7517         * glyphs-msw.c (add_tab_item):
7518         new image instance parameter, so it can be passed to callback-ex.
7519         respect :callback-ex as well as :callback.
7520
7521         * glyphs-widget.c (VALID_GUI_KEYWORDS):
7522         add :callback-ex.
7523
7524         * glyphs.c (print_image_instance):
7525         prettify, e.g. now prints widget type.
7526
7527         * gui-x.h:
7528         certain funs have new image instance parameter.
7529
7530         * gui.c:
7531         * gui.c (get_gui_callback):
7532         * gui.c (gui_item_add_keyval_pair):
7533         * gui.c (gui_item_init):
7534         * gui.c (gui_add_item_keywords_to_plist):
7535         * gui.c (mark_gui_item):
7536         * gui.c (gui_item_hash):
7537         * gui.c (gui_item_equal):
7538         * gui.c (copy_gui_item):
7539         * gui.c (syms_of_gui):
7540         recognize callback-ex in a number of places.
7541         also, fix the annoying "can't get out of yes-no dialog" bug.
7542
7543         * gui.h:
7544         * gui.h (struct Lisp_Gui_Item):
7545         recognize callback-ex in a number of places.
7546
7547         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7548         new parameter in button_item_to_widget_value.
7549
7550         * glyphs-x.c (x_update_widget):
7551         * glyphs-x.c (x_button_instantiate):
7552         * glyphs-x.c (x_button_update):
7553         * glyphs-x.c (x_progress_gauge_instantiate):
7554         * glyphs-x.c (x_edit_field_instantiate):
7555         * glyphs-x.c (x_combo_box_instantiate):
7556         * glyphs-x.c (x_tab_control_instantiate):
7557         * glyphs-x.c (x_label_instantiate):
7558         new image instance parameter in various places.
7559
7560         * event-Xt.c:
7561         * event-Xt.c (enqueue_Xt_dispatch_event):
7562         this fun gets exported.
7563
7564         * gui-msw.c:
7565         * gui-msw.c (mswindows_handle_gui_wm_command):
7566         handle both :callback and :callback-ex, and generate our own
7567         event because it's one of the callback-ex arguments.
7568
7569         * gui-x.c:
7570         * gui-x.c (popup_selection_callback):
7571         handle both :callback and :callback-ex, and generate our own
7572         event because it's one of the callback-ex arguments.
7573         * gui-x.c (button_item_to_widget_value):
7574         * gui-x.c (gui_items_to_widget_values_1):
7575         * gui-x.c (gui_item_children_to_widget_values):
7576         * gui-x.c (gui_items_to_widget_values):
7577         new image instance parameter in various places.
7578
7579         * fns.c (Freplace_list):
7580         fix small typo in doc string.
7581
7582         * lisp.h:
7583         declare enqueue_Xt_dispatch_event.
7584
7585 2000-04-28  Ben Wing  <ben@xemacs.org>
7586
7587         * buffer.c:
7588         * buffer.c (Frecord_buffer):
7589         * buffer.c (syms_of_buffer):
7590         delete record-buffer-hook.
7591
7592         * fns.c:
7593         * fns.c (Freplace_list):
7594         * fns.c (syms_of_fns):
7595         new primitive replace-list.
7596
7597         * frameslots.h:
7598         slot for old buffer-alist.
7599
7600         * lisp.h:
7601         exfun replace-list.
7602
7603         * redisplay.c:
7604         * redisplay.c (redisplay_frame):
7605         * redisplay.c (syms_of_redisplay):
7606         * redisplay.c (vars_of_redisplay):
7607         new hook buffer-list-changed-hook.
7608         call it.
7609
7610 2000-04-27  Ben Wing  <ben@xemacs.org>
7611
7612         * extents.h: extern in_modeline_generation.
7613
7614         * redisplay.c (generate_formatted_string_db): set
7615         in_modeline_generation.
7616
7617         * extents.c (extent_changed_for_redisplay): don't mark redisplay
7618         flags if in modeline generation.  otherwise frame-modified-tick
7619         is ticked far too often.
7620         Declare in_modeline_generation.
7621
7622 2000-04-26  Ben Wing  <ben@xemacs.org>
7623
7624         * emacs.c (vars_of_emacs): document quick-build "error-checking"
7625         option.
7626         (vars_of_emacs): add quick-build as an error-checking option.
7627         A bit kludgy, but there doesn't seem much point in creating
7628         a real var for this.
7629
7630         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
7631
7632 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7633
7634         * redisplay.h (struct display_line): Add a new variable,
7635         line_continuation.
7636
7637         * redisplay.c (create_text_block): Set dl->line_continuation if
7638         the line continues.
7639         (create_string_text_block): Ditto.
7640         (regenerate_window_incrementally): Use line_continuation instead
7641         of searching continuation glyph.
7642         (add_margin_runes): Call add_glyph_rune.
7643         (add_glyph_rune): Handle margin glyph.
7644
7645 2000-04-20  Martin Buchholz  <martin@xemacs.org>
7646
7647         * filelock.c (fill_in_lock_file_name):
7648         ANSIfy.
7649         Check for IS_ANY_SEP instead of '/'.
7650         (lock_file_1):
7651         Avoid generating gratuitous garbage.  Call user_login_name() directly.
7652         Never check errno without first seeing that system call failed.
7653         (unlock_file): Add GCPRO.
7654         (Flock_buffer): Fix docstring.
7655         (Ffile_locked_p): Fix docstring.  Add GCPRO.
7656
7657 2000-04-19  Martin Buchholz  <martin@xemacs.org>
7658
7659         * sysdep.c (get_pty_max_bytes):
7660         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
7661         strings longer than 252 bytes.
7662
7663         * md5.c: Unconditionally include ANSI header <limits.h>
7664
7665         * glyphs-x.c (convert_EImage_to_XImage):
7666         * lisp-union.h (union Lisp_Object):
7667         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
7668
7669 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7670
7671         * filelock.c (current_lock_owner): Remove unused variable o, p.
7672
7673 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
7674
7675         * callint.c: Remove multiply defined symbol Qlet
7676         (syms_of_callint): ditto.
7677
7678 2000-04-14  Andy Piper  <andy@xemacs.org>
7679
7680         * general.c (syms_of_general): add last-command, this-command, let
7681         and funcall.
7682
7683         * lisp.h: declare various symbols.
7684
7685         * glyphs.h: declare Qwidget_callback_current_channel;
7686
7687         * glyphs-widget.c (syms_of_glyphs_widget): add
7688         Qgui_callback_current_channel.
7689         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
7690
7691         * gui-msw.c (mswindows_handle_gui_wm_command): bind
7692         widget-callback-current-channel when invoking the interactive
7693         arg. Also bind last-command and next-command when invoking the
7694         widget updates.
7695         * gui-x.c (popup_selection_callback): ditto.
7696
7697         * gui.c (get_gui_callback): massage args so that we are always
7698         calling eval. This allows us to add our own variable bindings
7699         outside.
7700
7701         * glyphs-x.c (x_button_instantiate): use
7702         gui_items_to_widget_values since this is GC safe.
7703         (x_progress_gauge_instantiate): ditto.
7704         (x_edit_field_instantiate): ditto.
7705         (x_label_instantiate): ditto.
7706
7707         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
7708         (emacs_Xt_event_widget_focus_out): new function
7709         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
7710         focus.
7711         (emacs_Xt_event_add_widget_actions): new function. add focus
7712         functions as actions.
7713         (init_event_Xt_late): use it.
7714
7715 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
7716
7717         * event-stream.c (Fdispatch_event): Doc fix.
7718
7719 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
7720
7721         * postgresql.c: Remove all references to PQsetenv*.
7722
7723         * postgresql.h: Remove references to PGsetenvHandler object.
7724         * lrecord.h (lrecord_type): Ditto.
7725
7726 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7727
7728         * glyphs-msw.h (struct mswindows_image_instance_data): Added
7729         real_heigh and real_width members, and accessor macros for these.
7730
7731         * glyphs-msw.c (init_image_instance_geometry): New function.
7732         (init_image_instance_from_dibitmap): Use it.
7733         (mswindows_resource_instantiate): Use it.
7734         (init_image_instance_from_xbm_inline): Use it.
7735         (mswindows_initialize_image_instance_mask): Use real bitmap
7736         geometry.
7737         (mswindows_create_resized_bitmap): Ditto.
7738         (mswindows_create_resized_mask): Ditto.
7739
7740         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
7741         and bitmap to their surface size.
7742
7743 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
7744
7745         * process-unix.c (unix_send_process): Guard against process MIA
7746         after Faccept_process_output.
7747
7748 2000-04-11  Ben Wing  <ben@xemacs.org>
7749
7750         * eval.c (unbind_to_hairy): fix brokenness introduced by
7751         nanosecond speed improvements.
7752
7753 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
7754
7755         * sunplay.c (init_device): To play sounds correctly, the device
7756         apparently needs to be initialized at least once by XEmacs.  Make
7757         it so.
7758
7759 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7760
7761         * redisplay.c (add_margin_runes): Add text image glyph
7762           handling.
7763
7764 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7765
7766         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
7767         gcc is newer than 2.5.
7768
7769 2000-04-06  Colin Rafferty  <colin@xemacs.org>
7770
7771         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
7772
7773         * fns.c (size_bit_vector):
7774         * alloc.c (size_vector):
7775         (make_vector_internal):
7776         (make_bit_vector_internal):
7777         (sweep_bit_vectors_1):
7778         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
7779
7780 2000-04-06  Andy Piper  <andy@xemacs.org>
7781
7782         * gmalloc.c (malloc): undo previous change.
7783         (malloc): ditto.
7784         (free): ditto.
7785         (realloc): ditto.
7786
7787 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
7788
7789         * line-number.c (buffer_line_number): Revert to former version.
7790
7791 2000-04-06  Andy Piper  <andy@xemacs.org>
7792
7793         * gmalloc.c (malloc): add error checking.
7794         (malloc): ditto.
7795         (free): ditto.
7796         (realloc): ditto.
7797
7798         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
7799         button_item_to_widget_value arg.
7800
7801         * glyphs-x.c (x_button_instantiate): add extra
7802         button_item_to_widget_value arg.
7803         (x_progress_gauge_instantiate): ditto.
7804         (x_edit_field_instantiate): ditto.
7805         (x_label_instantiate): ditto.
7806
7807         * gui-x.c (gui_items_to_widget_values_1): add extra
7808         button_item_to_widget_value arg.
7809         (button_item_to_widget_value): add extra menu_item_p arg.
7810
7811         * gui-x.h: change signature of button_item_to_widget_value.
7812
7813         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
7814         button_item_to_widget_value arg.
7815
7816 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7817
7818         * buffer.h (struct buffer): auto_save_modified should be long.
7819
7820 2000-04-05  Andy Piper  <andy@xemacs.org>
7821
7822         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
7823         type.
7824         (button_query_geometry): give a little more room so that athena
7825         buttons fit.
7826
7827 2000-04-05  Andy Piper  <andy@xemacs.org>
7828
7829         * faces.c (complex_vars_of_faces): The widget face should inherit
7830         the font of the gui-element face.
7831
7832 2000-04-04  Andy Piper  <andy@xemacs.org>
7833
7834         * glyphs-x.c (x_button_update): new function. unconditionally
7835         update a button's state when the instance is dirty.
7836         (image_instantiator_format_create_glyphs_x): add x_button_update.
7837         (x_widget_instantiate): remove old resize cruft.
7838
7839 2000-04-02  Andy Piper  <andy@xemacs.org>
7840
7841         * frame.c (change_frame_size_1): The introduction of gutters means
7842         that we need to allow 0 as a potential frame dimension.
7843
7844 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7845
7846         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
7847         image glyph if allow_cursor.
7848         (add_hscroll_rune): Don't allow cursor to border glyph.
7849         (create_text_block): Ditto.
7850
7851         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
7852         text not in buffer.
7853         (redisplay_output_layout): Call ensure_face_cachel_complete for
7854         text image glyph.
7855
7856
7857 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
7858
7859         * redisplay.c (add_glyph_rune): Adding text image as text runes.
7860
7861         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
7862         not in buffer
7863
7864         * redisplay-tty.c (tty_output_display_block): Delete the routine
7865         for text image glyph
7866         * redisplay-x.c (x_output_display_block): ditto
7867         * redisplay-msw.c (mswindows_output_display_block): ditto
7868
7869 2000-02-02  Mike Alexander  <mta@arbortext.com>
7870
7871         Note: Some of these were committed by accident as part of other
7872         patches.
7873
7874         * regex.c (regex_compile): Avoid compiler warnings.
7875
7876         * ntproc.c (sys_spawnve): Avoid compiler warnings.
7877
7878         * nt.h: Declare term_ntproc correctly.
7879
7880         * nt.c: Remove incorrect declaration of get_home_directory which
7881         is declared correctly in lisp.h.
7882
7883         * keymap.c (get_keyelt): Avoid compiler warnings.
7884         (raw_lookup_key_mapper): Avoid compiler warnings.
7885
7886         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
7887
7888         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
7889
7890         * filemode.c (mode_string): Avoid compiler warnings.
7891
7892         * file-coding.c (Fcoding_system_aliasee): Add return statement to
7893         avoid warning.
7894
7895         * events-mod.h: Undef some things that winuser.h defines differently.
7896
7897         * data.c (Faset): Avoid compiler warnings.
7898
7899         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
7900
7901 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
7902
7903         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
7904         Fall through to simple beep on error.
7905         Replace "extern" by real header file.
7906
7907         * linuxplay.c: Use nativesound.h
7908         (play_sound_data): Return error code. Be less verbose on error.
7909
7910         * sunplay.c: Use nativesound.h
7911         (play_sound_data): Return error code. Be less verbose on error.
7912
7913         * ntplay.c: Use nativesound.h
7914         (play_sound_data): Return fake error code
7915
7916         * sgiplay.c: Use nativesound.h
7917         (play_sound_data): Return error code
7918
7919         * hpplay.c: Use nativesound.h, partially implement
7920         new error code. Break compilation until finished.
7921         (play_sound_data): error code.
7922
7923         * nativesound.h (play_sound_file):
7924           (play_sound_data): Prototype in new header.
7925
7926 2000-03-31  Andy Piper  <andy@xemacs.org>
7927
7928         * glyphs-widget.c: (button_query_geometry): new function. Adjust
7929         for toggle and radio buttons.
7930         (image_instantiator_buttons): use it.
7931
7932 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
7933
7934         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
7935         (x_update_horizontal_scrollbar_callback): Return if no mirror was
7936         found. Scrollbar event probably belonged to some old config.
7937
7938 2000-03-31  Andy Piper  <andy@xemacs.org>
7939
7940         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
7941         than 1.
7942         (initialize_widget_image_instance): default layout to
7943         LAYOUT_HORIZONTAL rather than 0.
7944         (widget_instantiate): reverse the item list at the end rather than
7945         every iteration.
7946         (layout_layout): re-code for the border text at the front of the
7947         item list rather than at the end.
7948         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
7949         provided by the user.
7950         (widget_query_geometry): comment.
7951
7952 2000-03-30  Andy Piper  <andy@xemacs.org>
7953
7954         * glyphs-widget.c (image_instantiator_layout): allow standard
7955         widget keywords in layouts.
7956
7957         * gutter.c (output_gutter): cope with nil gutter contents.
7958
7959         * frame.c (Fset_frame_properties): add gutter docs.
7960
7961 2000-03-29  Andy Piper  <andy@xemacs.org>
7962
7963         * toolbar-msw.c (TBSTYLE_FLAT): add.
7964         (mswindows_output_toolbar): minor fiddling.
7965
7966 2000-03-29  Andy Piper  <andy@xemacs.org>
7967
7968         * gutter.c (output_gutter): force gutter size recalculation if
7969         what we are trying to display won't fit.
7970         (update_gutter_geometry): new function. A per-gutter version of
7971         update_frame_gutter_geometry.
7972         (update_frame_gutter_geometry): use it.
7973         (redraw_exposed_gutter): add extra debugging output.
7974
7975 2000-03-28  Mike Alexander  <mta@arbortext.com>
7976
7977         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
7978         (pdump_file_unmap): Implement it on Windows
7979         (pdump_file_get): Save alocated handles for pdump_file_unmap
7980
7981 2000-03-28  Andy Piper  <andy@xemacs.org>
7982
7983         * gui.c (get_gui_callback): treat Quit specially.
7984
7985 2000-03-27  Andy Piper  <andy@xemacs.org>
7986
7987         * glyphs.c (image_instantiate): be careful to check in the same
7988         way we assigned.
7989
7990 2000-03-27  Didier Verna  <didier@xemacs.org>
7991
7992         * config.h.in: define the proper SMART_INCLUDE macro.
7993         handle renaming of `foo_h_path' to `foo_h_file'.
7994
7995         * database.c: ditto.
7996
7997         * emacs.c: ditto.
7998
7999         * linuxplay.c: ditto.
8000
8001         * terminfo.c: ditto.
8002
8003         * tooltalk.h: ditto.
8004
8005 2000-03-27  Andy Piper  <andy@xemacs.org>
8006
8007         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8008         gets updated whenever the face might have changed.
8009
8010 2000-03-26  Mike Alexander  <mta@arbortext.com>
8011
8012         * dumper.c (pdump_resource_free): Fix the comment.
8013
8014 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8015
8016         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8017
8018 2000-03-22  Mike Alexander  <mta@arbortext.com>
8019
8020         * dumper.c: Include Windows headers on Windows
8021         (pdump_resource_free): Add a body to the function
8022         (pdump_load): exe_name -> exe_path and add some comments.
8023
8024 2000-03-25  Mike Alexander  <mta@arbortext.com>
8025
8026         * gui.c (copy_gui_item_tree): Return a value in all cases
8027
8028 2000-03-21  Didier Verna  <didier@xemacs.org>
8029
8030         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8031         lwlib/config.h.in.
8032         (SMART_INCLUDE): new macro.
8033         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8034         the proper location.
8035
8036         * postgresql.c: use it.
8037
8038         * inline.c: ditto.
8039
8040 2000-03-24  Andy Piper  <andy@xemacs.org>
8041
8042         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8043         do this.
8044
8045 2000-03-24  Andy Piper  <andy@xemacs.org>
8046
8047         * redisplay-output.c (compare_runes): use image_instance_changed
8048         to detect changes. Do not depend on glyphs_changed, only depend on
8049         dirtiness.
8050          (redisplay_output_layout): add debug messages.
8051         (compare_runes): ditto.
8052
8053         * glyphs.h: declare new functions.
8054         (struct Lisp_Image_Instance): remove percent and associated
8055         accessors.
8056
8057         * gui.h: declare new copying functions.
8058
8059         * gui.c (copy_gui_item_tree): new function.
8060         (copy_gui_item): new function.
8061         (gui_item_id_hash): revert to standard hash.
8062         (gui_item_hash): ditto.
8063         (gui_item_hash_internal): deleted.
8064         (mark_gui_item): mark value.
8065         (gui_item_add_keyval_pair): add value.
8066         (gui_item_init): ditto.
8067         (gui_add_item_keywords_to_plist): ditto.
8068         (gui_item_equal): ditto.
8069         (syms_of_gui): add Q_value.
8070
8071         * glyphs-x.c (x_progress_gauge_update): use pending items and
8072         value for setting the state.
8073         (x_update_widget): don't set items from pending here.
8074
8075         * glyphs-widget.c (update_widget): update items here.
8076         (progress_gauge_set_property): use items for storing value. Put
8077         new value in pending items.
8078
8079         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8080         items for new value. Convert percent -> value.
8081         (mswindows_tab_control_update): don't update items here.
8082
8083         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8084         (update_subwindow): ditto.
8085         (image_instance_changed): new function. Compare hash values and
8086         past and present widget items.
8087         (image_instantiate): We more careful about where we instantiate
8088         things.
8089         (image_instantiate): add error checking.
8090
8091         * gutter.c (syms_of_gutter): use -hook.
8092
8093 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8094
8095         * console-tty.c (Fset_console_tty_input_coding_system): Use
8096         Qkeyboard.
8097         (Fset_console_tty_output_coding_system): Use Qterminal.
8098         (tty_init_console): Use Qkeyboard and Qterminal.
8099
8100 2000-03-21  Ben Wing  <ben@xemacs.org>
8101
8102         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8103         From Mike Alexander <mta@arbortext.com>.
8104
8105 2000-03-21  Ben Wing  <ben@xemacs.org>
8106
8107         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8108         process brokenness.  Proper implementation to come.
8109         * callproc.c:
8110         Rename call-process-internal to old-call-process-internal.
8111         New impl. in process.el.
8112
8113 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8114
8115         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8116
8117 2000-03-20  Andy Piper  <andy@xemacs.org>
8118
8119         * glyphs.c (full_list_hash): make hashes of the same elements in
8120         different orders return different values.
8121
8122 2000-03-20  Martin Buchholz <martin@xemacs.org>
8123
8124         * XEmacs 21.2.32 is released.
8125
8126 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8127
8128         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8129         (DFC_MALLOC_USE_CONVERTED_DATA):
8130         Add aliasing-safe casts to allow use with char* or unsigned char*
8131         lvalues.
8132
8133         * eldap.c (Fldap_open):
8134         (Fldap_search_basic):
8135         (Fldap_add):
8136         (Fldap_modify):
8137         Make C++-compilable.
8138         Make sure GCPRO'ed variables are initialized.
8139         Use temp variables to avoid repeated calls to Flength.
8140
8141 2000-03-16  Martin Buchholz  <martin@xemacs.org>
8142
8143         * sysfile.h:
8144         Make sure PATH_MAX is always defined.
8145         Include limits.h for PATH_MAX.
8146         Deprecate use of MAXPATHLEN.
8147
8148 2000-03-10  Martin Buchholz  <martin@xemacs.org>
8149
8150         * emacs.c: Add reinit_vars_of_fileio.
8151         * symsinit.h: Add reinit_vars_of_fileio.
8152         * fileio.c (reinit_vars_of_fileio): New.
8153         * fileio.c (Fmake_temp_name):
8154         Initialize temp_name random number from microseconds to make
8155         collisions even less likely.  Initialize always at process startup
8156         time.  (make-temp-name) used to return the same file name twice in
8157         a row when PDUMP.
8158         Random stylistic fiddling.
8159         Comment fixes.
8160
8161 2000-03-20  Andy Piper  <andy@xemacs.org>
8162
8163         * glyphs.c (image_instantiate): allow text glyphs to be
8164         instantiated in the minibuffer window.
8165
8166 2000-03-19  Andy Piper  <andy@xemacs.org>
8167
8168         * glyphs.c (image_instance_hash): be careful about which items we
8169         hash on.
8170
8171         * glyphs-widget.c (tab_control_set_property): record into pending
8172         items rather than the actual items.
8173
8174         * glyphs-x.c (x_update_widget): use pending items to update with.
8175
8176         * glyphs-msw.c (mswindows_tab_control_update): use pending items
8177         to update with.
8178
8179         * glyphs.c (mark_image_instance): mark pending items.
8180
8181         * window.c (Fset_window_configuration): record the buffer.
8182         (Fselect_window): totally revert previous change which breaks many
8183         things.
8184
8185 2000-03-18  Andy Piper  <andy@xemacs.org>
8186
8187         * glyphs-msw.c (mswindows_tab_control_update): force selected
8188         item.
8189
8190         * glyphs.c (image_instantiate): don't allow the minibuffer as a
8191         window domain cache, otherwise we get inconsistencies at
8192         startup. There is something fishy at startup which can lead to the
8193         minibuffer being the selected window when the gutter content is
8194         instantiated.
8195
8196         * gui.c (parse_gui_item_tree_list): add probably unnecessary
8197         gcpros.
8198         (parse_gui_item_tree_children): ditto.
8199         (parse_gui_item_tree_item): ditto.
8200
8201         * glyphs.c (Fupdate_widget_instances): return something.
8202
8203 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8204
8205         * window.c (Fselect_window): Undo 2000-03-17 change.
8206
8207 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
8208
8209         * postgresql.c (Fpq_setenv): Remove this turkey when linking
8210         against v7.0 libraries.  Insta-coredump city until the postgres
8211         folks fix it.
8212
8213 2000-03-17  Andy Piper  <andy@xemacs.org>
8214
8215         * faces.c (complex_vars_of_faces): don't give the widget face an
8216         inherited background pixmap.
8217
8218         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
8219         selected item.
8220
8221         * event-stream.c (Fdispatch_non_command_events): return something.
8222
8223         * gutter.c (output_gutter): use widget face.
8224         (clear_gutter): ditto.
8225
8226         * NEWS: adjust again.
8227
8228         * window.c (Fselect_window): make sure this runs to completion to
8229         avoid oddities with Fset_window_configuration.
8230         (Fcurrent_window_configuration): in general do not save the
8231         minibuffer as the selected window.
8232
8233         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
8234
8235 2000-03-16  Olivier Galibert  <galibert@pobox.com>
8236
8237         * emacs.c (Frunning_temacs_p): Revert previous patch.
8238         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
8239
8240 2000-03-16  Andy Piper  <andy@xemacs.org>
8241
8242         * glyphs-x.c (x_tab_control_update): if no widget values then
8243         return.
8244
8245         * NEWS: update for new features.
8246
8247         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
8248         synthetic event to the native system.
8249         (reinit_vars_of_event_Xt): set force_event_pending to
8250         emacs_Xt_force_event_pending.
8251
8252         * events.h (struct event_stream): add force_event_pending.
8253
8254         * specifier.c (recompute_one_cached_specifier_in_window): add
8255         comment.
8256
8257         * redisplay.c (redisplay_frame): don't call
8258         update_frame_subwindows. Reset subwindow cachels when
8259         subwindows_changed, removing this was an optimization too far.
8260
8261         * redisplay-output.c (compare_runes): reorganize so that we catch
8262         glyph changes when we want them. Set optimize_output when this
8263         would help layouts.
8264         (redisplay_output_layout): remove frame_really_changed, use
8265         optimize_output instead.
8266
8267         * redisplay-msw.c (mswindows_output_display_block): reset
8268         optimize_output after outputting a glyph.
8269         * redisplay-x.c (x_output_display_block): ditto.
8270         * redisplay-tty.c (tty_output_display_block): ditto.
8271
8272         * gutter.c: (specifier_vars_of_gutter): use new spec changed
8273         functions.
8274         (gutter_specs_changed): do specific gutter positions.
8275         (top_gutter_specs_changed): new function. Only update the
8276         specified gutter specs.
8277         (bottom_gutter_specs_changed): ditto.
8278         (left_gutter_specs_changed): ditto.
8279         (right_gutter_specs_changed): ditto.
8280
8281         * gui.c (gui_item_hash_internal): new function, does a real hash.
8282         (gui_item_id_hash): use it.
8283         (gui_item_hash): hash the eval'ed gui_item.
8284
8285         * gui-x.c (popup_selection_callback): send an eval event to call
8286         Fupdate_widget_instances.
8287
8288         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
8289         to call Fupdate_widget_instances.
8290
8291         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
8292         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
8293
8294         * glyphs.c: (update_frame_subwindows): deleted.
8295         (Fupdate_widget_instances): new function for updating the dirty
8296         state of widgets that might have changed.
8297         (syms_of_glyphs): add Qupdate_widget_instances.
8298         (full_list_hash): hash a list completely.
8299         (image_instance_hash): use it for items and properties.
8300
8301         * frame-msw.c (mswindows_size_frame_internal): remove unused
8302         variable.
8303
8304         * faces.h (struct face_cachel): fix comment.
8305
8306         * event-stream.c (Fdispatch_non_command_events): new
8307         function. Process non-command events, forcing an event cycle
8308         beforehand.
8309         (syms_of_event_stream): declare.
8310         (event_stream_force_event_pending): new function. Force an event
8311         on the native event queue so that an event cycle will occur next
8312         time we check.
8313
8314         * event-msw.c:
8315         (struct ntpipe_shove_stream):
8316         (mswindows_enqueue_dispatch_event):
8317         (mswindows_dequeue_dispatch_event):
8318         (mswindows_cancel_dispatch_event):
8319         (mswindows_pump_outstanding_events):
8320         (mswindows_drain_windows_queue):
8321         (mswindows_handle_paint):
8322         (mswindows_wnd_proc):
8323         (mswindows_key_to_emacs_keysym):
8324         (get_process_input_waitable):
8325         (emacs_mswindows_delete_stream_pair): re-indent file.
8326         (mswindows_need_event): do not process further fds if the windows
8327         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
8328         fixes the 100% cpu problem.
8329         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
8330
8331 2000-03-15  Olivier Galibert  <galibert@pobox.com>
8332
8333         * alloc.h: New.
8334         * dumper.h: New.
8335         * dumper.c: New.
8336
8337         * emacs.c: Moved dump file searching to dumper.c.
8338         (Frunning_temacs_p): Fixed.
8339
8340         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
8341         last_lrecord_type_index_assigned.
8342
8343 2000-02-20  Olivier Galibert  <galibert@pobox.com>
8344
8345         * symsinit.h: Added reinit parameter to init_console_stream
8346         declaration.
8347
8348         * lisp.h: Added file parameter to pdump_load declaration.
8349
8350         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
8351         support.  Added dump file searching.
8352
8353         * config.h.in: Added EMACS_PROGNAME.
8354
8355         * console-stream.c (init_console_stream): Fix reinitialisation
8356         when running from temacs.
8357
8358         * alloc.c (pdump): Add id support.
8359         (pdump_load): Add file parameter and signature/id support.
8360
8361         * Makefile.in.in: Add full pdump support.
8362
8363 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
8364
8365         * postgresql.c: Update documentation to reflect latest code
8366         status.
8367         (print_result): Show tuple counts in printed representation when
8368         appropriate.
8369         (Fpq_put_nbytes): MULE-ize.
8370         (Fpq_get_line_async): Ditto.
8371
8372 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
8373
8374         * postgresql.c (Fpq_lo_import): Fix return value.
8375         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
8376
8377 2000-03-13  Ben Wing  <ben@xemacs.org>
8378
8379         * alloc.c (pdump_load):
8380         Fix compile warning under mswin.
8381
8382 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
8383
8384         * postgresql.c: Mule-ization, bug fixes.
8385         Use PG_CODING to encapsulate coding system name changes.
8386         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
8387         (pg-coding-system): Create.
8388
8389         (Fpq_conn_defaults): Mule-ize.
8390         (Fpq_connectdb): Mule-ize & bug fix.
8391         (Fpq_connect_start): Mule-ize.
8392         (Fpq_set_client_encoding): Mule-ize.
8393         (Fpq_finish): Document `DEAD' connection status.
8394         (Fpq_clear): Ditto.
8395         (Fpq_pgconn): Mule-ize.
8396         (Fpq_exec): Mule-ize & bug fix.
8397         (Fpq_send_query): Ditto.
8398         (Fpq_get_result): Ditto.
8399         (Fpq_res_status): Mule-ize.
8400         (Fpq_result_error_message): Mule-ize.
8401         (Fpq_ntuples): fix comments.
8402         (Fpq_fname): Mule-ize.
8403         (Fpq_fnumber): Mule-ize.
8404         (Fpq_ftype): fix comments.
8405         (Fpq_get_value): Mule-ize.
8406         (Fpq_cmd_status): Ditto.
8407         (Fpq_cmd_tuples): Ditto.
8408         (Fpq_oid_value): Ditto.
8409         (Fpq_notifies): Ditto.
8410         (Fpq_lo_import): Ditto.
8411         (Fpq_lo_export): Ditto.
8412         (Fpq_get_line): Ditto.
8413         (Fpq_put_line): Mule-ize and bug fix.
8414         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
8415
8416 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
8417
8418         * postgresql.c (vars_of_postgresql): Mule-ize.
8419         (Fpq_conn_defaults): Ditto.
8420
8421 2000-03-12  Ben Wing  <ben@xemacs.org>
8422
8423         * alloc.c (Fmake_byte_code):
8424         * alloc.c (debug_string_purity_print):
8425         * alloc.c (pdump_backtrace):
8426         * alloc.c (pdump_get_indirect_count):
8427         * alloc.c (pdump_register_sub):
8428         * alloc.c (pdump_register_object):
8429         * alloc.c (pdump_register_struct):
8430         * alloc.c (pdump_dump_data):
8431         * alloc.c (pdump_reloc_one):
8432         Minor cleanups.
8433
8434         * console-msw.c:
8435         * console-msw.c (GetConsoleHwnd):
8436         * console-msw.c (msw_hide_console):
8437         * console-msw.c (msw_show_console):
8438         * console-msw.c (msw_ensure_console_buffered):
8439         * console-msw.c (msw_output_console_string):
8440         * console-msw.c (console_type_create_mswindows):
8441
8442         a) Added functions to manipulate the console window for use with
8443         shell support.
8444
8445         b) Added support for writing text to the console, which is now
8446         used under Windows when xemacs is not being run non-interactively,
8447         to write text that would otherwise be destined for stdout because
8448         under these circumstances, text written to stdout tends to
8449         disappear and not be seen.
8450
8451         * console-msw.h:
8452         * event-Xt.c:
8453         * event-Xt.c (x_event_to_emacs_event):
8454         * event-Xt.c (describe_event_window):
8455         * events-mod.h (XEMACS_MOD_CONTROL):
8456         * events.c:
8457         * events.c (Fmake_event):
8458         * events.c (character_to_event):
8459         * events.c (event_to_character):
8460         * events.c (format_event_object):
8461         * events.c (Fevent_modifiers):
8462         * events.h:
8463         * events.h (struct key_data):
8464         * events.h (struct button_data):
8465         * events.h (struct misc_user_data):
8466         * frame-x.c (Fcde_start_drag_internal):
8467         * frame-x.c (Foffix_start_drag_internal):
8468         * gpmevent.c (Freceive_gpm_event):
8469         * keymap.c:
8470         * keymap.c (bucky_sym_to_bucky_bit):
8471         * keymap.c (control_meta_superify):
8472         * keymap.c (make_key_description):
8473         * keymap.c (keymap_lookup_directly):
8474         * keymap.c (create_bucky_submap):
8475         * keymap.c (keymap_store):
8476         * keymap.c (define_key_check_and_coerce_keysym):
8477         * keymap.c (define_key_parser):
8478         * keymap.c (define_key_alternate_name):
8479         * keymap.c (Fdefine_key):
8480         * keymap.c (raw_lookup_key_mapper):
8481         * keymap.c (struct map_keymap_unsorted_closure):
8482         * keymap.c (map_keymap_unsorted_mapper):
8483         * keymap.c (map_keymap_sort_predicate):
8484         * keymap.c (map_keymap_sorted):
8485         * keymap.c (accessible_keymaps_mapper_1):
8486         * keymap.c (where_is_recursive_mapper):
8487         * keymap.c (describe_map_mapper):
8488         * keymap.c (describe_map_sort_predicate):
8489         * keymap.c (describe_map):
8490         * keymap.c (complex_vars_of_keymap):
8491         And a number of other files, the key modifier preprocessor
8492         constants that xemacs uses have names that conflict with constants
8493         defined under MS Windows for other purposes, so they were renamed
8494         to begin with the prefix XEMACS_. The variables that hold such
8495         modifiers were changed to consistently be of type int to fix
8496         various compile warnings.
8497
8498         * console.c (complex_vars_of_console):
8499         * device.c:
8500         * device-msw.c:
8501         * device-msw.c (mswindows_finish_init_device):
8502         * device-msw.c (msw_get_workspace_coords):
8503         * device-msw.c (mswindows_device_system_metrics):
8504         and various other files, added support for a new
8505         device property called offset-workspace which returns the position
8506         of the upper left corner of the workspace area and goes along with
8507         the existing size-workspace property.
8508
8509         * dialog-msw.c:
8510         * dialog-msw.c (push_bufbyte_string_as_unicode):
8511         * dialog-msw.c (mswindows_popup_dialog_box):
8512         Added support for XEmacs-style accelerator specifications in
8513         button text.  Note: I didn't add support for this under X Windows,
8514         and somebody needs to do this.
8515
8516         * dialog.c:
8517         * dialog.c (Fpopup_dialog_box):
8518         Documented the support for accelerators that was just mentioned.
8519
8520         editfns.c (get_home_directory): Changed behavior under Windows
8521         when HOME not defined; former behavior was irretrievably broken.
8522
8523         * emacs.c:
8524         * emacs.c (main_1):
8525         * emacs.c (main):
8526         * minibuf.c (clear_echo_area_internal):
8527         * minibuf.c (echo_area_append):
8528         * print.c:
8529         * print.c (std_handle_out_external):
8530         * print.c (std_handle_out_va):
8531         * print.c (fatal):
8532         * print.c (write_string_to_stdio_stream):
8533         * print.c (output_string):
8534         * print.c (debug_print):
8535         * print.c (debug_backtrace):
8536         * print.c (debug_short_backtrace):
8537         Cleaned up the code that prints text to stdout so that this can be
8538         changed to output into a console window instead under MS Windows,
8539         as described above.
8540
8541         * eval.c:
8542         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
8543         * eval.c (internal_catch):
8544         * eval.c (unwind_to_catch):
8545         * eval.c (throw_or_bomb_out):
8546         * eval.c (condition_case_1):
8547         * eval.c (signal_1):
8548         * eval.c (check_error_state_sanity):
8549         * eval.c (call_with_suspended_errors_1):
8550         * eval.c (call_with_suspended_errors):
8551         * eval.c (reinit_vars_of_eval):
8552         Added code to catch throw loops and check for a pesky bug that may
8553         be gone now.
8554
8555         * event-msw.c:
8556         * event-msw.c (key_needs_default_processing_p):
8557         * event-msw.c (mswindows_wnd_proc):
8558         * event-msw.c (mswindows_modifier_state):
8559         * event-msw.c (emacs_mswindows_quit_p):
8560         * event-msw.c (vars_of_event_mswindows):
8561         a) Added support for using the alt key to select menu items as is
8562         standard under MS Windows.  This is controlled using the variable
8563         menu-accelerator-enabled, just like under X Windows.  There is an
8564         option on the options menu to turn this support on.  I really
8565         think that it should be on by default under Windows, but I'm not
8566         going to make this change yet.
8567
8568         b)  Added support for dynamic display size changes under Windows.
8569
8570         * event-stream.c:
8571         * event-stream.c (maybe_echo_keys):
8572         * event-stream.c (Fnext_event):
8573         * event-stream.c (command_builder_find_leaf):
8574         * event-stream.c (lookup_command_event):
8575         * event-stream.c (execute_command_event):
8576         * event-stream.c (pre_command_hook):
8577         * event-stream.c (post_command_hook):
8578         * event-stream.c (syms_of_event_stream):
8579         * event-stream.c (vars_of_event_stream):
8580         * event-stream.c (complex_vars_of_event_stream):
8581         * events.h (struct command_builder):
8582
8583         a) Tried to clean up a little bit the horribly written x-specific
8584         accelerator code that crept into this file.  I moved this code
8585         into menubar-x.c where it belongs. I also needed to move the
8586         command builder structure into the file events.h because it is
8587         accessed directly by this accelerator code.  What I didn't do, but
8588         which should be done at some point, is to properly abstract this
8589         code using device methods instead of the kludgy way that it
8590         currently hooks into the event code.
8591
8592         b) Added the lisp variables this-command-properties and
8593         last-command- properties, which should be used to synchronize two
8594         adjacent commands in preference to playing games with the variable
8595         this-command, which is typically what happens.
8596
8597         c) Added some slightly nasty code to hook into the lisp support
8598         for shifted- motion-key selection.  This is actually necessary for
8599         somewhat complicated reasons, which are described in
8600         simple.el. (NB: I think the proper thing would be to have the code
8601         that calls the pre and post command hooks also call out to generic
8602         lisp functions in simple.el, where all built-in stuff could be
8603         added.  I will think about this more.)
8604
8605         * event-unixoid.c (poll_fds_for_input):
8606         * lread.c (readchar):
8607         * redisplay-tty.c (tty_clear_frame):
8608         * redisplay-x.c (x_get_gc):
8609         * signal.c (interrupt_signal):
8610         And a whole bunch of other files: fixed up places that printed
8611         directly to stderr to instead call the function stderr_out so that
8612         the changes I made under Windows work correctly.
8613
8614         * filemode.c (mode_string):
8615         Warning fixes.
8616
8617         * frame-msw.c:
8618         * frame-msw.c (mswindows_size_frame_internal):
8619         Fixed the computation of frame size and position to keep the frame
8620         within the workspace area, rather than within the physical
8621         dimensions of the screen, so that the frame doesn't overlap window
8622         manager decorations, such as the start menu and toolbar, typically
8623         at the bottom of the screen.
8624
8625         * frame.c (vars_of_frame):
8626         Changed the default frame title format under MS Windows to consist
8627         of buffername-XEmacs, which is standard under MS Windows.  I think
8628         it might be a good idea to change this everywhere because I think
8629         it is superior to the current frame title format, but this is the
8630         kind of change that is likely to cause some people to get annoyed,
8631         so I'm not making it.
8632
8633         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
8634
8635         * gui-msw.c (mswindows_handle_gui_wm_command):
8636         Fixed compile warnings.
8637
8638         * gui-x.c:
8639         * gui-x.c (strdup_and_add_accel):
8640         * gui-x.c (button_item_to_widget_value):
8641         * gui-x.h:
8642         Added code to automatically put an accelerator onto the beginning
8643         of menu items that don't have one as is now the standard, and is
8644         described more later.  Also fixed things so that the menu item
8645         name can be an evaluated expression, again a new standard.
8646
8647         * gui.c:
8648         * gui.c (gui_item_add_keyval_pair):
8649         * gui.c (make_gui_item_from_keywords_internal):
8650         * gui.c (gui_add_item_keywords_to_plist):
8651         * gui.c (gui_item_accelerator):
8652         * gui.c (gui_name_accelerator):
8653         * gui.c (gui_item_included_p):
8654         * gui.c (gui_item_display_flush_left):
8655         * gui.c (gui_item_display_flush_right):
8656         * gui.c (parse_gui_item_tree_item):
8657         * gui.c (parse_gui_item_tree_children):
8658         * gui.c (parse_gui_item_tree_list):
8659         Mule-ized.  Cleanup.  GCPRO addition.
8660
8661         * line-number.c (buffer_line_number):
8662         * lisp.h:
8663         * lisp.h (EMACS_INT_MAX):
8664         Added the manifest constant EMACS_INT_MIN corresponding to the
8665         existing constant EMACS_INT_MAX.  This is partially to fix compile
8666         warnings under Windows, and partly for cleanliness.
8667
8668         * menubar-msw.c:
8669         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
8670         * menubar-msw.c (msw_translate_menu_or_dialog_item):
8671         * menubar-msw.c (displayable_menu_item):
8672         * menubar-msw.c (populate_menu_add_item):
8673         * menubar-msw.c (populate_or_checksum_helper):
8674         * menubar-msw.c (populate_menu):
8675         * menubar-msw.c (update_frame_menubar_maybe):
8676         * menubar-msw.c (prune_menubar):
8677         * menubar-msw.c (msw_char_is_accelerator):
8678         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
8679         * menubar-msw.c (mswindows_handle_wm_command):
8680         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
8681         * menubar-msw.c (mswindows_handle_wm_initmenu):
8682         * menubar-msw.c (mswindows_update_frame_menubars):
8683         * menubar-msw.c (mswindows_free_frame_menubars):
8684         * menubar-msw.c (mswindows_popup_menu):
8685         Fixed a bug in handling accelerators where an extra character
8686         would be displayed in the menu item.  Also generalized the
8687         function displayable_menu_item because it is now used by the
8688         dialog box code as well.  And finally, added code in the functions
8689         that create the menubar to extract a list of accelerators for the
8690         top level menubar, which is used in the event code to determine
8691         whether a particular alt-key combination should be used to invoke
8692         a menu item, or should be passed through to access the standard
8693         XEmacs keymap binding for this key combination.
8694
8695         Much needed GCPROing.
8696
8697         * menubar-x.c:
8698         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8699         * menubar-x.c (menu_item_descriptor_to_widget_value):
8700         * menubar-x.c (restore_in_menu_callback):
8701         * menubar-x.c (x_popup_menu):
8702         * menubar-x.c (menu_move_up):
8703         * menubar-x.c (menu_move_down):
8704         * menubar-x.c (menu_move_left):
8705         * menubar-x.c (menu_move_right):
8706         * menubar-x.c (menu_select_item):
8707         * menubar-x.c (command_builder_operate_menu_accelerator):
8708         * menubar-x.c (menu_accelerator_junk_on_error):
8709         * menubar-x.c (command_builder_find_menu_accelerator):
8710         * menubar-x.c (Faccelerate_menu):
8711         * menubar.h:
8712         Moved a whole bunch of code here that was previously in
8713         event-stream.c as described above.  There is also code connected
8714         to the new standard of adding an accelerator to the beginning of
8715         menu items that don't have one as described above and below.
8716
8717         * menubar.c:
8718         * menubar.c (menu_parse_submenu_keywords):
8719         * menubar.c (Fmenu_find_real_submenu):
8720         * menubar.c (Fnormalize_menu_item_name):
8721         * menubar.c (syms_of_menubar):
8722         * menubar.c (vars_of_menubar):
8723         * menubar.c (complex_vars_of_menubar):
8724
8725         a) Cleaned up a bunch of documentation and improved it.
8726
8727         b) XEmacs now automatically adds an accelerator onto the beginning
8728         of any menu items that don't have one.  I did this because there
8729         will inevitably be some menu items on the main menubar that don't
8730         have accelerators on them because the package that adds that
8731         particular menu item hasn't yet been fixed up to have accelerators
8732         in them and it looked rather strange to have some items with and
8733         some items without accelerators, especially since even in items
8734         without accelerators, you can, at least under windows, still
8735         access the item through an accelerator corresponding to the first
8736         character in the item's name.  If people don't like this behavior,
8737         I can add a variable to turn it off optionally, but I'm not sure
8738         this is a good idea because we really do need to have accelerators
8739         on all of the menu items, and if a package doesn't like the
8740         accelerators being put on the first character, then it should put
8741         the accelerators where they belong.
8742
8743         c) I made a behavior change, which is that the descriptor that
8744         specifies the text of the menu item, which formerly was just a
8745         string, can now also be an evaluated expression.  This makes this
8746         descriptor parallel with all of the others, which could also be
8747         evaluated expressions.  This also obviates the need for the
8748         keyword :label, which was previously listed in the documentation
8749         as unimplemented, and which was for the same purpose.
8750
8751         d) GCPROing.
8752
8753         * ntproc.c:
8754         * ntproc.c (new_child):
8755         * ntproc.c (sys_spawnve):
8756         * ntproc.c (find_child_console):
8757         * ntproc.c (sys_kill):
8758         Fixed compile warnings.  By the way, this file should really go
8759         away entirely, and this will happen as soon as Kirill makes his
8760         final round of process cleanups, which affect the function
8761         call-process.
8762
8763         * process-nt.c:
8764         * process-nt.c (struct nt_process_data):
8765         * process-nt.c (find_process_from_pid):
8766         * process-nt.c (send_signal_the_nt_way):
8767         * process-nt.c (enable_child_signals):
8768         * process-nt.c (find_child_console):
8769         * process-nt.c (send_signal_the_95_way):
8770         * process-nt.c (nt_finalize_process_data):
8771         * process-nt.c (ensure_console_window_exists):
8772         * process-nt.c (nt_create_process):
8773         * process-nt.c (nt_kill_child_process):
8774         * process-nt.c (nt_kill_process_by_pid):
8775         * process-nt.c (nt_open_network_stream):
8776         * process-nt.c (vars_of_process_nt):
8777         Copied over code from Emacs 20.5 to correctly send signals to sub-
8778         processes under Windows 95.  Also added code to automatically
8779         create and hide console window when a sub-process is created under
8780         Windows 95, which obviates the need for the separate runemacs.exe
8781         executable, and finally implemented some variables that were
8782         implemented in Emacs 20.5, but previously not in XEmacs.  These
8783         include mswindows- start-process-share-console and
8784         mswindows-start-process-inherit-error-mode. (Both of these only
8785         apply to Windows 95.)
8786
8787         * regex.c (regex_compile): Fixed a compile warning.
8788
8789         * select-msw.c:
8790         * select-msw.c (mswindows_own_selection):
8791         * select-msw.c (mswindows_get_foreign_selection):
8792         * select-msw.c (mswindows_disown_selection):
8793         * select-msw.c (console_type_create_select_mswindows):
8794         * select-msw.c (syms_of_select_mswindows):
8795         Cleaned up the file and implemented the device method
8796         selection_exists_p, which had accidentally been left out.  Also
8797         removed four lisp functions that were remnants from before the
8798         time when the selection code was properly device abstracted.
8799         These functions are no longer needed because there are generic
8800         equivalents, and because they were added recently and don't exist
8801         in FSF Emacs, I don't think there's any problem with just deleting
8802         them.
8803
8804         * sysdep.c:
8805         * sysdep.c (sys_subshell):
8806         Fixed a compile warning, although in this case there's probably
8807         something wrong with this code, and it ought to be looked into
8808         more thoroughly by somebody who understands it.
8809
8810         * window.c:
8811         * window.c (Fwindow_text_area_height):
8812         * window.c (Fwindow_width):
8813         * window.c (Fwindow_full_width):
8814         * window.c (Fwindow_pixel_width):
8815         * window.c (debug_print_window):
8816         * window.c (syms_of_window):
8817         Added functions window-text-area-height and window-full-width,
8818         which are functions for returning various width and height
8819         characteristics of a window. (One of these functions is necessary
8820         for making the file dialog box work correctly, and the other one
8821         was added for completeness.)  Also added a table to the
8822         documentation for window-height which describes the entire scheme
8823         for accessing width and height characteristics of a window.
8824
8825 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8826
8827         * nt.c (fstat): Added a comment for another problem with
8828         non-encapsulated [f]stat(), reported by Adrian Aichner
8829         <aichner@ecf.teradyne.com>.
8830
8831 2000-03-11  Andy Piper  <andy@xemacs.org>
8832
8833         * window.c (make_dummy_parent): initialize subwindow instance
8834         cache.
8835         (Fset_window_configuration): zero extent_modiff.
8836
8837 2000-03-10  Andy Piper  <andy@xemacs.org>
8838
8839         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
8840         more changes can be triggered.
8841         (Fredisplay_frame): ditto.
8842         (Fredraw_device): ditto.
8843         (Fredisplay_device): ditto.
8844         (redisplay_frame): make non-static.
8845         (redisplay_frame): call update_frame_gutter_geometry outside of
8846         display proper.
8847
8848         * gutter.h: declare update_frame_gutter_geometry.
8849
8850         * redisplay.h: declare redisplay_frame.
8851
8852         * gutter.c (update_frame_gutter_geometry): move geometry changes
8853         in update_frame_gutters here. Geometry changes can only occur
8854         outside of redisplay.
8855         (update_frame_gutters): remove geometry change code.
8856         (Fredisplay_gutter_area): make sure that we are in display when we
8857         update and that we have flushed any size changes.
8858
8859 2000-03-11  Andy Piper  <andy@xemacs.org>
8860
8861         * alloc.c (pdump_dump_data): remove i & count shadows.
8862
8863 2000-02-27  Mike Alexander  <mta@arbortext.com>
8864
8865         * sysdep.h: Declare pdump_read_file
8866
8867         * sysdep.c (pdump_read_file): New function
8868
8869         * alloc.c (pdump_load): Call pdump_read_file to get the portable
8870         dump data
8871
8872 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
8873
8874         * lrecord.h: add `lrecord_type_pgsetenv'.
8875
8876 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
8877
8878         * symsinit.h: declare (vars|syms)_of* functions.
8879         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
8880
8881 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
8882
8883         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
8884
8885         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
8886         GCCs.
8887
8888         * emacs.c (main_1): Call postgres initialization code.
8889
8890         * postgresql.h: New file.  PostgreSQL RDBMS support.
8891         * postgresql.c: New file.
8892
8893 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8894
8895         * redisplay-output.c (redisplay_output_display_block): Disable
8896         redundant code.
8897
8898 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8899
8900         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
8901         (Fcanna_henkan_next): Ditto.
8902         (Fcanna_bunsetu_henkou): Ditto.
8903         (Fcanna_henkan_kakutei): Ditto.
8904         (Fcanna_henkan_end): Ditto.
8905         (Fcanna_henkan_quit): Ditto.
8906         (Fcanna_henkan_next): Set retun value correctly.
8907         (c2mu): Use unsigned char instead of signed char.
8908
8909 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8910
8911         * emacs.c (main_1): Always call syms_of_gui.
8912         * inline.c: include gui.h
8913
8914 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8915
8916         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
8917         converted to Lisp_Object.
8918         (Qtop_bottom): New variable.
8919         (syms_of_redisplay): Initialize it.
8920         * redisplay.h (Vvisible_bell): Ditto.
8921         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
8922         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
8923         only flash top and bottom.
8924
8925 2000-03-08  Andy Piper  <andy@xemacs.org>
8926
8927         * buffer.c (Frename_buffer): record new buffer name the right way.
8928
8929 2000-03-08  Andy Piper  <andy@xemacs.org>
8930
8931         * glyphs.c (update_subwindow): increase hash depth so that widget
8932         items get picked up properly.
8933
8934         * redisplay-output.c (compare_runes): increase hash depth so that
8935         widget items get picked up properly.
8936
8937 2000-03-08  Andy Piper  <andy@xemacs.org>
8938
8939         * gutter.c (output_gutter): add some debug.
8940
8941         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
8942         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
8943         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
8944
8945         * redisplay-output.c (compare_runes): use display_hash to
8946         determine if glyphs really are not the same.
8947
8948         * glyphs.c (update_subwindow): check display_hash to see if
8949         anything really needs to be updated. If not then do
8950         nothing. Record the display_hash after updating.
8951         (image_instance_equal): compare the image_instance face also.
8952
8953 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
8954
8955         * redisplay.h: Fix comment style.
8956
8957 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8958
8959         * consle-msw.h (struct mswindows_frame):
8960         Added new member paint_pending to indicate whether a WM_PAINT
8961         magic event has been queued for this frame.
8962
8963         * event-msw.c (mswindows_drain_windows_queue):
8964         Don't queue a WM_PAINT magic event if one is already queued.
8965         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
8966
8967         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
8968
8969 2000-03-07  Didier Verna  <didier@xemacs.org>
8970
8971         * dired.c: #include `regex.h' after `sysfile.h'.
8972
8973 2000-03-06  Martin Buchholz  <martin@xemacs.org>
8974
8975         * sound.c (init_nas_sound): Fix compiler warning.
8976
8977         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
8978         (FREE_STRUCT_P):
8979         (MARK_STRUCT_AS_FREE):
8980         (MARK_STRUCT_AS_NOT_FREE):
8981         Make `gcc -fstrict-aliasing' work properly.
8982
8983 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8984
8985         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
8986         (mswindows_delete_device): Call CoUnnitialize().
8987
8988         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
8989
8990 2000-02-25    <CraigL@DyCon.com>
8991
8992         * process-nt.c: MinGW now has <shellapi.h>, but still needs
8993         <errno.h>.
8994
8995         * sysdep.c: This extern declaration for environ prevents MinGW
8996         from finding the variable in CRTDLL.DLL.
8997
8998         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
8999         windows headers.
9000         (SHGFI_EXETYPE): ..
9001         (WM_MOUSEWHEEL): ..
9002         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9003         definitions.
9004         (MMRESULT): Removed, now defined in cygwin's windows headers.
9005         (TIMECAPS): ..
9006         (uid_t,gid_t,pid_t,ssize_t): ..
9007         (_timeb): Removed, MinGW defines both _timeb and timeb.
9008         (HAVE_H_ERRNO): Added.
9009         (HAVE_TZNAME): Added, configure is not detecting this.
9010
9011 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9012
9013         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9014         * syntax.c (syntax_match): Use it.
9015
9016         * cmds.c: Import auto-fill-chars from FSF Emacs.
9017         (Vauto_fill_chars): New variables.
9018         (internal_self_insert): Check Vauto_fill_chars.
9019         (vars_of_cmds):
9020         Declare auto-fill-chars as a Lisp variable and initialize it.
9021
9022 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9023
9024         * fileio.c (Fmake_symbolic_link):
9025         (Ffile_symlink_p):
9026         Run handlers even if local machine doesn't have symlinks.
9027
9028 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9029
9030         * event-msw.c (mswindows_drain_windows_queue):
9031         Don't generate paint magic events for non-XEmacs frames.
9032
9033 2000-03-05  Andy Piper  <andy@xemacs.org>
9034
9035         * redisplay.c (redisplay_frame): generate_displayable_area and
9036         friends assumes that we are not in GC, we therefore have to make
9037         sure that this doesn't happen.
9038
9039         * gutter.c (calculate_gutter_size): generate_displayable_area
9040         assumes that we are not in GC, we therefore have to make sure that
9041         this doesn't happen.
9042
9043 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9044
9045         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9046
9047 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9048
9049         * redisplay.c (regenerate_window): Make sure we set a sane value
9050         for end_pos even if we jump out of the loop.
9051         (regenerate_window): Answer Ben's question :-).
9052         (start_end_of_last_line): Add may_error argument.
9053         (start_of_last_line):
9054         (end_of_last_line): Pass may_error = 0.
9055         (end_of_last_line_may_error): New function.
9056         (pixel_to_glyph_translation): Use it, so we don't crash in
9057         event_to_glyph.
9058
9059 2000-03-04  Andy Piper  <andy@xemacs.org>
9060
9061         * window.h (struct window): add gutter_extent_modiff.
9062
9063         * window.c (allocate_window): zero out gutter_extent_modiff.
9064
9065         * redisplay.h: declare sync_display_line_structs.
9066
9067         * redisplay.c (add_glyph_rune): add a better comment.
9068
9069         * redisplay-output.c (sync_display_line_structs): made non-static.
9070         (compare_runes): remove unneccesary glyph cachel access.
9071
9072         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9073
9074         * gutter.c (output_gutter): don't output the gutter if extent
9075         changes only involve extents in buffers. use 4 sets of display
9076         lines.
9077         (gutter_extent_signal_changed_region_maybe): new function. Mark
9078         extents in gutters as changed.
9079         (update_frame_gutters): use 4 sets of display lines.
9080         (reset_gutter_display_lines): ditto.
9081         (free_frame_gutters): ditto.
9082         (redraw_exposed_gutter): force output of gutters.
9083
9084         * frame.h (struct frame): add 4 sets of gutter display lines.
9085
9086         * extents.c: (extent_changed_for_redisplay): signal changes to
9087         extents in strings in the gutter as well as extents in buffers.
9088
9089 2000-03-02  Andy Piper  <andy@xemacs.org>
9090
9091         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9092
9093         * frame.c (Fmake_frame): make sure the gutters get initialized
9094         after the frame is visible.
9095         (set_frame_selected_window): re-arrange compilation macros a
9096         little.
9097         (change_frame_size_1): mark gutters changed.
9098
9099         * device.c (Fset_device_class): mark gutters changed.
9100
9101 2000-03-01  Andy Piper  <andy@xemacs.org>
9102
9103         * window.c (window_top_frame_gutter_height): deleted.
9104         (window_bottom_frame_gutter_height): ditto.
9105         (window_left_frame_gutter_height): ditto.
9106         (window_right_frame_gutter_height): ditto.
9107         (window_top_gutter_height): don't use them.
9108         (window_bottom_gutter_height): ditto.
9109         (window_left_gutter_width): ditto.
9110         (window_right_gutter_width): ditto.
9111         (Fsplit_window): ditto.
9112         (Fwindow_pixel_edges): don't use border dimensions here.
9113
9114         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9115         (update_scrollbar_instance): ditto.
9116
9117         * redisplay.c (generate_modeline): don't take gutters into account.
9118         (generate_modeline): ditto.
9119         (redisplay_frame): small gutter display optimization.
9120
9121         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9122
9123         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9124         gutters into account.
9125
9126         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9127         for window position and type.
9128
9129         * gutter.c (get_gutter_coords): fix for frame gutters.
9130         (update_frame_gutters): update frame geometry if the gutters have
9131         changed.
9132         (init_frame_gutters): record current gutter geometries.
9133
9134         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
9135         var.
9136         (mswindows_widget_instantiate): ditto.
9137
9138         * frame.h (struct frame): add current_gutter_bounds.
9139
9140         * frame.c (change_frame_size_1): position window and minibuffer
9141         appropriately taking into account the frame gutters.
9142
9143         * frame-x.c: (x_initialize_frame_size): take into account the
9144         frame gutters.
9145
9146 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9147
9148         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
9149
9150 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9151
9152         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
9153
9154 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9155
9156         * file-coding.c (reset_decoding_stream): Clear previous
9157         detection state when autodetect.
9158
9159 2000-02-29  Didier Verna  <didier@xemacs.org>
9160
9161         * extents.c (set_extent_glyph_1): don't require extents to be
9162         attached.
9163
9164 2000-02-27  Andy Piper  <andy@xemacs.org>
9165
9166         * gutter.c (Fset_default_gutter_position): don't default left and
9167         right gutter visibility to t.
9168         (Fset_default_gutter_position): run
9169         default-gutter-position-changed-hook.
9170         (syms_of_gutter): add default-gutter-position-changed-hook.
9171
9172 2000-02-26  Andy Piper  <andy@xemacs.org>
9173
9174         * specifier.c (Fmake_specifier): add gutter references.
9175
9176         * gutter.h (RAW_WINDOW_GUTTER): new macro.
9177
9178         * lisp.h: declare Fvalid_plist_p.
9179
9180         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
9181         as changed.
9182         (default_gutter_visible_p_changed_in_window): invalidate gutter as
9183         well as its visibility so that it gets reconstructed.
9184         (construct_window_gutter_spec): new function. Construct a string
9185         to be displayed in the gutter from a plist of strings. Take care
9186         to only use elements that are declared as visible.
9187         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
9188         WINDOW_GUTTER.
9189         (gutter_validate): allow plists of strings in the specifier.
9190         (gutter_specs_changed): construct the real_gutter from the gutter
9191         specs using construct_window_gutter_spec.
9192         (gutter_visible_validate): gutter-visible is a new specifier type.
9193         (Fgutter_visible_specifier_p): new function for the new specifier.
9194         (syms_of_gutter): declare gutter-visible and
9195         Fgutter_visible_specifier_p.
9196         (specifier_type_create_gutter): intitalize new gutter-visible
9197         specifier.
9198         (reinit_specifier_type_create_gutter): ditto.
9199         (specifier_vars_of_gutter): use new specifier type for gutter
9200         visibility.
9201         (init_frame_gutters): construct real_gutter correctly.
9202         (Fgutter_specifier_p): beef up documentation.
9203         (Fgutter_size_specifier_p): ditto.
9204
9205         * winslots.h: add real_gutter slots.
9206
9207 2000-02-25  Andy Piper  <andy@xemacs.org>
9208
9209         * device-msw.c: Be kind to older cygwin versions. From Raymond
9210         Toy <toy@rtp.ericsson.se>.
9211
9212         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
9213         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
9214
9215 2000-02-25  Martin Buchholz  <martin@xemacs.org>
9216
9217         * elhash.c (MARK_OBJ): Practice macro hygiene.
9218
9219 2000-02-24  Martin Buchholz  <martin@xemacs.org>
9220
9221         * miscplay.c: s/__inline__/inline/g;
9222         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
9223         (get_device_compdc): INLINE ==> static inline
9224         * *.[ch]: Change INLINE to INLINE_HEADER globally.
9225         find -name '*.h' | \
9226         xargs global-replace \
9227         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
9228
9229 2000-02-25  Andy Piper  <andy@xemacs.org>
9230
9231         * window.c (window_top_frame_gutter_height): new function.
9232         (window_top_window_gutter_height): ditto.
9233         (window_top_gutter_height): use them.
9234         (window_bottom_frame_gutter_height): new function.
9235         (window_bottom_window_gutter_height): ditto.
9236         (window_bottom_gutter_height): use them.
9237         (window_left_window_gutter_width): new function.
9238         (window_left_frame_gutter_width): ditto.
9239         (window_left_gutter_width): use them.
9240         (window_right_window_gutter_width): new function.
9241         (window_right_frame_gutter_width): ditto.
9242         (window_right_gutter_width): use them.
9243         (window_pixel_height): new function. calulate window pixel height
9244         with frame gutter involvement.
9245         (Fsplit_window): calculate new sizes taking frame gutters into
9246         account.
9247         (window_char_height_to_pixel_height): don't include frame gutters.
9248         (window_char_height): use window_pixel_height.
9249         (window_pixheight): rename from window_pixel_height.
9250         (change_window_height): use it.
9251         (window_pixel_height_to_char_height): don't include frame gutters.
9252         (window_char_width_to_pixel_width): ditto.
9253
9254 2000-02-25  Andy Piper  <andy@xemacs.org>
9255
9256         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
9257         if it is.
9258
9259 2000-02-24  Martin Buchholz  <martin@xemacs.org>
9260
9261         * alloc.c (staticpro):
9262         (staticpro_nodump):
9263         (dumpstruct):
9264         (dumpopaque):
9265         (pdump_wire):
9266         (pdump_wire_list):
9267         (compact_string_chars):
9268         (pdump_dump_wired):
9269         Convert:  if (foo) abort();  ==>  assert (! foo);
9270
9271         * eldap.c (Fldap_search_basic):
9272         (Fldap_add):
9273         (Fldap_modify):
9274         (Fldap_delete):
9275         Fix compiler warnings, and possible crashes if (random) return
9276         value were to be used.
9277
9278 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9279
9280         * device-msw.c: Workaround ResetDC failure.
9281
9282         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
9283         applying a devmode.
9284
9285         * redisplay-msw.c (get_frame_dc): Added start_page_p.
9286         (mswindows_text_width): Do not start printer page.
9287
9288         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
9289
9290         * glyphs-msw.c: Added image methods to msprinter console and
9291         msprinter-specific image instantiation.
9292
9293 2000-02-20  Mike Alexander  <mta@arbortext.com>
9294
9295         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
9296         to avoid crashes when selection-sets-clipboard is on
9297         (mswindows_own_selection): ditto
9298
9299 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9300
9301         * glyphs-msw.c:
9302         * redisplay-msw.c (get_frame_dc):
9303         (get_frame_compdc):
9304         * console-msw.h:
9305         * device-msw.c (mswindows_init_device):
9306         (mswindows_delete_device):
9307         (msprinter_init_device):
9308         (msprinter_delete_device):
9309         * frame-msw.c (mswindows_init_frame_1):
9310         (mswindows_delete_frame):
9311         (msprinter_init_frame_3):
9312         (msprinter_delete_frame): Move compatible DC to device object from
9313         frame object, for both mswindows and msprinter. Only one at a time
9314         is needed, it is a real waste to have one per frame!
9315
9316 2000-02-23  Andy Piper  <andy@xemacs.org>
9317
9318         * glyphs.c: add dynamic width and height elements.
9319         (image_instance_equal): ditto.
9320
9321         * glyphs-widget.c (widget_query_geometry): calculate width and
9322         height dynamically if required.
9323         (initialize_widget_image_instance): initialize dynamic dimensions.
9324         (widget_instantiate): pick-up dynamic dimensions.
9325
9326         * glyphs.h (struct Lisp_Image_Instance): add width and height for
9327         dynamic determination. Add appropriate macros.
9328
9329         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
9330         dimensions safe.
9331         (WINDOW_GUTTER_SIZE): ditto.
9332         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
9333
9334         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
9335         inline.
9336         (get_frame_dc): ditto.
9337
9338         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
9339         here.
9340
9341 2000-02-23  Martin Buchholz <martin@xemacs.org>
9342
9343         * XEmacs 21.2.31 is released.
9344
9345 2000-02-22  Ben Wing <ben@xemacs.org>
9346
9347         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
9348
9349 2000-02-22  Andy Piper  <andy@xemacs.org>
9350
9351         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
9352
9353 2000-02-21  Mike Sperber <mike@xemacs.org>
9354
9355         * .dbxrc:
9356         * .gdbinit:
9357         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
9358         variables.
9359
9360 2000-02-21  Mike Sperber <mike@xemacs.org>
9361
9362         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
9363
9364 2000-02-21  Martin Buchholz <martin@xemacs.org>
9365
9366         * XEmacs 21.2.30 is released.
9367
9368 2000-02-20  Martin Buchholz  <martin@xemacs.org>
9369
9370         Performance hacking.
9371         * *.c (syms_of_*):
9372         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
9373         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
9374         * emacs.c (main_1):
9375         * lisp.h (DEFUN):
9376         * console.c (DEFVAR_CONSOLE_LOCAL_1):
9377         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
9378         * symeval.h (DEFVAR_SYMVAL_FWD):
9379         * symbols.c (guts_of_unbound_marker):
9380         Make all c_readonly objects also lisp_readonly and marked for life.
9381         * lrecord.h (struct lrecord_implementation):
9382         Document flags better.
9383         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
9384         * lrecord.h (DECLARE_LRECORD):
9385         * lrecord.h (XSETRECORD):
9386         * lrecord.h (RECORDP):
9387         * lrecord.h (RECORD_TYPEP):
9388         * lrecord.h (RECORD_MARKER): New.
9389         * lrecord.h (error_check_*):
9390         * lrecord.h (CONCHECK_NONRECORD):
9391         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
9392         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
9393         * lrecord.h (set_lheader_implementation):
9394         * lrecord.h (enum lrecord_type): New.
9395         * symeval.h (SYMBOL_VALUE_MAGIC_P):
9396         * alloc.c (disksave_object_finalization_1):
9397         * alloc.c (mark_object):
9398         * alloc.c (lrecord_type_index):
9399         * alloc.c (tick_lcrecord_stats):
9400         * alloc.c (Fgarbage_collect):
9401         * alloc.c (init_alloc_once_early):
9402         * alloc.c (pdump_load):
9403         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
9404         * alloc.c (lrecord_type_index): Delete.
9405         Make lisp object type indexes be constant.
9406           Makes (byte-compile) 5% faster.
9407         Put all marker functions into their own array.
9408           Makes (garbage-collect) 5% faster.
9409         Optimize SYMBOL_VALUE_MAGIC_P.
9410           Makes (byte-compile) 2-3% faster.
9411         * config.h.in (gc_checking_assert): New.
9412         * alloc.c: Use gc_checking_assert().
9413         * .dbxrc: Make compatible with new object type implementation.
9414         * .gdbinit: Make compatible with new object type implementation.
9415         * alloc.c: Delete all symbols defined only for debugging, such as
9416         Lisp_Type_Vector and lrecord_charset.
9417
9418 2000-02-21  Andy Piper  <andy@xemacs.org>
9419
9420         * gui-msw.c (Fmswindows_shell_execute): fix file location
9421         problems.
9422
9423         * buffer.c (Fkill_buffer): remove buffer from alist buffer
9424         unshowing so that set_window_buffer doesn't undo
9425         kill_buffer_hook's hard work.
9426
9427         * glyphs-widget.c (tab_control_query_geometry): don't count the
9428         first item when calculating geometry.
9429
9430         * glyphs.c (map_subwindow): remove redundant code.
9431         (update_frame_subwindows): be more circumspect about when to
9432         update subwindows.
9433
9434         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
9435         when items haven't changed. Update faces if faces have changed as
9436         well as just the widget face.
9437         (x_tab_control_update): Update faces if faces have changed as well
9438         as just the widget face.
9439
9440 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9441
9442         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
9443         registration.
9444         (build_syscolor_string): Use mswindows_color_to_string to try to
9445         get a named color.
9446         (mswindows_device_system_metrics): Reverse the foreground and
9447         background colors so that they match the documentation.
9448
9449         * objects-msw.c: (mswindows_X_color_map): tweak some values so
9450         they match the default Windows palette.
9451         (mswindows_color_to_string): New function.
9452
9453 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9454
9455         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
9456
9457 2000-02-18  Olivier Galibert  <galibert@pobox.com>
9458
9459         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
9460         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
9461
9462         * symbols.c (init_symbols_once_early): Removed obsolete
9463         DATA_SEG_BITS related kludge.
9464         (defvar_magic): Ditto.
9465
9466         * malloc.c: Removed obsolete DATA_SEG_BITS
9467         * ralloc.c: Ditto.
9468         * mem-limits.h: Ditto.
9469
9470         * Makefile.in.in: Removed obsolete HAVE_SHM
9471         * emacs.c: Ditto.
9472
9473 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9474
9475         *  device-msw.c (mswindows_delete_device): Free DDE string
9476         handles.
9477
9478 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9479
9480         * keymap.c (get_keyelt):
9481         * unexnt.c (unexec):
9482         * vm-limit.c (memory_warnings):
9483         * ntheap.c (recreate_heap):
9484         * ntheap.h (UNINIT_PTR):
9485         * select-msw.c (Fmswindows_get_clipboard):
9486         (Fmswindows_set_clipboard):
9487         * objects-msw.h (MSWINDOWS_BAD_HFONT):
9488         * objects-msw.c:
9489         * menubar-msw.c (displayable_menu_item):
9490         * glyphs-msw.c:
9491         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
9492         * sysdep.c (sys_subshell):
9493         * process-nt.c (nt_create_process):
9494         * nt.c (normalize_filename):
9495         (dostounix_filename):
9496         (unixtodos_filename):
9497         * ntproc.c (win32_executable_type):
9498         * ntplay.c (play_sound_data_1):
9499         (play_sound_file):
9500         * editfns.c (get_home_directory):
9501         * event-msw.c (struct winsock_stream):
9502         (mswindows_dde_callback):
9503         * device-msw.c (msprinter_init_device):
9504         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
9505
9506         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
9507         mswindows_clear_toolbar were swapped!
9508
9509         * objects-msw.c:(colormap_t):
9510         (fontmap_t):
9511         * emacs.c (struct standard_args): Fixed const jumble.
9512
9513         * glyphs-widget.c (update_widget): Fixed comparison notation.
9514
9515         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
9516
9517         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
9518         __declspec(noreturn) syntax.
9519
9520 2000-02-19  Martin Buchholz  <martin@xemacs.org>
9521
9522         * eldap.c (Fldap_open):
9523         (Fldap_search_basic):
9524         (Fldap_add):
9525         (Fldap_modify):
9526         Use new coding system conversion macros.
9527
9528 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9529
9530         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
9531
9532 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
9533
9534         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
9535         (Fldap_add, Fldap_modify, Fldap_delete): New functions
9536
9537         * eldap.c (Qadd, Qreplace): New constant symbols
9538         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
9539         interruptions by XEmacs signals
9540         Remove unnecessary calls to slow_down_interrupts and
9541         speed_up_interrupts
9542         (Fldap_search_basic): Renamed from Fldap_search_internal
9543         Added new optional parameter VERBOSE that triggers the
9544         display of progress messages
9545         Remove unnecessary calls to slow_down_interrupts and
9546         speed_up_interrupts
9547         LDAP result code analysis rewritten
9548         (Fldap_add, Fldap_modify, Fldap_delete): New functions
9549         (syms_of_eldap): Define the new symbols and functions
9550
9551
9552 2000-02-17  Martin Buchholz  <martin@xemacs.org>
9553
9554         * realpath.c: Determine PATH_MAX maximally portably.
9555
9556         * insdel.c (bytecount_to_charcount): Optimize.
9557         The function used to be optimized for entirely ASCII sequences.
9558         Now it is optimized for successive characters from the same
9559         charset.  This also wins big for _mostly_ ASCII sequences.
9560
9561         * fileio.c (Ffile_truename): convert return from realpath() using
9562         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
9563         - Rewrite GCPROing slightly.
9564
9565         * sysdep.c (sys_open): Do filename conversion, like all other
9566         sys_* functions.  Fixes bug:
9567         (let ((file-name-coding-system 'iso-8859-2))
9568            (write-region x y latin2-name))
9569         ==> writes filename using internal encoding.
9570
9571 2000-02-18  Martin Buchholz  <martin@xemacs.org>
9572
9573         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
9574         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
9575         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
9576         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
9577         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
9578         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
9579         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
9580         (CONST_IF_NOT_DEBUG): Delete.
9581         * alloc.c (this_one_is_unmarkable): Delete.
9582         (mark_object): Don't check for this_one_is_unmarkable. Use the
9583         c_readonly flag instead.
9584         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
9585
9586 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9587
9588         * event-msw.c (mswindows_drain_windows_queue):
9589         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
9590         away redundant repaint events.
9591
9592 2000-02-17  Andy Piper  <andy@xemacs.org>
9593
9594         * redisplay.h: declare mark_redisplay_structs.
9595
9596         * redisplay.c (redisplay_window):
9597         (redisplay_frame): don't check subwindows_state_changed.
9598         (mark_redisplay): mark gutters here.
9599
9600         * glyphs.c: (instantiate_image_instantiator): always layout if we
9601         haven't done so already.
9602         (allocate_image_instance): don't mark as dirty.
9603         (update_subwindow): bind inhibit_quit.
9604
9605         * gutter.c (mark_gutters): new function.
9606
9607         * glyphs-x.c (x_update_widget): Always resize to get round a
9608         widget bug.
9609
9610         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
9611         breaking absolutely everything.
9612
9613         * gutter.h: declare mark_gutters.
9614
9615 2000-02-16  Martin Buchholz <martin@xemacs.org>
9616
9617         * XEmacs 21.2.29 is released.
9618
9619 2000-02-15  Olivier Galibert  <galibert@pobox.com>
9620
9621         * fns.c (size_bit_vector): Fix computation of the size.
9622
9623 2000-02-15  Martin Buchholz  <martin@xemacs.org>
9624
9625         * *.[ch]: Change CONST to const globally.
9626         find -name '*.[ch]' | \
9627         xargs global-replace \
9628         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
9629         - Remove vestigial references to CONST_IS_LOSING
9630
9631 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9632
9633         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
9634         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
9635         events instead of dispatching them directly.
9636         (mswindows_handle_paint): New function to do repainting.
9637         (mswindows_wnd_proc):
9638         (emacs_mswindows_handle_magic_event): Call above function.
9639
9640 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9641
9642         * objects-msw.c (mswindows_create_font_variant): Return the new
9643         font handle.
9644         (initialize_font_instance): Get font metrics from the underlined
9645         variant of the font to cope with the case where the underlined
9646         font has a bigger descent.
9647
9648 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
9649
9650         * gui.c (gui_item_accelerator): Return the first underlined
9651         character in item name.
9652
9653 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9654
9655         * lisp.h: Added Qprinter.
9656
9657         * general.c (syms_of_general): Initialized it.
9658
9659         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
9660         (get_frame_dc):
9661         (get_frame_compdc): Made inline.
9662
9663         * console.h (struct console_methods): Added eject_page method.
9664
9665         * frame.h: Added FRAME_DISPLAY_P and friends.
9666         Aligned backslahes in many macros in more readable fashion.
9667         Added page_number to struct frame, and an accessor macro
9668         for it.
9669
9670         * defice.h: Added DEVICE_DISPLAY_P and friends.
9671
9672         * device.c (Fdevice_printer_p): Used these.
9673
9674         * frame.c (allocate_frame_core): Initialize page number.
9675         (Fprint_job_page_number):
9676         (Fprint_job_eject_page): Implemented.
9677
9678         * frame-msw.c (msprinter_eject_page): Added method.
9679         (msprinter_start_page): Added.
9680
9681         * window.c (Fwindow_truncated_p): Fixed docstring.
9682         (Fwindow_last_line_visible_height): Implemented.
9683
9684 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9685
9686         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
9687
9688 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9689
9690         * syntax.c (scan_words): Always advance at least one character.
9691
9692 2000-02-13  Andy Piper  <andy@xemacs.org>
9693
9694         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
9695         to make sure the glyph is in the cachels.
9696
9697         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
9698         global image instance flag.
9699         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
9700         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
9701
9702         * glyphs.c (allocate_image_instance): set dirty bits correctly.
9703         (Fset_image_instance_property): mark layout as changed.
9704         (invalidate_glyph_geometry_maybe): mark layout as changed.
9705         (glyph_width): use new NEEDS_LAYOUT macro.
9706         (glyph_ascent): ditto.
9707         (glyph_descent): ditto.
9708         (glyph_height): ditto.
9709         (image_instance_layout): mark layout as clean after laying out.
9710         (update_subwindow): don't mark layout as clean here.
9711
9712         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
9713         should no longer be needed.
9714
9715         * glyphs-x.c (x_update_widget): sanitize asserts.
9716         (x_finalize_image_instance): sanitize assignment to widgets.
9717
9718         * glyphs-widget.c (widget_instantiate): don't need to clear the
9719         layout flag here.
9720
9721 2000-02-13  Martin Buchholz  <martin@xemacs.org>
9722
9723         * sysdep.c (getcwd): Use standard prototype.
9724         * sysdep.h (getcwd): Use standard prototype.
9725
9726         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
9727         (sequence, start, end).
9728         Remove redundant type checking.
9729         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
9730         view of `caller-protects') to avoid a crash where the real fix was
9731         found elsewhere.
9732
9733 2000-02-12  Martin Buchholz  <martin@xemacs.org>
9734
9735         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
9736
9737         * s/sol2.h: Remove feature macro initialization.
9738
9739         * alloc.c (alloc_lcrecord): Add more type checking assertions.
9740         (vector_hash): New.  Code from internal_hash.
9741         * lrecord.h:
9742         Fix up allocation subsystem comments.
9743
9744         * config.h.in: Add __EXTENSIONS__ for Solaris.
9745
9746         * systime.h (EMACS_GETTIMEOFDAY): New.
9747         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
9748         Remove Solaris-specific code.
9749         Use void* for the (ignored) second arg for gettimeofday().
9750
9751         * elhash.c (hash_table_hash): Implement it, finally.
9752         * elhash.c:  Use hashcode_t.
9753
9754         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
9755         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
9756
9757         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
9758         * fns.c (size_bit_vector):
9759         * alloc.c (size_vector):
9760         (make_vector_internal):
9761         (make_bit_vector_internal):
9762         (sweep_bit_vectors_1):
9763         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
9764
9765 2000-02-10  Martin Buchholz  <martin@xemacs.org>
9766
9767         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
9768         Include strings.h to avoid warnings for bzero and strcasecmp.
9769
9770 2000-02-10  Olivier Galibert  <galibert@pobox.com>
9771
9772         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
9773         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
9774
9775         * fns.c (size_bit_vector): New.  Declare bit vectors as a
9776         sequence.
9777
9778 2000-02-10  Olivier Galibert  <galibert@pobox.com>
9779
9780         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
9781         use a value field instead.
9782         (symbol_value_forward_forward): Use value field.
9783         (DEFVAR_SYMVAL_FWD): Use value field.
9784         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
9785         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
9786         (DEFVAR_CONST_INT): Ditto.
9787         (DEFVAR_BOOL): Ditto.
9788         (DEFVAR_CONST_BOOL): Ditto.
9789         (DEFVAR_INT_MAGIC): Ditto.
9790         (DEFVAR_BOOL_MAGIC): Ditto.
9791
9792         * symbols.c (guts_of_unbound_marker): Use value field.
9793         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
9794         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
9795
9796         * lisp.h: Declare dumpopaque and noninteractive1.
9797
9798         * alloc.c (dumpopaque): Added.
9799         (pdump_dump_opaquevec): Added.
9800         (pdump): Call pdump_dump_opaquevec to dump opaque data.
9801         (pdump_load): Reload opaque data.  Sync noninteractive1 with
9802         noninteractive.
9803
9804 2000-02-10  Andy Piper  <andy@xemacs.org>
9805
9806         * glyphs.c (image_instance_layout): if the size changes, mark it
9807         as such.
9808
9809         * redisplay-output.c (redisplay_output_layout): Update the
9810         subwindow here.
9811         (redisplay_output_subwindow): ditto.
9812
9813         * glyphs.c (update_subwindow): make sure we reset flags for
9814         layouts as well as everything else.
9815
9816         * glyphs-widget.c (layout_layout): don't need to set the instances
9817         dimensions here.
9818
9819 2000-02-09  Martin Buchholz  <martin@xemacs.org>
9820
9821         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
9822         not HAVE_DLOPEN, which is a lower-level thing.
9823
9824         * .cvsignore: Ignore gmon.out
9825
9826 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
9827
9828         * .cvsignore: Ignore portable dumper xemacs.dmp file
9829
9830 2000-02-09  Andy Piper  <andy@xemacs.org>
9831
9832         * redisplay-output.c (redisplay_output_layout): be more clever
9833         about when we output based on the changed flags.
9834
9835         * glyphs.h (struct image_instantiator_methods): add update_method.
9836         (struct Lisp_Image_Instance): add changed flags. Declare new
9837         macros for manipulating them.
9838
9839         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
9840         (image_instance_parent_glyph): find an image_instance's parent
9841         glyph or image_instance.
9842         (image_instance_layout): mark the size as changed.
9843         (set_image_instance_dirty_p): new function. mark an image
9844         instance, plus all of its parents, as dirty.
9845         (Fset_image_instance_property): use it.
9846         (Fglyph_animated_timeout_handler): use it.
9847         (update_subwindow): call update_widget and device methods for
9848         update_subwindow. Mark all changed flags as clean.
9849         (Fresize_subwindow): mark size as changed.
9850
9851         * glyphs-x.c (x_finalize_image_instance): try and detect gc
9852         failures.
9853         (x_update_subwindow): only resize subwindows here.
9854         (x_update_widget): new function. Update all changed properties of
9855         a widget.
9856         (x_resize_subwindow): deleted.
9857         (x_widget_set_property): deleted.
9858         (x_progress_gauge_set_property): deleted.
9859         (x_progress_gauge_update): new function. Implement recorded
9860         changes.
9861         (x_tab_control_update): ditto.
9862         (x_tab_control_set_property): deleted.
9863         (console_type_create_glyphs_x): declare new functions.
9864         (image_instantiator_format_create_glyphs_x): ditto.
9865
9866         * glyphs-widget.c (widget_set_property): mark text changed.
9867         (update_widget): new function. Update properties of a widget.
9868         (widget_instantiate): for layouts make sure we set their
9869         children's parent correctly.
9870         (tab_control_set_property): new function. Record changes that will
9871         take place under redisplay's control.
9872         (progress_gauge_set_property): ditto.
9873         (image_instantiator_progress_guage): declare new functions.
9874         (image_instantiator_tab_control): ditto.
9875
9876         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
9877         now.
9878         (mswindows_update_widget): new function. Update all properties on
9879         a widget that have changed.
9880         (mswindows_button_update): new function. Update a button's set
9881         state.
9882         (mswindows_tab_control_update): new function. Update the items in
9883         a tab.
9884         (mswindows_tab_control_set_property): deleted.
9885         (mswindows_progress_gauge_update): new function. Update the
9886         progress gauge's progress.
9887         (mswindows_widget_set_property): deleted. This is all done
9888         asynchronously now.
9889         (mswindows_progress_gauge_set_property): ditto.
9890         (console_type_create_glyphs_mswindows): declare new methods.
9891         (image_instantiator_format_create_glyphs_mswindows): ditto.
9892
9893         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
9894         (msprinter_set_frame_properties): ditto.
9895
9896         * console.h (struct console_methods): Add update_widget_method.
9897
9898 2000-02-09  Andy Piper  <andy@xemacs.org>
9899
9900         * gui-msw.c (Fmswindows_shell_execute): Make
9901         mswindows-shell-execute industrial strength.
9902
9903 2000-02-08  Martin Buchholz  <martin@xemacs.org>
9904
9905         * lrecord.h: Make macro argument `props' match member function `plist'.
9906         * fns.c (Fget):
9907         * fns.c (Fput):
9908         * fns.c (Fremprop):
9909         * fns.c (Fobject_plist):
9910         * alloc.c:
9911         * symbols.c:
9912         Object property list frobbing cleanup.
9913         - Allow any lisp object (compared with `eq'), not just symbols, as
9914           keys in object plists.
9915         - Move symbol plist frobbing into symbols.c, where it belongs.
9916         - Move string plist frobbing into alloc.c, where it belongs.
9917         - Everything's an lrecord now, so no need to test for symbolp, etc.
9918         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
9919
9920         * extents.c: Reorder code to remove declarations.
9921
9922         * frame.h (store_in_alist): Remove useless declaration.
9923
9924 2000-02-07  Martin Buchholz  <martin@xemacs.org>
9925
9926         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
9927         * config.h.in: Add HAVE_XCONVERTCASE.
9928
9929 2000-02-07  Andy Piper  <andy@xemacs.org>
9930
9931         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
9932         it breaks many things.
9933
9934 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9935
9936         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
9937         actually can start a common comment type.
9938         * src/syntax.h (SYNTAX_END_P): ditto for end.
9939
9940 2000-02-07  Martin Buchholz <martin@xemacs.org>
9941
9942         * XEmacs 21.2.28 is released.
9943
9944 2000-02-06  Martin Buchholz  <martin@xemacs.org>
9945
9946         * event-Xt.c (x_keysym_to_character): New.
9947         (maybe_define_x_key_as_self_inserting_character): New.
9948         (x_has_keysym): New.
9949         Auto-define all keys on the keyboard as self-insert-key.
9950
9951 2000-02-02  Martin Buchholz  <martin@xemacs.org>
9952
9953         * menubar.c (vars_of_menubar): A small code simplification.
9954
9955         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
9956
9957         * ExternalShell.c:
9958         * ExternalClient.c:
9959         * EmacsShell-sub.c:
9960         * EmacsManager.c:
9961         * EmacsFrame.c:
9962         Use consistent style for specifying X resources.
9963
9964         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
9965         This makes (dontusethis-set-symbol-value-handler) actually usable.
9966
9967         * lrecord.h (lrecord_decription_type):
9968         * alloc.c (pdump_register_sub):
9969         (pdump_dump_data):
9970         (pdump_reloc_one):
9971         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
9972         Comply with XEmacs coding style.
9973         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
9974         args, and XD_LISP_OBJECT_ARRAY with 3 args.
9975
9976         * keymap.c (Faccessible_keymaps):
9977         Make (accessible-keymaps map "\C-h") do the Right Thing.
9978         Make (accessible-keymaps map []) do the Right Thing.
9979         Make (accessible-keymaps map "") do the Right Thing.
9980         (check_keymap_definition_loop): New function.
9981         (keymap_store_internal): Keep luser from shooting self in foot,
9982           via (define-key ctl-x-4-map "p" global-map).
9983         Remove fullness slot from struct Lisp_Keymap, since hash tables
9984         are now reliable.
9985         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
9986
9987 2000-01-30  Martin Buchholz  <martin@xemacs.org>
9988
9989         * redisplay.c (init_redisplay): Fix small memory leak.
9990         * elhash.h:
9991         * elhash.c (pdump_reorganize_hash_table):
9992         Rename from reorganize_hash_table. Change prototype.
9993         Reuse the original memory for hentries.  Save 100k.
9994         * alloc.c (PDUMP_READ): new macro.
9995         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
9996         * alloc.c: No need to #ifndef before #undef.
9997
9998         * print.c: Allow debug_print() to print readably by modifying
9999         debug_print_readably.  Use consistent variable names.
10000
10001         * .dbxrc: Try to get things to work even if stopped in a function
10002         without source available by explicitly specifying source files.
10003 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10004
10005         * unexnt.c (_start): Removed bogus code which caused loading heap
10006         from differrent executable file.
10007         Removed bogus assignment to _fmode, which caused inconsistencies.
10008
10009 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10010
10011         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10012         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10013         Do not preliminary `#define signal sigset'.
10014
10015         * systime.h: Do not prototype environ on windows nt and cygwin,
10016         this conflicts with system header.
10017
10018         * syssignal.h: Use correct define for WINDOWSNT
10019
10020         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10021         with system header.
10022
10023         * sysdep.c (near start of file): Fixed commentary and rearranged
10024         ifdefs in readable order.
10025         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10026         (start_of_text):
10027         (end_of_text):
10028         (end_of_data): Do not compile in if using PDUMP.
10029
10030         * symsinit.h: Prototyped vars_of_nt().
10031
10032         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10033         (find_child_console): Use it.
10034         (sys_kill): Use it.
10035
10036         * ntheap.h: Do not extern os_subtype.
10037
10038         * ntheap.c (cache_system_info): Do not cache unneeded:
10039         nt_major_version, nt_minor_version and os_subtype.
10040         (recreate_heap): Do not compile in when PDUMPing.
10041
10042         * nt.c (geteuid and friends): Use the new varibale
10043         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10044         (init_user_info): Removed the above mentioned hackery.
10045         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10046         stat has been fixed in the C runtime.
10047         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10048
10049         * file-coding.c (struct file_coding_dump): Do not define
10050         ucs_to_mule_table in the struct if not MULE.
10051         (struct struct lrecord_description fcd_description_1): Do not dump
10052         the above.
10053
10054         * emacs.c (main_1): Call vars_of_nt().
10055         (right before Fdump_emacs_data): Don't need lastfile if using both
10056         portabe dumper and system malloc.
10057
10058         * alloc.c (Fmemory_limit): Conditionalized out.
10059         (pdump): Use OPEN_BINARY for the portable dump file.
10060         (pdump_load): Ditto.
10061
10062 2000-02-02  Mike Alexander  <mta@arbortext.com>
10063
10064         * nt.c (convert_time): Set tm_isdst before calling mktime and
10065         avoid calling it at all if the compiler supports 64 bit integers.
10066         Also initialize utc_base_ft before using it.
10067
10068 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10069
10070         * frame.c (change_frame_size_1): Take f->internal_border_width
10071         into consideration when calculating the width of the frame.
10072
10073 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10074
10075         * window.c (frame_min_height):
10076         (frame_size_valid_p):
10077         (frame_pixsize_valid_p): Added.
10078         (check_frame_size): Generalized.
10079
10080         * window.h: Prototyped the above.
10081
10082         * lisp.h:
10083         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10084         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10085         Deleted Vwin32_* and Vbinary_process_* unused variables.
10086
10087         * device-msw.c (msprinter_init_device): Do not get printer font
10088         list; Added DEVMODE functions.
10089
10090         * frame-msw.c: Added lots of printer code.
10091
10092         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10093         general.c.
10094
10095         * console-msw.h: Added more msprinter device private slots.
10096
10097 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10098
10099         * event-msw.c (key_needs_default_processing_p): Added.
10100         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10101
10102 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10103
10104         * glyphs.c (image_instance_layout): Mark image instance as clean
10105         after layout.
10106         (glyph_dirty_p): Removed redundant function.
10107         (invalidate_glyph_geometry_maybe): Added.
10108         (update_glyph_cachel_data): Call it.
10109
10110         * glyphs.h: Prototyped it.
10111
10112         * redisplay.c (add_glyph_rune): Call it.
10113         (redisplay_window): Reset glyphs cachels when frame faces have
10114         changed, thus forcing recomputation of built-in border glyphs.
10115
10116 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10117
10118         * Makefile.in.in: Make portable dumper and purify play well together.
10119         Add imperfect, but better than nothing, support for pdump.
10120         Remove xemacs.dmp when temacs is re-generated.
10121         Don't ignore errors when dumping xemacs.
10122
10123         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10124
10125 2000-01-28  Andy Piper  <andy@xemacs.org>
10126
10127         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10128         (setup_normal_frame): ditto.
10129         (setup_frame_without_minibuffer): ditto.
10130         (setup_minibuffer_frame): ditto.
10131         (delete_frame_internal): ditto.
10132         (Fmake_frame_invisible): ditto.
10133         (Ficonify_frame): ditto.
10134
10135         * window.h: change Fset_window_buffer signature.
10136
10137         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
10138         (Fset_window_buffer): allow recording of buffer if the window is
10139         the selected window.
10140         (window_loop): Use new Fset_window signature.
10141
10142 2000-01-23  Daniel Pittman  <daniel@danann.net>
10143
10144         * config.h.in: Added template for `HAVE_ATHENA_3D'
10145
10146 2000-01-29  Andy Piper  <andy@xemacs.org>
10147
10148         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
10149
10150         * gutter.c (output_gutter): Don't output if the window isn't live.
10151
10152 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10153
10154         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
10155         of 01/12/00: Moved SetFocus back here where it belongs.
10156
10157 2000-01-23  Andy Piper  <andy@xemacs.org>
10158
10159         * s/cygwin32.h: declare printer things.
10160
10161 2000-01-26  Andy Piper  <andy@xemacs.org>
10162
10163         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
10164         Alexander.
10165
10166 2000-01-24  Andy Piper  <andy@xemacs.org>
10167
10168         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
10169         (mswindows_button_instantiate): Make sure glyph is a pixmap.
10170
10171         * glyphs-widget.c (widget_instantiate): Avoid shadows.
10172
10173         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
10174
10175         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
10176
10177         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
10178         (mswindows_output_display_block): Avoid local shadows.
10179
10180         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
10181         (mswindows_enqueue_mouse_button_event): ditto.
10182         (mswindows_handle_gui_wm_command): remove declaration.
10183
10184         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
10185         warnings.
10186
10187         * console-msw.h: Avoid shadows.
10188         (mswindows_get_toolbar_button_text):
10189         (emacs_mswindows_create_stream_pair):
10190         (emacs_mswindows_delete_stream_pair):
10191         (mswindows_handle_toolbar_wm_command): declare.
10192
10193         * device-msw.c (build_syscolor_string): Avoid shadows.
10194
10195 2000-01-23  Andy Piper  <andy@xemacs.org>
10196
10197         * glyphs-widget.c (widget_instantiate): reverse the items for
10198         layouts so that children are in the expected order.
10199
10200 2000-01-28  Martin Buchholz  <martin@xemacs.org>
10201
10202         * ralloc.c: safe_bcopy ==> memmove
10203         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
10204         * s/msdos.h: Remove BCOPY macros.
10205         * insdel.c (gap_right): Remove BCOPY conditional code.
10206         * insdel.c (gap_left): Remove BCOPY conditional code.
10207         XEmacs demands a working ANSI C compiler - hence memmove.
10208
10209         * regex.c (regex_compile): Remove accidental use of trigraphs.
10210
10211 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10212
10213         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
10214         event timestamp.
10215
10216 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10217
10218         * event-msw.c (mswindows_drain_windows_queue): Added the
10219         parameter.
10220         (mswindows_need_event): Commented the call to
10221         mswindows_drain_windows_queue().
10222         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
10223         only.
10224
10225         * console-msw.h: Moved a few function prototypes here from
10226         event-msw.c.
10227
10228         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
10229         parameter from unsigned short to unsigned long.
10230         (Fmswindows_shell_execute): Added return value.
10231
10232 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
10233
10234         * sysdep.c (init_system_name):
10235           process-unix.c (unix_canonicalized_host_name):
10236         Don't call freeaddrinfo() if getaddrinfo() fails.
10237
10238         * process-unix.c (unix_open_unix_network_stream):
10239         Moved the code to get a port # into address loop.
10240
10241 2000-01-27  Martin Buchholz  <martin@xemacs.org>
10242
10243         * buffer.c (reinit_vars_of_buffer):
10244         The right place to initialize conversion_in_dynarr and
10245         conversion_out_dynarr.
10246
10247         * alloc.c (pdump): Use the real open() till sys_open() is functional.
10248
10249         * process-unix.c (unix_canonicalize_host_name): Muleize.
10250         (unix_open_network_stream): Muleize.
10251
10252         * buffer.h: Fix up prototypes for ralloc.c functions.
10253
10254 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
10255         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
10256         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
10257                 instead of gethostbyname()
10258         * process-unix.c: In unix_canonicalize_host_name() and
10259                 unix_open_network_stream(), add code to use getaddrinfo()
10260                 instead of gethostbyname().
10261
10262 2000-01-27  Daniel Pittman <daniel@danann.net>
10263
10264         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
10265         libs when built with flat Athena.
10266
10267 2000-01-27  Martin Buchholz  <martin@xemacs.org>
10268
10269         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
10270         Use coding standards for function prototypes.
10271
10272 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10273
10274         * dialog-msw.c (push_lisp_string_as_unicode):
10275         * doc.c (unparesseuxify_doc_string):
10276         * dired.c (Fuser_name_completion_1):
10277         * dired.c (Fuser_name_all_completions):
10278         * dired.c (free_user_cache):
10279         * dired.c (user_name_completion):
10280         * console-x.c (get_display_arg_connection):
10281         * minibuf.c (clear_echo_area_internal):
10282         * minibuf.c (echo_area_append):
10283         * eldap.c (Fldap_open):
10284         * eldap.c (Fldap_search_internal):
10285         * frame-x.c (x_set_frame_text_value):
10286         * frame-x.c (x_set_frame_properties):
10287         * frame-x.c (x_create_widgets):
10288         * redisplay-tty.c (term_get_fkeys_1):
10289         * objects-x.c (x_parse_nearest_color):
10290         * objects-x.c (x_valid_color_name_p):
10291         * objects-x.c (x_initialize_font_instance):
10292         * objects-x.c (x_list_fonts):
10293         * objects-x.c (x_find_charset_font):
10294         * tooltalk.c (Fadd_tooltalk_message_arg):
10295         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10296         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10297         * process-unix.c (unix_create_process):
10298         * ntproc.c (sys_spawnve):
10299         * sound.c (Fplay_sound_file):
10300         * sound.c (Fplay_sound):
10301         * buffer.c (init_initial_directory):
10302         * buffer.c (init_buffer):
10303         * editfns.c (init_editfns):
10304         * editfns.c (Ftemp_directory):
10305         * editfns.c (Fuser_full_name):
10306         * editfns.c (uncache_home_directory):
10307         * editfns.c (get_home_directory):
10308         * editfns.c (Fuser_home_directory):
10309         * editfns.c (Fformat_time_string):
10310         * editfns.c (Fcurrent_time_string):
10311         * gui-x.c (button_item_to_widget_value):
10312         * database.c (Fopen_database):
10313         * event-Xt.c (x_to_emacs_keysym):
10314         * event-Xt.c (x_event_to_emacs_event):
10315         * event-Xt.c (describe_event_window):
10316         * event-msw.c (mswindows_wnd_proc):
10317         * glyphs-eimage.c (jpeg_instantiate):
10318         * glyphs-eimage.c (gif_instantiate):
10319         * glyphs-eimage.c (png_instantiate):
10320         * glyphs-eimage.c (tiff_instantiate):
10321         * glyphs-x.c (xbm_instantiate_1):
10322         * glyphs-x.c (x_xbm_instantiate):
10323         * glyphs-x.c (x_xface_instantiate):
10324         * glyphs-x.c (autodetect_instantiate):
10325         * glyphs-x.c (cursor_font_instantiate):
10326         * glyphs-x.c (x_widget_instantiate):
10327         * glyphs-x.c (x_widget_set_property):
10328         * glyphs-x.c (x_widget_property):
10329         * glyphs-x.c (BUILD_GLYPH_INST):
10330         * print.c (write_string_to_stdio_stream):
10331         * print.c (output_string):
10332         * print.c (Falternate_debugging_output):
10333         * print.c (Fexternal_debugging_output):
10334         * glyphs-msw.c (extract_xpm_color_names):
10335         * glyphs-msw.c (mswindows_xpm_instantiate):
10336         * glyphs-msw.c (bmp_instantiate):
10337         * glyphs-msw.c (resource_name_to_resource):
10338         * glyphs-msw.c (mswindows_resource_instantiate):
10339         * glyphs-msw.c (xbm_instantiate_1):
10340         * glyphs-msw.c (mswindows_xbm_instantiate):
10341         * glyphs-msw.c (mswindows_xface_instantiate):
10342         * glyphs-msw.c (mswindows_widget_instantiate):
10343         * glyphs-msw.c (add_tree_item):
10344         * glyphs-msw.c (add_tab_item):
10345         * glyphs-msw.c (mswindows_combo_box_instantiate):
10346         * glyphs-msw.c (mswindows_widget_property):
10347         * glyphs-msw.c (mswindows_combo_box_property):
10348         * glyphs-msw.c (mswindows_widget_set_property):
10349         * console.c (stuff_buffered_input):
10350         * objects-msw.c (mswindows_initialize_color_instance):
10351         * objects-msw.c (mswindows_valid_color_name_p):
10352         * objects-msw.c (mswindows_list_fonts):
10353         * objects-msw.c (mswindows_font_instance_truename):
10354         * bytecode.c (optimize_compiled_function):
10355         * select-x.c (symbol_to_x_atom):
10356         * select-x.c (x_atom_to_symbol):
10357         * select-x.c (hack_motif_clipboard_selection):
10358         * select-x.c (selection_data_to_lisp_data):
10359         * select-x.c (lisp_data_to_selection_data):
10360         * select-x.c (Fx_get_cutbuffer_internal):
10361         * select-x.c (Fx_store_cutbuffer_internal):
10362         * buffer.h (TO_EXTERNAL_FORMAT): New function.
10363         * buffer.h (TO_INTERNAL_FORMAT): New function.
10364         * emacs.c (make_arg_list_1):
10365         * emacs.c (make_argc_argv):
10366         * emacs.c (main_1):
10367         * emacs.c (Fdump_emacs):
10368         * emacs.c (split_string_by_emchar_1):
10369         * file-coding.h:
10370         * lisp.h:
10371         * lstream.h:
10372         * symsinit.h:
10373         * device-x.c (x_init_device):
10374         * device-x.c (Fx_valid_keysym_name_p):
10375         * device-x.c (Fx_get_font_path):
10376         * device-x.c (Fx_set_font_path):
10377         * glyphs.c (bitmap_to_lisp_data):
10378         * glyphs.c (pixmap_to_lisp_data):
10379         * alloc.c (make_ext_string): Use coding system arguments.  Update
10380         all callers.
10381         * alloc.c (build_string):
10382         * callproc.c (child_setup):
10383         * callproc.c (init_callproc):
10384         * fileio.c (lisp_strerror):
10385         * fileio.c (directory_file_name):
10386         * fileio.c (Fexpand_file_name):
10387         * fileio.c (Ffile_truename):
10388         * fileio.c (Fsysnetunam):
10389         * fileio.c (Fdo_auto_save):
10390         * sysdep.c (sys_readdir):
10391         * tests.c: New file.  Allow adding C tests.
10392         Replace GET_* macros with a more comprehensible and flexible
10393         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
10394         Modify all calls.
10395         Any coding system can be used to do format conversion.
10396         Eliminate enum external_data_format.
10397         Eliminate convert_to_external_format.
10398         Eliminate convert_to_internal_format.
10399         Make sure file-name, keyboard, terminal, and ctext are always
10400         defined as coding systems or aliases.  Make
10401         file-name-coding-system, terminal-coding-system, and
10402         keyboard-coding-system magical variables that are equivalent to
10403         defining the corresponding coding system aliases.
10404
10405         * file-coding.c (Fcoding_system_canonical_name_p): New function.
10406         * file-coding.c (Fcoding_system_alias_p): New function.
10407         * file-coding.c (Fcoding_system_aliasee): New function.
10408         * file-coding.c (append_suffix_to_symbol): New function.
10409         * file-coding.c (dangling_coding_system_alias_p): New function.
10410         * file-coding.c (Ffind_coding_system):
10411         * file-coding.c (Fcopy_coding_system):
10412         * file-coding.c (encode_coding_no_conversion):
10413         * file-coding.c (syms_of_file_coding):
10414         * file-coding.c (vars_of_file_coding):
10415         Rewrite coding system alias code.
10416         Allow nested aliases, like symbolic links.
10417         Allow redefinition of coding system aliases.
10418         Prevent existence of dangling coding system aliases.
10419
10420         * dired.c (Fuser_name_completion_1):
10421         * dired.c (Fuser_name_all_completions):
10422         A crash would happen if user did QUIT in the middle of building
10423         user_name_cache.  Remove redundant code in mainline and unwind_protect.
10424
10425         * lisp.h:
10426         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
10427
10428         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
10429         an unsigned char *.  Update all callers.
10430
10431 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10432
10433         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
10434
10435 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10436
10437         * elhash.c (hentry_description): Use more portable definition.
10438         (resize_hash_table): Initialize new hentries using
10439         xnew_array_and_zero, thereby simplifying the code.
10440
10441         * mule-charset.c (make_charset): Make sure entire object is
10442         initialized, to avoid Purify warnings.
10443
10444         * alloc.c (resize_string): Fix unlikely crash with big strings.
10445
10446 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10447
10448         * realpath.c (xrealpath):
10449         Don't call getwd().
10450
10451 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10452
10453         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
10454
10455 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
10456
10457         * unexelfsgi.c (unexec): Change the way we decide which segment
10458         should be extended.
10459
10460         Assumption that .bss section should be outside the PT_LOADable
10461         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
10462         it's present) is inside the 'data' segment. This would fail the
10463         test which was used to find a segment to grow and cover new
10464         heap. Instead of this assumption, I created another one - on IRIX
10465         the segment to grow should start below .bss and it's address
10466         should extent above the end of .bss. Once this segment is
10467         identified, it's grown to accommodate the new heap and new
10468         zero-length .bss section is added at the end of .data2.
10469
10470 2000-01-25  Martin Buchholz  <martin@xemacs.org>
10471
10472         * eval.c (Feval): Wrong number of arguments should use original
10473         function, not the indirect_function version of it.
10474
10475 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10476
10477         * glyphs-x.c (x_button_instantiate): Don't add image if
10478         it is not a pixmap.
10479         (x_locate_pixmap_file): Call Fexpand_file_name when file name
10480         is relative.
10481
10482 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10483
10484         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
10485         declaration.
10486         (DEFVAR_INT_MAGIC): Ditto.
10487         (DEFVAR_BOOL_MAGIC): Ditto.
10488         * glyphs.h: Reindent backslash.
10489
10490 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10491
10492         * glyphs-widget.c (layout_query_geometry):
10493         (layout_layout): Use correct types for gheight, gwidth.
10494
10495 2000-01-24  Martin Buchholz  <martin@xemacs.org>
10496
10497         * EmacsManager.c (QueryGeometry): Purified.
10498
10499 2000-01-23  Martin Buchholz  <martin@xemacs.org>
10500
10501         * alloc.c (make_float): Make sure entire object is initialized, to
10502         avoid Purify warnings.
10503         (pdump_register_sub): Remove useless assignment.
10504         (pdump): Use xmalloc, not malloc.
10505         (pdump_load): Use xmalloc, not malloc.
10506
10507 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10508
10509         * callproc.c:
10510         * dired-msw.c:
10511         * fileio.c:
10512         * process-nt.c:
10513         * redisplay-msw.c:
10514         * sysdep.c: Removed redundant #include <windows.h>
10515
10516 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10517
10518         * frame.c (delete_frame_internal): Do not delete device when its
10519         implementation so declares.
10520         (delete_frame_internal): Set device selected frame to nil when
10521         last frame goes away.
10522
10523         * device-msw.c (msprinter_device_system_metrics): Implemented.
10524         (mswindows_device_system_metrics): Added 'device-dpi property.
10525
10526         * device.c: (Fdevice_printer_p): Added.
10527         Added 'offset-workspace device metric.
10528
10529         * console.h (device_metrics): Declared DM_offset_workspace.
10530
10531 2000-01-23  Martin Buchholz  <martin@xemacs.org>
10532
10533         * fileio.c (Ffile_truename): Remove pointless and confusing
10534         initialization of elen.
10535
10536         * glyphs-widget.c: Compiler warning fixes.
10537
10538 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10539
10540         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
10541         instead of a Lisp_Object as argument to make it consistent with
10542         the other LIVE_P macros.
10543         (CHECK_LIVE_PROCESS): New macro.
10544
10545         * process.c: Declare Qprocess_live_p.
10546         (Fprocess_live_p): New function.
10547         (create_process): Use PROCESS_LIVE_P.
10548         (read_process_output): Ditto.
10549         (set_process_filter): Ditto.
10550         (Fdelete_process): Ditto.
10551         (kill_buffer_processes): Ditto
10552         (process_send_signal): Use CHECK_LIVE_PROCESS.
10553         (Fprocess_input_coding_system): Check whether process is still
10554         alive (fix PR#1061).
10555         (Fprocess_output_coding_system): Ditto.
10556         (Fprocess_coding_system): Ditto.
10557         (Fset_process_input_coding_system): Ditto.
10558         (Fset_process_output_coding_system): Ditto.
10559
10560 2000-01-23  Andy Piper  <andy@xemacs.org>
10561
10562         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
10563         layout and widget.
10564
10565         * glyphs.c (mark_image_instance): take into account changed
10566         image_instance format.
10567         (image_instance_equal): ditto.
10568         (image_instance_hash): ditto.
10569
10570         * glyphs-widget.c (widget_instantiate): Incorporate layout
10571         instantiation here. Delay layout of the layout until later.
10572         (layout_instantiate): deleted.
10573         (layout_query_geometry): new function. get the geometry of a
10574         layout.
10575         (layout_layout): layout a layout dynamically.
10576         (image_instantiator_widget): New function - splitting up
10577         image_instantiator_format_create_glyphs_widget for netwinder
10578         compilation.
10579         (image_instantiator_buttons):
10580         (image_instantiator_edit_fields):
10581         (image_instantiator_combo_box):
10582         (image_instantiator_scrollbar):
10583         (image_instantiator_progress_guage):
10584         (image_instantiator_tree_view):
10585         (image_instantiator_tab_control):
10586         (image_instantiator_labels):
10587         (image_instantiator_layout): ditto.
10588         (image_instantiator_format_create_glyphs_widget): Call preceding
10589         functions.
10590
10591 2000-01-22  Martin Buchholz  <martin@xemacs.org>
10592
10593         * process.c (Fset_process_coding_system):
10594         * device-x.c (Fx_keysym_hash_table):
10595         Docstring fixes.
10596
10597         * lstream.c (Lstream_write): Return documented value, not 0.
10598
10599         * fileio.c (directory_file_name):
10600         (Fsubstitute_in_file_name):
10601         (Fsubstitute_insert_file_contents_internal):
10602         (Fwrite_region_internal):
10603         * emacs.c:
10604         * sysdep.c:
10605         * getloadavg.c:
10606         * systty.h:
10607         Remove vestigial APOLLO-conditional code.
10608
10609 2000-01-21  Martin Buchholz  <martin@xemacs.org>
10610
10611         * getpagesize.h: Add guard macros.
10612         * libsst.h: Add guard macros.
10613         * libst.h: Add guard macros.
10614         * line-number.h: Add guard macros.
10615         * ndir.h: Add guard macros.
10616         * sysfloat.h: Add guard macros.
10617         * sysfile.h: Add guard macros.
10618         * sysproc.h: Add guard macros.
10619         * syswait.h: Add guard macros.
10620         * xintrinsic.h: Add guard macros.
10621         * xintrinsicp.h: Add guard macros.
10622         * xmmanager.h: Add guard macros.
10623         * xmmanagerp.h: Add guard macros.
10624         * xmprimitive.h: Add guard macros.
10625         * xmu.h: Add guard macros.
10626         * gpmevent.h: Add copyright statement. Add guard macros.
10627         * miscplay.h: Add guard macros.
10628         * *.h: Use consistent C-standards-approved guard macro names.
10629
10630         * opaque.c (make_opaque): Switch parameter order.
10631         * opaque.h (make_opaque): Switch parameter order.
10632         Update all callers.
10633         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
10634
10635         * config.h.in (type_checking_assert): Added.
10636         (bufpos_checking_assert): Added.
10637
10638 2000-01-21  Martin Buchholz  <martin@xemacs.org>
10639
10640         * alloc.c: Harmless pdump changes.
10641         - Use countof().
10642         - spell alignment correctly.
10643         * sysdep.c: Use countof()
10644
10645 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10646
10647         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
10648         initially_selected_for_input() console method, default to 0.
10649         (semi_canonicalize_console_connection): Try to delegate to
10650         canonicalize_console_connection if no such console method.
10651         (canonicalize_console_connection): Vice versa.
10652         (print_console): Do not print nil connection.
10653
10654         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
10655         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
10656         (XDEVIMPF_FRAMELESS_OK): Added.
10657         (CONSOLE_INHERITS_METHOD): Added.
10658
10659         * console-msw.c (mswindows_canonicalize_console_connection):
10660         Added.
10661         (mswindows_canonicalize_device_connection): Added.
10662
10663         * console-msw.h (struct msprinter_device): Added this struct and
10664         accessor macros.
10665         (mswindows_device): Made fontlist a lisp object.
10666
10667         * device.c (semi_canonicalize_device_connection):  Try to delegate
10668         to canonicalize_device_connection if no such console method.
10669         (canonicalize_device_connection): Vice versa.
10670         (print_device): Do not print nil connection.
10671
10672         * device-msw.c (mswindows_init_device): Call InitCommonControls
10673         when have widgets.
10674         (mswindows_delete_device): Removed fontlist deallocation.
10675         (mswindows_mark_device): Added.
10676
10677         * events.c (event_equal): Added abort() at unreached code.
10678         (event_hash): Ditto.
10679
10680         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
10681         fallback tags of Windows devices.
10682
10683         * general.c (syms_of_general): Initialized Qmsprinter.
10684
10685         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
10686         of fallback tags of Windows devices.
10687
10688         * lisp.h: Declared Qmsprinter.
10689
10690         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
10691         of strings.
10692         (mswindows_list_fonts): Ditto.
10693         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
10694         that it can be used by both mswindows and msprinter devices.
10695         (initialize_font_instance): Added.
10696         (mswindows_initialize_font_instance): Use it.
10697         (msprinter_initialize_font_instance): Added.
10698
10699         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
10700         and implementation flags check.
10701         (redisplay_without_hooks): Changed the call to the above.
10702         (Fredraw_device): Ditto.
10703         (Fredisplay_device): Ditto.
10704
10705         * redisplay-msw.c (get_frame_dc): Implemented.
10706         (get_frame_compdc): Implemented.
10707         (many functions): Use the two functions above to get device
10708         contexts, ether for a window or a printer.
10709
10710 2000-01-21  Olivier Galibert  <galibert@pobox.com>
10711
10712         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
10713         initialization here.
10714         (init_symbols_once_early): Call it.
10715         * emacs.c (main_1): Call it.
10716         * symsinit.h: Declare it.
10717
10718 2000-01-19  Olivier Galibert  <galibert@pobox.com>
10719
10720         * alloc.c: Use a lrecord_header * in the backtrace instead of a
10721         Lisp_Object.
10722         (pdump_backtrace): Ditto.
10723         (pdump_register_object): Ditto.  Cleanup use of the pointers.
10724         (pdump_get_entry): Abort if trying to register a null pointer.
10725         (pdump_dump_data): Cleanup types when relocating.
10726         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
10727         (pdump_dump_rtables): Remove bad casts.
10728         (pdump_load): Cleanup relocation w.r.t union type.  Use a
10729         Lisp_Object instead of a EMACS_INT for the hashtable
10730         reorganization.
10731
10732 2000-01-20  Martin Buchholz  <martin@xemacs.org>
10733
10734         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
10735
10736         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
10737
10738         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
10739
10740         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
10741
10742 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10743
10744         * faces.h (FACE_STRIKETHRU_P): Added.
10745
10746         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
10747         of font variants.
10748
10749         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
10750         (mswindows_set_dc_font): New function, aware of font variants,
10751         separated from mswindows_update_dc.
10752
10753         * objects-msw.h (struct mswindows_font_instance_data): Added
10754         definition.
10755
10756         * objects-msw.c (mswindows_finalize_font_instance): Delete all
10757         cached fonts and the data structure.
10758         (mswindows_initialize_font_instance): Added creation of font data
10759         structure.
10760         (mswindows_print_font_instance): Print at least something.
10761         (mswindows_create_font_variant): Implemented.
10762         (mswindows_get_hfont): Implemented.
10763
10764 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
10765
10766         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
10767         prototyping problem with msvc.
10768
10769         * emacs.c (main_1): added syms_of_gui_mswindows() call
10770
10771         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
10772         syms_of_gui_mswindows() function
10773
10774         * symsinit.h: added the prototype for syms_of_gui_mswindows()
10775
10776 2000-01-18  Martin Buchholz <martin@xemacs.org>
10777
10778         * XEmacs 21.2.27 is released.
10779
10780 2000-01-18  Martin Buchholz  <martin@xemacs.org>
10781
10782         * glyphs-eimage.c (struct tiff_error_struct):
10783         (tiff_error_func):
10784         (tiff_warning_func):
10785         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
10786
10787         * unexmips.c:
10788         * unexhp9k3.c:
10789         * unexfreebsd.c:
10790         * unexec.c: Remove vestigial Lucid C code.
10791         * unexalpha.c:
10792         * unexaix.c:
10793         * termcap.c:
10794         * libsst.c: Ansify.
10795         Remove declarations of errno and strerror().
10796
10797         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
10798
10799         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
10800
10801 2000-01-16  Martin Buchholz  <martin@xemacs.org>
10802
10803         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
10804         Optimize.
10805
10806 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10807
10808         * md5.c:
10809         * file-coding.c:
10810         * file-coding.h:
10811         Change enum eol_type to eol_type_t.
10812
10813 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10814
10815         * gui.c (get_gui_callback): Check cons before accessing car.
10816
10817 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10818
10819         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
10820         (XSETSPECIFIER_TYPE): Ditto.
10821
10822 2000-01-17  Didier Verna  <didier@xemacs.org>
10823
10824         * redisplay.c (generate_fstring_runes): compute string size in
10825         characters, not bytes.
10826
10827 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
10828
10829         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
10830
10831 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
10832
10833         * print.c (print_error_message): Call print_prepare().
10834
10835 2000-01-14  Martin Buchholz  <martin@xemacs.org>
10836
10837         * .dbxrc: Renamed from dbxrc.
10838
10839         * events.c (event_to_character):
10840         Use `assert (foo)' instead of `if (!foo) abort()'
10841
10842         * .gdbinit (xtype): Add documentation.
10843         * .gdbinit (check-temacs): New function.
10844         * .gdbinit (check-xemacs): New function.
10845         * dbxrc (check-xemacs): New function.
10846         * dbxrc (check-xemacs): New function.
10847
10848 2000-01-14  Andy Piper  <andy@xemacs.org>
10849
10850         * glyphs-widget.c (widget_query_geometry): Make sure that we
10851         calculate default dimensions correctly.
10852
10853 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10854
10855         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
10856
10857         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
10858         pdump_wire'd variable.
10859
10860         * emacs.c: (main_1): Conditionalized calls to
10861         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
10862
10863 2000-01-13  Martin Buchholz  <martin@xemacs.org>
10864
10865         * window.c (Fset_window_configuration):
10866         * sysdep.c (_start):
10867         * input-method-motif.c (res):
10868         * event-Xt.c (Xt_process_to_emacs_event):
10869         Simple compiler warning fixes.
10870
10871         * bytecode.c (funcall_compiled_function): Use the original
10872         function symbol on the backtrace list in preference to the
10873         compiled_function object in error messages.
10874
10875 2000-01-13  Andy Piper  <andy@xemacs.org>
10876
10877         * glyphs-x.c (update_widget_face): Make sure we update the widget
10878         background as well as foreground.
10879
10880 2000-01-13  Andy Piper  <andy@xemacs.org>
10881
10882         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
10883         fields to subwindow.
10884         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
10885         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
10886         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
10887         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
10888
10889         * glyphs-widget.c (check_valid_tab_orientation): new function.
10890         (initialize_widget_image_instance): zero orientation and
10891         justification.
10892         (widget_instantiate): pick up orientation.
10893         (tab_control_query_geometry): return appropriate values for
10894         vertical tabs.
10895
10896         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
10897         appropriate creation flags for left, right and bottom tabs.
10898
10899         * s/cygwin32.h: add tab definitions.
10900
10901 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10902
10903         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
10904         frame upon hiding a subwindow.
10905         (mswindows_button_instantiate): Changed the push button style to
10906         BS_PUSHBUTTON.
10907         (mswindows_button_instantiate): Removed button BS_NOTIFY
10908         style.
10909         (mswindows_button_instantiate): Removed redundant check for
10910         a disabled gui item.
10911         (mswindows_button_instantiate): Made use of WS_TABSTOP
10912         consistent: "operable" controls (edit, button, tree, scroll) have
10913         this style, "display-only" ones (static, progress gauge) do
10914         not. This style is currently ignored by XEmacs though. Also,
10915         removed the WS_EX_CONTROLPARENT style - it is not for children,
10916         it is for their parents!
10917         (mswindows_edit_field_instantiate): Ditto.
10918         (mswindows_progress_gauge_instantiate): Ditto.
10919         (mswindows_tree_view_instantiate): Ditto.
10920         (mswindows_tab_control_instantiate): Ditto.
10921         (mswindows_scrollbar_instantiate): Ditto.
10922         (mswindows_combo_box_instantiate): Ditto.
10923         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
10924         style to the "clip" window.
10925         (mswindows_button_instantiate): Removed compilation warning by
10926         equally typing terms of the ?: operator.
10927
10928 2000-01-12  Didier Verna  <didier@xemacs.org>
10929
10930         * redisplay.c (generate_fstring_runes): new parameter holding the
10931         last modeline-format extent.
10932         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
10933         extent, fill the glyph block with it.
10934         (generate_fstring_runes): handle these parameters.
10935         (generate_formatted_string_db): ditto.
10936
10937         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
10938         glyphs'extents in the modeline.
10939
10940 1999-01-11  Mike Woolley  <mike@bulsara.com>
10941
10942         * ntheap.c: Reduced the reserved heap space from 1Gb down to
10943         256Mb, as a workaround for the non-starting problem many people
10944         have experienced.
10945
10946 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10947
10948         * console-tty.c (Fset_console_tty_output_coding_system):
10949         Force redrawing tty frame.
10950
10951 2000-01-10  Didier Verna  <didier@xemacs.org>
10952
10953         * redisplay.c (generate_fstring_runes): fix size computation bug.
10954
10955 2000-01-09  William M. Perry <wmperry@aventail.com>
10956
10957         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
10958
10959 2000-01-09  Andy Piper  <andy@xemacs.org>
10960
10961         * glyphs-msw.c: index -> i to avoid shadows.
10962         (xbm_create_bitmap_from_data): make static.
10963         (check_valid_string_or_int): deleted.
10964         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
10965
10966         * glyphs-x.c (x_update_subwindow): remove unused args.
10967
10968         * glyphs.c (glyph_image_instance): return the thing. Don't set the
10969         back pointer - this is done in allocate_image_instance.
10970         (query_string_font): return Qnil to make the compiler happy.
10971         (unmap_subwindow): set to ~0 to make the compiler happy.
10972         (glyph_query_geometry): comment out until used.
10973         (glyph_layout): ditto.
10974
10975 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
10976
10977         * insdel.c (signal_after_change): Remove extraneous unbind_to().