88de93b2728b660528fc04cf6fbd2917b60c5f8a
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
4         <int> for `code'.
5         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
6         point; use <Emchar> instead of <int> for character-id.
7
8 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
11         (make_char): Likewise.
12         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
13         environment.
14         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
15         instead of <int> as the type of return value; use <Lisp_Object>
16         instead of <Emchar> as the type of argument.
17         (XCHARVAL[macro version]): Cast the result into <Emchar>.
18
19         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
20         syntaxcode> instead of <int>.
21
22 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * chartab.c (put_char_composition): Use DECODE_CHAR to get
25         character corresponding with UCS code point.
26         (Fput_char_attribute): Likewise.
27
28         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
29         character in the UCS decoding-table if the char-id is not equal to
30         the UCS code point.
31
32 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
35         for aliases; write `description'; write
36         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
37         not 0.
38
39 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * chartab.c (Fsave_char_attribute_table): Don't use
42         `save_charset_properties'.
43
44         * mule-charset.c (Fsave_charset_properties): Renamed from
45         `save_charset_properties' and changed to Lisp function again;
46         write property `type' as `CCS'; write properties `final-byte' and
47         `mother' if they exists.
48         (syms_of_mule_charset): Revive builtin function
49         `save-charset-properties' when HAVE_LIBCHISE is defined.
50
51 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
54         instead of Vexec_directory.
55         (char_attribute_system_db_file): Likewise.
56
57 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
58
59         * chartab.c (Fsave_char_attribute_table): Use
60         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
61         defined.
62
63         * mule-charset.c (save_charset_properties): Renamed from
64         `Fsave_charset_properties'; changed to non-Lisp function.
65         (syms_of_mule_charset): Abolish builtin function
66         `save-charset-properties'.
67
68 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * mule-charset.c (Fsave_charset_properties): New function when
71         HAVE_LIBCHISE is defined.
72         (syms_of_mule_charset): Add new builtin function
73         `save-charset-properties' when HAVE_LIBCHISE is defined.
74
75 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
76
77         * chartab.c (Fput_char_attribute): Convert char-specs in value of
78         `{<-|->}ancient[^*]*' to characters and put reverse links.
79         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
80         for `{<-|->}ancient[^*]*'.
81
82 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * chartab.c (Fput_char_attribute): Convert char-specs in value of
85         `{<-|->}original[^*]*' to characters and put reverse links.
86         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
87         for `{<-|->}original[^*]*'.
88
89 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
90
91         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
92
93 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * mule-charset.c (Qsystem_char_id): New variable.
96
97         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
98         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
99
100 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * chartab.c (Fput_char_attribute): When processing a reference of
103         a character, put into the end of the reversed reference of each
104         target character.
105
106 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * chartab.c (Q_same): Deleted.
109         (Q_same_of): Deleted.
110         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
111         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
112         for `{<-|->}same'.
113         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
114
115 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * chartab.c (Q_vulgar): Deleted.
118         (Q_vulgar_of): Deleted.
119         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
120         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
121         for `{<-|->}vulgar'.
122         (syms_of_chartab): Don't define `{<-|->}vulgar'.
123
124 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * chartab.c (Fput_char_attribute): Convert char-specs in value of
127         `{<-|->}wrong[^*]*' to characters and put reverse links.
128         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
129         for `{<-|->}wrong[^*]*'.
130
131 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * chartab.c (Q_vulgar): New variable.
134         (Q_vulgar_of): New variable.
135         (Fput_char_attribute): Convert char-specs in value of
136         `{->|<-}vulgar' to characters and put reverse links.
137         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
138         for `{->|<-}vulgar'.
139         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
140
141 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * text-coding.c (decode_add_er_char): Must to quote prefix string
144         as regexp.
145
146 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * mule-charset.c (put_char_ccs_code_point): Store characters of
149         =ucs whose code_points >= 0xF0000.
150
151 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
154         CHISE.
155         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
156         CHISE.
157         (complex_vars_of_mule_charset): Add new coded-charset
158         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
159         builtin characters over 0xEFFFF.
160
161         * chartab.c (syms_of_chartab): Don't define symbol
162         `system-char-id' in every case.
163
164         * char-ucs.h (Qsystem_char_id): New extern variable.
165         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
166
167 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * text-coding.c (char_encode_utf8): Try to use entity-references
170         for U-000F0000 ...  U-0010FFFF.
171
172 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * text-coding.c (ER_BUF_SIZE): New macro.
175         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
176         `er_buf'.
177         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
178         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
179
180 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * chartab.c (find_char_feature_in_family): New function.
183         (Fchar_feature): Use `find_char_feature_in_family' with
184         `->identical', `<-subsumptive' and `<-denotational'.
185
186 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * text-coding.c (char_encode_as_entity_reference): Allow prefix
189         within 8 characters; fix infinite loop.
190
191 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * chartab.c (Q_same): New variable.
194         (Q_same_of): New variable.
195         (Fput_char_attribute): Convert char-specs in value of
196         `{->|<-}same' to characters and put reverse links.
197         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
198         for `{->|<-}same'.
199         (syms_of_chartab): Add new symbols `{->|<-}same'.
200
201 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * chartab.c (Q_component): New variable.
204         (Q_component_of): Likewise.
205         (Fput_char_attribute): Convert char-specs in value of
206         `{->|<-}ideographic-component-forms' to characters and put reverse
207         links.
208         (syms_of_chartab): Add new symbols
209         `{->|<-}ideographic-component-forms'.
210
211 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
212
213         * chartab.c (Q_identical): New variable.
214         (Q_identical_from): New variable.
215         (Fchar_feature): Regard `->identical' as a feature to find
216         ancestors.
217         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
218         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
219         for `{->|<-}identical'.
220         (syms_of_chartab): Add new symbols `{->|<-}identical'.
221
222 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * char-ucs.h (encode_char_2): New inline function.
225         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
226
227 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * chartab.c (Fput_char_attribute): Convert char-specs to
230         characters in value of `ideographic-structure'.
231         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
232         for `{<-|->}simplified(@...)'.
233         (Fdefine_char): bTry to use predefined character's id.
234
235 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * fns.c (simplify_char_spec): Try to convert builtin chars to
238         defined chars.
239
240 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * chartab.c (Fput_char_attribute): Convert char-specs in value of
243         `<-simplified[^*]*' to characters and put reverse links.
244
245 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * chartab.c (Q_subsumptive): Renamed from Q_unified.
248         (Q_subsumptive_from): Renamed from Q_unified_from.
249         (Fchar_feature): Use `Q_subsumptive_from' instead of
250         `Q_unified_from'.
251         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
252         `Q_unified'.
253         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
254         `<-unified' to `<-subsumptive'.
255
256 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
259         inheritance itself; fix typo; stop recursive search if cyclic
260         inheritance is found.
261
262 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * chartab.c (Q_denotational): New variable.
265         (Q_denotational_from): New variable.
266         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
267         (put_char_attribute): New function.
268         (Fput_char_attribute): Use `put_char_attribute'; regard
269         `->denotational' and `<-denotational' as same as `->unified' and
270         `<-unified'.
271         (syms_of_chartab): Add new symbols `->denotational' and
272         `<-denotational'.
273
274 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
277         `Fget_char_attribute'.
278         (Fchar_variants): Likewise.
279         (get_char_table): Likewise.
280         (Fchar_feature): New function.
281         (put_char_composition): Use `Fchar_feature' instead of
282         `Fget_char_attribute'.
283         (Fput_char_attribute): Likewise; don't put the target character
284         into its `->unified' value.
285         (syms_of_chartab): Add new builtin function `char-feature'.
286
287 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
290         `Fget_char_attribute'.
291         (char_encode_utf8): Likewise.
292
293         * chartab.h: Add an EXFUN for `Fchar_feature'.
294
295 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * chartab.c (Vnext_defined_char_id): New variable.
298         (Fput_char_attribute): Accept characters in `->unified'.
299         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
300         new characters which are not related with builtin char-id ranges.
301         (vars_of_chartab): Add new variable `next-defined-char-id'.
302
303 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
304
305         * chartab.c (Q_unified): New variable.
306         (Q_unified_from): New variable.
307         (Fput_char_attribute): Add code for `->unified'.
308         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
309         XEmacs CHISE.
310
311 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * mule-charset.c (decode_ccs_conversion): New function.
314         (decode_defined_char): Use `decode_ccs_conversion'.
315         (decode_builtin_char): Likewise.
316
317 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * char-ucs.h: Change some charset-ids of private coded-charsets.
320
321 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
324         (char_encode_as_entity_reference): Likewise.
325         (decode_coding_big5): Modify for `decode_defined_char' and
326         `DECODE_CHAR'.
327         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
328         avoid compiler warning.
329         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
330
331         * mule-charset.c (decode_defined_char): Add new argument
332         `without_inheritance'.
333         (Fdecode_char): Add new optional argument `without_inheritance'.
334         (Fdecode_builtin_char): Modify for `Fdecode_char'.
335
336         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
337         (simplify_char_spec): Likewise.
338
339         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
340         setting.
341
342         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
343         (map_char_table): Likewise.
344         (Fdefine_char): Use `Fdecode_char' without inheritance.
345         (Ffind_char): Modify for `Fdecode_char'.
346
347         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
348
349         * char-ucs.h (decode_defined_char): Add new argument
350         `without_inheritance'.
351         (DECODE_CHAR): Likewise.
352         (MAKE_CHAR): Modify for `DECODE_CHAR'.
353
354 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
355
356         * chartab.c (Vchise_system_db_directory): New variable.
357         (vars_of_chartab): Add new variable `chise-system-db-directory'.
358
359 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
360
361         * chartab.c: EXFUN `Fmount_char_attribute_table'.
362         (print_chartab_range): Don't define when `UTF2000' is defined.
363         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
364         `CHISE_DS_open'.
365
366 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
367
368         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
369         and optional argument `rehash' is specified, call
370         `open_chise_data_source_maybe' before
371         `chise_ds_foreach_char_feature_name' is called.
372
373 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (char_attribute_list_reset_map_func): New function
376         when HAVE_LIBCHISE is defined.
377         (Fchar_attribute_list): Add new optional argument `rehash' when
378         HAVE_LIBCHISE is defined.
379         (open_chise_data_source_maybe): Use "chise-db" instead of
380         "char-db".
381         (char_attribute_system_db_file): Likewise.
382         (Fload_char_attribute_table): Use
383         `chise_feature_foreach_char_with_value' instead of
384         `chise_char_feature_value_iterate'.
385
386 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * chartab.c (Vchise_db_directory): New variable.
389         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
390
391 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
394         instead of HAVE_CHISE to specify using with libchise.
395
396         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
397
398         * chartab.h: Don't use HAVE_CHISE_CLIENT.
399
400         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
401         defined or HAVE_LIBCHISE_LIBCHISE is defined.
402         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
403         is defined.
404         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
405         HAVE_CHISE to specify using with libchise.
406         (syms_of_chartab): Don't define symbol `system-char-id' when
407         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
408
409 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
412         specify CHISE DB support.
413         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
414         of `char_attribute_system_db_file' to check feature DB file.
415
416         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
417         HAVE_CHISE_CLIENT to specify CHISE DB support.
418
419         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
420         specify CHISE DB support.
421         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
422         not defined.
423         (Freset_char_attribute_table): Use `chise_feature_setup_db'
424         instead of `char_attribute_system_db_file' to check feature DB
425         file.
426
427 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
428
429         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
430         `HAVE_CHISE_CLIENT'.
431
432 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
435         (Fsave_charset_mapping_table): Don't use
436         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
437
438         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
439         (HAVE_LIBCHISE): New macro.
440
441         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
442
443         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
444         (Fsave_char_attribute_table): Don't use
445         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
446
447 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
448
449         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
450         defined.
451         (save_uint16_byte_table): Likewise.
452         (save_byte_table): Likewise.
453         (char_table_get_db): Use `chise_ds_load_char_feature_value'
454         instead of `chise_char_load_feature_value'.
455         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
456
457 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
458
459         * chartab.h (struct Lisp_Char_Table): Delete member
460         `feature_table' if CHISE is defined.
461
462         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
463         (Fcopy_char_table): Likewise.
464         (char_table_open_db_maybe): Likewise.
465         (char_table_close_db_maybe): Likewise.
466         (char_table_get_db): Likewise.
467         (Fmount_char_attribute_table): Likewise.
468         (Fload_char_attribute_table): Likewise.
469
470 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * mule-charset.c (load_char_decoding_entry_maybe): Use
473         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
474         `chise_ccs_decode'.
475
476 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
477
478         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
479         instead of `chise_open_data_source'.
480         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
481         `chise_ds_close'.
482
483 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
486         instead of `chise_ds_open_feature_table'.
487         (char_table_close_db_maybe): Don't use `chise_ft_close'.
488
489 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * mule-charset.c (Fsave_charset_mapping_table): Use
492         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
493         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
494         `chise_ccs_sync' instead of `chise_ccst_close'.
495         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
496
497         * chartab.c (open_chise_data_source_maybe): Modify for
498         `chise_open_data_source'.
499         (char_table_open_db_maybe): Modify for
500         `chise_ds_open_feature_table'.
501
502 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
503
504         * mule-charset.c (load_char_decoding_entry_maybe): Use
505         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
506         `chise_ccst_close'.
507
508 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
509
510         * mule-charset.c (Fsave_charset_mapping_table): Use
511         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
512         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
513         `chise_dt_put_char' and `chise_dt_close'.
514         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
515         `chise_ccs_decode' and `chise_ccst_close' instead of
516         `chise_ds_open_decoding_table', `chise_dt_get_char' and
517         `chise_dt_close'.
518
519         * chartab.c (char_table_get_db): Use
520         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
521         (load_char_attribute_table_map_func): Modify for
522         `chise_char_feature_value_iterate'.
523         (Fload_char_attribute_table): Use
524         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
525
526 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
527
528         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
529
530 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
531
532         * chartab.c (put_char_table): Modify for inherited coded-charsets
533         in XEmacs CHISE.
534
535 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
536
537         * chartab.c (Fput_char_table_map_function): Fixed.
538         (word_boundary_p): Don't check charset in XEmacs CHISE.
539
540 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
541
542         * mule-charset.c (Fsave_charset_mapping_table): Use
543         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
544         instead of `chise_open_decoding_table'; refer
545         `default_chise_data_source'; use `chise_dt_close' instead of
546         `chise_close_decoding_table'.
547         (load_char_decoding_entry_maybe): Likewise.
548
549         * chartab.c (default_chise_data_source): New variable when `CHISE'
550         is defined.
551         (Fcopy_char_table): `ct->ds' is deleted.
552         (open_chise_data_source_maybe): New function.
553         (Fclose_char_data_source): New function.
554         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
555         use `chise_ds_open_feature_table' instead of
556         `chise_open_feature_table'.
557         (char_table_close_db_maybe): Use `chise_ft_close' instead of
558         `chise_close_feature_table'; `cit->ds' is deleted.
559         (syms_of_chartab): Add new builtin function
560         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
561
562         * chartab.h (default_chise_data_source): New extern variable.
563         (open_chise_data_source_maybe): New prototype.
564         (struct Lisp_Char_Table): Delete `ds'.
565
566 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
567
568         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
569         `CHISE' is defined.
570
571 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
572
573         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
574         not defined; add code for non-libchise setting.
575         (char_table_close_db_maybe): Likewise.
576         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
577         defined.
578         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
579         even if `CHISE' is not defined.
580         (Freset_char_attribute_table): Likewise.
581         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
582         `char_table_close_db_maybe' even if `CHISE' is not defined; use
583         `char_table_get_db'.
584         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
585         `char_table_close_db_maybe' even if `CHISE' is not defined.
586
587 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
588
589         * chartab.c (char_table_open_db_maybe): New function.
590         (char_table_close_db_maybe): New function.
591         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
592         (Freset_char_attribute_table): Likewise.
593         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
594         `char_table_close_db_maybe'.
595         (Fload_char_attribute_table): Likewise.
596
597 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
598
599         * chartab.c: Don't include <chise.h> because it is included in
600         chartab.h.
601         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
602         defined.
603         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
604         `CHISE' is defined.
605         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
606         `CHISE' is defined.
607         (Fclose_char_attribute_table): Close `ct->feature_table' and
608         `ct->ds' when `CHISE' is defined.
609         (Freset_char_attribute_table): Likewise.
610         (load_char_attribute_maybe): Use `cit->ds' and
611         `cit->feature_table' when `CHISE' is defined.
612         (Fload_char_attribute_table): Likewise.
613
614         * chartab.h: Include <chise.h> when `CHISE' is defined.
615         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
616         when `CHISE' is defined.
617
618 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
621         is defined.
622         (char_table_description): Likewise.
623         (Fmake_char_table): Likewise.
624         (Fcopy_char_table): Likewise.
625         (Fmount_char_attribute_table): Likewise.
626         (Fclose_char_attribute_table): Likewise.
627         (Freset_char_attribute_table): Likewise.
628         (load_char_attribute_maybe): Likewise.
629         (Fload_char_attribute_table): Likewise.
630
631         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
632         defined.
633
634 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
635
636         * chartab.c (load_char_attribute_table_map_func): New function
637         when CHISE is defined.
638         (Qload_char_attribute_table_map_function): Don't define when CHISE
639         is defined.
640         (Fload_char_attribute_table_map_function): Likewise.
641         (Fload_char_attribute_table): Use libchise when `CHISE' is
642         defined.
643         (syms_of_chartab): Don't define
644         `load-char-attribute-table-map-function' when CHISE is defined.
645
646 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
647
648         * chartab.c: Include <chise.h> when `CHISE' is defined.
649         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
650
651 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
652
653         * mule-charset.c (charset_code_point): Fix problem when searching
654         in mother CCS fails with `defined_only' mode.
655
656 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
657
658         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
659         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
660         (put_char_composition): Likewise.
661         (Fput_char_attribute): Likewise.
662         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
663
664 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
665
666         * chartab.c (Q_ucs): Deleted.
667         (Fput_char_attribute): Don't refer `->ucs'.
668         (Fdefine_char): Likewise.
669         (Ffind_char): Likewise.
670         (syms_of_chartab): Delete `->ucs'.
671
672 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
673
674         * mule-charset.c (Qmap_cns11643_2): Renamed from
675         `Qchinese_cns11643_2'.
676         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
677         `chinese-cns11643-2'.
678         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
679         `=cns11643-2'.
680
681 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
682
683         * mule-charset.c (Qmap_cns11643_1): Renamed from
684         `Qchinese_cns11643_1'.
685         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
686         `chinese-cns11643-1'.
687         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
688         `=cns11643-1'.
689
690 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
691
692         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
693         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
694         `chinese-gb12345'.
695         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
696         `=gb12345'.
697
698 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
699
700         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
701         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
702         `chinese-gb2312'.
703         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
704         `=gb2312'.
705
706 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
707
708         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
709         (syms_of_mule_charset): Add new symbol `=big5' instead of
710         `chinese-big5'.
711         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
712
713 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
716         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
717         `korean-ksc5601'.
718         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
719         `=ks-x1001'.
720
721 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
722
723         * mule-charset.c (Qmap_jis_x0212): Renamed from
724         `Qjapanese_jisx0212'.
725         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
726         `japanese-jisx0212'.
727         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
728         `=jis-x0212'.
729
730 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
731
732         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
733         `Qjapanese_jisx0208'.
734         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
735         of `japanese-jisx0208'.
736         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
737         `=jis-x0208-1983'.
738
739 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
742         `Qjapanese_jisx0208_1978'.
743         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
744         of `japanese-jisx0208-1978'.
745         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
746         `=jis-x0208-1978'.
747
748 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
749
750         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
751         only for XEmacs CHISE.
752
753 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
754
755         * char-ucs.h: Compact non-ISO-IR charset-ids.
756         (LEADING_BYTE_UCS): Changed to -177.
757         (LEADING_BYTE_CONTROL_1): Changed to -77.
758         (LEADING_BYTE_UCS_BMP): Changed to -176.
759         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
760
761 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * mule-charset.c (Qiso_ir): New variable.
764         (Fmake_charset): Recognise new property `iso-ir'.
765         (syms_of_mule_charset): Add new symbol `iso-ir'.
766
767 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
768
769         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
770         n to -n; charset-id of non ISO-IR sets are changed to positive
771         numbers.
772
773 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
774
775         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
776         for &MCS-XXXXXXXX; values.
777
778 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
779
780         * mule.c (Vxemacs_chise_version): Renamed from
781         `Vutf_2000_version'.
782         (vars_of_mule): Add new variable `xemacs-chise-version'; define
783         `utf-2000-version' as an alias for `xemacs-chise-version'.
784
785 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
788         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
789         defined.
790
791         * config.h.in (CHISE): New macro.
792
793 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
794
795         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
796         of `ucs'.
797         (Qmap_ucs): New variable.
798         (syms_of_mule_charset): Add new symbol `=ucs'.
799         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
800
801         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
802         (simplify_char_spec): Likewise.
803
804         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
805
806         * char-ucs.h (Qmap_ucs): New extern variable.
807
808 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
809
810         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
811         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
812         don't define it when UTF2000 is not defined.
813         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
814         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
815         when UTF2000 is not defined.
816         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
817         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
818
819 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
822
823         * mule-charset.c (Vcharset_ucs_gb): Deleted.
824         (Qucs_gb): Deleted.
825         (syms_of_mule_charset): Delete `ucs-gb'.
826         (complex_vars_of_mule_charset): Likewise.
827
828 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
829
830         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
831
832         * mule-charset.c (Vcharset_ucs_cns): Deleted.
833         (Qucs_cns): Deleted.
834         (syms_of_mule_charset): Delete `ucs-cns'.
835         (complex_vars_of_mule_charset): Likewise.
836
837 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
838
839         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
840
841         * mule-charset.c (Vcharset_ucs_jis): Deleted.
842         (Qucs_jis): Deleted.
843         (syms_of_mule_charset): Delete `ucs-jis'.
844         (complex_vars_of_mule_charset): Likewise.
845
846 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
847
848         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
849
850         * mule-charset.c (Vcharset_ucs_ks): Deleted.
851         (Qucs_ks): Deleted.
852         (syms_of_mule_charset): Delete `ucs-ks'.
853         (complex_vars_of_mule_charset): Likewise.
854
855 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
856
857         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
858         (Qideograph_daikanwa_2): Deleted.
859         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
860         (complex_vars_of_mule_charset): Likewise.
861
862         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
863         (LEADING_BYTE_DAIKANWA_1): Deleted.
864         (LEADING_BYTE_DAIKANWA_2): Deleted.
865         (MIN_CHAR_DAIKANWA): Deleted.
866         (MAX_CHAR_DAIKANWA): Deleted.
867
868 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
869
870         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
871         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
872         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
873
874         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
875         (Vcharset_ideograph_daikanwa): Deleted.
876         (Qideograph_hanziku_{1..12}): Deleted.
877         (Qideograph_daikanwa): Deleted.
878         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
879         Vcharset_ideograph_daikanwa.
880         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
881         `ideograph-hanziku-{1..12}'.
882         (complex_vars_of_mule_charset): Likewise.
883
884 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
885
886         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
887
888         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
889         (Qideograph_gt_pj_{1..11}): Deleted.
890         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
891         (complex_vars_of_mule_charset): Likewise.
892
893 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * mule-charset.c (Vcharset_ucs_big5): Deleted.
896         (Vcharset_ideograph_gt): Deleted.
897         (Qucs_big5): Deleted.
898         (Qideograph_gt): Deleted.
899         (syms_of_mule_charset): Delete symbol `ucs-big5' and
900         `ideograph-gt'.
901         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
902         and `ideograph-gt'.
903
904         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
905         (LEADING_BYTE_GT): Deleted.
906         (MIN_CHAR_GT): Deleted.
907         (MAX_CHAR_GT): Deleted.
908
909 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
912
913 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
914
915         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
916         (save_uint16_byte_table): Likewise.
917         (save_byte_table): Likewise; convert values by it.
918         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
919         for `ideographic-structure'.
920         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
921         as the filter for `ideographic-structure'.
922
923 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
924
925         * chartab.c (put_char_composition): New function.
926         (Fput_char_attribute): Use `put_char_composition'; use
927         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
928
929         * fns.c (simplify_char_spec): New function.
930         (char_ref_simplify_spec): New function.
931         (Fchar_refs_simplify_char_specs): New function.
932         (syms_of_fns): Add new builtin function
933         `char-refs-simplify-char-specs'.
934
935 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
936
937         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
938         (Qideograph_cbeta): Deleted.
939         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
940         (complex_vars_of_mule_charset): Likewise.
941
942         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
943         (MIN_CHAR_CBETA): Comment out.
944         (MAX_CHAR_CBETA): Likewise.
945
946 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
947
948         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
949         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
950         CHISE client feature.
951
952 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
953
954         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
955
956 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
957
958         * mule-charset.c (charset_lookup_description_1): Use
959         `NUM_LEADING_BYTES' in UTF-2000.
960
961 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
962
963         * char-ucs.h (GC_CHARSETP): Deleted.
964
965 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * char-ucs.h (MAX_CHAR_GT): Updated.
968
969 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
970
971         * text-coding.c: Sync with XEmacs 21.4.10.
972
973 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * mule-charset.c (Vcharset_china3_jef): Deleted.
976         (Qchina3_jef): Deleted.
977         (syms_of_mule_charset): Don't define `china3-jef'.
978         (complex_vars_of_mule_charset): Likewise.
979
980         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
981         (MIN_CHAR_CHINA3_JEF): Comment out.
982         (MAX_CHAR_CHINA3_JEF): Comment out.
983
984 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
985
986         * mule-charset.c (Vcharset_ucs_gb): New variable.
987         (Qucs_gb): New variable.
988         (syms_of_mule_charset): Add new symbol `ucs-gb'.
989         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
990
991         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
992
993 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * mule-charset.c (charset_code_point): if a coded-charset has a
996         final-byte, don't inherit the builtin range of the mother CCS.
997
998 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
999
1000         * mule-charset.c (charset_code_point): Fix problem about
1001         inheritance.
1002
1003 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1004
1005         * mule-charset.c (decode_builtin_char): Reorganized.
1006
1007 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1008
1009         * text-coding.c (char_encode_as_entity_reference): Modify for
1010         `charset_code_point'.
1011         (char_encode_shift_jis): Likewise.
1012         (char_encode_big5): Likewise.
1013         (char_encode_utf8): Likewise.
1014         (char_encode_iso2022): Likewise.
1015
1016         * mule-charset.c (charset_code_point): Add new argument
1017         `defined_only'.
1018         (Fencode_char): Add new optional argument `defined_only'.
1019
1020         * chartab.c (put_char_table): Modify for `charset_code_point'.
1021
1022         * char-ucs.h (charset_code_point): Add new argument
1023         `defined_only'.
1024         (encode_char_1): Modify for `charset_code_point'.
1025
1026 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1027
1028         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1029         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1030
1031 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1032
1033         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1034         (Qjis_x0208): Likewise.
1035         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1036         XCHARSET_FINAL(charset).
1037         (charset_code_point): Modify condition for final-byte based
1038         builtin-chars.
1039         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1040         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1041         in UTF-2000; specify `=jis-x0208' as the mother of
1042         `japanese-jisx0208-1978', `japanese-jisx0208' and
1043         `japanese-jisx0208-1990' in UTF-2000.
1044
1045 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1046
1047         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1048
1049 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1050
1051         * text-coding.c (decode_coding_utf16): Support UTF-16.
1052         (char_encode_utf16): Fixed.
1053
1054 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * text-coding.c (Qutf16): New variable in MULE.
1057         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1058         (Fcoding_system_type): Add `utf-16' in MULE.
1059         (struct detection_state): Add a structure for utf16 in MULE.
1060         (detect_coding_type): Setup st->utf16.mask in MULE.
1061         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1062         MULE.
1063         (reset_encoding_stream): Use `char_encode_utf16' and
1064         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1065         (detect_coding_utf16): New function [incomplete].
1066         (decode_coding_utf16): New function [support only UCS-2].
1067         (char_encode_utf16): New function.
1068         (char_finish_utf16): New function.
1069         (syms_of_file_coding): Add new symbol `utf-16'; setup
1070         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1071
1072         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1073         UTF-2000.
1074         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1075         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1076
1077 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1078
1079         * chartab.c (put_char_table): When a charset is specified as a
1080         range in UTF-2000, don't support builtin characters.
1081
1082 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1083
1084         * mule-charset.c (decode_defined_char): Don't refer external
1085         database if Qunbound or Qnil are found.
1086         (Fsave_charset_mapping_table): Don't define it if
1087         HAVE_CHISE_CLIENT is not defined.
1088         (Freset_charset_mapping_table): New function.
1089         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1090         found in external database.
1091         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1092         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1093         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1094
1095 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1098         not.
1099
1100 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1101
1102         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1103         Q_lowercase, Q_uppercase in UTF-2000.
1104
1105         * chartab.c (get_char_table): Add special code for the standard
1106         case table to use character attribute `->downcase' and
1107         `->uppercase' for case operations in UTF-2000.
1108
1109         * casetab.c (Qflippedcase): New variable in UTF-2000.
1110         (Q_lowercase): Likewise.
1111         (Q_uppercase): Likewise.
1112         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1113         and `->uppercase' in UTF-2000.
1114         (complex_vars_of_casetab): Assign attribute name `downcase' to
1115         downcase and CANON table of Vstandard_case_table in UTF-2000;
1116         assign attribute name `flippedcase' to upcase and EQV table of
1117         Vstandard_case_table in UTF-2000.
1118
1119 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1120
1121         * text-coding.c (decode_add_er_char): Support isolated-chars.
1122         (char_encode_as_entity_reference): Likewise.
1123
1124 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1125
1126         * emacs.c (Vutf_2000_lisp_directory): New variable.
1127         (Vconfigure_utf_2000_lisp_directory): Likewise.
1128         (complex_vars_of_emacs): Add new variable
1129         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1130
1131 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1132
1133         * char-ucs.h (DECODE_CHAR): Delete special code for
1134         `chinese-big5-1' and `chinese-big5-2'.
1135
1136         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1137         (Qbig5_2): Likewise.
1138         (decode_defined_char): Support CONVERSION_BIG5_1 and
1139         CONVERSION_BIG5_2.
1140         (decode_builtin_char): Likewise.
1141         (charset_code_point): Likewise.
1142         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1143         'conversion in UTF-2000.
1144         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1145         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1146         `chinese-big5-2' as children of `chinese-big5'.
1147
1148         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1149         (CONVERSION_BIG5_2): New macro.
1150
1151 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1152
1153         * text-coding.c (char_encode_big5): Support entity-reference.
1154
1155 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * text-coding.c (char_encode_as_entity_reference): New function.
1158         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1159
1160 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1161
1162         * text-coding.c (decode_coding_big5): Support entity-reference
1163         decoding feature.
1164
1165 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1166
1167         * text-coding.c (allocate_coding_system): Initialize initial
1168         charsets for CODESYS_UTF8.
1169         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1170         charset-g2 for CODESYS_UTF8.
1171         (decode_coding_utf8): Use charset-g0.
1172         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1173         to force variants to map to UCS.
1174
1175 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * text-coding.c (Qutf_8_mcs): New variable.
1178         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1179         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1180         instead of `utf-8' in UTF-2000.
1181
1182 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1183
1184         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1185         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1186         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1187         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1188         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1189         CONVERSION_96x96x96x96 are introduced.
1190         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1191         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1192         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1193
1194         * char-ucs.h (CONVERSION_94): New macro.
1195         (CONVERSION_96): New macro.
1196         (CONVERSION_94x94): New macro.
1197         (CONVERSION_96x96): New macro.
1198         (CONVERSION_94x94x94): New macro.
1199         (CONVERSION_96x96x96): New macro.
1200         (CONVERSION_94x94x94x60): New macro.
1201         (CONVERSION_94x94x94x94): New macro.
1202         (CONVERSION_96x96x96x96): New macro.
1203
1204 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1205
1206         * chartab.c (Vcharacter_variant_table): Deleted.
1207         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1208         of `Vcharacter_variant_table'.
1209         (Fput_char_attribute): Likewise.
1210         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1211         (complex_vars_of_chartab): Likewise.
1212
1213 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1214
1215         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1216
1217         * fns.c (Qideographic_structure): New variable.
1218         (Qkeyword_char): New variable.
1219         (ids_format_unit): New function.
1220         (Fideographic_structure_to_ids): New function.
1221         (syms_of_fns): Add new symbols `ideographic-structure' and
1222         `:char'; add new builtin function `ideographic-structure-to-ids'.
1223
1224         * data.c (Fchar_ref_p): New function.
1225         (syms_of_data): Add new builtin function `char-ref-p'.
1226
1227         * chartab.h: Add an EXFUN for `Ffind_char'.
1228
1229 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1230
1231         * text-coding.c (Vcharacter_composition_table): Deleted.
1232         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1233         in every UTF-2000.
1234
1235         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1236         UTF-2000.
1237         (Vcharacter_composition_table): Deleted.
1238         (Fget_composite_char): Use the implementation for external-DB
1239         support in every UTF-2000.
1240         (Fput_char_attribute): Likewise.
1241         (char_attribute_system_db_file): Don't define if external-DB
1242         feature is not available.
1243         (Fsave_char_attribute_table): Likewise.
1244         (Fmount_char_attribute_table): Likewise.
1245         (Fclose_char_attribute_table): Likewise.
1246         (Freset_char_attribute_table): Likewise.
1247         (Fload_char_attribute_table): Likewise.
1248         (syms_of_chartab): Don't define `save-char-attribute-table',
1249         `mount-char-attribute-table', `reset-char-attribute-table',
1250         `close-char-attribute-table' and `load-char-attribute-table' if
1251         external-DB feature is not available.
1252         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1253
1254 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * text-coding.c (Qcomposition): Add extern if external-DB feature
1257         is supported.
1258         (Vcharacter_composition_table): Don't add extern if external-DB
1259         feature is supported.
1260         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1261         character composition rule if external-DB feature is supported.
1262
1263         * chartab.c (Vcharacter_composition_table): Don't define if
1264         external-DB feature is supported.
1265         (Qcomposition): New variable.
1266         (Fget_composite_char): New implementation for external-DB support.
1267         (Fput_char_attribute): Use `composition' property of each
1268         character instead of `Vcharacter_composition_table' to store
1269         character-composition rules if external-DB feature is supported.
1270         (syms_of_chartab): Add new symbol `composition'.
1271         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1272         external-DB feature is supported.
1273
1274 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1275
1276         * chartab.c (Vchar_db_stingy_mode): New variable.
1277         (load_char_attribute_maybe): Close database if
1278         Vchar_db_stingy_mode is not NIL.
1279         (Fload_char_attribute_table_map_function): Use
1280         `get_char_id_table_0' instead of `get_char_id_table'.
1281         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1282
1283         * chartab.h (get_char_id_table_0): New inline function.
1284         (get_char_id_table): Use `get_char_id_table_0'.
1285
1286 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1287
1288         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1289         and `COMPOSE_ADD_CHAR'.
1290         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1291
1292 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1293
1294         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1295         instead of `DECODE_ADD_UCS_CHAR'.
1296         (COMPOSE_ADD_CHAR): Likewise.
1297
1298 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1299
1300         * text-coding.c (decode_flush_er_chars): New inline function.
1301         (decode_add_er_char): New function.
1302         (decode_coding_utf8): Use `decode_flush_er_chars' and
1303         `decode_add_er_char'.
1304
1305 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1306
1307         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1308         done before `decode_output_utf8_partial_char'.
1309
1310         * mule-charset.c (complex_vars_of_mule_charset): Specify
1311         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1312         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1313
1314 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1315
1316         * mule-charset.c (decode_defined_char): New function; search
1317         mother.
1318         (decode_builtin_char): Don't search mother if
1319         XCHARSET_MAX_CODE(charset) == 0.
1320         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1321         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1322         (Fdecode_char): Use `decode_defined_char' instead of
1323         `DECODE_DEFINED_CHAR'.
1324         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1325         mother of `Vcharset_ucs_jis'.
1326
1327         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1328         instead of `DECODE_DEFINED_CHAR'.
1329
1330         * char-ucs.h (decode_defined_char): Renamed from
1331         `DECODE_DEFINED_CHAR'; changed to normal function.
1332         (DECODE_CHAR): Use `decode_defined_char' instead of
1333         `DECODE_DEFINED_CHAR'.
1334
1335         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1336
1337 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1338
1339         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1340
1341         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1342         variable.
1343         (Quse_entity_reference): New variable.
1344         (Qd): New variable.
1345         (Qx): New variable.
1346         (QX): New variable.
1347         (coding_system_description): Add description for
1348         `ccs_priority_list'.
1349         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1350         (allocate_coding_system): Initialize `ccs_priority_list' in
1351         UTF-2000.
1352         (Fmake_coding_system): Add description about
1353         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1354         (codesys).
1355         (Fcoding_system_property): Accept `disable-composition' and
1356         `use-entity-reference' in UTF-2000.
1357         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1358         in UTF-2000.
1359         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1360         (decode_coding_utf8): Decode entity-reference if
1361         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1362         (char_encode_utf8): Encode non-Unicode characters as
1363         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1364         (str->codesys).
1365         (syms_of_file_coding): Add new symbols `use-entity-reference',
1366         `d', `x', `X'.
1367         (vars_of_file_coding): Add new variable
1368         `coded-charset-entity-reference-alist'.
1369         (complex_vars_of_file_coding): Declare `disable-composition' and
1370         `use-entity-reference' to be coding-system-properties in UTF-2000.
1371
1372         * file-coding.h (struct Lisp_Coding_System): Add new member
1373         `use_entity_reference' and `ccs_priority_list'.
1374         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1375         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1376         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1377
1378 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1379
1380         * chartab.c (save_uint8_byte_table): Don't clear the table.
1381         (save_uint16_byte_table): Likewise.
1382         (save_byte_table): Likewise.
1383         (Fmount_char_attribute_table): New function.
1384         (syms_of_chartab): Add new builtin function
1385         `mount-char-attribute-table'.
1386
1387 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1390         "w+" mode.
1391         (load_char_decoding_entry_maybe): Open database as read-only mode.
1392
1393         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1394         open database as "w+" mode.
1395         (load_char_attribute_maybe): Open database as read-only mode.
1396         (Fload_char_attribute_table): Likewise.
1397
1398 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1401         (char_table_description): Delete member `db_file'.
1402         (Fmake_char_table): Don't refer `ct->db_file'.
1403         (Fcopy_char_table): Likewise.
1404         (Fsave_char_attribute_table): Likewise.
1405         (Fclose_char_attribute_table): Likewise.
1406         (Freset_char_attribute_table): Likewise.
1407         (load_char_attribute_maybe): Likewise.
1408         (Fload_char_attribute_table): Likewise.
1409
1410         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1411
1412 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1413
1414         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1415         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1416         `ct->db' is living.
1417         (load_char_attribute_maybe): Likewise.
1418         (Fload_char_attribute_table): Likewise.
1419
1420 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1421
1422         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1423         `ct->db_file' unconditionally.
1424
1425 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1426
1427         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1428         UTF-2000.
1429         (char_table_description): Add description for `db_file' and `db'
1430         in UTF-2000.
1431         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1432         UTF-2000.
1433         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1434         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1435         (Fclose_char_attribute_table): New function.
1436         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1437         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1438         and `cit->db'.
1439         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1440         (syms_of_chartab): Add new builtin function
1441         `Fclose_char_attribute_table'.
1442
1443 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1444
1445         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1446         `db' in UTF-2000.
1447         (load_char_attribute_maybe): Change interface.
1448         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1449
1450 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1451
1452         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1453
1454 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1455
1456         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1457         instead of `DECODE_CHAR' for mother; don't use special code for
1458         chinese-big5 to use code space of chinese-big5-1 and
1459         chinese-big5-2.
1460         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1461         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1462
1463         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1464         (MAX_CHAR_BIG5_CDP): Revival.
1465
1466 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1467
1468         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1469         the XLFD registry-encoding name of `chinese-big5'.
1470
1471 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1472
1473         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1474         (Qchinese_big5_cdp): Deleted.
1475         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1476         (complex_vars_of_mule_charset): Delete coded-charset
1477         `chinese-big5-cdp'.
1478
1479         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1480         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1481         `CHARSET_ID_OFFSET - n' for private CCS.
1482         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1483         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1484         of `MIN_LEADING_BYTE'.
1485         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1486         `(CHARSET_ID_OFFSET - 97)'.
1487         (MIN_CHAR_BIG5_CDP): Deleted.
1488         (MAX_CHAR_BIG5_CDP): Deleted.
1489
1490 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1491
1492         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1493
1494 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1497         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1498         chartab.c].
1499
1500         * chartab.c (Vutf_2000_version): Moved to mule.c.
1501         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1502
1503 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1504
1505         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1506         when HAVE_CHISE_CLIENT is not defined.
1507
1508         * mule.c (vars_of_mule): Provide feature `chise' when
1509         HAVE_CHISE_CLIENT is defined.
1510
1511 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1512
1513         * config.h.in (UTF2000): Add comment.
1514         (HAVE_CHISE_CLIENT): New macro.
1515
1516 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1517
1518         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1519         CONSP.
1520         (Fput_char_attribute): Likewise.
1521         (char_attribute_system_db_file): Encode file-name of attribute.
1522         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1523         the initial value.
1524
1525 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1526
1527         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1528         (Fsave_charset_mapping_table): Use
1529         `char_attribute_system_db_file'.
1530         (load_char_decoding_entry_maybe): Likewise.
1531
1532         * chartab.h (Qsystem_char_id): New external variable.
1533         (char_attribute_system_db_file): New prototype.
1534
1535         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1536         (char_attribute_system_db_file): New function.
1537         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1538         (Freset_char_attribute_table): Likewise.
1539         (load_char_attribute_maybe): Likewise.
1540         (Fload_char_attribute_table): Likewise.
1541         (syms_of_chartab): Add new symbol `system-char-id'.
1542
1543 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1544
1545         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1546         `XCHARSET_GRAPHIC(ccs)'.
1547
1548 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1549
1550         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1551
1552 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1553
1554         * chartab.c (Q_ucs_variants): New variable.
1555         (syms_of_chartab): Add new symbol `->ucs-variants'.
1556         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1557         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1558         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1559
1560         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1561
1562         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1563         `HAVE_DATABASE' is defined.
1564         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1565         `HAVE_DATABASE' is defined.
1566
1567 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1568
1569         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1570         attribute-table.
1571         (Freset_char_attribute_table): New function.
1572         (syms_of_chartab): Add new builtin function
1573         `reset-char-attribute-table'.
1574
1575 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1576
1577         * chartab.c (load_char_attribute_maybe): Don't make directories.
1578
1579 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1580
1581         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1582
1583         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1584         for decoding-table.
1585
1586 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1587
1588         * mule-charset.c (Fsave_charset_mapping_table): Use
1589         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1590
1591         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1592         instead of `XCHARSET_CHARS'.
1593
1594 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1595
1596         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1597         (XCHARSET_BYTE_SIZE): Likewise.
1598
1599         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1600         mule-charset.c].
1601         (XCHARSET_BYTE_SIZE): Likewise.
1602
1603 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1604
1605         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1606         data-directory to store database.
1607         (Fsave_char_attribute_table): Likewise.
1608         (load_char_attribute_maybe): Likewise.
1609         (Fload_char_attribute_table): Likewise.
1610
1611 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1612
1613         * mule-charset.c (Fsave_charset_mapping_table): New function.
1614         (syms_of_mule_charset): Add new builtin function
1615         `save-charset-mapping-table'.
1616
1617 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1618
1619         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1620         (get_ccs_octet_table): New inline function.
1621         (put_ccs_octet_table): Likewise.
1622         (decoding_table_put_char): Use `get_ccs_octet_table' and
1623         `put_ccs_octet_table'.
1624         (decoding_table_remove_char): Use `decoding_table_put_char'.
1625         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1626
1627         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1628         into encoding_table.
1629         (make_charset): Use Qunbound instead Qnil as initial value of
1630         decoding_table.
1631
1632 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1633
1634         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1635         element is Qunloaded.
1636         (map_over_uint16_byte_table): Likewise.
1637         (map_over_byte_table): Likewise.
1638         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1639         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1640         database support, load encoding-table of the specified
1641         coded-charset if it is not loaded yet.
1642         (save_uint8_byte_table): New function of UTF-2000 with external
1643         database support.
1644         (save_uint16_byte_table): Likewise.
1645         (save_byte_table): Likewise.
1646         (Fput_char_attribute): Don't store value into external database
1647         even if the external database feature is supported in UTF-2000;
1648         set `attribute' as name of char-table if the external database
1649         feature is supported.
1650         (Fsave_char_attribute_table): New function in UTF-2000.
1651         (syms_of_chartab): Add new builtin function
1652         `save-char-attribute-table' in UTF-2000.
1653
1654 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1655
1656         * chartab.c (char_attribute_table_to_put): New variable in
1657         UTF-2000.
1658         (Qput_char_table_map_function): Likewise.
1659         (value_to_put): Likewise.
1660         (Fput_char_table_map_function): New function in UTF-2000.
1661         (put_char_table): Use `Fmap_char_attribute' for
1662         CHARTAB_RANGE_CHARSET in UTF-2000.
1663         (Fput_char_attribute): Store symbol instead of string in
1664         `XCHAR_TABLE_NAME (table)'.
1665         (load_char_attribute_maybe): Likewise.
1666         (syms_of_chartab): Add new symbol/function
1667         `put-char-table-map-function'.
1668
1669 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1670
1671         * database.h: Add new EXFUN for `Fmap_database'.
1672
1673         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1674         (syms_of_database): Likewise.
1675
1676         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1677         UTF-2000.
1678         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1679         (XCHAR_TABLE_UNLOADED): Likewise.
1680
1681         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1682         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1683         HAVE_DATABASE is defined.
1684         (char_attribute_table_to_load): New variable of UTF-2000 with
1685         external database support.
1686         (Qload_char_attribute_table_map_function): Likewise.
1687         (Fload_char_attribute_table_map_function): New function of
1688         UTF-2000 with external database support.
1689         (Fload_char_attribute_table): New function of UTF-2000.
1690         (Fmap_char_attribute): Call Fload_char_attribute_table if
1691         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1692         (syms_of_chartab): Add new symbol and function
1693         `load-char-attribute-table-map-function' in UTF-2000 with external
1694         database support; add new function `load-char-attribute-table' in
1695         UTF-2000.
1696
1697 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1698
1699         * chartab.h (load_char_attribute_maybe): New prototype for
1700         UTF-2000 with DATABASE support.
1701         (get_char_id_table): Use `load_char_attribute_maybe' if
1702         HAVE_DATABASE is defined.
1703
1704         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1705         with DATABASE support.
1706
1707 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1708
1709         * chartab.c (Fput_char_attribute): Use S-expression as key of
1710         external database.
1711
1712         * chartab.h (get_char_id_table): Use S-expression as key of
1713         external database.
1714
1715 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1716
1717         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1718         if an element is not loaded, load the corresponding attributes
1719         from an external database.
1720         (map_over_uint16_byte_table): Likewise.
1721         (map_over_byte_table): Likewise.
1722         (map_char_table): Modify for `map_over_uint8_byte_table',
1723         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1724         element is not loaded, load the corresponding attributes from an
1725         external database.
1726         (Fput_char_attribute): Change initial values to Qunloaded.
1727
1728         * chartab.h (get_char_id_table): If a character attribute is not
1729         loaded and the attribute value is not found in an external
1730         database, store Qunbound as the attribute value.
1731
1732 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1733
1734         * chartab.c (BT_UINT8_unloaded): New macro.
1735         (UINT8_VALUE_P): Accept Qunloaded.
1736         (UINT8_ENCODE): Likewise.
1737         (UINT8_DECODE): Likewise.
1738         (BT_UINT16_unloaded): New macro.
1739         (UINT16_VALUE_P): Accept Qunloaded.
1740         (UINT16_ENCODE): Likewise.
1741         (UINT16_DECODE): Likewise.
1742         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1743         BT_UINT16_unloaded.
1744         (mark_char_table): Mark `ct->name' in UTF-2000.
1745         (char_table_description): Add `name' in UTF-2000.
1746         (Fmake_char_table): Initialize `ct->name'.
1747         (Fcopy_char_table): Copy `ct->name'.
1748         (Fput_char_attribute): Store value into an external database if
1749         HAVE_DATABASE is defined.
1750
1751         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1752         UTF-2000.
1753         (CHAR_TABLE_NAME): New macro in UTF-2000.
1754         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1755         (get_char_id_table): Try to read an external database if Qunloaded
1756         is stored in a table.
1757
1758         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1759         Qunloaded.
1760
1761 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1762
1763         * database.h: Add EXFUN definitions for Fopen_database,
1764         Fput_database, Fget_database and Fclose_database.
1765
1766         * data.c (Qunloaded): New variable in UTF-2000.
1767
1768         * lisp.h (Qunloaded): New variable in UTF-2000.
1769
1770 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1771
1772         * mule-charset.c (put_char_ccs_code_point): Modify for
1773         `decoding_table_remove_char' and `decoding_table_put_char'.
1774         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1775
1776         * char-ucs.h (decoding_table_remove_char): Change arguments to
1777         hide decoding_table vector.
1778         (decoding_table_put_char): Likewise.
1779
1780 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1781
1782         * mule-charset.c (decoding_table_remove_char): Moved to
1783         char-ucs.h.
1784         (decoding_table_put_char): Likewise.
1785
1786         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1787         from mule-charset.c].
1788         (decoding_table_remove_char): New inline function [moved from
1789         mule-charset.c].
1790         (decoding_table_put_char): Likewise.
1791
1792 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1793
1794         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1795         extension.
1796
1797 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1798
1799         * mule-charset.c (decode_builtin_char): Support mother charsets.
1800
1801 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1802
1803         * mule-charset.c (Q94x94x60): New variable.
1804         (charset_code_point): Support conversion `94x94x60'.
1805         (Fmake_charset): Likewise.
1806         (syms_of_mule_charset): Add new symbol `94x94x60'.
1807
1808         * char-ucs.h (CONVERSION_94x94x60): New macro.
1809
1810 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1811
1812         * mule-charset.c (charset_code_point): Unify code about
1813         `code-offset'.
1814
1815 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1816
1817         * mule-charset.c (charset_code_point): Merge code about builtin
1818         characters into code about mother charsets; don't use
1819         `range_charset_code_point'.
1820         (range_charset_code_point): Deleted.
1821
1822 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1823
1824         * mule-charset.c (Qcode_offset): New variable.
1825         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1826         `max-code'; accept new property `code-offset'.
1827         (syms_of_mule_charset): Add new symbol `code-offset'.
1828
1829 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1830
1831         * mule-charset.c (range_charset_code_point): Fixed.
1832
1833 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1834
1835         * mule-charset.c (decode_builtin_char): Change semantics of
1836         code-offset of coded-charset.
1837         (charset_code_point): Likewise.
1838         (range_charset_code_point): Likewise.
1839         (complex_vars_of_mule_charset): Modify for the change.
1840
1841 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1842
1843         * mule-charset.c (Fencode_char): Reverse arguments.
1844
1845         * mule-charset.c (charset_code_point): Fixed.
1846
1847 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1848
1849         * mule-charset.c (Vcharset_mojikyo): Deleted.
1850         (Vcharset_mojikyo_2022_1): Deleted.
1851         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1852         (Qmin_code): New variable in UTF-2000.
1853         (Qmax_code): Likewise.
1854         (Qmother): Likewise.
1855         (Qconversion): Likewise.
1856         (Q94x60): Likewise.
1857         (Qmojikyo): Deleted.
1858         (Qmojikyo_2022_1): Deleted.
1859         (Qmojikyo_pj_{1..22}): Deleted.
1860         (mark_charset): Mark `cs->mother'.
1861         (charset_description): Add description for `mother'.
1862         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1863         new arguments `mother' and `conversion'; use
1864         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1865         (charset_code_point): Moved from char-ucs.h; support `mother'
1866         charset feature.
1867         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1868         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1869         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1870         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1871         allow 2 as the value of `graphic' in UTF-2000; add new properties
1872         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1873         require `final' in UTF-2000; modify for `make_charset'.
1874         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1875         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1876         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1877         (Fencode_char): New function.
1878         (syms_of_mule_charset): Add new builtin function `encode-char' in
1879         UTF-2000; add new symbols `min-code', `max-code', `mother',
1880         `conversion' and `94x60'; delete symbols `mojikyo',
1881         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1882         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1883         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1884         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1885
1886         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1887         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1888
1889         * char-ucs.h (Vcharset_mojikyo): Deleted.
1890         (Vcharset_mojikyo_2022_1): Deleted.
1891         (LEADING_BYTE_MOJIKYO): Deleted.
1892         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1893         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1894         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1895         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1896         add new member `mother'; add new member `conversion'.
1897         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1898         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1899         (CHARSET_MOTHER): New macro.
1900         (CHARSET_CONVERSION): New macro.
1901         (CONVERSION_IDENTICAL): New macro.
1902         (CONVERSION_94x60): New macro.
1903         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1904         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1905         (XCHARSET_MOTHER): New macro.
1906         (XCHARSET_CONVERSION): New macro.
1907         (MIN_CHAR_MOJIKYO): Deleted.
1908         (MAX_CHAR_MOJIKYO): Deleted.
1909         (DECODE_MOJIKYO_2022): Deleted.
1910         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1911         (charset_code_point): Changed to non-inline function.
1912         (encode_char_1): Use `charset_code_point'.
1913         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1914
1915 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1916
1917         * lread.c (read_compiled_function): Fix prototype.
1918         (read_vector): Likewise.
1919
1920 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1921
1922         * lrecord.h (struct lrecord_header): Delete `older'.
1923         (set_lheader_implementation): Delete code for `older'.
1924         (set_lheader_older_implementation): Deleted.
1925         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1926         (OLDER_RECORD_P): Deleted.
1927         (OLDER_RECORD_HEADER_P): Deleted.
1928         (alloc_older_lcrecord): Deleted.
1929         (alloc_older_lcrecord_type): Deleted.
1930
1931         * alloc.c (all_older_lcrecords): Deleted.
1932         (alloc_older_lcrecord): Deleted.
1933         (disksave_object_finalization_1): Delete code for older objects.
1934         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1935         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1936
1937 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1938
1939         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1940         instead of `make_older_vector'.
1941         (put_char_ccs_code_point): Likewise.
1942         (mark_charset): Mark `cs->decoding_table'.
1943         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1944
1945         * lisp.h (make_older_vector): Deleted.
1946         (make_vector_newer): Deleted.
1947
1948         * config.h.in (HAVE_GGC): Deleted.
1949
1950         * alloc.c (make_older_vector): Deleted.
1951         (make_vector_newer_1): Deleted.
1952         (make_vector_newer): Deleted.
1953
1954 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1955
1956         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1957         (Qideograph_daikanwa_2): New variable.
1958         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1959         (complex_vars_of_mule_charset): Add new coded-charset
1960         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1961         `LEADING_BYTE_DAIKANWA'.
1962
1963         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1964         (LEADING_BYTE_DAIKANWA_1): New macro.
1965         (LEADING_BYTE_DAIKANWA_2): New macro.
1966         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1967
1968 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (complex_vars_of_mule_charset): Change
1971         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1972         the second revised version.
1973
1974 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * mule-charset.c (Vcharset_ucs_smp): New variable.
1977         (Vcharset_ucs_sip): New variable.
1978         (Qucs_smp): New variable.
1979         (Qucs_sip): New variable.
1980         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1981         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1982         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1983         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1984         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1985         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1986
1987         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1988         (LEADING_BYTE_UCS_SIP): New macro.
1989         (MIN_CHAR_SMP): New macro.
1990         (MAX_CHAR_SMP): New macro.
1991         (MIN_CHAR_SIP): New macro.
1992         (MAX_CHAR_SIP): New macro.
1993
1994 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1995
1996         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1997         utf-2000.
1998
1999 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000
2001         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2002         value; don't store value into `encoding_table' of `Lisp_Charset'.
2003         (mark_charset): `encoding_table' was deleted.
2004         (charset_description): Likewise.
2005         (make_charset): Likewise.
2006         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2007         `put_char_ccs_code_point'.
2008
2009         * chartab.h (Fput_char_attribute): New EXFUN.
2010
2011         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2012         is unified with normal symbol space.
2013         (Fget_char_attribute): Likewise.
2014         (Fput_char_attribute): Likewise; behavior of
2015         `put_char_ccs_code_point' is changed.
2016
2017         * char-ucs.h: Include "elhash.h".
2018         (Vchar_attribute_hash_table): New external variable.
2019         (struct Lisp_Charset): Delete `encoding_table'.
2020         (CHARSET_ENCODING_TABLE): New implementation; refer
2021         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2022         `Lisp_Charset'.
2023
2024 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2027         (cs) == 0.
2028
2029 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2032         `chinese-big5'.
2033
2034 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2035
2036         * chartab.c (uint8_byte_table_description): New constant.
2037         (uint8-byte-table): Use `uint8_byte_table_description'.
2038         (uint16_byte_table_description): New constant.
2039         (uint16-byte-table): Use `uint16_byte_table_description'.
2040
2041 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2042
2043         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2044         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2045
2046 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * mule-charset.c (Vcharset_ucs_ks): New variable.
2049         (Qucs_ks): New variable.
2050         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2051         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2052
2053         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2054
2055 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2056
2057         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2058         (Fdecode_char): Likewise.
2059
2060         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2061         chartab.h.
2062         (Fdefine_char): Modify for Fdecode_char.
2063         (Ffind_char): Likewise.
2064
2065         * mule-charset.c (Fdecode_char): Add new optional argument
2066         `defined-only'.
2067         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2068
2069 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2072         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2073         (allocate_coding_system): Initialize initial-charsets of
2074         CODESYS_BIG5 in XEmacs UTF-2000.
2075         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2076         CODESYS_BIG5 in XEmacs UTF-2000.
2077         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2078         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2079
2080         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2081         variables.
2082         (Qideograph_hanziku_{1 .. 12}): Likewise.
2083         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2084         .. 12}'.
2085         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2086         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2087         `ideograph-hanziku-{1 .. 12}'.
2088
2089         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2090         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2091         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2092         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2093         (DECODE_DEFINED_CHAR): New inline function.
2094         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2095
2096 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2097
2098         * mule-charset.c (Vcharset_china3_jef): Renamed from
2099         `Vcharset_japanese_jef_china3'.
2100         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2101         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2102         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2103         (syms_of_mule_charset): Rename `china3-jef' from
2104         `japanese-jef-china3'.
2105         (complex_vars_of_mule_charset): Likewise; rename
2106         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2107
2108         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2109         `LEADING_BYTE_JEF_CHINA3'.
2110         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2111         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2112
2113 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2114
2115         * mule-charset.c (encode_builtin_char_1): Comment out special code
2116         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2117
2118         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2119         (MAX_CHAR_MOJIKYO_0): Comment out.
2120         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2121         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2122         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2123         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2124
2125 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2126
2127         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2128         (Qideograph_cbeta): New variable.
2129         (encode_builtin_char_1): Comment out special code for
2130         coded-charset `mojikyo' and `japanese-jef-china3'.
2131         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2132         (complex_vars_of_mule_charset): Add new coded-charset
2133         `ideograph-cbeta'.
2134
2135         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2136         (MIN_CHAR_CBETA): New macro.
2137         (MAX_CHAR_CBETA): New macro.
2138
2139 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2140
2141         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2142         (LEADING_BYTE_JEF_CHINA3): New macro.
2143         (MIN_CHAR_JEF_CHINA3): New macro.
2144         (MAX_CHAR_JEF_CHINA3): Likewise.
2145         (DECODE_CHAR): Fixed.
2146
2147 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2148
2149         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2150         (Qjapanese_jef_china3): New variable.
2151         (encode_builtin_char_1): Support `japanese-jef-china3'.
2152         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2153         (complex_vars_of_mule_charset): Add new coded-charset
2154         `japanese-jef-china3'.
2155
2156 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2157
2158         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2159         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2160         94^4, 96^3, 96^4, 128^n and 256^n set.
2161         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2162         (map_char_table): Likewise.
2163
2164 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2165
2166         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2167         UTF-2000.
2168
2169 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2170
2171         * chartab.h (get_char_id_table): New inline function.
2172
2173         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2174         function.
2175
2176 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2177
2178         * chartab.h (decode_char_table_range): New prototype in XEmacs
2179         UTF-2000.
2180         (put_char_id_table): New inline function in XEmacs UTF-2000.
2181
2182         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2183         function.
2184         (decode_char_table_range): Delete static declaration in XEmacs
2185         UTF-2000.
2186
2187 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2188
2189         * chartab.c (put_char_id_table): Use `put_char_table'.
2190
2191 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2192
2193         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2194         (map_over_uint16_byte_table): Likewise.
2195         (map_over_byte_table): Likewise.
2196         (map_char_table): Modify for `map_over_uint8_byte_table',
2197         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2198         UTF-2000.
2199
2200 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * chartab.c (struct map_char_table_for_charset_arg): New
2203         structure.
2204         (map_char_table_for_charset_fun): New function.
2205         (map_char_table): Use `map_char_table' for encoding_table of
2206         `range->charset'.
2207
2208 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2209
2210         * chartab.c (map_char_table): Check a character is found in
2211         range->charset instead of non default value is defined in
2212         char-table when range is CHARTAB_RANGE_ROW.
2213
2214 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2215
2216         * chartab.c (map_char_id_table): Deleted.
2217         (Fmap_char_attribute): Use `map_char_table' instead of
2218         `map_char_id_table'.
2219
2220 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2221
2222         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2223         UTF-2000.
2224         (update_syntax_table): Deleted in XEmacs UTF-2000.
2225
2226         * syntax.c (find_defun_start): Use `syntax_table' instead of
2227         `mirror_syntax_table' in XEmacs UTF-2000.
2228         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2229         UTF-2000.
2230         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2231         XEmacs UTF-2000.
2232         (Fmatching_paren): Likewise.
2233         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2234         in XEmacs UTF-2000.
2235         (find_start_of_comment): Likewise.
2236         (find_end_of_comment): Likewise.
2237         (Fforward_comment): Likewise.
2238         (scan_lists): Likewise.
2239         (char_quoted): Likewise.
2240         (Fbackward_prefix_chars): Likewise.
2241         (scan_sexps_forward): Likewise.
2242         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2243         (update_syntax_table): Likewise.
2244
2245         * search.c (skip_chars): Use `syntax_table' instead of
2246         `mirror_syntax_table' in XEmacs UTF-2000.
2247         (wordify): Likewise.
2248         (Freplace_match): Likewise.
2249
2250         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2251         `mirror_syntax_table' in XEmacs UTF-2000.
2252         (WORDCHAR_P_UNSAFE): Likewise.
2253         (re_match_2_internal): Likewise.
2254
2255         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2256         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2257
2258         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2259         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2260
2261         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2262         XEmacs UTF-2000.
2263
2264         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2265         UTF-2000.
2266         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2267         (char_table_description): Delete `mirror_table' in XEmacs
2268         UTF-2000.
2269         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2270         UTF-2000.
2271         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2272         (Fcopy_char_table): Likewise.
2273         (put_char_table): Don't call `update_syntax_table' in XEmacs
2274         UTF-2000.
2275
2276         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2277         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2278         (casify_region_internal): Likewise.
2279
2280         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2281
2282         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2283         `mirror_syntax_table' in XEmacs UTF-2000.
2284
2285         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2286         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2287         (Fexpand_abbrev): Likewise.
2288
2289 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2290
2291         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2292
2293 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2294
2295         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2296         (map_over_uint16_byte_table): Likewise.
2297         (map_over_byte_table): Likewise.
2298         (get_char_id_table): Refer `cit->default_value'.
2299         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2300         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2301         of character-id ranges.
2302         (mark_char_table): Mark `ct->default_value'.
2303         (char_table_description): Add `default_value'.
2304         (fill_char_table): Use `default_value'.
2305         (decode_char_table_range): Decode `nil' as
2306         `CHARTAB_RANGE_DEFAULT'.
2307         (get_char_id_table): Refer `cit->default_value'.
2308         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2309         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2310         temporary hack; check value of char-table is bound or not.
2311         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2312
2313         * chartab.h (struct Lisp_Char_Table): Add new member
2314         `default_value' in XEmacs UTF-2000.
2315         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2316         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2317         UTF-2000.
2318
2319 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2320
2321         * chartab.h (Lisp_Char_ID_Table): Deleted.
2322
2323         * chartab.c (char_table_description): Fix typo.
2324         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2325         `Lisp_Char_ID_Table'.
2326
2327 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2328
2329         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2330         `CHAR_ID_TABLE_P'.
2331
2332         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2333         `CHAR_ID_TABLE_P'.
2334
2335         * chartab.h (XCHAR_ID_TABLE): Deleted.
2336         (XSETCHAR_ID_TABLE): Deleted.
2337         (CHAR_ID_TABLE_P): Deleted.
2338
2339         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2340         `CHAR_ID_TABLE_P'.
2341         (Fget_composite_char): Likewise.
2342         (put_char_table): Likewise.
2343         (add_char_attribute_alist_mapper): Fixed.
2344         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2345         `CHAR_ID_TABLE_P'.
2346         (Fget_char_attribute): Likewise.
2347         (Fget_char_attribute): Likewise.
2348         (Fmap_char_attribute): Likewise.
2349
2350         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2351         `CHAR_ID_TABLE_P'.
2352         (encode_char_1): Likewise.
2353
2354 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2355
2356         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2357         `XCHAR_ID_TABLE'.
2358
2359         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2360         instead of `XCHAR_ID_TABLE'.
2361         (remove_char_ccs): Likewise.
2362
2363         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2364         `XCHAR_ID_TABLE'.
2365         (Fget_composite_char): Likewise.
2366         (Fchar_variants): Likewise.
2367         (put_char_table): Likewise.
2368         (add_char_attribute_alist_mapper): Likewise.
2369         (Fchar_attribute_alist): Likewise.
2370         (Fget_char_attribute): Likewise.
2371         (Fput_char_attribute): Likewise.
2372         (Fmap_char_attribute): Likewise.
2373         (Fmap_char_attribute): Likewise.
2374
2375         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2376         `XCHAR_ID_TABLE'.
2377         (encode_char_1): Likewise.
2378
2379 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2380
2381         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2382         `Lisp_Char_ID_Table'.
2383         (mark_char_id_table): Deleted.
2384         (print_char_id_table): Likewise.
2385         (char_id_table_equal): Likewise.
2386         (char_id_table_hash): Likewise.
2387         (char_id_table_description): Likewise.
2388         (char_id_table): Likewise.
2389         (make_char_id_table): Use `Fmake_char_table' and
2390         `fill_char_table'.
2391         (get_char_id_table): Use `Lisp_Char_Table' instead of
2392         `Lisp_Char_ID_Table'.
2393         (put_char_id_table): Likewise.
2394         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2395         `XCHAR_ID_TABLE'.
2396         (Fremove_char_attribute): Likewise.
2397         (syms_of_chartab): Don't define type `char-id-table'.
2398
2399         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2400         (char_id_table): Likewise.
2401         (GC_CHAR_ID_TABLE_P): Likewise.
2402         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2403         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2404         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2405         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2406         (get_char_id_table): Use `Lisp_Char_Table' instead of
2407         `Lisp_Char_ID_Table'.
2408         (put_char_id_table_0): Likewise.
2409         (put_char_id_table): Likewise.
2410
2411 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2412
2413         * chartab.h: Lisp_Byte_Table related codes are moved from
2414         chartab.h.
2415
2416         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2417
2418 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2419
2420         * chartab.h: Don't include "chartab.h".
2421         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2422         (Lisp_Char_ID_Table): Likewise.
2423         (char_id_table): Likewise.
2424         (XCHAR_ID_TABLE): Likewise.
2425         (XSETCHAR_ID_TABLE): Likewise.
2426         (CHAR_ID_TABLE_P): Likewise.
2427         (GC_CHAR_ID_TABLE_P): Likewise.
2428         (get_char_id_table): Likewise.
2429
2430         * char-ucs.h: Include "chartab.h".
2431         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2432         (Lisp_Char_ID_Table): Likewise.
2433         (char_id_table): Likewise.
2434         (XCHAR_ID_TABLE): Likewise.
2435         (XSETCHAR_ID_TABLE): Likewise.
2436         (CHAR_ID_TABLE_P): Likewise.
2437         (GC_CHAR_ID_TABLE_P): Likewise.
2438         (get_char_id_table): Likewise.
2439
2440 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2441
2442         * chartab.c (copy_uint8_byte_table): New function.
2443         (copy_uint16_byte_table): New function.
2444         (copy_byte_table): New function.
2445         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2446         characters to call.
2447         (map_over_uint16_byte_table): Likewise.
2448         (map_over_byte_table): Likewise.
2449         (get_byte_table): Move prototype to chartab.h.
2450         (put_byte_table): Likewise.
2451         (put_char_id_table_0): Moved to chartab.h.
2452         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2453         (char_table_entry_equal): Likewise.
2454         (char_table_entry_hash): Likewise.
2455         (char_table_entry_description): Likewise.
2456         (char_table_entry): Likewise.
2457         (make_char_table_entry): Likewise.
2458         (copy_char_table_entry): Likewise.
2459         (get_non_ascii_char_table_value): Likewise.
2460         (map_over_charset_ascii): Likewise.
2461         (map_over_charset_control_1): Likewise.
2462         (map_over_charset_row): Likewise.
2463         (map_over_other_charset): Likewise.
2464         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2465         (print_char_table): Likewise.
2466         (char_table_equal): Likewise.
2467         (char_table_hash): Likewise.
2468         (char_table_description): Likewise.
2469         (fill_char_table): Likewise.
2470         (Fcopy_char_table): Likewise.
2471         (get_char_table): Likewise.
2472         (Fget_range_char_table): Likewise.
2473         (put_char_table): Likewise.
2474         (map_char_table): Likewise.
2475         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2476         UTF-2000.
2477
2478 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2479
2480         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2481         `Vauto_fill_chars' in XEmacs UTF-2000.
2482
2483         * chartab.h (get_byte_table): New prototype [moved from
2484         chartab.c].
2485         (put_byte_table): Likewise [moved from chartab.c].
2486         (put_char_id_table_0): New inline function [moved from chartab.c].
2487         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2488         (Lisp_Char_Table_Entry): Likewise.
2489         (char_table_entry): Likewise.
2490         (XCHAR_TABLE_ENTRY): Likewise.
2491         (XSETCHAR_TABLE_ENTRY): Likewise.
2492         (CHAR_TABLE_ENTRYP): Likewise.
2493         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2494         (NUM_ASCII_CHARS): Likewise.
2495         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2496         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2497
2498 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * chartab.c (get_char_id_table): Change interface.
2501         (put_char_id_table_0): New function.
2502         (put_char_id_table): Change interface; new implementation.
2503         (Fget_composite_char): Modify for interface change of
2504         `get_char_id_table'.
2505         (Fchar_variants): Likewise.
2506         (add_char_attribute_alist_mapper): Likewise.
2507         (Fchar_attribute_alist): Likewise.
2508         (Fget_char_attribute): Likewise.
2509         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2510         as same as character as the first argument like `put-char-table';
2511         modify for interface change of `put_char_id_table'.
2512         (Fremove_char_attribute): Modify for interface change of
2513         `put_char_id_table'.
2514
2515 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2516
2517         * text-coding.c: Sync up with XEmacs 21.2.41.
2518         (COMPOSE_ADD_CHAR): Modify for interface change of
2519         `get_char_id_table'.
2520
2521         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2522         change of `put_char_id_table'.
2523         (remove_char_ccs): Likewise.
2524
2525         * chartab.h (put_char_id_table): Change interface.
2526
2527         * char-ucs.h (get_char_id_table): Change interface.
2528         (charset_code_point): Modify for interface change of
2529         `get_char_id_table'.
2530         (encode_char_1): Likewise.
2531
2532 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2533
2534         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2535         argument `ccs'.
2536         (map_over_uint16_byte_table): Likewise.
2537         (map_over_byte_table): Likewise.
2538         (map_char_id_table): Add new argument `range' like
2539         `map_char_table'.
2540         (Fmap_char_attribute): Add new argument `range' like
2541         `Fmap_char_table'.
2542
2543 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * chartab.c (map_over_uint8_byte_table): Change interface of
2546         mapping function to use struct chartab_range instead of Emchar.
2547         (map_over_uint16_byte_table): Likewise.
2548         (map_over_byte_table): Likewise.
2549         (map_char_id_table): Likewise.
2550         (struct slow_map_char_id_table_arg): Deleted.
2551         (slow_map_char_id_table_fun): Deleted.
2552         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2553         function `slow_map_char_table_fun' instead of struct
2554         `slow_map_char_id_table_arg' and function
2555         `slow_map_char_id_table_fun'.
2556
2557 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2558
2559         * mule-charset.c: Move char-it-table related codes to chartab.c.
2560         (Vutf_2000_version): Moved to chartab.c.
2561         (Fdefine_char): Likewise.
2562         (Ffind_char): Likewise.
2563         (syms_of_mule_charset): Move types `uint8-byte-table',
2564         `uint16-byte-table', `byte-table' and `char-id-table' to
2565         chartab.c; move functions `char_attribute_list,
2566         `find_char_attribute_table, `char_attribute_alist,
2567         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2568         `map_char_attribute, `define_char, `find_char, `char_variants and
2569         `get_composite_char to chartab.c; move symbols `=>ucs',
2570         `->decomposition', `compat', `isolated', `initial', `medial',
2571         `final', `vertical', `noBreak', `fraction', `super', `sub',
2572         `circle', `square', `wide', `narrow', `small' and `font' to
2573         chartab.c.
2574         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2575         setting codes for `Vcharacter_composition_table' and
2576         `Vcharacter_variant_table' to chartab.c.
2577         (complex_vars_of_mule_charset): Move setting code for
2578         `Vchar_attribute_hash_table' to chartab.c.
2579
2580         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2581         (make_char_id_table): New prototype.
2582         (put_char_id_table): Likewise.
2583         (Fget_char_attribute): Likewise.
2584
2585         * chartab.c: Move char-id-table related code from mule-charset.c.
2586         (Vutf_2000_version): Moved from mule-charset.c.
2587
2588         * char-ucs.h (Qucs): New external variable.
2589         (put_char_ccs_code_point): New prototype.
2590         (remove_char_ccs): Likewise.
2591
2592 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2593
2594         * mule-charset.c (Vcharset_ucs_jis): New variable.
2595         (Qucs_jis): Likewise.
2596         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2597         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2598
2599         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2600
2601 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2602
2603         * mule-charset.c (map_over_uint8_byte_table): New function.
2604         (map_over_uint16_byte_table): Likewise.
2605         (map_over_byte_table): Likewise.
2606         (map_char_id_table): Likewise.
2607         (slow_map_char_id_table_fun): Likewise.
2608         (Fmap_char_attribute): Likewise.
2609         (syms_of_mule_charset): Add new function `map-char-attribute'.
2610
2611 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2612
2613         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2614         (syms_of_mule_charset): Add new function `find-char'.
2615
2616 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2617
2618         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2619         XEmacs UTF-2000.
2620         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2621         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2622         XEmacs UTF-2000.
2623         (complex_vars_of_mule_charset): Add new coded-charset
2624         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2625         `ideograph-gt-pj-*'.
2626
2627         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2628
2629 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2630
2631         * mule-charset.c (encode_builtin_char_1): Purge codes about
2632         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2633         {MIN|MAX}_CHAR_HEBREW.
2634         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2635         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2636
2637         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2638         (MAX_CHAR_GREEK): Purged.
2639         (MIN_CHAR_CYRILLIC): Purged.
2640         (MAX_CHAR_CYRILLIC): Purged.
2641         (MIN_CHAR_HEBREW): Commented out.
2642         (MAX_CHAR_HEBREW): Likewise.
2643
2644 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * mule-charset.c (Qto_ucs): New variable.
2647         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2648         (Fdefine_char): Likewise.
2649         (syms_of_mule_charset): Add new symbol `=>ucs'.
2650
2651 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2652
2653         * mule-charset.c (Fdecode_char): Fixed.
2654
2655 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2656
2657         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2658         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2659         "tcvn5712-1".
2660
2661 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * mule-charset.c (Vcharset_ucs_big5): New variable.
2664         (Qucs_big5): Likewise.
2665         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2666         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2667
2668         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2669
2670 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2671
2672         * mule-charset.c (decode_builtin_char): Check Big5 code range
2673         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2674
2675 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2676
2677         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2678         (Qchinese_gb12345): Likewise.
2679         (Fdecode_builtin_char): Fixed.
2680         (syms_of_mule_charset): Add `chinese-gb12345'.
2681         (complex_vars_of_mule_charset): Add coded-charset
2682         `chinese-gb12345'.
2683
2684         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2685         (LEADING_BYTE_CHINESE_GB12345): New macro.
2686
2687 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2688
2689         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2690         and `latin-viscii-upper' for `latin-viscii'.
2691
2692 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2693
2694         * mule-charset.c (Fdecode_builtin_char): Comment out
2695         regularization code for ISO-IR GR representation.
2696
2697 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * mule-charset.c (decode_builtin_char): New function; renamed from
2700         `make_builtin_char'; return -1 instead of signal.
2701         (Fdecode_builtin_char): Use `decode_builtin_char'.
2702
2703         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2704         `make_builtin_char'.
2705         (DECODE_CHAR): Use `decode_builtin_char' instead of
2706         `make_builtin_char'; use mapping table of `chinese-big5' for
2707         `chinese-big5-{1,2}'.
2708
2709 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2710
2711         * text-coding.c (char_encode_big5): New function.
2712         (char_finish_big5): Likewise.
2713         (reset_encoding_stream): Use `char_encode_big5' and
2714         `char_finish_big5' for CODESYS_BIG5.
2715         (mule_encode): Don't use `encode_coding_big5'.
2716         (encode_coding_big5): Deleted.
2717
2718 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2719
2720         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2721         0x81- in XEmacs UTF-2000.
2722         (detect_coding_big5): Likewise.
2723
2724 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2725
2726         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2727         generate character-id if the CCS property does not have
2728         corresponding predefined character.
2729         (make_builtin_char): Return -1 if corresponding predefined
2730         character is not found.
2731         (Fdecode_char): Return nil if corresponding character is not
2732         found.
2733         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2734         don't map to builtin ucs space.
2735
2736 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2737
2738         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2739         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2740
2741 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2742
2743         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2744         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2745         (Qideograph_gt): Likewise.
2746         (Qideograph_gt_pj_{1..11}): Likewise.
2747         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2748         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2749         `ideograph-gt-pj-11'.
2750         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2751         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2752         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2753
2754         * char-ucs.h (LEADING_BYTE_GT): New macro.
2755         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2756         (MIN_CHAR_GT): Likewise.
2757         (MAX_CHAR_GT): Likewise.
2758
2759 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2760
2761         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2762         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2763
2764         * doprnt.c (unsigned_int_converters): Add `c'.
2765         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2766
2767         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2768         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2769         `MIN_CHAR_MOJIKYO'.
2770         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2771         (MAX_CHAR_MOJIKYO_0): New macro.
2772         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2773
2774 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2775
2776         * mule-charset.c (Fdefine_char): Delete cemented out code.
2777         (encode_builtin_char_1): Modify for new allocation of builtin
2778         Mojikyo characters.
2779
2780         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2781
2782 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2783
2784         * mule-charset.c (Vcharset_ucs_cns): New variable.
2785         (Qucs_cns): New variable.
2786         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2787         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2788
2789 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2790
2791         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2792
2793 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2794
2795         * search.c (search_buffer): Make `charset_base_code' as
2796         character-id >> 6 to eliminate the corresponding last byte in
2797         UTF-8 representation [I'm not sure it is right thing].
2798         (boyer_moore): Likewise.
2799
2800 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2801
2802         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2803         representation in MULE.
2804
2805 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2806
2807         * text-coding.c (Fmake_coding_system): Use
2808         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2809         `EXTERNAL_PROPERTY_LIST_LOOP'.
2810
2811 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2812
2813         * text-coding.c (decode_output_utf8_partial_char): New function.
2814         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2815
2816 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2817
2818         * text-coding.c (decode_coding_utf8): Output original byte
2819         sequence if it is broken; change order of conditions.
2820
2821         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2822         of conditions.
2823
2824         * mb-multibyte.h (BYTE_ASCII_P):
2825         Use bit ops for char-signedness safety.
2826         (BYTE_C0_P): Use bit ops for char-signedness safety.
2827         (BYTE_C1_P): Use bit ops for char-signedness safety.
2828
2829         * character.h: (XCHAR_OR_CHAR_INT):
2830         Always use inline function.
2831         Remove redundant type checking assert() - XINT will abort quite
2832         nicely.
2833
2834 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2835
2836         * text-coding.c: (Fencode_shift_jis_char):
2837         (Fencode_big5_char):
2838         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2839         Replace 0 with '\0' when working with bytes.
2840         Replace initial "(" with "\(" in docstrings.
2841
2842         (Fmake_coding_system):
2843         When type is ccl and value is vector, register it with a proper
2844         symbol.  And checks whether the given ccl program is valid.
2845         (mule_decode): When calling ccl_driver, if src indicates
2846         NULL pointer, set an empty string instead.
2847         (mule_encode): Likewise.
2848
2849         (detect_eol_type):
2850         (detect_coding_sjis):
2851         (decode_coding_sjis):
2852         (detect_coding_big5):
2853         (decode_coding_big5):
2854         (detect_coding_ucs4):
2855         (decode_coding_ucs4):
2856         (detect_coding_utf8):
2857         (decode_coding_utf8):
2858         (detect_coding_iso2022):
2859         (decode_coding_iso2022):
2860         (decode_coding_no_conversion):
2861         (mule_decode):
2862         Make all detecting and decoding functions take an Extbyte * arg.
2863         (text_encode_generic):
2864         (encode_coding_big5):
2865         (encode_coding_no_conversion):
2866         (mule_encode):
2867         Make all encoding functions take a Bufbyte * arg.
2868         Use size_t instead of unsigned int for memory sizes.
2869         Only cast to unsigned char whenever dereferencing Extbyte *.
2870
2871         (struct lrecord_description fcd_description_1): Use countof.
2872         (complex_vars_of_file_coding):
2873         Use countof instead of sizeof.
2874         Use CHECK_NATNUM instead of CHECK_INT.
2875
2876 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2877
2878         * mule-charset.c (Fget_char_attribute): Add new optional argument
2879         `default-value'.
2880         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2881         (remove_char_ccs): Likewise.
2882
2883 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2884
2885         * text-coding.c (char_encode_shift_jis): New implementation in
2886         UTF-2000.
2887         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2888         ...)'.
2889
2890         * mule-charset.c (Vcharset_chinese_big5): New variable in
2891         UTF-2000.
2892         (Qchinese_big5): New variable in UTF-2000.
2893         (BIG5_SAME_ROW): New macro in UTF-2000.
2894         (make_builtin_char): Use builtin characters of
2895         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2896         characters of `Vcharset_chinese_big5'.
2897         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2898         (complex_vars_of_mule_charset): Add new coded-charset
2899         `chinese-big5' in UTF-2000.
2900
2901         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2902         (Vcharset_chinese_big5): New external variable declaration.
2903         (Vcharset_japanese_jisx0208_1990): Likewise.
2904
2905 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2906
2907         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2908         function.
2909         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2910
2911 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2912
2913         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2914         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2915         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2916         `mojikyo-pj-*'.
2917
2918 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2919
2920         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2921
2922 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2923
2924         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2925         to 0.17.
2926
2927 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2928
2929         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2930         for `CHARSET_BY_ATTRIBUTES'.
2931         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2932         `CHARSET_BY_ATTRIBUTES'.
2933
2934         * text-coding.c (struct decoding_stream): Rename member `CH' to
2935         `CPOS'.
2936         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2937         (decode_coding_sjis): Likewise.
2938         (decode_coding_big5): Likewise.
2939         (decode_coding_ucs4): Likewise.
2940         (decode_coding_utf8): Likewise.
2941         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2942         `CHARSET_BY_ATTRIBUTES'.
2943         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2944         `str->counter'; decode 3, 4 bytes sets.
2945         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2946         sets.
2947         (decode_coding_no_conversion): Use `str->cpos' instead of
2948         `str->ch'.
2949
2950         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2951         (Qmojikyo_2022_1): New variable.
2952         (make_charset): Don't use `CHARSET_TYPE_*'.
2953         (range_charset_code_point): Support coded-charset
2954         `mojikyo-2022-1'.
2955         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2956         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2957         `CHARSET_BY_ATTRIBUTES'.
2958         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2959         `CHARSET_BY_ATTRIBUTES'.
2960         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2961         (complex_vars_of_mule_charset): Add new coded-charset
2962         `mojikyo-2022-1'.
2963
2964         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2965         interface; changed to inline function.
2966
2967         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2968         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2969         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2970         (CHARSET_TYPE_94): Deleted.
2971         (CHARSET_TYPE_94X94): Deleted.
2972         (CHARSET_TYPE_96): Deleted.
2973         (CHARSET_TYPE_96X96): Deleted.
2974         (CHARSET_TYPE_128): Deleted.
2975         (CHARSET_TYPE_128X128): Deleted.
2976         (CHARSET_TYPE_256): Deleted.
2977         (CHARSET_TYPE_256X256): Deleted.
2978         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2979         to inline function.
2980         (DECODE_MOJIKYO_2022): New inline function.
2981         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2982         `Vcharset_mojikyo_2022_1'.
2983
2984 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2985
2986         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2987         instead of `EQ'.
2988         (put_byte_table): Likewise.
2989         (char_id_table_equal): Use `get_byte_table' [new implementation].
2990
2991 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2992
2993         * mule-charset.c: Include <limits.h> in UTF-2000.
2994         (BT_UINT8_MIN): New macro in UTF-2000.
2995         (BT_UINT8_MAX): New macro in UTF-2000.
2996         (BT_UINT8_t): New macro in UTF-2000.
2997         (BT_UINT8_nil): New macro in UTF-2000.
2998         (BT_UINT8_unbound): New macro in UTF-2000.
2999         (INT_UINT8_P): New inline function in UTF-2000.
3000         (UINT8_VALUE_P): New inline function in UTF-2000.
3001         (UINT8_ENCODE): New inline function in UTF-2000.
3002         (UINT8_DECODE): New inline function in UTF-2000.
3003         (mark_uint8_byte_table): New function in UTF-2000.
3004         (print_uint8_byte_table): New function in UTF-2000.
3005         (uint8_byte_table_equal): New function in UTF-2000.
3006         (uint8_byte_table_hash): New function in UTF-2000.
3007         (make_uint8_byte_table): New function in UTF-2000.
3008         (uint8_byte_table_same_value_p): New function in UTF-2000.
3009         (BT_UINT16_MIN): New macro in UTF-2000.
3010         (BT_UINT16_MAX): New macro in UTF-2000.
3011         (BT_UINT16_t): New macro in UTF-2000.
3012         (BT_UINT16_nil): New macro in UTF-2000.
3013         (BT_UINT16_unbound): New macro in UTF-2000.
3014         (INT_UINT16_P): New inline function in UTF-2000.
3015         (UINT16_VALUE_P): New inline function in UTF-2000.
3016         (UINT16_ENCODE): New inline function in UTF-2000.
3017         (UINT16_DECODE): New inline function in UTF-2000.
3018         (UINT8_TO_UINT16): New inline function in UTF-2000.
3019         (mark_uint16_byte_table): New function in UTF-2000.
3020         (print_uint16_byte_table): New function in UTF-2000.
3021         (uint16_byte_table_equal): New function in UTF-2000.
3022         (uint16_byte_table_hash): New function in UTF-2000.
3023         (make_uint16_byte_table): New function in UTF-2000.
3024         (uint16_byte_table_same_value_p): New function in UTF-2000.
3025         (print_byte_table): New function in UTF-2000.
3026         (byte-table): Use `print_byte_table' as printer.
3027         (make_byte_table): Delete second argument `older'.
3028         (byte_table_same_value_p): New function in UTF-2000.
3029         (copy_byte_table): Deleted.
3030         (get_byte_table): New function in UTF-2000.
3031         (put_byte_table): New function in UTF-2000.
3032         (print_char_id_table): New function in UTF-2000.
3033         (char-id-table): Use `print_char_id_table' as printer.
3034         (make_char_id_table): Delete second argument `older'.
3035         (get_char_id_table): Use `get_byte_table [new implementation].
3036         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3037         implementation].
3038         (Ffind_char_attribute_table): New function in UTF-2000.
3039         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3040         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3041         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3042         (syms_of_mule_charset): Add new function
3043         `find-char-attribute-table' in UTF-2000.
3044
3045         * lrecord.h (enum lrecord_type): Add
3046         `lrecord_type_uint16_byte_table' and
3047         `lrecord_type_uint8_byte_table'.
3048
3049         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3050         (Lisp_Uint8_Byte_Table): New type.
3051         (XUINT8_BYTE_TABLE): New macro.
3052         (XSETUINT8_BYTE_TABLE): New macro.
3053         (UINT8_BYTE_TABLE_P): New macro.
3054         (GC_UINT8_BYTE_TABLE_P): New macro.
3055         (struct Lisp_Uint16_Byte_Table): New structure.
3056         (Lisp_Uint16_Byte_Table): New type.
3057         (XUINT16_BYTE_TABLE): New macro.
3058         (XSETUINT16_BYTE_TABLE): New macro.
3059         (UINT16_BYTE_TABLE_P): New macro.
3060         (GC_UINT16_BYTE_TABLE_P): New macro.
3061
3062 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3063
3064         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3065         (Vcharacter_ideographic_strokes_table): Deleted.
3066         (Vcharacter_total_strokes_table): Deleted.
3067         (Vcharacter_morohashi_daikanwa_table): Deleted.
3068         (Vcharacter_decomposition_table): Deleted.
3069         (Qname): Deleted because it is duplicated.
3070         (Qideographic_radical): Deleted.
3071         (Qideographic_strokes): Deleted.
3072         (Qtotal_strokes): Deleted.
3073         (Qmorohashi_daikanwa): Deleted.
3074         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3075         `ideographic-radical', `ideographic-strokes', `total-strokes',
3076         `morohashi-daikanwa' and `->decomposition'.
3077         (Fget_char_attribute): Likewise.
3078         (Fput_char_attribute): Likewise; use `make-vector' instead of
3079         `make_older_vector' for `->decomposition' value.
3080         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3081         `ideograph-daikanwa'.
3082         (syms_of_mule_charset): Delete builtin symbols `name',
3083         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3084         `morohashi-daikanwa'.
3085         (vars_of_mule_charset): Don't setup
3086         `Vcharacter_ideographic_radical_table',
3087         `Vcharacter_ideographic_strokes_table',
3088         `Vcharacter_total_strokes_table',
3089         `Vcharacter_morohashi_daikanwa_table' and
3090         `Vcharacter_decomposition_table'.
3091
3092 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3093
3094         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3095         `make_older_vector', `make_vector_newer_1' and
3096         `make_vector_newer'.
3097
3098         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3099         `make_older_vector' and `make_vector_newer'.
3100
3101         * config.h.in (HAVE_GGC): New macro.
3102
3103 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3104
3105         * mule-charset.c (struct char_attribute_list_closure): New
3106         structure in UTF-2000.
3107         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3108         (Fchar_attribute_list): Likewise.
3109         (Fset_charset_mapping_table): Use `make_vector_newer'.
3110         (Fdecode_builtin_char): New function in UTF-2000.
3111         (syms_of_mule_charset): Add new function `char-attribute-list' and
3112         `decode-builtin-char' in UTF-2000.
3113
3114         * lisp.h (make_vector_newer): New prototype.
3115
3116         * alloc.c (make_vector_newer_1): New function.
3117         (make_vector_newer): New function.
3118
3119 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3120
3121         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3122         50100)'.
3123
3124 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3125
3126         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3127         (Vcharacter_attribute_table): Deleted.
3128         (Vcharacter_name_table): Deleted.
3129         (put_char_attribute): Deleted.
3130         (remove_char_attribute): Deleted.
3131         (struct char_attribute_alist_closure): New structure.
3132         (add_char_attribute_alist_mapper): New function.
3133         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3134         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3135         (Fget_char_attribute): Likewise.
3136         (Fput_char_attribute): Likewise.
3137         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3138         of `remove_char_attribute'.
3139         (Fdefine_char): Return character.
3140         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3141         and `Vcharacter_name_table'.
3142         (complex_vars_of_mule_charset): Likewise
3143         `Vchar_attribute_hash_table'.
3144
3145 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3146
3147         * character.h (CHARC_CHARSET): New macro.
3148         (CHARC_CHARSET_ID): New macro.
3149         (CHARC_CODE_POINT): New macro.
3150         (CHARC_COLUMNS): New macro.
3151         (CHARC_TO_CHAR): New inline function.
3152         (CHARC_EQ): New inline function.
3153         (CHARC_ASCII_EQ): New inline function.
3154         (CHARC_IS_SPACE): New inline function.
3155         (ASCII_TO_CHARC): New inline function.
3156
3157         * char-ucs.h (encode_char_2): Deleted.
3158         (ENCODE_CHAR): Use `encode_char_1' again.
3159         (breakup_char_1): Likewise.
3160         (CHAR_TO_CHARC): New inline function.
3161
3162         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3163
3164 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3165
3166         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3167         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3168         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3169         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3170         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3171         `CHARC_IS_SPACE'.
3172         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3173
3174         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3175         `CHARC_CODE_POINT'.
3176         (x_output_display_block): Use `CHARC_CHARSET' and
3177         `CHARC_ASCII_EQ'.
3178
3179         * redisplay-tty.c (tty_output_display_block): Use
3180         `CHARC_ASCII_EQ'.
3181         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3182
3183         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3184
3185         * insdel.c (find_charsets_in_charc_string): Use
3186         `CHARC_CHARSET_ID'.
3187         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3188         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3189         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3190         (convert_charc_string_into_malloced_string): Likewise.
3191
3192 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3193
3194         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3195         instead of <Emchar_dynarr *> for buf; use
3196         `convert_bufbyte_string_into_charc_dynarr' instead of
3197         `convert_bufbyte_string_into_emchar_dynarr'; use
3198         `find_charsets_in_charc_string' instead of
3199         `find_charsets_in_emchar_string'.
3200
3201         * redisplay.h:
3202         - Include "character.h".
3203         (struct rune): New member `cglyph'; delete member `chr'.
3204
3205         * redisplay.c (redisplay_text_width_charc_string): New function;
3206         delete `redisplay_text_width_emchar_string'.
3207         (rtw_charc_dynarr): New variable; renamed from
3208         `rtw_emchar_dynarr'.
3209         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3210         `rtw_emchar_dynarr'; use
3211         `convert_bufbyte_string_into_charc_dynarr' instead of
3212         `convert_bufbyte_string_into_emchar_dynarr'; use
3213         `redisplay_text_width_charc_string' instead of
3214         `redisplay_text_width_emchar_string'.
3215         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3216         instead of `rtw_emchar_dynarr'; use
3217         `convert_bufbyte_string_into_charc_dynarr' instead of
3218         `convert_bufbyte_string_into_emchar_dynarr'.
3219         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3220         `redisplay_text_width_charc_string' instead of
3221         `redisplay_text_width_emchar_string'.
3222         (create_text_block): Modify for <struct rune> change.
3223         (generate_formatted_string_db): Likewise.
3224         (create_string_text_block): Likewise.
3225         (pixel_to_glyph_translation): Likewise.
3226
3227         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3228         instead of <const Emchar *>.
3229         (x_text_width): Likewise.
3230         (x_output_display_block): Use <Charc_dynarr *> instead
3231         <Emchar_dynarr *>; modify for <structure rune> change.
3232         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3233         *>.
3234
3235         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3236         <const Emchar *>; use `charc_string_displayed_columns' instead of
3237         `emchar_string_displayed_columns'.
3238         (tty_output_display_block): Use <Charc_dynarr *> instead of
3239         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3240         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3241         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3242         `tty_output_emchar_dynarr_dynarr'.
3243         (tty_output_charc_dynarr): New function; delete
3244         `tty_output_charc_dynarr'.
3245
3246         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3247         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3248         <Emchar_dynarr *> for buf; use
3249         `convert_bufbyte_string_into_charc_dynarr' instead of
3250         `convert_bufbyte_string_into_emchar_dynarr'.
3251
3252         * frame.c (title_string_charc_dynarr): New variable; renamed from
3253         `title_string_emchar_dynarr'.
3254         (generate_title_string): Use `title_string_charc_dynarr' instead
3255         of `title_string_emchar_dynarr'; use
3256         `convert_charc_string_into_malloced_string' instead of
3257         `convert_emchar_string_into_malloced_string'.
3258         (init_frame): Use `title_string_charc_dynarr' instead of
3259         `title_string_emchar_dynarr'.
3260
3261         * console.h:
3262         - Include "character.h".
3263         (struct console_methods): Use <const Charc *> instead of <const
3264         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3265         <Emchar_dynarr *> in output_string_method.
3266
3267         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3268         <Emchar_dynarr *>.
3269
3270         * console-stream.c (stream_text_width): Use <const Charc *>
3271         instead of <const Emchar *>.
3272
3273         * character.h (Charc_dynarr): New type.
3274
3275         * char-ucs.h (structure Charc): New structure; define new type
3276         `Charc'.
3277
3278         * char-lb.h (DECODE_CHAR): New inline function.
3279         (encode_char_1): New inline function.
3280         (ENCODE_CHAR): New macro.
3281         (structure Charc): New structure; define new type `Charc'.
3282
3283         * char-1byte.h (Vcharset_control_1): New macro.
3284         (Vcharset_latin_iso8859_1): New macro.
3285         (DECODE_CHAR): New inline function.
3286         (encode_char_1): New inline function.
3287         (ENCODE_CHAR): New macro.
3288         (structure Charc): New structure; define new type `Charc'.
3289
3290         * insdel.c (find_charsets_in_charc_string): New function; delete
3291         `find_charsets_in_emchar_string'.
3292         (charc_string_displayed_columns): New function; delete
3293         `emchar_string_displayed_columns'.
3294         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3295         `convert_bufbyte_string_into_emchar_dynarr'.
3296         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3297         `convert_charc_string_into_bufbyte_dynarr'.
3298         (convert_charc_string_into_malloced_string): New function; delete
3299         `convert_charc_string_into_malloced_string'.
3300
3301         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3302         `find_charsets_in_emchar_string'.
3303         (charc_string_displayed_columns): New prototype; delete
3304         `emchar_string_displayed_columns'.
3305         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3306         `convert_charc_string_into_bufbyte_dynarr'.
3307         (convert_charc_string_into_malloced_string): New prototype; delete
3308         `convert_charc_string_into_malloced_string'.
3309
3310 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3311
3312         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3313
3314 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3315
3316         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3317
3318         * char-ucs.h: Use <short> for <Charset_ID>.
3319
3320         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3321         <Charset_ID>.
3322
3323 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3324
3325         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3326         to 0.16.
3327
3328 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3329
3330         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3331         variable.
3332         (Qmorohashi_daikanwa): New variable.
3333         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3334         for `morohashi-daikanwa' attribute.
3335         (Fget_char_attribute): Likewise.
3336         (Fput_char_attribute): Likewise.
3337         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3338         has the same value of `ideograph-daikanwa'.
3339         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3340         (vars_of_mule_charset): Setup
3341         `Vcharacter_morohashi_daikanwa_table'.
3342
3343 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3346         attributes.
3347         (add_charset_to_list_mapper): Add `key' instead of
3348         `XCHARSET_NAME (value)' to return aliases.
3349
3350 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3351
3352         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3353         variable.
3354         (Vcharacter_ideographic_strokes_table): New variable.
3355         (Qideographic_radical): New variable.
3356         (Qideographic_strokes): New variable.
3357         (Fchar_attribute_alist): Use
3358         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3359         attribute; use `Vcharacter_ideographic_strokes_table' for
3360         `ideographic-strokes' attribute.
3361         (Fget_char_attribute): Likewise.
3362         (Fput_char_attribute): Likewise.
3363         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3364         `ideographic-strokes'.
3365         (vars_of_mule_charset): Setup
3366         `Vcharacter_ideographic_radical_table' and
3367         `Vcharacter_ideographic_strokes_table'.
3368
3369 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3370
3371         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3372         (Qtotal_strokes): New variable.
3373         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3374         `total-strokes' attribute.
3375         (Fget_char_attribute): Likewise.
3376         (Fput_char_attribute): Likewise.
3377         (syms_of_mule_charset): Add new symbol `total-strokes'.
3378         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3379
3380 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3381
3382         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3383         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3384         are found.
3385         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3386         `->decomposition' attribute.
3387         (Fput_char_attribute): Likewise.
3388         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3389
3390 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3391
3392         * mule-charset.c (decoding_table_check_elements): New function.
3393         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3394
3395 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3396
3397         * mule-charset.c (Fset_charset_mapping_table): Use
3398         `put_char_ccs_code_point'.
3399
3400 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3401
3402         * mule-charset.c (decoding_table_put_char): New inline function.
3403         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3404
3405 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3406
3407         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3408         (XCHARSET_BYTE_SIZE): New macro.
3409         (decoding_table_remove_char): New inline function.
3410         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3411         `decoding_table_remove_char'.
3412         (remove_char_ccs): Use `decoding_table_remove_char'.
3413         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3414
3415 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3416
3417         * mule-charset.c (Vcharacter_name_table): New variable.
3418         (Qname): New variable.
3419         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3420         attribute.
3421         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3422         `Vcharacter_name_table' for `name' attribute.
3423         (Fremove_char_attribute): Use function `remove_char_ccs'.
3424         (put_char_ccs_code_point): New function.
3425         (remove_char_ccs): New function.
3426         (syms_of_mule_charset): Add new symbol `name'.
3427         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3428
3429 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3430
3431         * mule-charset.c (make_byte_table): Add new argument `older'.
3432         (make_char_id_table): Likewise.
3433         (copy_char_id_table): Comment out because it is not used.
3434         (put_char_id_table): Modify for `make_byte_table'.
3435         (Fput_char_attribute): Make encoding_table as older object;
3436         inherit older bit of `Vcharacter_composition_table'.
3437         (mark_charset): Don't mark `cs->encoding_table'.
3438         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3439         normal object; make `Vcharacter_composition_table' as an older
3440         object; delete staticpro for `Vcharacter_composition_table'; make
3441         `Vcharacter_variant_table' as a normal object.
3442
3443         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3444         (mark_object): Don't check older object in UTF-2000.
3445
3446         * lrecord.h (struct lrecord_header): Add new member `older' in
3447         UTF-2000.
3448         (set_lheader_implementation): Setup `SLI_header->older' in
3449         UTF-2000.
3450         (set_lheader_older_implementation): New macro in UTF-2000.
3451         (OLDER_RECORD_P): New macro in UTF-2000.
3452         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3453         (alloc_older_lcrecord): New prototype in UTF-2000.
3454         (alloc_older_lcrecord_type): New macro in UTF-2000.
3455
3456 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3457
3458         * mule-charset.c (byte_table_description): Use
3459         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3460         (char_id_table_description): Delete bogus `, 1'.
3461         (Fget_char_attribute): Refer encoding_table of each coded-charset
3462         to get value of coded-charset attribute of a character.
3463         (Fput_char_attribute): Use `make_older_vector' instead of
3464         `make_vector'; use encoding_table of each coded-charset to store
3465         value of coded-charset attribute of a character.
3466         (Fremove_char_attribute): Use encoding_table of each coded-charset
3467         to store value of coded-charset attribute of a character.
3468         (mark_charset): Mark `cs->encoding_table'; don't mark
3469         `cs->decoding_table'.
3470         (charset_description): Add description of new member
3471         `encoding_table'.
3472         (make_charset): Initialize `encoding_table'.
3473
3474         * char-ucs.h (struct Lisp_Charset): Add new member
3475         `encoding_table'.
3476         (CHARSET_ENCODING_TABLE): New macro.
3477         (XCHARSET_ENCODING_TABLE): New macro.
3478         (charset_code_point): New implementation.
3479         (encode_char_1): Likewise.
3480
3481         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3482         (disksave_object_finalization_1): Call finalizers of
3483         `all_older_lcrecords' in UTF-2000.
3484         (make_older_vector): New function in UTF-2000.
3485         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3486         UTF-2000.
3487
3488         * lisp.h (make_older_vector): New prototype in UTF-2000.
3489
3490 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3491
3492         * lrecord.h (enum lrecord_type): Rename
3493         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3494
3495         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3496         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3497         `get_char_code_table'.
3498
3499         * mule-charset.c (mark_char_id_table): Renamed from
3500         `mark_char_code_table'.
3501         (char_id_table_equal): Renamed from `char_code_table_equal'.
3502         (char_id_table_hash): Renamed from `char_code_table_hash'.
3503         (make_char_id_table): Renamed from `make_char_code_table'.
3504         (copy_char_id_table): Renamed from `copy_char_code_table'.
3505         (get_char_id_table): Renamed from `get_char_code_table'.
3506         (put_char_id_table): Renamed from `put_char_code_table'.
3507         (to_char_id): Renamed from `to_char_code'.
3508
3509         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3510         `Lisp_Char_Code_Table'.
3511         (char_id_table): Renamed from `char_code_table'.
3512         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3513         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3514         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3515         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3516         (get_char_id_table): Renamed from `get_char_code_table'.
3517
3518 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3519
3520         * lrecord.h (enum lrecord_type): Rename
3521         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3522
3523         * mule-charset.c (mark_byte_table): Renamed from
3524         `mark_char_byte_table'.
3525         (byte_table_equal): Renamed from `char_byte_table_equal'.
3526         (byte_table_hash): Renamed from `byte_table_hash'.
3527         (make_byte_table): Renamed from `make_byte_table'.
3528         (copy_byte_table): Renamed from `copy_char_byte_table'.
3529
3530         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3531         `Lisp_Char_Byte_Table'.
3532         (byte_table): Renamed from `char_byte_table'.
3533         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3534         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3535         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3536         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3537
3538 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3539
3540         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3541         (dfc_convert_to_internal_format): Likewise.
3542         
3543         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3544         * text-coding.c (Fcoding_system_alias_p): New function.
3545         * text-coding.c (Fcoding_system_aliasee): New function.
3546         * text-coding.c (append_suffix_to_symbol): New function.
3547         * text-coding.c (dangling_coding_system_alias_p): New function.
3548         * text-coding.c (Ffind_coding_system):
3549         * text-coding.c (Fcopy_coding_system):
3550         * text-coding.c (encode_coding_no_conversion):
3551         * text-coding.c (syms_of_file_coding):
3552         * text-coding.c (vars_of_file_coding):
3553         Rewrite coding system alias code.
3554         Allow nested aliases, like symbolic links.
3555         Allow redefinition of coding system aliases.
3556         Prevent existence of dangling coding system aliases.
3557         Eliminate convert_to_external_format.
3558         Eliminate convert_to_internal_format.
3559         
3560         * text-coding.c: Change enum eol_type to eol_type_t.
3561
3562 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3563
3564         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3565         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3566
3567         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3568         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3569
3570 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3571
3572         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3573         `ideograph-daikanwa'.
3574
3575         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3576         (Vcharset_ucs_bmp): Likewise.
3577         (Vcharset_mojikyo): Add new extern variable definition.
3578         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3579         (Vcharset_latin_iso8859_3): Likewise.
3580         (Vcharset_latin_iso8859_4): Likewise.
3581         (Vcharset_latin_iso8859_9): Likewise.
3582         (Vcharset_latin_viscii_lower): Likewise.
3583         (Vcharset_latin_viscii_upper): Likewise.
3584         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3585         `mojikyo' code-point is used to decode.
3586         (encode_char_2): New function [to convert `mojikyo' code-point to
3587         Mojikyo font encoding].
3588         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3589         (breakup_char_1): Likewise.
3590         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3591
3592 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3593
3594         * text-coding.c (Fmake_coding_system): Add document about
3595         `disable-composition' property.
3596
3597 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3598
3599         * text-coding.c (Qdisable_composition): New variable; delete
3600         `Qcomposite'.
3601         (Fmake_coding_system): Add new property `disable-composite';
3602         delete property `composite'.
3603         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3604         instead of `!CODING_SYSTEM_COMPOSITE'.
3605         (syms_of_file_coding): Add new symbol `disable-composition';
3606         delete symbol `composite'.
3607
3608         * file-coding.h (struct Lisp_Coding_System): Add
3609         `disable_composition'; delete `enable_composition'.
3610         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3611         `CODING_SYSTEM_COMPOSITE'.
3612         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3613         `XCODING_SYSTEM_COMPOSITE'.
3614
3615 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3616
3617         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3618         to 0.15.
3619
3620 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3621
3622         * text-coding.c (Qcomposite): New variable.
3623         (Fmake_coding_system): Add new property `composite'.
3624         (struct decoding_stream): Add `combined_char_count',
3625         `combined_chars' and `combining_table' in UTF-2000.
3626         (COMPOSE_FLUSH_CHARS): New macro.
3627         (COMPOSE_ADD_CHAR): New macro.
3628         (reset_decoding_stream): Reset `str->combined_char_count' and
3629         `str->combining_table' in UTF-2000.
3630         (decode_coding_iso2022): Modify for character-decomposition.
3631         (syms_of_file_coding): Add new symbol `composite'.
3632
3633 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3634
3635         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3636         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3637         of `Vcharacter_composition_table' if `->decomposition' property
3638         has only 1 element.
3639         (Qlatin_tcvn5712): New variable.
3640         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3641         (complex_vars_of_mule_charset): Add new coded-charset
3642         `latin-tcvn5712'.
3643
3644         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3645
3646 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3647
3648         * file-coding.h (struct Lisp_Coding_System): Add
3649         `enable_composition'.
3650         (CODING_SYSTEM_COMPOSITE): New macro.
3651         (XCODING_SYSTEM_COMPOSITE): New macro.
3652
3653 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3654
3655         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3656
3657 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3658
3659         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3660         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3661
3662 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3663
3664         * mule-charset.c (Vcharset_mojikyo): New variable.
3665         (Fdefine_char): Don't use coded-charset which does not have
3666         non-builtin character range to allocate character-id.
3667         (Qmojikyo): New variable.
3668         (syms_of_mule_charset): Add new symbol `mojikyo'.
3669         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3670
3671         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3672         (LEADING_BYTE_MOJIKYO): New macro.
3673         (MIN_CHAR_MOJIKYO): New macro.
3674         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3675         (MAX_CHAR_MOJIKYO): New macro.
3676
3677 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3678
3679         * mule-charset.c (remove_char_attribute): Fixed.
3680
3681 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3682
3683         * mule-charset.c (remove_char_attribute): New function.
3684         (Fremove_char_attribute): New function.
3685         (encode_builtin_char_1): Comment out builtin-support for
3686         greek-iso8859-7 and cyrillic-iso8859-5.
3687         (Fdecode_char): Check `code' is an integer.
3688         (syms_of_mule_charset): Add `remove-char-attribute'.
3689         (MIN_CHAR_GREEK): Deleted.
3690         (MAX_CHAR_GREEK): Likewise.
3691         (MIN_CHAR_CYRILLIC): Likewise.
3692         (MAX_CHAR_CYRILLIC): Likewise.
3693         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3694         MAX_CHAR_GREEK for `greek-iso8859-7'.
3695
3696         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3697         (MAX_CHAR_GREEK): Likewise.
3698         (MIN_CHAR_CYRILLIC): Likewise.
3699         (MAX_CHAR_CYRILLIC): Likewise.
3700
3701 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3702
3703         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3704         format is used without `ucs' property.
3705         (Fdecode_char): Fix problem with GR representation.
3706         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3707         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3708
3709 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3710
3711         * mule-charset.c (make_builtin_char): New function.
3712         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3713         (Fset_charset_mapping_table): Modify for new representation of
3714         code-point.
3715         (Fdecode_char): New function.
3716         (syms_of_mule_charset): Add new builtin function `decode-char' in
3717         UTF-2000.
3718
3719         * char-ucs.h (make_builtin_char): New prototype.
3720         (DECODE_CHAR): New inline function.
3721         (MAKE_CHAR): Use `DECODE_CHAR'.
3722
3723 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3724
3725         * text-coding.c (parse_charset_conversion_specs): Use
3726         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3727         `XCHARSET_TYPE'.
3728         (iso2022_designate): Likewise.
3729
3730         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3731         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3732
3733         * mule-charset.c (Vcharset_ucs): New variable.
3734         (print_charset): Change design; use `CHARSET_CHARS' and
3735         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3736         (make_charset): Change signature to specify `chars' and
3737         `dimension' instead of `type'.
3738         (range_charset_code_point): Modify for 256^n-set.
3739         (encode_builtin_char_1): Encode as `ucs' in default.
3740         (Fmake_charset): Modify for `make_charset'.
3741         (Fmake_reverse_direction_charset): Likewise.
3742         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3743         UTF-2000.
3744         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3745         for `make_charset'.
3746
3747         * char-ucs.h (Vcharset_ucs): New variable.
3748         (LEADING_BYTE_UCS): New macro.
3749         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3750         and `chars' to `unsigned short' from `unsigned int'.
3751         (CHARSET_TYPE): Deleted.
3752         (XCHARSET_TYPE): Deleted.
3753
3754 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3755
3756         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3757
3758         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3759         (ENCODE_CHAR): New macro.
3760
3761 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3762
3763         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3764         to 0.14 (Kawachi-Katakami).
3765
3766 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3767
3768         * text-coding.c (char_encode_shift_jis): Modify for
3769         `charset_code_point'.
3770         (char_encode_iso2022): Likewise.
3771
3772         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3773         (integer) instead of list of <Lisp_Object>s (integers) as the
3774         format of code-point of a coded-charset.
3775         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3776         (encode_builtin_char_1): New function; delete
3777         `split_builtin_char'.
3778         (charset_code_point): Return <int> instead of <Lisp_Object>.
3779         (Fsplit_char): Don't use `SPLIT_CHAR'.
3780
3781         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3782         prototype for `split_builtin_char'.
3783         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3784         (charset_code_point): Likewise.
3785         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3786         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3787
3788 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3789
3790         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3791         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3792
3793 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3794
3795         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3796
3797         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3798         (MAX_CHAR_OBS_94x94): Deleted.
3799
3800 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3801
3802         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3803
3804         * char-ucs.h (MAX_CHAR_BMP): New macro.
3805
3806 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3807
3808         * text-coding.c: Sync with r21-2-24.
3809
3810 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3811
3812         * file-coding.c: Modify for UTF-2000.
3813
3814 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3815
3816         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3817         to 0.13 (Takaida).
3818
3819 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3820
3821         * mule-charset.c (split_builtin_char): Delete builtin support for
3822         `katakana-jisx0201'.
3823         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3824         BMP area in builtin representation.
3825
3826         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3827         `Vcharset_katakana_jisx0201'.
3828
3829 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3830
3831         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3832         (Qisolated): New variable.
3833         (Qinitial): New variable.
3834         (Qmedial): New variable.
3835         (Qfinal): New variable.
3836         (Qvertical): New variable.
3837         (Qsmall): New variable.
3838         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3839         `Qvertical' and `Qsmall'.
3840         (Qmojikyo_pj_[1 .. 21]): New variable.
3841         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3842         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3843         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3844         .. 21]'.
3845
3846 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3847
3848         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3849         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3850         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3851
3852 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3853
3854         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3855         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3856         BMP.
3857         (Qjapanese_jisx0208_1990): New variable.
3858         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3859         (complex_vars_of_mule_charset): Add new coded-charset
3860         `japanese-jisx0208-1990'.
3861
3862         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3863         (MIN_CHAR_JIS_X0208_1990): New macro.
3864         (MAX_CHAR_JIS_X0208_1990): New macro.
3865
3866 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3867
3868         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3869         coded-charset is not found.
3870
3871 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3872
3873         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3874         (Fdefine_char): Use `Fmake_char'.
3875
3876 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3877
3878         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3879         (Vcharset_hiragana_jisx0208): Deleted.
3880         (Vcharset_katakana_jisx0208): Deleted.
3881         (Qideograph_daikanwa): New variable.
3882         (Qhiragana_jisx0208): Deleted.
3883         (Qkatakana_jisx0208): Deleted.
3884         (split_builtin_char): Split `ideograph-daikanwa'.
3885         (Fsplit_char): New implementation for UTF-2000.
3886         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3887         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3888         (complex_vars_of_mule_charset): Add new coded-charset
3889         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3890         `katakana-jisx0208'.
3891
3892         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3893         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3894         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3895         (MIN_CHAR_DAIKANWA): New macro.
3896         (MAX_CHAR_DAIKANWA): New macro.
3897
3898 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3899
3900         * data.c (Fstring_to_number): Don't recognize floating point if
3901         base is not 10.
3902
3903 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3904
3905         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3906
3907 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3908
3909         * mule-charset.c (Qsquare): New variable.
3910         (to_char_code): Add `Qsquare'.
3911         (syms_of_mule_charset): Add new symbol `square'.
3912
3913 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3914
3915         * mule-charset.c (Qcircle): New variable.
3916         (to_char_code): Add `Qcircle'.
3917         (syms_of_mule_charset): Add new symbol `circle'.
3918
3919 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3920
3921         * mule-charset.c (Qfont): New variable.
3922         (to_char_code): Add `Qfont'.
3923         (syms_of_mule_charset): Add new symbol `font'.
3924
3925 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3926
3927         * mule-charset.c (Qsub): New variable.
3928         (to_char_code): Add `Qsub'.
3929         (syms_of_mule_charset): Add new symbol `sub'.
3930
3931 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3932
3933         * mule-charset.c (Fput_char_attribute): Convert each element of
3934         VALUE to GL position if ATTRIBUTE is a GR-set,
3935
3936 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3937
3938         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3939         coded-charset is a GR-set.
3940
3941 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3942
3943         * mule-charset.c (Fput_char_attribute): Check each element of
3944         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3945
3946 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3947
3948         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3949         UTF-2000.
3950         (Qethiopic_ucs): New variable in UTF-2000.
3951         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3952         (complex_vars_of_mule_charset): Add new coded-charset
3953         `ethiopic-ucs' in UTF-2000.
3954
3955         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3956         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3957         9)'.
3958         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3959         10)'.
3960         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3961
3962 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3963
3964         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3965         `ascii'.
3966
3967 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3968
3969         * mule-charset.c (Vcharacter_variant_table): New variable.
3970         (Q_ucs): New variable.
3971         (Fchar_variants): New function.
3972         (Fput_char_attribute): Register `->ucs' value to
3973         `Vcharacter_variant_table'.
3974         (syms_of_mule_charset): Add new function `char-variants' and new
3975         symbol `->ucs'.
3976         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3977
3978 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3979
3980         * mule-charset.c (get_char_code_table): Allow negative character
3981         code.
3982         (put_char_code_table): Likewise.
3983         (Vcharacter_composition_table): New variable.
3984         (Q_decomposition): New variable.
3985         (Qwide): New variable.
3986         (Qnarrow): New variable.
3987         (Qcompat): New variable.
3988         (QnoBreak): New variable.
3989         (Qsuper): New variable.
3990         (Qfraction): New variable.
3991         (to_char_code): New function.
3992         (Fget_composite_char): New function.
3993         (Fput_char_attribute): Register `->decomposition' value to
3994         `Vcharacter_composition_table'.
3995         (syms_of_mule_charset): Add new function `get-composite-char', new
3996         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3997         `super' and `fraction'.
3998         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3999
4000 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4001
4002         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4003         character; copy the return value.
4004
4005 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4006
4007         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4008
4009         * mule-charset.c (range_charset_code_point): Must use make_int.
4010         (split_builtin_char): New function.
4011
4012 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4013
4014         * mule-charset.c (char_byte_table): Change name from
4015         "char-code-table" to "char-byte-table".
4016         (mark_char_code_table): New function.
4017         (char_code_table_equal): New function.
4018         (char_code_table_hash): New function.
4019         (char_code_table_description): New constant.
4020         (char_code_table): New type.
4021         (make_char_code_table): New function.
4022         (copy_char_code_table): New function.
4023         (get_char_code_table): Modify for `char_code_table' type.
4024         (put_char_code_table): Likewise.
4025         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4026         (Kashiwara).
4027
4028         * char-ucs.h (char_code_table): New type.
4029         (XCHAR_CODE_TABLE): New macro.
4030         (XSETCHAR_CODE_TABLE): New macro.
4031         (CHAR_CODE_TABLE_P): New macro.
4032         (GC_CHAR_CODE_TABLE_P): New macro.
4033         (struct Lisp_Char_Code_Table): New structure.
4034
4035 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4036
4037         * mule-charset.c (Fmake_charset): Setup byte_offset for
4038         {94|96}^n-set.
4039
4040 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4041
4042         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4043         character.
4044
4045 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4046
4047         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4048         is found.
4049
4050 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4051
4052         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4053         charset, it is regarded as a charset.
4054         (put_char_attribute): New function in UTF-2000.
4055         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4056         charset, mapping-table of the charset is modified.
4057         (Fdefine_char): New function in UTF-2000.
4058         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4059         `Fput_char_attribute'.
4060         (syms_of_mule_charset): Add new function `define-char' and new
4061         symbol `ucs' in UTF-2000.
4062         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4063
4064 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4065
4066         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4067         non-UTF-2000 configuration.
4068
4069 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4070
4071         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4072         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4073
4074         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4075         deleted.
4076         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4077         (Fset_charset_mapping_table): Likewise.
4078
4079         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4080         (CHARSET_ENCODING_TABLE): Delete.
4081         (XCHARSET_ENCODING_TABLE): Delete.
4082         (charset_code_point): New interface.
4083
4084 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4085
4086         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4087         instead of `charset_get_byte1' and `charset_get_byte2'.
4088
4089         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4090         (charset_get_byte2): Deleted.
4091
4092 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4093
4094         * char-ucs.h (SPLIT_CHAR): New inline function.
4095         (breakup_char_1): Use `SPLIT_CHAR'.
4096
4097         * mule-charset.c (range_charset_code_point): New function.
4098         (charset_code_point): New function.
4099
4100         * char-ucs.h (range_charset_code_point): New interface.
4101         (breakup_char_1): Use `range_charset_code_point'.
4102
4103 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4104
4105         * mule-charset.c (Fmake_charset): Delete unused local variable
4106         `code_offset'.
4107
4108         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4109         (breakup_char_1): Find a charset and code-point in
4110         `Vcharacter_attribute_table'.
4111
4112 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4113
4114         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4115         to 0.10 (Yao).
4116
4117 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4118
4119         * mule-charset.c (Vcharacter_attribute_table): New variable.
4120         (Fchar_attribute_alist): New function.
4121         (Fget_char_attribute): New function.
4122         (Fput_char_attribute): New function.
4123         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4124         too.
4125         (syms_of_mule_charset): Add new function `char-attribute-alist',
4126         `get-char-attribute' and `put-char-attribute'.
4127         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4128
4129 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4130
4131         * mule-charset.c (Fmake_charset): Just use
4132         `get_unallocated_leading_byte'.
4133
4134         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4135         sets; don't use final-byte based number for private sets.
4136
4137 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4138
4139         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4140         integer.
4141
4142 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4143
4144         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4145         to 0.9.
4146
4147 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4148
4149         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4150         of `CHAR_LEADING_BYTE' in UTF-2000.
4151
4152         * insdel.c (find_charsets_in_bufbyte_string): Use
4153         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4154         (find_charsets_in_emchar_string): Likewise.
4155
4156         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4157         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4158
4159         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4160         (CHAR_CHARSET_ID): New macro.
4161
4162 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4163
4164         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4165         charset-id - MIN_LEADING_BYTE.
4166         (put_char_table): Likewise.
4167
4168 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4169
4170         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4171         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4172         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4173         (CHARSET_ID_OFFSET): New macro.
4174         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4175         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4176         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4177         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4178         4).
4179         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4180         5).
4181         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4182         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4183         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4184         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4185         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4186
4187 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4188
4189         * mule-charset.c (next_allocated_leading_byte): New variable in
4190         UTF-2000.
4191         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4192         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4193         (get_unallocated_leading_byte): Simply use
4194         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4195         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4196         UTF-2000.
4197
4198         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4199         (MAX_LEADING_BYTE_PRIVATE): New macro.
4200         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4201         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4202
4203 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4204
4205         * mule-charset.c (Fmake_charset): Allocate final-byte based
4206         charset-id for 94-set, 96-set and 94x94-set.
4207
4208 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4209
4210         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4211         ambiguous `else'.
4212         (Fmake_charset): Likewise.
4213         (complex_vars_of_mule_charset): Modify the font registry of
4214         `ucs-bmp' not to match `Ethiopic-Unicode'.
4215
4216 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4217
4218         * mule-charset.c (complex_vars_of_mule_charset): Add font
4219         registory of `ucs-bmp'.
4220
4221 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4222
4223         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4224         coded-charsets in `default-coded-charset-priority-list' when
4225         breaking up a character.
4226
4227         * mule-charset.c (Vcharset_latin_viscii): New variable.
4228         (Qlatin_viscii): New variable.
4229         (make_charset): Don't use `decoding_table'.
4230         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4231         byte_offset.
4232         (Fset_charset_mapping_table): New implementation.
4233         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4234         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4235         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4236         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4237         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4238         charset `latin_viscii'.
4239
4240         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4241         (CHARSET_TYPE_94X94): Change to 1 from 2.
4242         (CHARSET_TYPE_96): Change to 2 from 1.
4243         (CHARSET_TYPE_128): New macro.
4244         (CHARSET_TYPE_128X128): Change to 5 from 4.
4245         (CHARSET_TYPE_256): New macro.
4246         (CHARSET_TYPE_256X256): Change to 7 from 5.
4247         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4248
4249 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4250
4251         * text-coding.c (char_encode_shift_jis): Refer
4252         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4253         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4254
4255         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4256         (char_byte_table_equal): New function in UTF-2000.
4257         (char_byte_table_hash): New function in UTF-2000.
4258         (char_byte_table_description): New constant in UTF-2000.
4259         (char_byte_table): New type in UTF-2000.
4260         (make_char_byte_table): New function in UTF-2000.
4261         (copy_char_byte_table): New function in UTF-2000.
4262         (make_char_code_table): New macro in UTF-2000.
4263         (get_char_code_table): New function in UTF-2000.
4264         (put_char_code_table): New function in UTF-2000.
4265         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4266         (charset_description): Add setting in UTF-2000.
4267         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4268         `CHARSET_TO_BYTE1_TABLE(cs)'.
4269         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4270         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4271         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4272         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4273         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4274         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4275         `CHARSET_TO_BYTE2_TABLE(cs)'.
4276
4277         * char-ucs.h (char_byte_table): New type.
4278         (XCHAR_BYTE_TABLE): New macro.
4279         (XSETCHAR_BYTE_TABLE): New macro.
4280         (CHAR_BYTE_TABLE_P): New macro.
4281         (GC_CHAR_BYTE_TABLE_P): New macro.
4282         (struct Lisp_Char_Byte_Table): New structure.
4283         (get_char_code_table): New interface.
4284         (Emchar_to_byte_table): Deleted.
4285         (get_byte_from_character_table): Deleted.
4286         (struct Lisp_Charset): Add `encoding_table'; delete
4287         `to_byte1_table' and `to_byte2_table'.
4288         (CHARSET_ENCODING_TABLE): New macro.
4289         (CHARSET_TO_BYTE1_TABLE): Deleted.
4290         (CHARSET_TO_BYTE2_TABLE): Deleted.
4291         (XCHARSET_ENCODING_TABLE): New macro.
4292         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4293         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4294
4295 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4296
4297         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4298         `vietnamese-viscii-*'.
4299
4300 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4301
4302         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4303         (Qvietnamese_viscii_upper): New variable.
4304         (Fdefine_charset_alias): New function.
4305         (syms_of_mule_charset): Add new function `define-charset-alias'.
4306         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4307         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4308         `latin-viscii-*'.
4309
4310 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4311
4312         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4313         (MAX_CHAR_OBS_94x94): New macro.
4314         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4315         for 94x94 sets.
4316
4317         * mule-charset.c (put_byte_from_character_table): Change unit size
4318         from 128 to 256.
4319         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4320         not defined.
4321         (Fmake_reverse_direction_charset): Modify dummy argument of
4322         `make_charset' for non-UTF-2000 environment.
4323
4324 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4325
4326         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4327
4328         * mule-charset.c (destroy_byte_from_character_table): New macro.
4329         (latin_jisx0201_to_ucs): Deleted.
4330         (latin_iso8859_2_to_ucs): Deleted.
4331         (latin_iso8859_3_to_ucs): Deleted.
4332         (latin_iso8859_4_to_ucs): Deleted.
4333         (latin_iso8859_9_to_ucs): Deleted.
4334         (latin_viscii_lower_to_ucs): Deleted.
4335         (latin_viscii_upper_to_ucs): Deleted.
4336         (mark_charset): Mark `cs->decoding_table'.
4337         (Fcharset_mapping_table): Fix DOC-string.
4338         (Fset_charset_mapping_table): New function.
4339         (syms_of_mule_charset): Add nwe function
4340         `set-charset-mapping-table'.
4341         (complex_vars_of_mule_charset): Don't setup and use
4342         `latin_*_to_ucs'.
4343
4344 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4345
4346         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4347         charset.
4348
4349 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4350
4351         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4352         (Vcharset_katakana_jisx0208): New variable.
4353         (Qhiragana_jisx0208): New variable.
4354         (Qkatakana_jisx0208): New variable.
4355         (make_charset): Add new argument `byte_offset'.
4356         (charset_get_byte1): Modify for new coded-charset definition; use
4357         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4358         `XCHARSET_BYTE_OFFSET'.
4359         (Fmake_charset): Modify for `make_charset'.
4360         (Fmake_reverse_direction_charset): Likewise.
4361         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4362         `katakana-jisx0208'.
4363         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4364         `.'  in font registry of charset `katakana-jisx0201',
4365         `latin-jisx0201', `vietnamese-viscii-lower' and
4366         `vietnamese-viscii-upper'; modify DOC-string of charset
4367         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4368         registry of charset `japanese-jisx0208' not to use font for JIS
4369         X0208:1990; add new charset `hiragana-jisx0208' and
4370         `katakana-jisx0208'.
4371
4372         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4373         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4374         (struct Lisp_Charset): Add `byte_offset'.
4375         (CHARSET_BYTE_OFFSET): New macro.
4376         (XCHARSET_UCS_MIN): New macro.
4377         (XCHARSET_UCS_MAX): New macro.
4378         (XCHARSET_CODE_OFFSET): New macro.
4379         (XCHARSET_BYTE_OFFSET): New macro.
4380         (MIN_CHAR_HIRAGANA): New macro.
4381         (MAX_CHAR_HIRAGANA): New macro.
4382         (MIN_CHAR_KATAKANA): New macro.
4383         (MAX_CHAR_KATAKANA): New macro.
4384         (MAKE_CHAR): Modify for new coded-charset definition; use
4385         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4386         `XCHARSET_BYTE_OFFSET'.
4387
4388 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4389
4390         * mule-charset.c (CHAR96): Deleted.
4391         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4392         <Lisp_Object>.
4393         (latin_iso8859_2_to_ucs): Likewise.
4394         (latin_iso8859_3_to_ucs): Likewise.
4395         (latin_iso8859_4_to_ucs): Likewise.
4396         (latin_iso8859_9_to_ucs): Likewise.
4397         (latin_viscii_lower_to_ucs): Likewise.
4398         (latin_viscii_upper_to_ucs): Likewise.
4399         (latin_tcvn5712_to_ucs): Commented out.
4400         (make_charset): Change type of argument `decoding_table' from
4401         <Emchar*> to <Lisp_Object> [vector of characters].
4402         (Fmake_charset): Modify for `make_charset'.
4403         (Fmake_reverse_direction_charset): Likewise.
4404         (Fcharset_mapping_table): New function in UTF-2000.
4405         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4406         UTF-2000.
4407         (complex_vars_of_mule_charset): Modify for type change of
4408         `*_to_ucs'; modify for `make_charset'.
4409
4410         * char-ucs.h (struct Lisp_Charset): Change type of
4411         `decoding_table' from <Emchar*> to <Lisp_Object>.
4412         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4413
4414 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4415
4416         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4417         error with non-UTF-2000-Mule.
4418
4419 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4420
4421         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4422         in lisp again].
4423         (Vcharset_chinese_cns11643_4): Likewise.
4424         (Vcharset_chinese_cns11643_5): Likewise.
4425         (Vcharset_chinese_cns11643_6): Likewise.
4426         (Vcharset_chinese_cns11643_7): Likewise.
4427         (Qchinese_cns11643_3): Likewise.
4428         (Qchinese_cns11643_4): Likewise.
4429         (Qchinese_cns11643_5): Likewise.
4430         (Qchinese_cns11643_6): Likewise.
4431         (Qchinese_cns11643_7): Likewise.
4432         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4433         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4434         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4435         (complex_vars_of_mule_charset): Likewise.
4436
4437 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4438
4439         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4440         96-set.
4441         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4442         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4443
4444 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4445
4446         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4447         0xFF60.
4448         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4449         (breakup_char_1): Likewise.
4450
4451         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4452         one of them includes the specified character.
4453
4454 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4455
4456         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4457
4458 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4459
4460         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4461
4462 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4463
4464         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4465         definition for non-UTF-2000 Mule.
4466         (latin_iso8859_3_to_ucs): Likewise.
4467         (latin_iso8859_4_to_ucs): Likewise.
4468         (latin_iso8859_9_to_ucs): Likewise.
4469         (latin_jisx0201_to_ucs): Likewise.
4470         (MIN_CHAR_THAI): Likewise.
4471         (MAX_CHAR_THAI): Likewise.
4472         (MIN_CHAR_GREEK): Likewise.
4473         (MAX_CHAR_GREEK): Likewise.
4474         (MIN_CHAR_HEBREW): Likewise.
4475         (MAX_CHAR_HEBREW): Likewise.
4476         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4477         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4478         (MIN_CHAR_CYRILLIC): Likewise.
4479         (MAX_CHAR_CYRILLIC): Likewise.
4480
4481 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4482
4483         * char-ucs.h (breakup_char_1): Use
4484         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4485         thai-tis620 and katakana-jisx0201 area.
4486
4487 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4488
4489         * char-ucs.h (breakup_char_1): Use
4490         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4491         area.
4492
4493         * text-coding.c (reset_encoding_stream): Fixed.
4494         (char_encode_ucs4): Delete `& 255'.
4495
4496         * char-ucs.h (breakup_char_1): Use
4497         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4498
4499 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4500
4501         * file-coding.c (Fmake_coding_system): Don't set up
4502         `codesys->fixed.size'.
4503         (encode_coding_no_conversion): Don't refer
4504         `str->codesys->fixed.size'.
4505
4506 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4507
4508         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4509         (latin_a_char_to_byte1): Deleted.
4510         (latin_a_char_to_byte2): Deleted.
4511
4512 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4513
4514         * mule-charset.c (make_charset): Add new argument `ucs_min',
4515         `ucs_max' and `code_offset'.
4516         (charset_get_byte1): New implementation [delete specific charset
4517         depended implementations].
4518         (Fmake_charset): Modify for `make_charset'.
4519         (Fmake_reverse_direction_charset): Likewise.
4520         (complex_vars_of_mule_charset): Likewise.
4521
4522         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4523         `code_offset'.
4524         (CHARSET_UCS_MIN): New macro.
4525         (CHARSET_UCS_MAX): New macro.
4526         (CHARSET_CODE_OFFSET): New macro.
4527         (MAKE_CHAR): Delete charset depended definitions [except
4528         katakana-jisx0201].
4529
4530 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4531
4532         * char-ucs.h (breakup_char_1): Use
4533         `Vdefault_coded_charset_priority_list' for C0-Controls,
4534         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4535
4536 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4537
4538         * char-ucs.h (charset_get_byte1): New function.
4539         (XCHARSET_GET_BYTE1): Deleted.
4540         (charset_get_byte2): New function.
4541         (XCHARSET_GET_BYTE2): Deleted.
4542         (Vdefault_coded_charset_priority_list): New external variable.
4543         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4544         `Vdefault_preferred_coded_charset_list'.
4545
4546         * mule-charset.c (charset_get_byte1): New function.
4547         (charset_get_byte2): New function.
4548         (Vdefault_coded_charset_priority_list): New variable.
4549         (vars_of_mule_charset): Add new variable
4550         `default-coded-charset-priority-list'.
4551
4552 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4553
4554         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4555         (XCHARSET_GET_BYTE2): New inline function.
4556         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4557         `XCHARSET_GET_BYTE2'.
4558
4559 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4560
4561         * mule-charset.c (make_charset): Initialize
4562         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4563         NULL if table is not defined.
4564
4565 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4566
4567         * text-coding.c (char_encode_shift_jis): Use
4568         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4569         `ucs_to_latin_jisx0201'.
4570
4571         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4572         (ucs_to_latin_iso8859_2): Deleted.
4573         (ucs_to_latin_iso8859_3): Deleted.
4574         (ucs_to_latin_iso8859_4): Deleted.
4575         (ucs_to_latin_iso8859_9): Deleted.
4576         (ucs_to_latin_viscii_lower): Deleted.
4577         (ucs_to_latin_viscii_upper): Deleted.
4578         (ucs_to_latin_tcvn5712): Deleted.
4579         (make_charset): Add new argument `decoding_table'; set up
4580         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4581         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4582         `decoding_table' is defined in UTF-2000.
4583         (Fmake_charset): Modify for `make_charset'.
4584         (Fmake_reverse_direction_charset): Likewise.
4585         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4586         and `GENERATE_96_SET'.
4587
4588         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4589         (ucs_to_latin_jisx0201): Deleted.
4590         (latin_iso8859_2_to_ucs): Deleted.
4591         (ucs_to_latin_iso8859_2): Deleted.
4592         (latin_iso8859_3_to_ucs): Deleted.
4593         (ucs_to_latin_iso8859_3): Deleted.
4594         (latin_iso8859_4_to_ucs): Deleted.
4595         (ucs_to_latin_iso8859_4): Deleted.
4596         (latin_iso8859_9_to_ucs): Deleted.
4597         (ucs_to_latin_iso8859_9): Deleted.
4598         (latin_viscii_lower_to_ucs): Deleted.
4599         (ucs_to_latin_viscii_lower): Deleted.
4600         (latin_viscii_upper_to_ucs): Deleted.
4601         (ucs_to_latin_viscii_upper): Deleted.
4602         (struct Lisp_Charset): Renamed `encoding_table' to
4603         `to_byte1_table'; add `to_byte2_table'.
4604         (CHARSET_DECODING_TABLE): New macro.
4605         (CHARSET_TO_BYTE1_TABLE): New macro.
4606         (CHARSET_TO_BYTE2_TABLE): New macro.
4607         (XCHARSET_DECODING_TABLE): New macro.
4608         (XCHARSET_TO_BYTE1_TABLE): New macro.
4609         (XCHARSET_TO_BYTE2_TABLE): New macro.
4610         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4611         tables.
4612         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4613         don't use `ucs_to_*' tables.
4614
4615 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4616
4617         * text-coding.c (Fmake_coding_system): Don't set up
4618         `codesys->fixed.size'.
4619         (encode_coding_no_conversion): Use `if' instead of `switch'.
4620
4621         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4622
4623 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4624
4625         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4626         (Fmake_charset): Modify for `make_charset'.
4627         (Fmake_reverse_direction_charset): Likewise.
4628         (complex_vars_of_mule_charset): Likewise.
4629
4630 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4631
4632         * text-coding.c (char_encode_shift_jis): Use table
4633         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4634
4635 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4636
4637         * text-coding.c (text_encode_generic): Use `if' instead of
4638         `switch'.
4639         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4640         decode JIS-Latin.
4641
4642 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4643
4644         * text-coding.c (encode_coding_sjis): Deleted.
4645         (char_encode_shift_jis): New function.
4646         (char_finish_shift_jis): New function.
4647         (reset_encoding_stream): Set up `encode_char' and `finish' for
4648         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4649         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4650         (char_encode_utf8): Treat `eol_type'.
4651
4652 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4653
4654         * file-coding.c (decode_coding_iso2022): Use
4655         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4656
4657 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4658
4659         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4660         to 0.7 (Hirano).
4661
4662 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4663
4664         * char-lb.h (CHAR_COLUMNS): New macro.
4665
4666 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4667
4668         * text-coding.c (char_encode_ucs4): New function.
4669         (char_finish_ucs4): New function.
4670         (encode_coding_ucs4): Deleted.
4671         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4672         (text_encode_generic): Delete local variable `charset' and `half'.
4673         (ucs_to_mule_table): Deleted.
4674         (mule_to_ucs_table): Deleted.
4675         (Fset_ucs_char): Deleted.
4676         (ucs_to_char): Deleted.
4677         (Fucs_char): Deleted.
4678         (Fset_char_ucs): Deleted.
4679         (Fchar_ucs): Deleted.
4680         (decode_ucs4): Deleted.
4681         (mule_char_to_ucs4): Deleted.
4682         (encode_ucs4): Deleted.
4683         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4684         (decode_coding_utf8): Likewise.
4685         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4686         (char_encode_iso2022): Fixed.
4687         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4688         `Fset_char_ucs' and `Fchar_ucs'.
4689         (complex_vars_of_file_coding): Don't initialize
4690         `ucs_to_mule_table'.
4691
4692         * objects-tty.c (tty_initialize_font_instance): Don't use
4693         `XCHARSET_COLUMNS'.
4694
4695         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4696         UTF-2000.
4697
4698         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4699         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4700
4701         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4702         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4703         (emchar_string_displayed_columns): Likewise.
4704
4705         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4706         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4707         (string_column_at_point): Likewise.
4708         (Fmove_to_column): Likewise.
4709
4710         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4711         `encoding_table' and `decoding_table'.
4712         (CHARSET_REP_BYTES): Deleted.
4713         (XCHARSET_REP_BYTES): Deleted.
4714         (XCHARSET_COLUMNS): Deleted.
4715         (CHAR_COLUMNS): New macro.
4716         (lookup_composite_char): Deleted unconditionally.
4717         (composite_char_string): Likewise.
4718
4719 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4720
4721         * char-ucs.h (Emchar_to_byte_table): New type.
4722         (get_byte_from_character_table): New function interface.
4723         (Vcharset_latin_jisx0201): New variable.
4724         (latin_jisx0201_to_ucs): New variable.
4725         (ucs_to_latin_jisx0201): New variable.
4726         (Vcharset_latin_iso8859_2): New variable.
4727         (latin_iso8859_2_to_ucs): New variable.
4728         (ucs_to_latin_iso8859_2): New variable.
4729         (Vcharset_latin_iso8859_3): New variable.
4730         (latin_iso8859_3_to_ucs): New variable.
4731         (ucs_to_latin_iso8859_3): New variable.
4732         (Vcharset_latin_iso8859_4): New variable.
4733         (latin_iso8859_4_to_ucs): New variable.
4734         (ucs_to_latin_iso8859_4): New variable.
4735         (Vcharset_latin_iso8859_9): New variable.
4736         (latin_iso8859_9_to_ucs): New variable.
4737         (ucs_to_latin_iso8859_9): New variable.
4738         (Vcharset_latin_viscii_lower): New variable.
4739         (latin_viscii_lower_to_ucs): New variable.
4740         (ucs_to_latin_viscii_lower): New variable.
4741         (Vcharset_latin_viscii_upper): New variable.
4742         (latin_viscii_upper_to_ucs): New variable.
4743         (ucs_to_latin_viscii_upper): New variable.
4744         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4745         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4746         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4747         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4748         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4749         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4750         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4751         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4752         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4753         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4754
4755         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4756         (Vcharset_latin_viscii_upper): New variable.
4757         (make_byte_from_character_table): New function.
4758         (put_byte_from_character_table): New function.
4759         (get_byte_from_character_table): New function.
4760         (CHAR96): New macro.
4761         (ucs_to_latin_jisx0201): New variable.
4762         (latin_jisx0201_to_ucs): New variable.
4763         (ucs_to_latin_iso8859_2): New variable.
4764         (latin_iso8859_2_to_ucs): New variable.
4765         (ucs_to_latin_iso8859_3): New variable.
4766         (latin_iso8859_3_to_ucs): New variable.
4767         (ucs_to_latin_iso8859_4): New variable.
4768         (latin_iso8859_4_to_ucs): New variable.
4769         (ucs_to_latin_iso8859_9): New variable.
4770         (latin_iso8859_9_to_ucs): New variable.
4771         (ucs_to_latin_viscii_lower): New variable.
4772         (latin_viscii_lower_to_ucs): New variable.
4773         (ucs_to_latin_viscii_upper): New variable.
4774         (latin_viscii_upper_to_ucs): New variable.
4775         (ucs_to_latin_tcvn5712): New variable.
4776         (latin_tcvn5712_to_ucs): New variable.
4777         (Qlatin_viscii_lower): New variable.
4778         (Qlatin_viscii_upper): New variable.
4779         (syms_of_mule_charset): Set up new symbol
4780         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4781         (complex_vars_of_mule_charset): Set up new charset
4782         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4783         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4784         `ucs_to_<CHARSET>' tables.
4785
4786 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4787
4788         * text-coding.c: New file.
4789
4790 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4791
4792         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4793
4794         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4795         (MAKE_CHAR): Modify for `ucs-bmp'.
4796         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4797         non-MULE characters of BMP.
4798
4799 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4800
4801         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4802         to 0.6.
4803
4804 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4805
4806         * lstream.h:
4807         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4808         - Include character.h for `CHAR_ASCII_P'.
4809
4810         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4811
4812         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4813         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4814
4815         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4816         (BYTE_C0_P): Likewise.
4817         (BYTE_C1_P): Likewise.
4818         (Lstream_get_emchar_1): Likewise.
4819         (Lstream_fput_emchar): Likewise.
4820         (Lstream_funget_emchar): Likewise.
4821         (copy_internal_to_external): Likewise.
4822         (copy_external_to_internal): Likewise.
4823
4824         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4825         (BYTE_C0_P): Likewise.
4826         (BYTE_C1_P): Likewise.
4827         (Lstream_get_emchar_1): Likewise.
4828         (Lstream_fput_emchar): Likewise.
4829         (Lstream_funget_emchar): Likewise.
4830         (copy_internal_to_external): Likewise.
4831         (copy_external_to_internal): Likewise.
4832
4833         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4834         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4835
4836         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4837         (BYTE_ASCII_P): Moved to mb-1byte.h.
4838
4839 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4840
4841         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4842
4843         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4844         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4845         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4846         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4847         (VALIDATE_CHARPTR_FORWARD): Likewise.
4848         (simple_charptr_emchar): Moved to mb-multibyte.h.
4849         (simple_set_charptr_emchar): Likewise.
4850         (simple_charptr_copy_char): Likewise.
4851         (non_ascii_charptr_emchar): Likewise.
4852         (non_ascii_set_charptr_emchar): Likewise.
4853         (non_ascii_charptr_copy_char): Likewise.
4854         (charptr_emchar): Moved to mb-*byte.h.
4855         (set_charptr_emchar): Likewise.
4856         (charptr_copy_char): Likewise.
4857
4858         * mb-1byte.h, mb-multibyte.h: New files.
4859
4860 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4861
4862         * mb-utf-8.h (MULTIBYTE): New macro.
4863         (MAX_EMCHAR_LEN): Moved from buffer.h.
4864         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4865
4866         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4867
4868         * mb-lb.h, multibyte.h: New files.
4869
4870         * char-1byte.h (Charset_ID): Moved from buffer.h.
4871         (MIN_LEADING_BYTE): Likewise.
4872         (LEADING_BYTE_ASCII): Likewise.
4873         (NUM_LEADING_BYTES): Likewise.
4874         (CHARSETP): Likewise.
4875         (CHARSET_BY_LEADING_BYTE): Likewise.
4876         (XCHARSET_LEADING_BYTE): Likewise.
4877         (XCHARSET_GRAPHIC): Likewise.
4878         (XCHARSET_COLUMNS): Likewise.
4879         (XCHARSET_DIMENSION): Likewise.
4880         (CHAR_CHARSET): Likewise.
4881         (CHAR_LEADING_BYTE): Likewise.
4882         (BREAKUP_CHAR): Likewise.
4883         (Vcharset_ascii): Likewise.
4884
4885         * buffer.h: Include multibyte.h unconditionally.
4886         (VALID_CHARPTR_P): Moved to multibyte.h.
4887         (ASSERT_VALID_CHARPTR): Likewise.
4888         (REAL_INC_CHARPTR): Likewise.
4889         (REAL_INC_CHARBYTIND): Likewise.
4890         (REAL_DEC_CHARPTR): Likewise.
4891         (INC_CHARPTR): Likewise.
4892         (INC_CHARBYTIND): Likewise.
4893         (DEC_CHARPTR): Likewise.
4894         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4895         (VALIDATE_CHARPTR_FORWARD): Likewise.
4896         (charptr_n_addr): Likewise.
4897         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4898         (simple_charptr_emchar): Moved to multibyte.h.
4899         (simple_set_charptr_emchar): Likewise.
4900         (simple_charptr_copy_char): Likewise.
4901         (non_ascii_charptr_emchar): Likewise.
4902         (non_ascii_set_charptr_emchar): Likewise.
4903         (non_ascii_charptr_copy_char): Likewise.
4904         (charptr_emchar): Likewise.
4905         (set_charptr_emchar): Likewise.
4906         (charptr_copy_char): Likewise.
4907         (charptr_emchar_n): Likewise.
4908         (Charset_ID): Moved to char-1byte.h.
4909         (Vcharset_ascii): Likewise.
4910         (CHAR_CHARSET): Likewise.
4911         (CHAR_LEADING_BYTE): Likewise.
4912         (LEADING_BYTE_ASCII): Likewise.
4913         (NUM_LEADING_BYTES): Likewise.
4914         (MIN_LEADING_BYTE): Likewise.
4915         (CHARSETP): Likewise.
4916         (CHARSET_BY_LEADING_BYTE): Likewise.
4917         (XCHARSET_LEADING_BYTE): Likewise.
4918         (XCHARSET_GRAPHIC): Likewise.
4919         (XCHARSET_COLUMNS): Likewise.
4920         (XCHARSET_DIMENSION): Likewise.
4921         (BREAKUP_CHAR): Likewise.
4922
4923 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4924
4925         * character.h: Add document about interface for characters.
4926
4927         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4928         (MAKE_CHAR): Delete comment about
4929         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4930         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4931         (BREAKUP_CHAR): Modify name of arguments.
4932         (CHAR_CHARSET): Modify name of argument.
4933
4934         * buffer.h: Delete document about Emchar accessors.
4935
4936 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4937
4938         * character.h (CHAR_INTP): Moved from buffer.h
4939         (CHAR_OR_CHAR_INTP): Likewise.
4940         (XCHAR_OR_CHAR_INT): Likewise.
4941         (CHECK_CHAR_COERCE_INT): Likewise.
4942
4943         * buffer.h (CHAR_INTP): Moved to character.h
4944         (CHAR_OR_CHAR_INTP): Likewise.
4945         (XCHAR_OR_CHAR_INT): Likewise.
4946         (CHECK_CHAR_COERCE_INT): Likewise.
4947
4948 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4949
4950         * character.h:
4951         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4952         - Include char-1byte.h, char-lb.h or char-ucs.h.
4953
4954         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4955
4956         * buffer.h: Include character unconditionally.
4957         (valid_char_p): Moved to char-*.h.
4958         (non_ascii_valid_char_p): Moved to char-lb.h.
4959
4960         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4961
4962 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4963
4964         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4965         in UTF-2000 because it is not ported yet and not to use
4966         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4967         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4968         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4969
4970         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4971         (CHAR_ASCII_P): Moved from character.h.
4972
4973         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4974         (CHAR_ASCII_P): Likewise.
4975         (CHAR_FIELD1_MASK): Deleted.
4976         (CHAR_FIELD2_MASK): Deleted.
4977         (CHAR_FIELD3_MASK): Deleted.
4978         (MAX_CHAR_BASIC_LATIN): New macro.
4979         (CHAR_FIELD1): Deleted.
4980         (CHAR_FIELD2_INTERNAL): Deleted.
4981         (CHAR_FIELD3_INTERNAL): Deleted.
4982         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4983         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4984         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4985         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4986         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4987         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4988         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4989         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4990         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4991         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4992         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4993         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4994         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4995         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4996         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4997         (MIN_CHAR_COMPOSITION): Deleted.
4998         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4999         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5000
5001 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5002
5003         * buffer.h: Include mb-utf-8.h in UTF-2000.
5004
5005         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5006
5007         * mb-utf-8.h: New file.
5008
5009 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5010
5011         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5012         instead of `int'.
5013
5014         * mule-charset.h, buffer.h (Charset_ID): New type.
5015
5016 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5017
5018         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5019         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5020         instead of `MULE_CHAR_PRIVATE_OFFSET',
5021         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5022         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5023         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5024
5025         * character.h (Vcharset_japanese_jisx0212): New variable
5026         definition.
5027
5028 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5029
5030         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5031         (charset_by_attributes): Delete array about direction.
5032         (latin_a_char_to_charset): New variable in UTF-2000.
5033         (latin_a_char_to_byte1): New variable in UTF-2000.
5034         (latin_a_char_to_byte2): New variable in UTF-2000.
5035         (Qucs_bmp): New variable.
5036         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5037         `Bufbyte'.
5038         (next_allocated_2_byte_leading_byte): Likewise.
5039         (non_ascii_set_charptr_emchar): Likewise.
5040         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5041         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5042         `charset_by_attributes'.
5043         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5044         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5045         and `CHARSET_BY_LEADING_BYTE'.
5046         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5047         `utf-2000-version' to `vars_of_mule_charset'.
5048         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5049         define `leading-code-private-11' in UTF-2000; move setting of
5050         `utf-2000-version' from `syms_of_mule_charset'.
5051         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5052         UTF-2000.
5053
5054         * character.h (Charset_ID): New type.
5055         (LEADING_BYTE_UCS_BMP): New macro.
5056         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5057         (CHARSET_ID_OFFSET_94): New macro.
5058         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5059         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5060         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5061         final-byte.
5062         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5063         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5064         (CHARSET_ID_OFFSET_96): New macro.
5065         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5066         CHARSET_ID_OFFSET_96 and final-byte.
5067         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5068         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5069         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5070         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5071         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5072         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5073         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5074         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5075         (LEADING_BYTE_THAI_TIS620): Likewise.
5076         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5077         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5078         (CHARSET_ID_OFFSET_94x94): New macro.
5079         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5080         CHARSET_ID_OFFSET_94x94 and final-byte.
5081         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5082         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5083         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5084         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5085         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5086         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5087         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5088         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5089         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5090         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5091         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5092         (CHARSET_TYPE_128X128): New macro.
5093         (CHARSET_TYPE_256X256): New macro.
5094         (XCHARSET_PRIVATE_P): Delete unconditionally.
5095         (charset_by_attributes): Delete array about direction.
5096         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5097         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5098         (MIN_CHAR_94): New macro.
5099         (MAX_CHAR_94): New macro.
5100         (MIN_CHAR_96): New macro.
5101         (MAX_CHAR_96): New macro.
5102         (MIN_CHAR_94x94): New macro.
5103         (MAX_CHAR_94x94): New macro.
5104         (MIN_CHAR_96x96): New macro.
5105         (MAX_CHAR_96x96): New macro.
5106         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5107         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5108         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5109         - 32)'.
5110         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5111         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5112         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5113         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5114         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5115         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5116         `XCHARSET_LEADING_BYTE' to make code-point.
5117         (latin_a_char_to_charset): New variable.
5118         (latin_a_char_to_byte1): New variable.
5119         (latin_a_char_to_byte2): New variable.
5120         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5121         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5122         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5123
5124         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5125         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5126         (find_charsets_in_emchar_string): Likewise.
5127         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5128
5129         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5130         `int'.
5131         (decode_coding_iso2022): Likewise.
5132
5133         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5134         of `unsigned char'.
5135
5136         * redisplay.c (redisplay_text_width_emchar_string): Use
5137         `Charset_ID' instead of `unsigned char'.
5138         (redisplay_frame_text_width_string): Likewise.
5139
5140         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5141         `unsigned char'.
5142
5143         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5144         instead of `unsigned char'.
5145         (face_cachel_charset_font_metric_info): Likewise.
5146
5147         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5148         (get_non_ascii_char_table_value): Likewise.
5149         (get_char_table): Likewise.
5150         (put_char_table): Likewise.
5151         (map_over_other_charset): Likewise.
5152         (map_char_table): Likewise.
5153
5154         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5155         instead of `unsigned char'.
5156
5157 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5158
5159         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5160         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5161
5162         * mule-charset.c (leading_code_private_11): Don't define in
5163         UTF-2000.
5164
5165         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5166         in UTF-2000 because it is not ported yet and not to use
5167         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5168
5169 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5170
5171         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5172
5173 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5174
5175         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5176         in UTF-2000.
5177
5178         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5179         of unsigned char to store leading-byte.
5180
5181         * chartab.c (get_non_ascii_char_table_value): Don't use
5182         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5183
5184         * file-coding.c (encode_coding_big5): Delete bogus implementation
5185         in UTF2000.
5186
5187         * character.h (LEADING_BYTE_*): Delete definition for
5188         non-UTF-2000.
5189         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5190         (LEADING_BYTE_PREFIX_P): Deleted.
5191         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5192         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5193         (BUFBYTE_LEADING_BYTE_P): Deleted.
5194         (CHARSET_PRIVATE_P): Deleted unconditionally.
5195         (rep_bytes_by_first_byte): Deleted unconditionally.
5196         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5197         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5198         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5199         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5200         (CHAR_FIELD2): Deleted.
5201         (CHAR_FIELD3): Deleted.
5202         (MAKE_CHAR): Delete definition for non-UTF-2000.
5203         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5204         (breakup_char_1): New implementation.
5205         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5206         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5207
5208 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5209
5210         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5211         condition.
5212
5213 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5214
5215         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5216         (CHARSET_PRIVATE_P): Likewise.
5217         (XCHARSET_PRIVATE_P): Likewise.
5218         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5219
5220         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5221         UTF2000.
5222         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5223
5224 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5225
5226         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5227         (NUM_LEADING_BYTES): Changed from 128 to 256.
5228         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5229         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5230         UTF2000.
5231         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5232
5233         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5234         UTF2000.
5235         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5236         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5237         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5238         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5239         (Qchinese_cns11643_3): New variable in UTF2000.
5240         (Qchinese_cns11643_4): New variable in UTF2000.
5241         (Qchinese_cns11643_5): New variable in UTF2000.
5242         (Qchinese_cns11643_6): New variable in UTF2000.
5243         (Qchinese_cns11643_7): New variable in UTF2000.
5244         (syms_of_mule_charset): Define `chinese-cns11643-3',
5245         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5246         and `chinese-cns11643-7' in UTF2000.
5247         (vars_of_mule_charset): Initialize
5248         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5249         + 1 in UTF2000.
5250         (complex_vars_of_mule_charset): Setup charset
5251         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5252         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5253
5254 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5255
5256         * mule-charset.c: Move setting for `leading-code-private-11' from
5257         `syms_of_mule_charset' to `vars_of_mule_charset'.
5258
5259 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5260
5261         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5262         and `NUM_LEADING_BYTES' in assert.
5263
5264 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5265
5266         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5267         instead of 128.
5268         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5269         `NUM_LEADING_BYTES' instead of 128.
5270
5271 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5272
5273         * mule-charset.h (charset_by_leading_byte): Use
5274         `NUM_LEADING_BYTES' instead of 128.
5275         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5276
5277         * mule-charset.c (charset_by_leading_byte): Use
5278         `NUM_LEADING_BYTES' instead of 128.
5279         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5280
5281         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5282         128.
5283
5284 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5285
5286         * mule-charset.c (syms_of_mule_charset): Update to
5287         0.4 (Shin-Imamiya).
5288
5289 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5290
5291         * file-coding.c (encode_coding_sjis): New implementation for
5292         UTF2000.  (decode_coding_sjis): Ditto.
5293
5294 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5295
5296         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5297         Don't define in UTF2000.
5298
5299         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5300         defined.
5301
5302         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5303         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5304         MULE.
5305
5306 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5307
5308         * config.h.in (CHAR_IS_UCS4): New macro.
5309
5310         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5311         conventional MULE representation.
5312         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5313
5314         * mule-charset.h: Reverted to original.
5315
5316         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5317         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5318         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5319
5320         * character.h: New file.
5321
5322         * file-coding.c (Fmake_coding_system): Set 1 to
5323         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5324         defined.
5325         (encode_coding_no_conversion): New implementation for UTF2000.
5326
5327         * file-coding.h (struct Lisp_Coding_System): Add new member
5328         `fixed.size'.
5329
5330 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5331
5332         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5333         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5334         (encode_coding_iso2022): New implementation for UTF2000.
5335
5336 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5337
5338         * mule-canna.c (c2mu): New implementation for UTF2000.
5339         (m2c): Likewise.
5340
5341 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5342
5343         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5344
5345 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5346
5347         * file-coding.c (reset_encoding_stream): Set 0 to
5348         `str->iso2022.current_char_boundary' in UTF2000.
5349         (encode_utf8): Don't define in UTF2000.
5350         (encode_coding_utf8): New implementation for UTF-8 representation
5351         of UTF2000.
5352         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5353
5354 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5355
5356         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5357
5358         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5359         UTF2000.
5360         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5361
5362         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5363
5364         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5365         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5366         as UTF-8 in UTF2000.
5367         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5368         (non_ascii_valid_char_p): Don't define in UTF2000.
5369         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5370         (Lstream_get_emchar_1): Likewise.
5371         (utf-2000-version): New variable in UTF2000.
5372
5373         * lread.c (read_escape): Add new reader `u'.
5374
5375         * insdel.c (three_to_one_table): Don't define in UTF2000.
5376         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5377         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5378         UTF2000.
5379         (bytind_to_bufpos_func): Likewise.
5380         (buffer_mule_signal_inserted_region): Likewise.
5381         (vars_of_insdel): Don't initialize `three_to_one_table'.
5382         (init_buffer_text): Use `buf->text->mule_size' instead of
5383         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5384         UTF2000.
5385
5386         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5387         UTF-8 representation in UTF2000.
5388         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5389         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5390         (decode_coding_iso2022): Don't define local variable `lb' in
5391         UTF2000; don't use LEADING_BYTE in UTF2000; use
5392         `DECODE_ADD_UCS_CHAR' in UTF2000.
5393         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5394
5395         * config.h.in (UTF2000): New macro.
5396
5397         * buffer.h (struct buffer_text): Add new member `mule_size' and
5398         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5399         (valid_char_p): Return always 1 in UTF2000.
5400         (MAX_EMCHAR_LEN): 6 in UTF2000.
5401         (three_to_one_table): Don't define in UTF2000.
5402         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5403         UTF2000.
5404         (real_bytind_to_bufpos): Likewise.
5405
5406         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5407
5408 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5409
5410         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5411         representation change.
5412         (Vutf_2000_version): New variable.
5413         (leading_code_private_11): New variable.
5414         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5415         `leading-code-private-11'.
5416
5417         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5418         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5419         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5420         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5421         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5422         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5423         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5424         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5425         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5426         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5427         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5428         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5429         (MIN_CHAR_GREEK): New macro.
5430         (MAX_CHAR_GREEK): New macro.
5431         (MIN_CHAR_CYRILLIC): New macro.
5432         (MAX_CHAR_CYRILLIC): New macro.
5433         (MIN_CHAR_HEBREW): New macro.
5434         (MAX_CHAR_HEBREW): New macro.
5435         (MIN_CHAR_THAI): New macro.
5436         (MAX_CHAR_THAI): New macro.
5437         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5438         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5439         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5440         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5441         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5442         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5443         (CHAR_FIELD2): New inline function.
5444         (CHAR_FIELD3): New inline function.
5445         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5446         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5447         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5448         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5449         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5450         (MIN_CHAR_COMPOSITION): Likewise.
5451         (CHAR_LEADING_BYTE): Modified for character representation change.
5452         (MAKE_CHAR): Likewise.
5453
5454         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5455         (Vcharset_greek_iso8859_7): Likewise.
5456         (Vcharset_cyrillic_iso8859_5): Likewise.
5457         (Vcharset_hebrew_iso8859_8): Likewise.
5458         (Vcharset_thai_tis620): Likewise.
5459         (Vcharset_katakana_jisx0201): Likewise.
5460
5461 2004-02-02  Vin Shelton <acs@xemacs.org>
5462
5463         * XEmacs 21.4.15 is released
5464
5465 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
5466
5467         * device-x.c (x_error_handler): Don't call stderr_out
5468
5469 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
5470
5471         * buffer.c (other-buffer): Clarify documentation of order of
5472         arguments for FSF Emacs.
5473
5474 2003-10-11  Olivier Galibert  <galibert@pobox.com>
5475
5476         * window.c (Fdelete_window): Dirty the mirror structure _before_
5477         marking the window deleted.
5478
5479 2003-09-15  Jerry James  <james@xemacs.org>
5480
5481         * event-msw.c (debug_mswin_messages): Conditionally compile
5482         messages missing from the Cygwin headers.
5483
5484 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
5485
5486         * data.c (eq_with_ebola_notice): Fix typo in comment.
5487         (Ftrue_list_p): Improve docstring.
5488
5489 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
5490
5491         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
5492
5493 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
5494
5495         * search.c (trivial_regexp_p): Regexps containing "\{" are
5496         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
5497         Stefan Monnier for suggesting a diagnosis.
5498
5499 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
5500
5501         * elhash.c (make-hash-table): Clarify use of :test #'equal.
5502
5503 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
5504
5505         * search.c (Fsearch_forward):
5506         (Fsearch_backward):
5507         Document negative count.
5508
5509 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
5510
5511         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
5512
5513 2003-09-13  Martin Buchholz  <martin@xemacs.org>
5514
5515         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
5516
5517 2003-09-15  Vin Shelton  <acs@xemacs.org>
5518
5519         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
5520         21.5.
5521
5522 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5523
5524         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
5525         (re_search_2): Match the first byte of Bufbyte, not Emchar.
5526         (re_match_2_internal): Use TRANSLATE instead of
5527         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
5528         non-ASCII char case conversion.
5529
5530 2003-09-08  Mike Sperber  <mike@xemacs.org>
5531
5532         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
5533         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
5534
5535 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
5536
5537        * .gdbinit (pobj): fix printing of symbol name.
5538
5539 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
5540
5541         * frame-x.c (x_layout_widgets): When resizing is about to cause
5542         frame size slip, mark it for redisplay.
5543
5544 2003-08-18  Jerry James  <james@xemacs.org>
5545
5546         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
5547
5548 2003-09-03  Vin Shelton <acs@xemacs.org>
5549
5550         * XEmacs 21.4.14 is released
5551
5552 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5553
5554         * config.h.in (REGEX_MALLOC): Make it configure'able.
5555
5556 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5557
5558         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5559         linking.
5560         * sysdll.c (dll_init):
5561         * sysdll.c (dll_open):
5562         * sysdll.c (dll_close):
5563         * sysdll.c (dll_function):
5564         * sysdll.c (dll_variable):
5565         * sysdll.c (dll_error):
5566         Add support for loading bundles using Darwin/MacOSX
5567         native API.
5568
5569 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5570
5571         * process.c (start-process-internal): Document coding systems.
5572
5573 2003-07-30  Jerry James  <james@xemacs.org>
5574
5575         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5576
5577 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5578
5579         * event-msw.c (mswindows_enqueue_mouse_button_event):
5580         * event-msw.c (mswindows_wnd_proc):
5581           enqueue button event when scrollwheel event isn't handled by 
5582           mswindows_handle_mousewheel_event, such as when the scrollbars
5583           are not showing.
5584
5585 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5586
5587         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5588
5589 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5590
5591         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5592
5593 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5594
5595         * regex.c (re_match_2_internal): Fix matching degenerate word
5596         boundaries.
5597
5598 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5599
5600         * XEmacs 21.4.13 is released
5601
5602 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5603
5604         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5605         * lisp.h (<inttypes.h>):
5606         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5607         the definition.
5608
5609 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5610
5611         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5612         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5613         Result: "temacs can only be run in -batch mode."
5614         Fix: Check xemacs executable candidate for directory-ness.
5615
5616 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5617
5618         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5619           they conflict with <sys/types.h>.
5620
5621 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5622
5623         * database.c: Berkeley DB wants __STDC__ to be defined.
5624
5625 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5626
5627         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5628
5629 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5630
5631         * process-unix.c (unix_send_process): Fix C++ compile error.
5632
5633 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5634
5635         * Added .dylib as an acceptable shared library file extension
5636         * to support MacOSX.
5637
5638 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5639
5640         * EmacsFrameP.h (EmacsFramePart):
5641         Kludge to allow compiling with Motif1, but linking with Motif2.
5642
5643 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5644
5645         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5646
5647
5648 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5649
5650         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5651
5652 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5653
5654         * sysdll.c: Included lisp.h to define needed alloca_array.
5655
5656 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5657
5658         Make XEmacs redisplay 10 times faster.
5659         If, that is, you're using a slow X connection and MoveOpaque.
5660         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5661         Use compress_motion = TRUE.
5662         * EmacsFrame.c (emacsFrameClassRec): 
5663         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5664         * EmacsManager.c (emacsManagerClassRec):
5665         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5666
5667 2003-01-30  Vin Shelton  <acs@xemacs.org>
5668
5669         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5670
5671 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5672
5673         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5674         Patch by Martin Buchholz.
5675
5676 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5677
5678         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5679         Thanks to icc for warning and Martin Buchholz for reporting.
5680
5681 2003-01-29  Vin Shelton <acs@xemacs.org>
5682
5683         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5684
5685         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5686         remember to multiply by the element size.
5687
5688 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5689
5690         * XEmacs 21.4.12 "Portable Code" is released.
5691
5692 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5693
5694         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5695         * s/cygwin.sc: new linker file.
5696
5697 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5698
5699         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5700
5701         * redisplay-x.c (x_output_string): Use X11-specified types.
5702         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5703         * emacs.c (__free_hook): Use typeof with Intel compiler.
5704         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5705
5706 2003-01-08  Andy Piper  <andy@xemacs.org>
5707
5708         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5709         reserve size during unexec().
5710
5711 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5712
5713         * process-unix.c (unix_create_process): Don't let outchannel block.
5714
5715 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5716
5717         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5718         Needed for IsBadReadPtr().
5719
5720 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5721
5722         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5723
5724 2002-12-14  Ben Wing  <ben@xemacs.org>
5725
5726         * callint.c: Declaration error.
5727         * dumper.c (pdump):
5728         * dumper.c (pdump_load): Warning fix.
5729         * process.c: GCPRO error.
5730         * glyphs.c (unmap_subwindow):
5731         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5732         * event-stream.c (maybe_kbd_translate): Wrong argument to
5733         character_to_event().
5734
5735         * alloc.c (garbage_collect_1):
5736         * emacs.c:
5737         * emacs.c (debug_can_access_memory):
5738         * emacs.c (fatal_error_signal):
5739         * emacs.c (mswindows_handle_hardware_exceptions):
5740         * emacs.c (main_1):
5741         * emacs.c (main):
5742         * emacs.c (assert_failed):
5743         * emacs.c (syms_of_emacs):
5744         * lisp.h:
5745         * print.c:
5746         * print.c (std_handle_out_va):
5747         * print.c (write_string_to_stdio_stream):
5748         * print.c (write_fmt_string):
5749         * print.c (printing_badness):
5750         * print.c (printing_major_badness):
5751         * print.c (print_internal):
5752         * print.c (debug_print_no_newline):
5753         * print.c (debug_backtrace):
5754         Be more defensive in handling bad values when printing.  Add code
5755         from trunk involving inhibit_non_essential_printing_operations.
5756         When going down or in debug_print(), don't do external conversion
5757         and such and try really, really hard when printing to avoid core
5758         dumping.  Add force-debugging-signal, debug_break().
5759
5760 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5761
5762         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5763         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5764
5765 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5766
5767         * database.c: Fix open_database. Berkeley DB API has changed in
5768         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5769
5770 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5771
5772         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5773
5774 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5775
5776         * event-Xt.c (Xt_timeout):
5777         (Xt_timeout_callback):
5778         (emacs_Xt_add_timeout):
5779         (emacs_Xt_remove_timeout):
5780         (Xt_timeout_to_emacs_event):
5781         Turn completed_timeouts from a stack into a queue.  Fixes
5782         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5783
5784 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5785
5786         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5787         * emacs.c (main): Assert that mmap'd allocation is disabled.
5788
5789 2002-10-14  Andy Piper  <andy@xemacs.org>
5790
5791         * glyphs-widget.c (layout_query_geometry): add in fiddle
5792         factor. Include border text in width layout calculation.
5793         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5794
5795 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5796
5797         * XEmacs 21.4.10 "Military Intelligence" is released.
5798
5799 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5800
5801         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5802         using the NAS private array SoundFileInfo that no longer exists in
5803         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5804         and earlier.  This is broken for some versions between 1.5a and
5805         1.5f.
5806
5807 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5808
5809         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5810
5811         * emacs.c (shut_down_emacs): Improve crash message.
5812
5813 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5814
5815         * file-coding.c (determine_real_coding_system): Check for coding
5816         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5817         shebangs and Python PEP 263.
5818
5819 2002-10-08  Andy Piper  <andy@xemacs.org>
5820
5821         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5822         if static sizes haven't been set.
5823
5824 2002-08-30  Mike Alexander  <mta@arbortext.com>
5825
5826         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5827         to close a socket.
5828
5829 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5830
5831         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5832
5833 2002-09-20  Mike Sperber <mike@xemacs.org>
5834
5835         (This partially gets back my patch from 2002-07-20 without the
5836         bug.)
5837         * callproc.c (child_setup): Remove Ben's comment noting confusion
5838         over the file descriptors >= 3: close_process_descs() doesn't
5839         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5840         * process-unix.c (unix_create_process): Call
5841         begin_dont_check_for_quit to inhibit unwanted interaction (and
5842         thus breaking of X event synchronicity) in the child.
5843
5844 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5845
5846         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5847         widget.
5848
5849 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5850
5851         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5852         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5853         the xemacs process did not exit, but looped infinitely here.  This
5854         fixes that problem.
5855
5856 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5857
5858         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5859         (find_context): Improve comments.
5860
5861         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5862         (re_match_2): An XCHAR_TABLE operation was missing.
5863
5864         Many of the following changes were inspired by Andy Piper's (now
5865         obsolete) patch to make syntax-table text property lookup optional.
5866
5867         [Documentation]
5868
5869         * syntax.h (top level): Document semantics of syntax flags.
5870         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5871         * syntax.c, syntax.h (top level): Document syntax cache better in
5872         comments.
5873
5874         [Instrument syntax caching (temporary change)]
5875
5876         * syntax.h (enum syntax_cache_statistics_functions, struct
5877         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5878         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5879         * syntax.c (scan_words, Fforward_comment, scan_lists,
5880         Fbackward_prefix_characters):
5881         * font-lock.c (find_context):
5882         Use them to instrument syntax caching. 
5883         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5884         syntax_cache_statistics_function_names): New type and variables.
5885         * syntax.c (update_syntax_cache): Update and report statistics.
5886
5887         [Major syntax cache optimizations]
5888
5889         syntax.c (lookup_syntax_properties): Default off.
5890
5891         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5892         * syntax.c (update_syntax_cache):
5893         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5894
5895         [Minor syntax cache optimizations and code clarifications]
5896
5897         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5898         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5899         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5900         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5901         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5902         (Code clarification.)
5903
5904         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5905         scan_lists): Compute code from syncode, use Boolean macros instead
5906         of redundant masking operations.  (Code clarification; any decent
5907         compiler can do this optimization.)
5908
5909         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5910         for clarity.
5911
5912         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5913         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5914         use F*_single_property_change instead of F*_extent_change.
5915         Currently F*_single_property_change is _much_ less efficient.
5916
5917         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5918         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5919         syntax_cache.object properly, don't leave Qt or Qnil.
5920         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5921         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5922         tests for Qt or Qnil.
5923
5924 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5925
5926         * redisplay.c (point_in_line_start_cache): 
5927         * extents.c (print_extent_1):
5928         Fix warnings.
5929
5930         * extents.c (Fset_extent_property): Document `syntax-table' property.
5931
5932         * extents.h (Fnext_single_property_change): EXFUN it.
5933
5934 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5935
5936         * search.c (clear_unused_search_regs): New static function.
5937         (search_buffer): 
5938         (simple_search): 
5939         (boyer_moore):
5940         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5941         Minor clarifications in comments.
5942
5943         * regex.c (re_match_2_internal): Ensure no stale submatches.
5944
5945 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5946
5947         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5948
5949 2002-08-29  Jerry James  <james@xemacs.org>
5950
5951         * lisp.h: structrures -> structures.
5952
5953 2002-06-03  Andy Piper  <andy@xemacs.org>
5954
5955         * frame.c (frame_conversion_internal): add conversion appropriate
5956         for setting frame dimensions in pixels.
5957
5958         * console.h (struct console_methods): add device-specific widget
5959         layout functions.
5960
5961         * emacs.c (main_1): initialize glyph vars.
5962
5963         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5964         (handle_focus_event_2): new function. Allow focus to
5965         be set to a particular window and widget.
5966         (enqueue_focus_event): new function. Create a
5967         synthetic focus event.
5968         (emacs_Xt_handle_magic_event): call
5969         handle_focus_event_2.
5970
5971         * frame.c (Fset_frame_pixel_height): new function. Allow
5972         pixel-based sizing. Does the right thing on character-oriented
5973         displays.
5974         (Fset_frame_pixel_width): ditto.
5975         (Fset_frame_pixel_size): ditto.
5976         (syms_of_frame): declare.
5977
5978         * general-slots.h: add :vertically-justify and
5979         :horizontally-justify.
5980
5981         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5982         (mswindows_widget_border_width): new function.
5983         (mswindows_combo_box_instantiate): set border widths.
5984         (console_type_create_glyphs_mswindows): declare.
5985
5986         * glyphs-widget.c:
5987         (check_valid_justification): allow vertical and horizontal
5988         justification.
5989         (widget_border_width): new function. Call device methods.
5990         (widget_instance_border_width): ditto.
5991         (logical_unit_height): new function. Determine the height of a
5992         logical-unit. Logical units are intended to provide grid-like
5993         layout for subcontrols in a layout. If the layout is
5994         :vertically-justify top then subcontrols will be positioned on
5995         logical-unit boundaries, thus allowing adjacent subcontrols to
5996         line up.
5997         (widget_logical_unit_height): ditto for widgets.
5998         (redisplay_widget): misc cleanup.
5999         (widget_spacing): new function. Call device specific
6000         methods. Intended to be the default gap between adjacent widgets.
6001         (widget_query_geometry): use new spacing functions to determine
6002         appropriate geometry.
6003         (initialize_widget_image_instance): initialize horizontal and
6004         vertical justification.
6005         (widget_instantiate): use logica-units where appropriate for
6006         sizing large widgets.
6007         (button_query_geometry): use widget_instance_border_width.
6008         (tree_view_query_geometry): ditto.
6009         (tab_control_query_geometry): ditto.
6010         (edit_field_query_geometry): new function.
6011         (layout_update): pick up :justify, :horizontally-justify and
6012         :vertically-justify none of which worked previously. :justify is
6013         used as a fallback for both horizontal and vertical justification.
6014         (layout_query_geometry): use logical units to size appropriately.
6015         (layout_layout): ditto.
6016         (Fwidget_logical_to_character_width): new function. Allow users to
6017         convert from logical units to characters so that frame sizes can
6018         be set appropriately.
6019         (Fwidget_logical_to_character_height): ditto.
6020         (syms_of_glyphs_widget): declare.
6021         (image_instantiator_edit_fields): add edit_field_query_geometry.
6022         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6023         :horizontally-justify.
6024         (specifier_vars_of_glyphs_widget): new function. Declare
6025         Vwidget_border_width which is not yet used.
6026
6027         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6028         (x_widget_border_width): new function.
6029         (x_widget_instantiate): create a sensible name for widgets.
6030         (console_type_create_glyphs_x): declare x_widget_border_width.
6031
6032         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6033         (struct Lisp_Image_Instance): add :vertically-justify and
6034         :horizontally-justify.
6035         (LAYOUT_JUSTIFY_TOP): new.
6036         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6037         (ROUND_UP): new macro. Round argument up to next integral
6038         interval.
6039
6040         * redisplay-output.c (redisplay_output_layout): misc formatting.
6041
6042         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6043
6044 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6045
6046         * XEmacs 21.4.9 "Informed Management" is released.
6047
6048 2002-08-19  Andy Piper  <andy@xemacs.org>
6049
6050         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6051         win32 format.
6052
6053         * realpath.c (xrealpath): normalize drive spec also so that dir
6054         sep chars are not mixed on cygwin.
6055
6056 2002-08-06  Jerry James  <james@xemacs.org>
6057
6058         * window.c (Fsplit_window): Count only half of the divider width
6059         against the left window when splitting horizontally. 
6060
6061 2002-06-24  Andy Piper  <andy@xemacs.org>
6062
6063         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6064         toolbar was cleared.
6065
6066         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6067         function. Split out from mswindows_output_frame_toolbars.
6068         (mswindows_output_frame_toolbars): move clear pieces to
6069         mswindows_output_frame_toolbars.
6070
6071         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6072         out from gtk_output_frame_toolbars.
6073         (gtk_output_frame_toolbars): move clear pieces to
6074         gtk_clear_frame_toolbars.
6075
6076         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6077         the frame is cleared. How this ever worked before is a mystery.
6078         (x_output_frame_toolbars): Only output toolbars.
6079         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6080
6081         * gutter.c (update_gutter_geometry):
6082         Mark frame layout changed.
6083         (update_frame_gutter_geometry, update_frame_gutters):
6084         Respect frame_layout_changed.
6085
6086         * console.h (struct console_methods): add
6087         clear_frame_toolbars_method.
6088
6089         * redisplay.c (redisplay_frame): call
6090         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6091
6092         * toolbar.h: declare update_frame_toolbars_geometry.
6093
6094         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6095         out from update_frame_toolbars.  Call clear_frame_toolbars.
6096         (update_frame_toolbars): only output, do not change geometry.
6097
6098         * redisplay.c: add frame_layout_changed.
6099
6100         * redisplay.h: add frame_layout_changed.
6101         (CLASS_RESET_CHANGED_FLAGS): set it.
6102         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6103         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6104         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6105
6106         * device.h (struct device): add frame_layout_changed.
6107         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6108
6109         * frame.h (struct frame): add frame_layout_changed.
6110         (MARK_FRAME_LAYOUT_CHANGED): new.
6111
6112 2002-06-30  Mike Alexander  <mta@arbortext.com>
6113
6114         * event-msw.c (mswindows_need_event): Don't wait for a new message
6115         if the queue is not empty.  Suggested by Paul Moore.
6116
6117 2002-06-12  Andy Piper  <andy@xemacs.org>
6118
6119         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6120         for printing on accurately.
6121
6122 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6123
6124         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6125         WM_ACTIVATE message. Make sure that the frame is visible if the
6126         window is visible. This seemss to fix the problem where XEmacs
6127         appears to freeze after switching desktops with certain virtual
6128         window managers.
6129         (debug_output_mswin_message): Added code to output message
6130         parameters for WM_WINDOWPOSCHANGED, 
6131         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6132
6133 2002-05-25  Andy Piper  <andy@xemacs.org>
6134
6135         * select-x.c (vars_of_select_x): Fix docstring of
6136         x-selection-strict-motif-ownership
6137
6138 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6139
6140         * keymap.c (get_keymap):
6141         Add comment about do_autoload GCPROs own args.
6142
6143 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6144
6145         * bytecode.c (execute_optimized_program): check_opcode ifdef
6146         ERROR_CHECK_BYTE_CODE.
6147
6148 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6149
6150         Thanks to Ben Wing and Michael Sperber.
6151
6152         * eval.c (Fcommand_execute):
6153         (Feval):
6154         (Ffuncall):
6155         (Fmacroexpand_internal):
6156         (function_argcount):
6157         callint.c (Fcall_interactively):
6158         Add comment about do_autoload GCPROs own args.
6159
6160         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6161
6162         * eval.c (Ffuncall): Extra braces to placate GCC.
6163
6164 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6165
6166         * backtrace.h (grow_specpdl):
6167         (SPECPDL_RESERVE):
6168         * EmacsFrame.c (EmacsFrameSetValues):
6169         * eval.c (grow_specpdl):
6170         * ExternalShell.c (hack_event_masks_1):
6171         * glyphs-x.c (convert_EImage_to_XImage): 
6172         (x_finalize_image_instance):
6173         * ralloc.c (page_size):
6174         (r_alloc_sbrk):
6175         * xgccache.c (gc_cache_hash):
6176         Fix unsigned comparison warnings.
6177
6178 2002-07-29  Jerry James  <james@xemacs.org>
6179
6180         * lread.c (locate_file): Any nonnegative return value indicates
6181         success if MODE is nonnegative.
6182
6183 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6184
6185         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6186         argument. 
6187
6188 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6189
6190         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6191
6192         * dumper.c (pdump_get_indirect_count):
6193         (pdump_scan_by_alignment):
6194         (pdump_dump_root_struct_ptrs):
6195         (pdump_dump_rtables):
6196         (pdump_dump_root_objects):
6197         (pdump):
6198         * nas.c (WaveOpenDataForReading):
6199         * fns.c (print_bit_vector):
6200         * font-lock.c (SINGLE_SYNTAX_STYLE):
6201         * glyphs.c (check_for_ignored_expose):
6202         (find_matching_subwindow):
6203         * glyphs-eimage.c:
6204         * imgproc.c (get_histogram):
6205         * redisplay.c (point_in_line_start_cache):
6206         * redisplay-output.c (redisplay_unmap_subwindows):
6207         * symbols.c (defsymbol_massage_name_1):
6208         (defkeyword_massage_name):
6209         (deferror_massage_name_and_message):
6210         * redisplay-x.c (x_output_string): 
6211         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6212         * frame.h (struct frame):
6213         * filelock.c (current_lock_owner):
6214         * doprnt.c (emacs_doprnt_1):
6215         * lisp.h (struct Lisp_Bit_Vector):
6216         (DO_REALLOC):
6217         Fix warnings.
6218
6219 2002-02-13  Ben Wing  <ben@xemacs.org>
6220
6221         * event-stream.c (reset_key_echo):
6222         * event-stream.c (reset_this_command_keys):
6223         * event-stream.c (execute_command_event):
6224         If console is dead as a result of C-x 5 0, then post-command stuff
6225         needs to be careful and do only non-console-specific stuff.
6226
6227 2002-07-01  Mike Sperber <mike@xemacs.org>
6228
6229         * process-unix.c (unix_send_process): Mark coding_outstream as
6230         non-open upon SIGPIPE.
6231
6232         * event-stream.c (Fnext_event): Reorder switch cases to something
6233         that makes sense.
6234
6235 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6236
6237         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6238         Don't bogusly reinitialize ascii_character property.
6239
6240 2002-07-08  Mike Sperber <mike@xemacs.org>
6241
6242         * process.c (Fstart_process_internal): Do error checking before we
6243         fork off the child, so the child can't muck with the state of the
6244         parent.
6245
6246 2002-07-08  Mike Sperber <mike@xemacs.org>
6247
6248         * ralloc.c (init_ralloc): Allocate properly for pdump.
6249
6250 2002-06-12  Andy Piper  <andy@xemacs.org>
6251
6252         * glyphs.c (query_string_geometry): check the string.
6253
6254         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6255         widget names.
6256
6257 2002-06-17  Jerry James  <james@xemacs.org>
6258
6259         * sysdll.c: Remove RTLD_GLOBAL initialization.
6260         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6261
6262 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6263
6264         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6265
6266 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6267
6268         * sysdep.c (sys_rename): Make sys_rename work for the case where
6269         Windows rename sets errno to EACCES if target file exists.
6270
6271 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6272
6273         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6274         Fix detection of metric units to work on Win95
6275
6276 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6277
6278         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6279
6280 2002-04-25  Andy Piper  <andy@xemacs.org>
6281
6282         * redisplay.c (create_text_block): Remove extra comment trailer.
6283
6284 2002-04-24  Andy Piper  <andy@xemacs.org>
6285
6286         * redisplay.c (create_text_block): Don't actually add propagation
6287         data if the line ends after we have added a glyph.
6288
6289 2002-04-22  Andy Piper  <andy@xemacs.org>
6290
6291         * extents.c (extent_fragment_update): check for glyphs we have
6292         previously displayed.
6293         * extents.c (print_extent_1): warning removal.
6294         * extents.h: change prototype.
6295         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6296         widths correctly for wide glyphs.
6297         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6298         * redisplay.c (prop_type): add PROP_GLYPH.
6299         * redisplay.c (struct prop_block): add glyph type
6300         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6301         to the propagation data.
6302         * redisplay.c (create_text_block): if there is a glyph in the
6303         propagation data use it to salt extent_fragment_update.
6304         * redisplay.c (create_string_text_block): ditto.
6305
6306 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6307
6308         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6309         * redisplay-output.c (compare_runes): Compare them.
6310         * redisplay.c: Update copyright date.
6311         * redisplay.c (pos_data): Add need_baseline_computation field.
6312         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6313         need_baseline_computation; zero yoffset. Set max_pixmap_height
6314         for all pixmaps, not just automatically positioned ones.
6315         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6316         * redisplay.c (calculate_baseline): New, compute textual baseline.
6317         * redisplay.c (add_glyph_rune): Call them.
6318         * redisplay.c (create_text_block): Likewise.
6319         * redisplay.c (create_overlay_glyph_block): Likewise.
6320         * redisplay.c (add_margin_runes): Likewise.
6321         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6322
6323         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6324         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6325         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6326         * redisplay-msw.c (mswindows_output_string): Likewise.
6327         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6328         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6329         * redisplay-x.c (x_output_display_block): Likewise.
6330
6331 2002-03-28  Ben Wing  <ben@xemacs.org>
6332
6333         * redisplay.c: Fixed bug in redisplay
6334         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6335         and down of the lines, since they're bigger than the line
6336         size. (It was seen most obviously when there's a horizontal scroll
6337         bar, e.g. do C-h a glyph or something like that.) The problem was
6338         that the glyph-contrib-p setting on glyphs was ignored even if it
6339         was set properly, which it wasn't until now.
6340
6341 2002-04-24  Andy Piper  <andy@xemacs.org>
6342
6343         * lisp.h (Dynarr_end): Fix definition.
6344
6345 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6346
6347         * redisplay.c (mark_redisplay): Remove call to
6348         update_frame_window_mirror.
6349
6350 2001-11-15  Andy Piper  <andy@xemacs.org>
6351
6352         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6353         cygwin (again).
6354
6355 2002-02-13  Andy Piper  <andy@xemacs.org>
6356
6357         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6358         we did in fact enqueue the XM_MAPFRAME event.
6359
6360 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6361
6362         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6363         to fix problem switching between virtual desktops under virtuawin
6364         virtual window manager.
6365
6366 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6367
6368         * event-msw.c: Typo fix.
6369         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6370         magic XM_MAPFRAME event has been sent.
6371
6372 2001-11-23  Andy Piper  <andy@xemacs.org>
6373
6374         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6375
6376 2001-11-21  Andy Piper  <andy@xemacs.org>
6377
6378         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6379         mouse events outside the frame.
6380
6381 2002-03-20  Andy Piper  <andy@xemacs.org>
6382
6383         * menubar-msw.c (mswindows_popup_menu): warning removal.
6384         * dialog-msw.c (dialog_popped_down): ditto.
6385
6386 2001-12-11  Andy Piper  <andy@xemacs.org>
6387
6388         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6389         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6390         popup_up_p.
6391         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6392         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6393         * menubar-msw.c (mswindows_popup_menu): ditto.
6394
6395 2001-10-29  Andy Piper  <andy@xemacs.org>
6396
6397         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6398         cancels.
6399
6400 2002-01-03  Andy Piper  <andy@xemacs.org>
6401
6402         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6403         letters.
6404         (xrealpath): ditto.
6405
6406 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6407
6408         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6409         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6410         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6411         Detect and handle case where machine is set up for metric units
6412
6413 2002-04-02  Andy Piper  <andy@xemacs.org>
6414
6415         * dired-msw.c (mswindows_get_files): 
6416         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6417         completely handled by XEmacs. Suggested by Thomas Vogler
6418         <mail@thomas-vogler.de>.
6419
6420 2001-11-14  Andy Piper  <andy@xemacs.org>
6421
6422         * nt.c (REG_ROOT): change registry key to XEmacs.
6423
6424 2002-04-27  Andy Piper  <andy@xemacs.org>
6425
6426         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6427
6428 2002-04-26  Andy Piper  <andy@xemacs.org>
6429
6430         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6431         behavior.
6432
6433 2002-03-14  Mike Alexander  <mta@arbortext.com>
6434
6435         * event-msw.c (mswindows_unwait_process): New, remove process from
6436         wait list
6437         * process-nt.c (nt_finalize_process_data): Call
6438         mswindows_unwait_process
6439         * console-msw.h: Declare mswindows_unwait_process
6440
6441 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6442
6443         * editfns.c (Fdecode_time):
6444         (Fformat_time_string):
6445         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6446         (make_time): Warning elimination (change arg name).
6447
6448 2001-11-24  Andy Piper  <andy@xemacs.org>
6449
6450         * window.c (Fsplit_window): Doc return type.
6451
6452 2002-04-01  Andy Piper  <andy@xemacs.org>
6453
6454         * emacs.c (Fkill_emacs): Only output message box in interactive
6455         mode.
6456
6457 2002-04-26  Andy Piper  <andy@xemacs.org>
6458  
6459         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6460         cygwin.
6461
6462 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6463
6464         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6465         bit platform.
6466
6467 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6468
6469         * XEmacs 21.4.8 "Honest Recruiter" is released.
6470
6471 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6472
6473         Supersedes 2002-04-17 patch.
6474
6475         * process.h (PROCESS_LIVE_P): Use the process status as
6476         evidence of health, not the state of the input stream.
6477         (PROCESS_READABLE_P): Say if the process is readable
6478         from. (It may be dead nonetheless.)
6479         (CHECK_READABLE_PROCESS): Test for that condition.
6480
6481         * process.c (create_process): Use PROCESS_READABLE_P.
6482         (read_process_output, set_process_filter): Likewise.
6483
6484         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6485         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6486
6487         This code is #if 0'd, this is not the time to add new functions:
6488
6489         * process.c (Fprocess_readable_p): Report readability status.
6490         * process.c (Qprocess_readable_p): New, associated symbol...
6491         * process.c (syms_of_process): ... initialize it.
6492
6493 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6494
6495         * XEmacs 21.4.7 "Economic Science" is released.
6496
6497 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6498
6499         * process.h (PROCESS_LIVE_P): Use the process status as
6500         evidence of health, not the state of the input stream.
6501
6502 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6503
6504         * sysdep.c (sys_siglist): change "signum" to "signal"
6505
6506 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6507
6508         * s/darwin.h: New file.
6509         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6510         
6511 2002-04-23  Andreas Jaeger  <aj@suse.de>
6512
6513         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6514         which use lib64 for 64-bit libs.
6515         (START_FILES): Likewise.
6516
6517 2002-02-11  Mike Sperber  <mike@xemacs.org>
6518
6519         * device-x.c: 
6520         (x_IO_error_handler):
6521         (x_init_device): Temporarily keep device in static variable
6522         `device_being_initialized' so we can recover gracefully from
6523         internal XOpenDevice failure.  (XOpenDevice is documented to
6524         return NULL on failure, but sometimes calls the IO error handler
6525         instead.)
6526
6527 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6528
6529         * dired.c (Ffile_name_all_completions): Change documentation --
6530         remove reference to completion-ignored-extensions.
6531         * dired.c (vars_of_dired): Change documentation for
6532         completion-ignored-extensions -- remove reference to
6533         file-name-all-completions.
6534
6535 2002-03-06  Jerry James  <james@xemacs.org>
6536
6537         * emodules.c (emodules_load): Fix multiple loading of same module.
6538
6539 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6540         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6541         RTLD_LAZY to avoid incorrect symbol binding when using nested
6542         shared libraries on Solaris.
6543
6544 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6545
6546         * fileio.c (Ffind_file_name_handler): Improve docstring.
6547
6548 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6549
6550         * fns.c (Fmapconcat): Improve docstring.
6551
6552 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6553
6554         * device-gtk.c: Add prototype for
6555         emacs_gtk_selection_clear_event_handle.
6556         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6557         selection.  Setup signal handler for "selection_clear_event"
6558         (emacs_gtk_selection_clear_event_handle).
6559
6560         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6561         other applications owning the clipboard (based on
6562         x_handle_selection_clear).
6563
6564 2001-12-23  William M. Perry  <wmperry@gnu.org>
6565
6566         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6567         
6568 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6569
6570         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6571
6572 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6573
6574         * XEmacs 21.4.6 "Common Lisp" is released.
6575
6576 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6577
6578         * search.c (Freplace_match): Add missing sub-expression functionality.
6579
6580         * buffer.c (decode_buffer): Add a check for pointer type to
6581         decode_buffer, before gcc's CSE optimization reorders a
6582         dereference in front of the allow_string test.
6583
6584 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6585
6586         * window.c (window_loop): Fix bug that sometimes prevented
6587         window_loop() from iterating across multiple devices.  Also, at
6588         Ben's request, changed infloop-detecting code to abort() instead
6589         of silently terminating window_loop().
6590
6591 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6592
6593         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6594         * editfns.c (make_time): New function.
6595         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6596         * lisp.h (make_time): Prototype and comment it.
6597         * dired.c (wasteful_word_to_lisp): Deprecate.
6598         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6599
6600 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6601
6602         * fileio.c (auto_save_1): Use current coding system, not
6603         escape-quoted.
6604
6605 2001-11-13  Ben Wing  <ben@xemacs.org>
6606
6607         * window.c:
6608         * window.c (window_truncation_on):
6609         * window.c (syms_of_window):
6610         truncate-partial-width-windows should respect the buffer being
6611         displayed, like other redisplay vars.
6612
6613 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6614
6615         * event-stream.c (Fread_key_sequence): save current buffer.
6616
6617 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6618
6619         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6620
6621 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6622
6623         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6624
6625 2001-10-26  Mike Alexander  <mta@arbortext.com>
6626
6627         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6628
6629 2001-10-25  Andy Piper  <andy@xemacs.org>
6630
6631         * ChangeLog:
6632         * dialog-msw.c (handle_directory_proc): new function.
6633          (handle_directory_dialog_box): new fucntion.
6634          (handle_file_dialog_box): use new directory dialog support.
6635          (mswindows_make_dialog_box_internal): ditto.
6636         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6637         handling.
6638         (mswindows_find_frame): make global.
6639         * fileio.c (Fexpand_file_name): build fix.
6640         * general-slots.h: add Qdirectory.
6641         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6642         handling.
6643         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6644         cygwin not leaving win32 paths unchanged.
6645         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6646         cygwin runtime to do path conversion.
6647         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6648         (syms_of_win32): add new function.
6649         * window.c (window_loop): build fix.
6650
6651 2001-10-15  Andy Piper  <andy@xemacs.org>
6652
6653         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6654
6655 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6656
6657         * XEmacs 21.4.5 "Civil Service" is released.
6658
6659 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6660
6661         * glyphs-x.c: Force buffer-tab highlight update when moving the
6662         buffer, avoiding an ugly black border, used for keyboard focus
6663         indication, on a widget that can never have keyboard focus, the
6664         buffer tab.
6665
6666 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6667
6668         * process-unix.c (unix_open_multicast_group): Remove too much
6669         conversion between host and network byte order.
6670
6671 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6672
6673         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6674         before replacing them.
6675
6676         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6677         operation.
6678
6679         * src/window.c (undedicate_windows): Use it.
6680         * src/window.h: Add prototype.
6681
6682 2001-09-17  Ben Wing  <ben@xemacs.org>
6683
6684         * fileio.c (normalize_filename):
6685         * fileio.c (Fexpand_file_name):
6686         Fix various C++ compile errors in Andy's recent code.
6687         
6688         * callint.c (Fcall_interactively):
6689         * editfns.c (Ftemp_directory):
6690         * editfns.c (Fuser_full_name):
6691         * emacs.c (argmatch):
6692         * lread.c (locate_file_map_suffixes):
6693         * redisplay-x.c (x_ring_bell):
6694         Fix sign-compare warnings.
6695         
6696 2001-09-08  Andy Piper  <andy@xemacs.org>
6697
6698         * fileio.c (normalize_filename): copied from nt.c
6699         * (Ffile_name_directory): enable win32 paths under cygwin.
6700         * (Ffile_name_nondirectory): ditto.
6701         * (directory_file_name): ditto.
6702         * (Fexpand_file_name): ditto.
6703         * (Ffile_truename): ditto.
6704         * (Fsubstitute_in_file_name): ditto.
6705         * (Ffile_name_absolute_p): ditto.
6706         * (Ffile_readable_p): ditto.
6707
6708 2001-09-08  Andy Piper  <andy@xemacs.org>
6709
6710         * device-msw.c (mswindows_finish_init_device): remove dde
6711         initialization.
6712         * device-msw.c (mswindows_init_dde): factor out from
6713         mswindows_finish_init_device()
6714         * device-msw.c (init_mswindows_very_early): new function
6715         initialize but don't enable dde.
6716         * emacs.c (main_1): call init_mswindows_very_early.
6717         * event-msw.c:
6718         * event-msw.c (mswindows_dde_callback): only execute when we are
6719         ready.
6720         * symsinit.h: declare init_mswindows_very_early.
6721
6722 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6723
6724         [sjt: This has been in 21.5 for months with no complaints.]
6725
6726         * console.h (struct console_methods): Added flags member.
6727         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6728         (CONMETH_IMPL_FLAG):
6729         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6730         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6731
6732         * device.c (window_system_pixelated_geometry): Use the above macros.
6733
6734         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6735         implememntation flag.
6736         * device.h (DEVICE_DISPLAY_P): Use it.
6737
6738         * frame.c (delete_frame_internal): Use the above macro.
6739
6740         * redisplay.c (redisplay_device): Use it.
6741         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6742         (redisplay_frame): Ditto.
6743
6744         * device-msw.c (mswindows_device_implementation_flags): Removed.
6745         (msprinter_device_implementation_flags): Removed.
6746         (console_type_create_device_mswindows): Removed references to
6747         implementation_flags methods, set implementation flags here.
6748         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6749
6750         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6751         (console_type_create_device_gtk): Removed method declaration.
6752         Added commented out statement which semantically matches the
6753         commented out statement in the above removed method.
6754
6755 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6756
6757         The attached patch fixes a few warnings. 
6758
6759         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6760         * src/frame-gtk.c: guard against GNOME calls in GTK only
6761         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6762         * src/select-gtk.c: prototype lisp_to_time
6763
6764 2001-06-08  Ben Wing  <ben@xemacs.org>
6765
6766         ------ gc-in-window-procedure fixes ------
6767         
6768         * alloc.c:
6769         * alloc.c (struct post_gc_action):
6770         * alloc.c (register_post_gc_action):
6771         * alloc.c (run_post_gc_actions):
6772         * alloc.c (garbage_collect_1):
6773         Create "post-gc actions", to avoid those dreaded "GC during window
6774         procedure" problems.
6775
6776         * event-msw.c:
6777         Abort, clean and simple, when GC in window procedure.  We want
6778         to flush these puppies out.
6779
6780         * glyphs-msw.c:
6781         * glyphs-msw.c (finalize_destroy_window):
6782         * glyphs-msw.c (mswindows_finalize_image_instance):
6783         Use a post-gc action when destroying subwindows.
6784
6785         * lisp.h:
6786         Declare register_post_gc_action().
6787
6788         * scrollbar-msw.c:
6789         * scrollbar-msw.c (unshow_that_mofo):
6790         Use a post-gc action when unshowing scrollbar windows, if in gc.
6791
6792         * redisplay.c (mark_redisplay):
6793         Add comment about the utter evilness of what's going down here.
6794
6795         ------ cygwin setitimer fixes ------
6796         
6797         * Makefile.in.in (sheap_objs):
6798         * Makefile.in.in (profile_objs):
6799         * Makefile.in.in (objs):
6800         Compile profile.c only when HAVE_SETITIMER.
6801         
6802         * nt.c (mswindows_sigset):
6803         * nt.c (mswindows_sighold):
6804         * nt.c (mswindows_sigrelse):
6805         * nt.c (mswindows_sigpause):
6806         * nt.c (mswindows_raise):
6807         * nt.c (close_file_data):
6808         Style fixes.
6809         
6810         * nt.c:
6811         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6812         
6813         * profile.c:
6814         * profile.c (Fstart_profiling):
6815         * profile.c (Fstop_profiling):
6816         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6817         instead of just plain setitimer().
6818         
6819         * signal.c:
6820         * signal.c (set_one_shot_timer):
6821         * signal.c (alarm):
6822         Define qxe_setitimer() as an encapsulation around setitimer() --
6823         call setitimer() directly unless Cygwin or MS Win, in which case
6824         we use our simulated version in win32.c.
6825         
6826         * systime.h:
6827         * systime.h (struct itimerval):
6828         * systime.h (ITIMER_REAL):
6829         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6830         comment about "qxe" and the policy regarding encapsulation.
6831
6832         * win32.c:
6833         * win32.c (setitimer_helper_proc):
6834         * win32.c (setitimer_helper_period):
6835         * win32.c (setitimer_helper):
6836         * win32.c (mswindows_setitimer):
6837         Move setitimer() emulation here, so Cygwin can use it.
6838         Rename a couple of functions and variables to be longer and more
6839         descriptive.  In setitimer_helper_proc(), send the signal
6840         using either mswindows_raise() or (on Cygwin) kill().  If for
6841         some reason we are still getting lockups, we'll change the kill()
6842         to directly invoke the signal handlers.
6843
6844         ------ windows shell fixes ------
6845         
6846         * callproc.c:
6847         * ntproc.c:
6848         Comments about how these two files must die.
6849
6850         * callproc.c (init_callproc):
6851         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6852         not just COMSPEC. (more correct and closer to FSF.) Don't
6853         force a value for SHELL into the environment. (Comments added
6854         to explain why not.)
6855         
6856         * nt.c (init_user_info):
6857         Don't shove a fabricated SHELL into the environment.  See above.
6858
6859 2001-06-01  Ben Wing  <ben@xemacs.org>
6860
6861         * Makefile.in.in (ldflags):
6862         eliminate that pesky "defaulting to 00401000" warning.
6863         * nt.h:
6864         eliminate warnings.
6865
6866 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6867
6868         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6869         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6870
6871 2001-04-24  Jerry James <james@xemacs.org>
6872
6873         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6874         correct order.
6875
6876 2001-06-01  Ben Wing  <ben@xemacs.org>
6877
6878         * event-msw.c (debug_mswin_messages):
6879         conditionalize the messages that were causing compile errors.
6880         (if only macros could generate #ifdef statements ...)
6881
6882 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6883
6884         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6885
6886 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6887
6888         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6889
6890 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6891
6892         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6893         * process-unix.c (unix_canonicalize_host_name):
6894         sysdep.c (init_system_name):
6895         Use it to conditionally support IPv6 canonicalization.
6896
6897 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6898
6899         * event-msw.c:
6900         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6901
6902 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6903
6904         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6905         attempt is made to scroll when no scroll bar is available.
6906
6907 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6908
6909         * input-method-motif.c (XIM_delete_frame): New callback.
6910         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6911         got deleted from 21.4.3.)
6912
6913 2001-06-01  Ben Wing  <ben@xemacs.org>
6914
6915         * nt.c (mswindows_utime):
6916         * nt.c (close_file_data):
6917         fix off-by-one-indirection error.
6918
6919 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6920
6921         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6922         because set_file_times() now takes Lisp_Object path, instead of
6923         char*.
6924         * nt.c: Include buffer.h.
6925         * nt.c (convert_from_time_t): New.
6926         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6927         not set mtime correctly.
6928         * nt.h: Declare mswindows_utime().
6929         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6930         path, instead of char*.
6931         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6932
6933 2001-05-30  Ben Wing  <ben@xemacs.org>
6934
6935         For 21.4:
6936
6937         (Stephen, just take all event-msw.c patches.  This includes
6938         the "iconify" fix below.)
6939
6940         * event-msw.c:
6941         * event-msw.c (mswindows_dequeue_dispatch_event):
6942         * event-msw.c (assert):
6943         * event-msw.c (emacs_mswindows_quit_p):
6944         * event-msw.c (debug_mswin_messages):
6945         * event-msw.c (debug_output_mswin_message):
6946         * event-msw.c (vars_of_event_mswindows):
6947         Fix yet more problems with C-g handling.
6948         Implement debug-mswindows-events.
6949         
6950 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6951
6952         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6953         
6954 2001-05-23  Ben Wing  <ben@xemacs.org>
6955
6956         * event-msw.c (winsock_writer):
6957         * event-msw.c (winsock_closer):
6958         prior kludgy code was clobbering the buffer, thinking it was
6959         "unused" space to store an unneeded return value; instead, use
6960         the variable we've already got staring us in the face.
6961
6962 2001-05-17  Andy Piper  <andy@xemacs.org>
6963
6964         * sysfile.h: don't assume that file attributes are boolean
6965
6966 2001-05-23  Ben Wing  <ben@xemacs.org>
6967
6968         * device-msw.c (msprinter_init_device):
6969         signal an error rather than crash with an unavailable network
6970         printer (from Mike Alexander).
6971         
6972         * event-msw.c:
6973         * event-msw.c (struct winsock_stream):
6974         * event-msw.c (winsock_writer):
6975         * event-msw.c (winsock_closer):
6976         * event-msw.c (make_winsock_stream_1):
6977         cleanup headers.  fix (hopefully) an error with data corruption
6978         when sending to a network connection.
6979
6980         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6981         to handle the ~user prefix by (a) always assuming we're referencing
6982         ourselves and not even verifying the user -- hence any file with
6983         a tilde as its first char is invalid! (b) if there wasn't a slash
6984         following the filename, the pointer was set *past* the end of
6985         file and we started reading from uninitialized memory.  Now we
6986         simply treat these as files, always.
6987
6988         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6989         
6990 2001-05-19  Ben Wing  <ben@xemacs.org>
6991
6992         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6993
6994         * process-nt.c:
6995         * process-nt.c (vars_of_process_nt):
6996         remove unused mswindows-quote-process-args.  rec for 21.4.
6997         
6998 2001-05-12  Ben Wing  <ben@xemacs.org>
6999
7000         * event-msw.c (mswindows_dde_callback):
7001         * event-msw.c (mswindows_wnd_proc):
7002         eliminate cygwin warnings.
7003
7004 2001-05-06  Ben Wing  <ben@xemacs.org>
7005
7006         * console-msw.h:
7007         * device-msw.c:
7008         * device-msw.c (print_dialog_worker):
7009         * device-msw.c (mswindows_handle_print_dialog_box):
7010         * device-msw.c (syms_of_device_mswindows):
7011         * dialog-msw.c (mswindows_make_dialog_box_internal):
7012         * general-slots.h:
7013         implement printing the selection when it's selected.
7014
7015 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7016
7017         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7018
7019 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7020
7021         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7022         EMACS_INT is signed.
7023
7024 2001-04-15  Michael Lausch  <mla@1012surf.net>
7025
7026         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7027         gtk_widget_request_size() to give scrollbar >0 width for
7028         GTK >1.2.8.
7029
7030 2001-05-30  William M. Perry  <wmperry@gnu.org>
7031
7032         * event-gtk.c: Check for buttons as modifier keys.
7033
7034 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7035
7036         * s\mingw32.h:
7037         Properly find MinGW's <process.h> inside Cygwin's restructured
7038         include directories.  Don't try to include <cygwin/version.h>
7039         since we are dropping support for MinGW in versions of Cygwin
7040         earlier than b21.
7041         * nt.c:
7042         Drop support for MinGW in versions of Cygwin before b21.
7043         * sysdep.c:
7044         Properly find MinGW's <process.h> inside Cygwin's restructured
7045         include directories.
7046         * syswindows.h:
7047         Drop support for MinGW in versions of Cygwin before b21.
7048         * unexcw.c:
7049         Even though a.out.h is no longer detected by configure, allow
7050         MinGW to use it until we figure out how to do the job with Win32.
7051
7052 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7053
7054         * syntax.c (find_start_of_comment):
7055         Fix `unbalanced parentheses' bug when dealing with mixed comment
7056         styles in c++/java/etc. mode
7057
7058 2001-05-29  Mike Alexander  <mta@arbortext.com>
7059
7060         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7061         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7062
7063 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7064
7065         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7066
7067 2001-03-31  Mike Sperber <mike@xemacs.org>
7068
7069         * search.c (Freplace_match): Support FSF-style specification of
7070         match subexpression when applied to a buffer.
7071
7072 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7073
7074         * event-stream.c (is_scrollbar_event): add missing semicolon
7075
7076 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7077
7078         * Makefile.in.in: Use TAR macro instead of hardcoding
7079           tar.  Allows use of GNU tar instead of system tar
7080
7081 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7082
7083         * event-stream.c (is_scrollbar_event): add missing semicolon
7084
7085 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7086
7087         * XEmacs 21.4.3 "Academic Rigor" is released.
7088
7089 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7090
7091         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7092
7093 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7094
7095         * buffer.c (Vcase_fold_search): Remove obsolete
7096           comment about non ASCII case-fold-search.  This
7097           bug has been fixed by case-table changes.
7098
7099 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7100
7101         * event-msw.c: Restore include of events-mod.h.
7102
7103 2001-04-22   zhaoway  <zw@debian.org>
7104
7105         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7106         !HAVE_SCROLLBARS.
7107
7108 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7109
7110         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7111
7112 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7113
7114         * mule-charset.c (Fmake_charset): Add missing else.
7115
7116 2001-04-23  Ben Wing  <ben@xemacs.org>
7117
7118         * event-msw.c (FAKE_MOD_QUIT):
7119         * event-msw.c (mswindows_dequeue_dispatch_event):
7120         * event-msw.c (mswindows_wnd_proc):
7121         * event-msw.c (emacs_mswindows_quit_p):
7122         Get critical quit working.
7123
7124 2001-05-05  Ben Wing  <ben@xemacs.org>
7125
7126         * console-msw.h:
7127         * device-msw.c:
7128         * device-msw.c (mswindows_get_default_margin):
7129         * frame-msw.c (mswindows_size_frame_internal):
7130         * frame-msw.c (msprinter_init_frame_1):
7131         * frame-msw.c (vars_of_frame_mswindows):
7132         Change top/bottom margin defaults to 0.5 inches.
7133
7134 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7135
7136         Fix link error with gcc 3.0 on Linux.
7137         * terminfo.c (UP): Remove.
7138         * terminfo.c (BC): Remove.
7139         * terminfo.c (PC): Remove.
7140         They weren't used, and in any case, these symbols should be
7141         defined in the *library*.
7142
7143 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7144
7145         * s/aix4.h: Fix crash with xlc -O3.
7146         Improve comment explaining how -O3 works.
7147
7148 2001-04-15  Ben Wing  <ben@xemacs.org>
7149
7150         * event-stream.c:
7151         * event-stream.c (Fnext_event):
7152         * event-stream.c (is_scrollbar_event):
7153         * event-stream.c (execute_command_event):
7154         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7155         crash' problem.  His fix introduces other problems.  We filter
7156         out scrollbar events specifically, making them somewhat invisible
7157         to command-building, and not appearing in `this-command-keys'.
7158         More work is still needed (see comments in event-stream.c), but
7159         this fixes all the major problems.
7160
7161 2001-04-20  Ben Wing  <ben@xemacs.org>
7162
7163         * .cvsignore: Added stuff for Windows.
7164
7165 2001-04-28  Ben Wing  <ben@xemacs.org>
7166
7167         * buffer.c (Ferase_buffer):
7168         * editfns.c (buffer_insert1):
7169         * editfns.c (Finsert_before_markers):
7170         * editfns.c (Finsert_string):
7171         * editfns.c (Finsert_char):
7172         * editfns.c (Fdelete_region):
7173         * editfns.c (Fwiden):
7174         * editfns.c (Fnarrow_to_region):
7175         remove bogus lines setting zmacs_region_stays to 0.
7176         
7177 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7178
7179         * process-unix.c (unix_open_network_stream): If connect() fails
7180         invalidate file descriptor after closing it.
7181
7182 2001-03-08  Mike Alexander  <mta@arbortext.com>
7183
7184         * event-msw.c (mswindows_need_event_in_modal_loop):
7185         Don't dispatch a message if we didn't get one.
7186         (mswindows_need_event):
7187         Terminate the correct process when one exits instead of the first
7188         one on Vprocess_list and look for process termination when in
7189         mswindows_protect_modal_loop.
7190
7191 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7192
7193         * XEmacs 21.4.1 "Copyleft" is released.
7194
7195 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7196
7197         * input-method-motif.c (XIM_delete_frame): New callback.
7198         (XIM_init_frame): Register it.
7199
7200 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7201
7202         * XEmacs 21.4.0 "Solid Vapor" is released.
7203
7204 2001-04-15  Ben Wing  <ben@xemacs.org>
7205
7206         * cmdloop.c (call_command_loop):
7207         Fix braino in bit-rotting code.
7208         
7209 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7210
7211         * extents.c (Fset_extent_endpoints): Force creation of extent info
7212         in buffer_or_string.
7213
7214         * extents.c (process_extents_for_insertion_mapper): Correctly
7215         check for open-open zero-length extents.
7216
7217 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7218
7219         * lisp.h: New typedefs Memory_count, Element_count.
7220         * regex.c:
7221         * regex.h:
7222         Sign-compare warning elimination: several unsigned -> signed.
7223         Based on work by Ben Wing <ben@xemacs.org>.
7224
7225 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7226
7227         * XEmacs 21.2.47 "Zephir" is released.
7228
7229 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7230
7231         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7232
7233 2001-04-03  Mike Sperber <mike@xemacs.org>
7234
7235         * search.c: Revert previous patch due because of release.
7236
7237 2001-03-30  Ben Wing  <ben@xemacs.org>
7238
7239         * s\cygwin32.h:
7240         Add missing killpg prototype.
7241
7242         * elhash.c:
7243         Add a comment about fixing problems when a new entry is added
7244         while mapping.
7245
7246         * frame-msw.c (mswindows_init_frame_1):
7247         Fix compile warnings.
7248
7249         * menubar.c (vars_of_menubar):
7250         Provide `menu-accelerator-support' to indicate that we properly
7251         support %_ in menu specifications, so that package code can
7252         conditionalize on this (and remove %_ from menu specifications
7253         on older versions).
7254
7255         * event-msw.c:
7256         * scrollbar-msw.c:
7257         * scrollbar-msw.c (can_scroll):
7258         * scrollbar-msw.h:
7259         Fix handling of mouse wheel under Windows to follow standards --
7260         now scrolls window under pointer, not selected window.
7261
7262 2001-03-31  Mike Sperber <mike@xemacs.org>
7263
7264         * search.c (Freplace_match): Support FSF-style specification of
7265         match subexpression when applied to a buffer.
7266
7267 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7268
7269         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7270         function to modify KEYMAP, so map over a copy of the hash table.
7271
7272 2001-03-21  Martin Buchholz <martin@xemacs.org>
7273
7274         * XEmacs 21.2.46 "Urania" is released.
7275
7276 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7277
7278         * realpath.c (xrealpath): Make file-truename work with symlinks to
7279         /cygdrive paths on cygwin. Always lowercase drive-letters on
7280         native windows.
7281         (cygwin_readlink): Don't try to find canonical filename unless
7282         file exists.
7283
7284 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7285
7286         * ChangeLog: Log GTK merge.
7287
7288         * dumper.c:
7289         * select-x.c:
7290         * specifier.c:
7291         * symeval.h:
7292         Revert gratuitous whitespace changes from GTK merge.
7293
7294         * emacs.c: Document end of complex #ifdef @ l. 1495.
7295
7296
7297 2001-03-12  Andy Piper  <andy@xemacs.org>
7298
7299         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7300         have to do likewise.
7301
7302 2001-03-12  Andy Piper  <andy@xemacs.org>
7303
7304         * sysdep.c: we only support mingw now.
7305
7306 2001-03-09  Andy Piper  <andy@xemacs.org>
7307
7308         * unexcw.c (copy_executable_and_dump_data_section): making approx
7309         overrun a warning only.
7310
7311 2001-03-10  William M. Perry  <wmperry@aventail.com>
7312
7313         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7314         satisfy Stephen's identical-after-cpp plea.
7315
7316 2001-03-02  Ben Wing  <ben@xemacs.org>
7317
7318         * cmds.c:
7319         * cmds.c (Fforward_char):
7320         * syntax.c:
7321         * window.c:
7322
7323         Augment documentation of the most common motion commands to make
7324         note of the shifted-motion support.
7325         
7326 2001-03-02  Ben Wing  <ben@xemacs.org>
7327
7328         * nt.c (mswindows_fstat):
7329         * nt.c (mswindows_stat):
7330         * search.c (boyer_moore):
7331         Fix compile warnings under Windows.
7332         
7333         * sysdep.c (sys_readdir):
7334         Fix buggy filename-conversion code under Mule.
7335
7336 2001-03-09  William M. Perry  <wmperry@aventail.com>
7337
7338         * Makefile.in.in:
7339         * config.h.in:
7340         * console.c:
7341         * console.h:
7342         * device.c:
7343         * device.h:
7344         * dragdrop.c:
7345         * emacs.c:
7346         * event-stream.c:
7347         * events.c:
7348         * events.h:
7349         * faces.c:
7350         * frame.h:
7351         * general-slots.h:
7352         * glyphs.c:
7353         * gutter.c:
7354         * inline.c:
7355         * lisp.h:
7356         * lrecord.h:
7357         * make-src-depend:
7358         * redisplay-output.c:
7359         * redisplay.c:
7360         * symsinit.h:
7361         * sysfile.h:
7362         * toolbar.c:
7363         * window.c:
7364         The Great GTK Merge.
7365
7366         * ChangeLog.GTK:
7367         * console-gtk.c:
7368         * console-gtk.h:
7369         * device-gtk.c:
7370         * emacs-marshals.c:
7371         * emacs-widget-accessors.c:
7372         * event-gtk.c:
7373         * frame-gtk.c:
7374         * gccache-gtk.c:
7375         * gccache-gtk.h:
7376         * glade.c:
7377         * glyphs-gtk.c:
7378         * glyphs-gtk.h:
7379         * gtk-glue.c:
7380         * gtk-xemacs.c:
7381         * gtk-xemacs.h:
7382         * gui-gtk.c:
7383         * gui-gtk.h:
7384         * menubar-gtk.c:
7385         * native-gtk-toolbar.c:
7386         * objects-gtk.c:
7387         * objects-gtk.h:
7388         * redisplay-gtk.c:
7389         * scrollbar-gtk.c:
7390         * scrollbar-gtk.h:
7391         * select-gtk.c:
7392         * toolbar-gtk.c:
7393         * ui-byhand.c:
7394         * ui-gtk.c:
7395         * ui-gtk.h:
7396         The Great GTK Merge: new files.
7397
7398 2001-02-26  Ben Wing  <ben@xemacs.org>
7399
7400         Reapplied Lstream change.
7401
7402 2001-02-26  Ben Wing  <ben@xemacs.org>
7403
7404         Undid the last change, since it is more controversial than I
7405         thought.  It should be back in at some point soon.
7406         
7407 2001-02-25  Ben Wing  <ben@xemacs.org>
7408
7409         * buffer.c:
7410         * callproc.c (Fold_call_process_internal):
7411         * event-msw.c (ntpipe_slurp_reader):
7412         * event-msw.c (ntpipe_shove_writer):
7413         * event-msw.c (winsock_reader):
7414         * event-msw.c (winsock_writer):
7415         * file-coding.c:
7416         * file-coding.c (detect_eol_type):
7417         * file-coding.c (detect_coding_type):
7418         * file-coding.c (determine_real_coding_system):
7419         * file-coding.c (Fdetect_coding_region):
7420         * file-coding.c (decoding_reader):
7421         * file-coding.c (decoding_writer):
7422         * file-coding.c (mule_decode):
7423         * file-coding.c (Fdecode_coding_region):
7424         * file-coding.c (encoding_reader):
7425         * file-coding.c (encoding_writer):
7426         * file-coding.c (mule_encode):
7427         * file-coding.c (Fencode_coding_region):
7428         * file-coding.c (detect_coding_sjis):
7429         * file-coding.c (decode_coding_sjis):
7430         * file-coding.c (encode_coding_sjis):
7431         * file-coding.c (detect_coding_big5):
7432         * file-coding.c (decode_coding_big5):
7433         * file-coding.c (encode_coding_big5):
7434         * file-coding.c (detect_coding_ucs4):
7435         * file-coding.c (decode_coding_ucs4):
7436         * file-coding.c (encode_coding_ucs4):
7437         * file-coding.c (detect_coding_utf8):
7438         * file-coding.c (decode_coding_utf8):
7439         * file-coding.c (encode_coding_utf8):
7440         * file-coding.c (detect_coding_iso2022):
7441         * file-coding.c (decode_coding_iso2022):
7442         * file-coding.c (encode_coding_iso2022):
7443         * file-coding.c (decode_coding_no_conversion):
7444         * file-coding.c (encode_coding_no_conversion):
7445         * glyphs-x.c (write_lisp_string_to_temp_file):
7446         * gpmevent.c (tty_get_foreign_selection):
7447         * lisp.h:
7448         * lstream.c:
7449         * lstream.c (Lstream_flush_out):
7450         * lstream.c (Lstream_adding):
7451         * lstream.c (Lstream_write_1):
7452         * lstream.c (Lstream_write):
7453         * lstream.c (Lstream_raw_read):
7454         * lstream.c (Lstream_read_more):
7455         * lstream.c (Lstream_read):
7456         * lstream.c (Lstream_unread):
7457         * lstream.c (Lstream_fputc):
7458         * lstream.c (stdio_reader):
7459         * lstream.c (stdio_writer):
7460         * lstream.c (filedesc_reader):
7461         * lstream.c (filedesc_writer):
7462         * lstream.c (lisp_string_reader):
7463         * lstream.c (struct fixed_buffer_stream):
7464         * lstream.c (make_fixed_buffer_input_stream):
7465         * lstream.c (make_fixed_buffer_output_stream):
7466         * lstream.c (fixed_buffer_reader):
7467         * lstream.c (fixed_buffer_writer):
7468         * lstream.c (struct resizing_buffer_stream):
7469         * lstream.c (resizing_buffer_writer):
7470         * lstream.c (dynarr_writer):
7471         * lstream.c (lisp_buffer_reader):
7472         * lstream.c (lisp_buffer_writer):
7473         * lstream.h:
7474         * lstream.h (lstream_implementation):
7475         * lstream.h (struct lstream):
7476         * md5.c (Fmd5):
7477         * process-nt.c (nt_send_process):
7478         * process-unix.c (unix_send_process):
7479         
7480         Correct Lstream lossage due to mixing of signed and unsigned
7481         quantities.  All Lstream uses of size_t and ssize_t are now a
7482         single signed data type Lstream_data_count.  This fixes problems
7483         under Windows with sending large quantities of data to a process,
7484         and may well fix other subtle bugs.
7485
7486 2001-02-23  Martin Buchholz <martin@xemacs.org>
7487
7488         * XEmacs 21.2.45 "Thelxepeia" is released.
7489
7490 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7491
7492         * lisp-union.h (XSETINT): 
7493         (XSETCHAR):
7494         (XSETOBJ): 
7495         Reverse previous change of 2001-02-06.
7496
7497 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7498
7499         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7500         buffers.
7501         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7502         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7503         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7504         * regex.c (POS_AS_IN_BUFFER): removed
7505         * regex.c (re_search_2):
7506         * regex.c (re_match_2):
7507         Don't use an offset of 1 when calculating buffer positions, since
7508         `BI_BUF_BEGV' does it already.
7509
7510 2001-02-18  Wim Dumon  <wim@easics.be>
7511
7512         * insdel.c (prepare_to_modify_buffer): Also check for
7513         supersession when clash-detection is enabled. 
7514
7515 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7516
7517         * regex.c (re_match_2_internal):
7518         Convert temp characters from 'const unsigned char' to 're_char'.
7519         Fix crashing bug with extended characters under mule.
7520         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7521         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7522         font-lock, pdump, and new syntax-table code.
7523         * syntax.c (find_start_of_comment):
7524         (find_end_of_comment):
7525         (forward-comment):
7526         Fix crashing bugs involving moving beyond end of buffer.
7527         * syntax.c (find_start_of_comment):
7528         Fixed logic to allow proper detection of cases where the same
7529         character is used to end both a two-char comment start and a
7530         two-char comment end sequence. Fixes `(forward-comment -1)'.
7531         * syntax.c (find_start_of_comment):
7532         Return position just past last comment-end character for all cases
7533         (previously was only done for two-char comment-end sequences).
7534         * syntax.c (forward-comment):
7535         Take value returned from `find_end_of_comment', rather than
7536         incrementing it.
7537         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7538         Properly deal with BUFFERP (syntax_cache.object)
7539
7540 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7541
7542         * alloc.c (Fgarbage_collect): 
7543         * alloc.c (make_bit_vector_from_byte_vector):
7544         -Wsign-compare-correctness.
7545
7546 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7547
7548         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7549         (XSETCHAR): Likewise.
7550         (XSETOBJ): Likewise.
7551
7552 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7553
7554         * mule-canna.c (canna-func-delete_previous): 
7555         Rename to canna-func-delete-previous.
7556
7557 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7558
7559         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7560
7561 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7562
7563         * font-lock.c (find_context): Fix C++ compile errors introduced by
7564         recent patch
7565
7566 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7567
7568         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7569         pragma, but earlier ones barf on the same pragma.
7570
7571 2001-02-06  Mike Sperber <mike@xemacs.org>
7572
7573         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7574         `configure-mule-lisp-directory'.
7575
7576 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7577
7578         Make sure dump-id.c is compiled in the same way as other .c's.
7579         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7580         * dump-id.h: Remove.
7581         * emacs.c: Move dump-id.h into dumper.h.
7582         * dumper.h: Move dump-id.h into dumper.h.
7583         * Makefile.in.in:
7584         Use standard .c.o rule for building dump-id.o.
7585         Remove preprocessor flags from link command.
7586         Add dump-id.o to ${otherobjs} if PDUMP.
7587
7588 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7589
7590         Port FSF 20.7 syntax table improvements.
7591         * syntax.c.
7592         * syntax.h.
7593
7594         Fixups for new syntax table stuff.
7595         * dired.c: Include syntax.c.
7596         (Fdirectory_files): Initialize regex_match_object and
7597         regex_emacs_buffer.
7598         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7599         and Fget_char_property.
7600
7601         Use ported FSF 20.7 syntax table improvements.
7602         * font-lock.c.
7603         * regex.c.
7604         * search.c.
7605         
7606 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7607
7608         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7609         Unixware's enum boolean from sys/types.h.
7610
7611 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7612
7613         Fix support for building with latest Purify.
7614         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7615         (PURIFY_FLAGS): Likewise.
7616
7617 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7618
7619         * fileio.c (lisp_string_set_file_times): New.
7620         * fileio.c (Fcopy_file): Use it.
7621         Fixes bug:
7622         (copy-file filename non-ascii-filename t t)
7623         ==> No such file or directory, non-ascii-filename
7624
7625 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7626
7627         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7628         USHRT_MAX seems clearer than ~0 anyways.
7629
7630 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7631
7632         dumper improvements.  Inspired by Olivier.
7633         * dumper.c (pdump_max_align): New.
7634         * dumper.c (pdump_add_entry): Use pdump_max_align.
7635         * dumper.c (pdump_get_entry_list): Likewise.
7636         * dumper.c (pdump_scan_by_alignment): Likewise.
7637         Don't iterate through unnecessary alignments.
7638         * dumper.c (pdump_file_get): No need to align result of malloc().
7639         * dumper.c (pdump_mallocadr): Remove.  
7640         The result of malloc() is guaranteed to be maximally aligned.
7641         * dumper.c: s/elmt/elt/g;
7642         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7643         * dumper.c (pdump_alert_undump_object): Likewise.
7644         * dumper.c (pdump_align_table): 
7645         Don't support alignments > 64.
7646         Store ALIGNOF's, not shift counts, in table.
7647
7648 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7649
7650         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7651         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7652         * systime.h: Use HAVE_UTIME.
7653         * sysdep.c (struct utimbuf): Remove.
7654         * sysdep.c (set_file_times): Prefer utime() to utimes().
7655         * config.h.in (HAVE_UTIME): New.
7656         * config.h.in (HAVE_UTIME_H): Remove.
7657         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7658
7659 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7660
7661         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7662
7663 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7664
7665         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7666
7667 2001-02-08  Martin Buchholz <martin@xemacs.org>
7668
7669         * XEmacs 21.2.44 "Thalia" is released.
7670
7671 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7672
7673         Fixes crashes in kill-emacs on some systems.
7674         * process-unix.c (unix_kill_child_process):
7675         It's OK for kill() to fail with ESRCH.
7676
7677 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7678
7679         Contortions to make .gdbinit tricks work on most systems.
7680         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7681         * alloc.c (dbg_valmask): Make non-const.
7682         * alloc.c (dbg_typemask): Make non-const.
7683         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7684         * alloc.c (dbg_valbits): Make non-const.
7685         * alloc.c (dbg_gctypebits): Make non-const.
7686         * .gdbinit (decode_object): Make it work with AIX cc.
7687
7688 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7689
7690         * elhash.c (make_general_lisp_hash_table):
7691         Use simpler and more efficient calloc to clear entries.
7692
7693 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7694
7695         * window.c (window_scroll): Work around an AIX C compiler bug.
7696         Fixes 'scroll-up' does nothing problem with xlC.
7697
7698 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7699
7700         * .gdbinit: Remove obsolete comment.
7701
7702 2001-01-31  Mike Alexander  <mta@arbortext.com>
7703
7704         * select.c (Fown_selection_internal): Set owned_p for device
7705         method correctly.
7706
7707 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7708
7709         Port to g++ 2.97.
7710         "not" cannot be used as a macro name as it is an operator in C++
7711         * config.h.in: Stop #defining `not'.
7712         * chartab.c (check_category_char): not ==> not_p
7713         * chartab.h: Likewise.
7714         * regex.c (re_match_2_internal): Likewise.
7715
7716 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7717
7718         * lisp-disunion.h: Fix up comments.
7719
7720 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7721
7722         * keymap.c (define_key_check_and_coerce_keysym):
7723         (syms_of_keymap):
7724         Support mouse-6 and mouse-7 bindings in the obvious way.
7725
7726 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7727
7728         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7729
7730 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7731
7732         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7733         Previous patch missed DEFVAR_INT_MAGIC.
7734         Make sure future DEFVAR_foo use correct types.
7735         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7736         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7737         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7738         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7739         * (DEFVAR_INT): Likewise.
7740         * redisplay.c (vertical_clip): Should be of type Fixnum.
7741         * redisplay.c (horizontal_clip): Likewise.
7742         * lisp.h (dump_add_opaque_int): New.
7743         (dump_add_opaque_fixnum): New.
7744
7745 2001-01-29  Andy Piper  <andy@xemacs.org>
7746
7747         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7748         since they can be eval'ed
7749
7750 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7751
7752         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7753         Oops, XEmacs redefines `class'.  Use `typename' instead.
7754
7755 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7756
7757         * dumper.c: Fix C++ compile errors.
7758
7759 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7760
7761         * tparam.c: Use correct prototypes.
7762
7763 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7764
7765         * sysproc.h: #include util.h for NetBSD's openpty.
7766
7767 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7768
7769         More 64-bit correctness.
7770         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7771         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7772         Fix up comments.
7773         This finally finishes the 64-bit SGI port.
7774         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7775         * symbols.c: Fix up comments and type casts.
7776         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7777         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7778         * symeval.h (Fixnum): New type.
7779         * symeval.h (symbol_value_type): Fix up comment.
7780
7781         * commands.h:
7782         * nt.c:
7783         * emacs.c:
7784         * data.c:
7785         * redisplay.c:
7786         * abbrev.c:
7787         * dired-msw.c:
7788         * event-Xt.c:
7789         * eldap.c:
7790         * window.c:
7791         * sound.c:
7792         * event-stream.c:
7793         * eval.c:
7794         * buffer.c:
7795         * mule-canna.c: A million DEFVAR_INTs here...
7796         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7797         * extents.c:
7798         * cmdloop.c:
7799         * lisp.h:
7800         * select-x.c:
7801         * console-x.h:
7802         * event-msw.c:
7803         * mule-wnnfns.c:
7804         * hpplay.c:
7805         * ralloc.c:
7806         * alloc.c:
7807         * keymap.c:
7808         * profile.c:
7809         s/int/Fixnum/g in DEFVAR_INT declarations.
7810
7811 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7812
7813         Port pdump to SGI alignment-sensitive environment.
7814         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7815         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7816         properly aligned.
7817         Define and use aligned reading and writing macros.
7818         Use buffered stdio instead of posix i/o for faster dumping.
7819         Eliminate kludgy 256 byte space for header.
7820         Read and write from dump file using structs for alignment safety.
7821         * dumper.c (pdump_align_stream): New.
7822         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7823         * dumper.c (PDUMP_READ_ALIGNED): New.
7824         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7825         * dumper.c (pdump_static_Lisp_Object): New struct.
7826         * dumper.c (pdump_static_pointer): New struct.
7827         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7828         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7829         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7830         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7831
7832         * dumper.c (pdump_backtrace):
7833         * dumper.c (pdump_get_indirect_count):
7834         * dumper.c (pdump_register_object):
7835         * dumper.c (pdump_register_struct):
7836         * dumper.c (pdump_reloc_one):
7837         * dumper.c (pdump_scan_by_alignment):
7838         * dumper.c (pdump_dump_from_root_struct_ptrs):
7839         * dumper.c (pdump_dump_opaques):
7840         * dumper.c (pdump_dump_rtables):
7841         * dumper.c (pdump_dump_from_root_objects):
7842         * dumper.c (pdump):
7843         * dumper.c (pdump_load_finish):
7844         Use aligned reading and writing.
7845
7846         * dumper.c (pdump_free): Make static.
7847         * dumper.c (pdump_hFile): Likewise.
7848         * dumper.c (pdump_hMap): Likewise.
7849
7850 2001-01-26  Martin Buchholz <martin@xemacs.org>
7851
7852         * XEmacs 21.2.43 "Terspichore" is released.
7853
7854 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7855
7856         Type fiddling for window_config.saved_windows_count
7857         * window.c (struct window_config): 
7858         Make saved_windows_count member unsigned.
7859         * window.c (sizeof_window_config_for_n_windows): 
7860         Make parameter unsigned.
7861         * window.c (mark_window_config):
7862         * window.c (window_config_equal):
7863         * window.c (free_window_configuration):
7864         * window.c (Fset_window_configuration):
7865         * window.c (count_windows):
7866         * window.c (Fcurrent_window_configuration):
7867         * window.c (reinit_vars_of_window):
7868         Update all callers and users.
7869
7870 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7871
7872         Alignment correctness for flexible arrays.
7873         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7874         Make alignment-correct. Add interesting comments.
7875         * alloc.c (size_vector):
7876         * alloc.c (make_vector_internal):
7877         * alloc.c (make_bit_vector_internal):
7878         * alloc.c (sweep_bit_vectors_1):
7879         * fns.c (size_bit_vector):
7880         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7881         * window.c (sizeof_window_config_for_n_windows): 
7882         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7883
7884 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7885
7886         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7887
7888 2001-01-23  Andy Piper  <andy@xemacs.org>
7889
7890         * select.c (Fown_selection_internal): pass owned_p
7891
7892         * select-msw.c (mswindows_own_selection): New Signature.
7893
7894         * console.h (struct console_methods): add owned_p to
7895         _own_selection.
7896
7897         * select-x.c (x_own_selection): pass owned_p
7898         (hack_motif_clipboard_selection): use owned_p
7899         (vars_of_select_x): new variable -
7900         x_selection_strict_motif_ownership.
7901
7902 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7903
7904         * specifier.h (specifier_data_offset): Remove pointless parens.
7905         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7906
7907 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7908
7909         Make Lisp_Object sizeof methods be alignment-correct.
7910         pdump must restore objects to the same alignment as the C compiler
7911         assumes.  It really matters on SGIs.
7912         * lstream.c (aligned_sizeof_lstream): New.
7913         (sizeof_lstream): Use aligned_sizeof_lstream.
7914         (Lstream_new): Likewise.
7915         * opaque.c (aligned_sizeof_opaque): New.
7916         (sizeof_opaque): Use aligned_sizeof_opaque.
7917         (make_opaque): Likewise.
7918         * specifier.c (aligned_sizeof_specifier): New.
7919         (sizeof_specifier): Use aligned_sizeof_specifier.
7920         (make_specifier_internal): Likewise.
7921
7922 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7923
7924         * lstream.h (struct lstream): Use max_align_t for trailing data.
7925         * specifier.h (struct Lisp_Specifier): Likewise.
7926
7927 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7928
7929         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7930         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7931         (CCL_SUSPEND): Likewise.
7932         (CCL_INVALID_CMD): Likewise.
7933         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7934         (ccl_driver): Likewise.
7935         (CCL_WRITE_CHAR): Macro hygiene.
7936         (CCL_WRITE_STRING): Macro hygiene.
7937
7938 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7939
7940         Port "portable" dumper to SunOS 4 and HP-UX.
7941         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7942         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7943         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7944
7945 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7946
7947         * lisp.h (ALIGNOF): A better definition for C++.
7948
7949 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7950
7951         Macro hygiene.
7952         Fix printf warnings: int format, long int arg.
7953         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7954         (PUSH_FAILURE_POINT): Use correct printf formats.
7955         (POP_FAILURE_POINT): Use correct printf formats.  
7956         Use do {...} while (0)
7957
7958 2001-01-20  Martin Buchholz <martin@xemacs.org>
7959
7960         * XEmacs 21.2.42 "Poseidon" is released.
7961
7962 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7963
7964         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7965
7966 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7967
7968         De-kludgify FIXED_TYPE free list frobbing.
7969         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7970         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7971         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7972         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7973         * alloc.c (LRECORD_FREE_P): New.
7974         * alloc.c (MARK_LRECORD_AS_FREE): New.
7975         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7976         * alloc.c (STRUCT_FREE_P): Deleted.
7977         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7978         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7979         * alloc.c (STRING_CHARS_FREE_P): New.
7980         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7981         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7982         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7983         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7984         * alloc.c (resize_string): Use new definitions.
7985         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7986         * alloc.c (verify_string_chars_integrity): Use new definitions.
7987         * alloc.c (compact_string_chars): Use new definitions.
7988         * alloc.c: Update monster comments.
7989         * lrecord.h (lrecord_type): Add some new lrecord types for
7990         alloc.c's use.
7991
7992 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7993
7994         Improve alignment hackery.
7995         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7996         (max_align_t): Moved from opaque.h - general purpose.
7997         (ALIGN_PTR): Use size_t, not long.
7998         * opaque.h (max_align_t): Move to lisp.h.
7999
8000 2001-01-18  Norbert Koch  <nk@LF.net>
8001
8002         * gui.h: Fix and add prototypes to fix build problems.
8003
8004 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8005
8006         temacs is going away, so `dump-temacs' is now a bad name.
8007         * .dbxrc (dump-temacs): Rename to `dmp'.
8008         * .gdbinit (dump-temacs): Rename to `dmp'.
8009
8010 2001-01-17  Andy Piper  <andy@xemacs.org>
8011
8012         * glyphs.c (print_image_instance): comment to make martin happy.
8013
8014         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8015         change.
8016
8017         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8018         activation.
8019         (mswindows_tab_control_redisplay): warning suppression.
8020
8021         * glyphs-widget.c (widget_update): re-write to cope with updated
8022         items.
8023         (widget_instantiate): use new gui_item functions.
8024         (tab_control_update): deleted.
8025         (progress_gauge_update): deleted.
8026         (image_instantiator_progress_guage): take out update reference.
8027         (image_instantiator_tree_view): ditto.
8028         (image_instantiator_tab_control): ditto.
8029
8030         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8031         Right the new way.
8032         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8033         return whether anything was changed.
8034         (update_gui_item_keywords): as it sounds.
8035
8036         * gui.h: declare widget_gui_parse_item_keywords.
8037
8038         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8039         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8040
8041 2001-01-17  Martin Buchholz <martin@xemacs.org>
8042
8043         * XEmacs 21.2.41 "Polyhymnia" is released.
8044
8045 2001-01-16  Didier Verna  <didier@xemacs.org>
8046
8047         * glyphs.c (image_instantiate): don't use fallbacks when
8048         instantiating a face's background pixmap by inheritance.
8049
8050 2001-01-14  Mike Sperber <mike@xemacs.org>
8051
8052         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8053         Conditionalize accordingly.
8054
8055 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8056
8057         * dumper.c (pdump_file_get): Fix a compiler warning.
8058
8059 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8060
8061         Make Purify happy when pdumping.
8062         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8063         iniitalizing all bits of new lisp object memory.
8064         * symbols.c (Fmake_local_variable): Likewise.
8065         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8066         * symbols.c (Fdefvaralias): Likewise.
8067         * mule-charset.c (vars_of_mule_charset): Likewise.
8068
8069 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8070         Add the `-nd' flag when running pre-dump operations under the debugger.
8071         * .dbxrc (run-temacs): Add `-nd'.
8072         * .dbxrc (update-elc): Likewise.
8073         * .dbxrc (dump-temacs): Likewise.
8074         * .gdbinit (run-temacs): Likewise.
8075         * .gdbinit (check-temacs): Likewise.
8076         * .gdbinit (update-elc): Likewise.
8077         * .gdbinit (dump-temacs): Likewise.
8078
8079 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8080
8081         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8082         export OBJECT_MODE=64
8083         configure --pdump --use-union-type=no
8084         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8085         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8086
8087         * miscplay.c (sndcnv8U_2mono):
8088         Avoid two uses of `++' in the same expression.
8089         Suppresses a GCC warning.
8090
8091 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8092
8093         Make sure future compilers don't miscompile alloc.c.
8094         * alloc.c:
8095         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8096         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8097
8098 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8099
8100         * dumper.c: A little post-pdump-rename comment fixup.
8101
8102 2001-01-09  Jerry James  <james@eecs.ku.edu>
8103
8104         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8105
8106 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8107
8108         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8109         script:
8110         #!/bin/sh
8111         replace_symbol () {
8112           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8113         }
8114
8115         replace_symbol pdump_wire_lists pdump_weak_object_chains
8116         replace_symbol pdump_wire_list dump_add_weak_object_chain
8117
8118         replace_symbol pdump_wires pdump_root_objects
8119         replace_symbol pdump_wire dump_add_root_object
8120
8121         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8122         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8123
8124         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8125         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8126         replace_symbol dumpstructinfo pdump_root_struct_ptr
8127         replace_symbol dumpstruct dump_add_root_struct_ptr
8128
8129         replace_symbol dumpopaque dump_add_opaque
8130         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8131         replace_symbol dumpopaqueinfos pdump_opaques
8132         replace_symbol dumpopaqueinfo pdump_opaque
8133
8134         replace_symbol nb_structdump nb_root_struct_ptrs
8135         replace_symbol nb_opaquedump nb_opaques
8136
8137         replace_symbol align_table pdump_align_table
8138         replace_symbol dump_header pdump_header
8139
8140         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8141         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8142
8143
8144 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8145
8146         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8147         optimizing bytecount_to_charcount().
8148
8149 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8150
8151         * config.h.in:
8152         (HAVE_DLFCN_H): Removed.
8153         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8154
8155 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8156
8157         Portable dumper maintainability improvements.
8158         * alloc.c (staticpro):
8159         * alloc.c (staticpro_nodump):
8160         * alloc.c (garbage_collect_1):
8161         * alloc.c (reinit_alloc_once_early):
8162         * alloc.c (init_alloc_once_early):
8163         * alloc.c: Move dumper functions to alloc.c.
8164         * dumper.c (pdump_backtrace):
8165         * dumper.c (pdump_dump_structs):
8166         * dumper.c (pdump_dump_opaques):
8167         * dumper.c (pdump_dump_rtables):
8168         * dumper.c (pdump_dump_wired):
8169         * dumper.c (pdump):
8170         * dumper.c (pdump_load_check):
8171         * dumper.c (pdump_load_finish):
8172         * dumper.c (pdump_file_unmap):
8173         * dumper.c (pdump_file_get):
8174         * dumper.c (pdump_resource_free):
8175         * dumper.c (pdump_resource_get):
8176         * dumper.c (pdump_file_free):
8177         * dumper.c (pdump_file_try):
8178         * dumper.c (pdump_load):
8179         Remove fixed size limits on staticpro(), staticpro_nodump(),
8180         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8181         Remove custom code for dumping lrecord_implementations_table - use
8182         dumpopaque instead.
8183         Remove (most of the) custom code for dumping staticpros - dump it
8184         like any other dynarr.
8185
8186         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8187         * dumper.c: Moved functions from alloc.c.
8188         * alloc.c (dumpstruct): Moved to dumper.c.
8189         * alloc.c (dumpopaque): Likewise.
8190         * alloc.c (pdump_wire): Likewise.
8191         * alloc.c (pdump_wire_list): Likewise.
8192
8193         * lisp.h (Dynarr_sizeof): New.
8194         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8195         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8196         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8197
8198         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8199         * lisp.h (dumpopaque): ditto.
8200         * lisp.h (pdump_wire): ditto.
8201         * lisp.h (pdump_wire_list): ditto.
8202
8203 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8204
8205         * make-src-depend (PrintPatternDeps):
8206         Use `sort' to make output independent of perl version.
8207
8208 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8209
8210         Port to Netbsd 1.5.
8211         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8212         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8213
8214 2001-01-03  Didier Verna  <didier@xemacs.org>
8215
8216         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8217         that `focus_frame' is alive before thinking of calling
8218         `redisplay_redraw_cursor' on it.
8219
8220 2001-01-08  Martin Buchholz <martin@xemacs.org>
8221
8222         * XEmacs 21.2.40 is released.
8223
8224 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8225
8226         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8227
8228 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8229
8230         * alloc.c (dbg_valmask): Make const.
8231         * alloc.c (dbg_typemask): Make const.
8232         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8233         * alloc.c (dbg_valbits): Make const.
8234         * alloc.c (dbg_gctypebits): Make const.
8235
8236 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8237
8238         * redisplay-x.c (x_bevel_area):
8239         redisplay.h (struct rune):
8240         Typo fixes in comments.
8241
8242 2001-01-05  Andy Piper  <andy@xemacs.org>
8243
8244         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8245         adjustment.
8246
8247         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8248
8249 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8250
8251         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8252
8253         * mule-ccl.c (stack_idx_of_map_multiple):
8254         Non const global data must not be initialized!
8255         Found by MIYASHITA Hisashi.
8256
8257 2001-01-02  Andy Piper  <andy@xemacs.org>
8258
8259         * frame.c (change_frame_size): make sure frame size is always
8260         marked as changed.
8261
8262         * glyphs.c (image_instance_layout): minor code reuse.
8263
8264         * window.c (Fcurrent_window_configuration): revert previous
8265         change.
8266
8267 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8268
8269         * glyphs.h:
8270         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8271
8272 2000-12-31  Andy Piper  <andy@xemacs.org>
8273
8274         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8275         when widget gets unmapped.
8276
8277         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8278         function. Make sure widgets losing focus don't just drop it.
8279         (handle_focus_event_1): record the widget with focus.
8280
8281 2000-12-31  Andy Piper  <andy@xemacs.org>
8282
8283         * window.c (allocate_window): use
8284         make_image_instance_cache_hash_table.
8285         (make_dummy_parent): ditto.
8286         (Fset_window_configuration): ditto.
8287
8288         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8289
8290         * glyphs.c (process_image_string_instantiator): use
8291         INSTANTIATOR_TYPE.
8292         (get_image_instantiator_governing_domain): ditto.
8293         (normalize_image_instantiator): ditto.
8294         (instantiate_image_instantiator): ditto.
8295         (make_image_instance_1): ditto.
8296         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8297         (instantiator_eq_equal): new function for use with instance hash
8298         tables.
8299         (instantiator_eq_hash): ditto.
8300         (make_image_instance_cache_hash_table): create a suitable hash
8301         table for storing image instances.
8302
8303         * elhash.h (hash_table_weakness): new internal weakness type
8304         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8305         declare new functions.
8306
8307         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8308         another weakness type for glyphs.
8309         (make_standard_lisp_hash_table): new function split out from
8310         make_general_lisp_hash_table.
8311         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8312         (hash_table_instantiate): ditto.
8313         (Fmake_hash_table): ditto.
8314
8315 2000-12-31  Martin Buchholz <martin@xemacs.org>
8316
8317         * XEmacs 21.2.39 is released.
8318
8319 2000-12-29  Andy Piper  <andy@xemacs.org>
8320
8321         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8322
8323         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8324         the frame has changed so that we pick up geometry changes such as
8325         menubar visibility.
8326
8327 2000-12-28  Andy Piper  <andy@xemacs.org>
8328
8329         * lastfile.c (my_ebss): make a char array so we can pad the
8330         bss. Fixes cygwin unexec.
8331
8332         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8333
8334 2000-12-26  Andy Piper  <andy@xemacs.org>
8335
8336         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8337         comments and try and be more precise about a non-/SIGIO world.
8338         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8339         SIGIO.
8340
8341         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8342         we don't normalize to zero width or height.
8343
8344 2000-12-24  Andy Piper  <andy@xemacs.org>
8345
8346         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8347
8348 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8349
8350         * s/sco5.h: SCO 5 has pty support.
8351
8352 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8353
8354         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8355         input-method-xlib.c contains whole contents of input-method-xfs.c,
8356         so we can use input-method-xlib.c's code for USE_XFONTSET
8357         using #ifdefs.
8358         * input-method-xfs.c: removed.
8359
8360 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8361
8362         * file-coding.h (enum coding_category_type): reorder enumerators to
8363         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8364         (now one greater than largest real coding_category_type enumerator).
8365         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8366         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8367         Fcoding_category_list, Fset_coding_priority_list,
8368         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8369         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8370
8371 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8372
8373         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8374         * redisplay-output.c (redisplay_output_window): Clear top of window
8375         when face is changed.
8376         * redisplay-x.c (x_redraw_exposed_window): Call
8377         redisplay_clear_top_of_window.
8378         * redisplay.h: Publish redisplay_clear_top_of_window.
8379
8380 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8381
8382         * buffer.c (Fkill_buffer): Map over all devices.
8383         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8384         (list_windows): New function.
8385         (list_all_windows): Ditto.
8386         (Freplace_buffer_in_windows): Use them.
8387
8388 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8389
8390         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8391         (Fopen_database): Use `db_create' instead of `db_open'.
8392         (syms_of_database): Initialize Qqueue.
8393
8394 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8395
8396         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8397         buffer_local_face_property.
8398         * buffer.h (struct buffer): New member buffer_local_face_property.
8399         * window.c (Fset_window_buffer):  Mark window's face as changed
8400         when buffer has buffer local face.
8401         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8402         * objects.c (color_after_change): Set buffer_local_face_property
8403         when locale of face specifier is buffer.
8404         * objects.c (font_after_change): Ditto.
8405         * objects.c (face_boolean_after_change): Ditto.
8406         * glyphs.c (image_after_change): Ditto.
8407
8408 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8409
8410         * nt.c (mswindows_fstat): Report file permissions, volume serial
8411         number, etc. Code adapted from FSF Emacs 20.7.
8412
8413 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8414
8415         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8416         of stat when we don't have symbolic links, to make sure
8417         mswindows_stat is called on mswindows.
8418
8419 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8420
8421         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8422
8423 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8424
8425         * doprnt.c (emacs_doprnt_1): More printing fixes.
8426         Make printing of numbers compatible with libc and FSF Emacs.
8427         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8428         Use the system printf to do most of the hard work of formatting,
8429         instead of doprnt_1().
8430         Calculate memory to allocate for format string.
8431         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8432         (doprnt_1): Cleaner code and documentation.
8433
8434 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8435
8436         * Makefile.in.in: Use the loop variable to install headers.
8437
8438 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8439
8440         * window.c (Fsplit_window): Don't invalidate face cache.
8441
8442 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8443
8444         * minibuf.c (Fall_completions): Undo the previous change
8445         which removed checking elements start with space.
8446
8447 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8448
8449         * mule-canna.c: Didier suppression.
8450
8451 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8452
8453         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8454         (warning suppression).  Add English comment translations.
8455
8456 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8457
8458         * unexelfsgi.c (unexec): Better test for mmap failure.
8459
8460 2000-12-05  Martin Buchholz <martin@xemacs.org>
8461
8462         * XEmacs 21.2.38 is released.
8463
8464 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8465
8466         * redisplay.c (bar-cursor): Make a user variable.
8467
8468         * symsinit.h: Add init_postgresql_from_environment.
8469
8470 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8471
8472         * regex.c: Convert to clean C.
8473
8474 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8475
8476         * realpath.c:
8477         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8478         initialization.
8479         (sys_readlink): renamed to system_readlink to avoid conflict with
8480         the other sys_readlink.
8481
8482 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8483
8484         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8485
8486 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8487
8488         * postgresql.c (init_postgresql_from_environment): new function.
8489         (vars_of_postgresql): Move code initializing Lisp variables out and
8490         into init_postgresql_from_environment.
8491         emacs.c (main_1): Call init_postgresql_from_environment if and only
8492         if running a dumped XEmacs.
8493
8494 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8495
8496         * buffer.c: Make find-file-compare-truenames default to true on
8497         windows.
8498
8499         * realpath.c (win32_abs_start):
8500         (cygwin_readlink):
8501         (win32_readlink): New functions.
8502         (xrealpath): Return really real filenames on windows.
8503
8504         * fileio.c (Ffile_truename): Make file-truename work on windows.
8505
8506 2000-11-29  Didier Verna  <didier@xemacs.org>
8507
8508         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8509         * faces.c (update_face_cachel_data): use it.
8510         * faces.c (add_face_cachel): use it. Complete background pixmap
8511         frobbing in face cache if `update_face_cachel_data' has not done so.
8512
8513 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8514
8515         * search.c (string_match_1): Don't set last_thing_searched
8516         when search failed.
8517
8518 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8519
8520         * buffer.c: Include casetab.h
8521         (common_init_complex_vars_of_buffer): Use new case-table object.
8522         * buffer.h: Include casetab.h
8523         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8524         (DOWNCASE_TABLE_OF): Ditto.
8525         * bufslots.h: Remove char-tables and add case-table.
8526         * casetab.c: Include casetab.h
8527         (CASE_TABLE_P): Removed.
8528         (mark_case_table): New function.
8529         (allocate_case_table): New function.
8530         (Fcase_table_p): Use new case-table.
8531         (case_table_char): New function.
8532         (Fget_case_table): Ditto.
8533         (Fput_case_table): Ditto.
8534         (Fput_case_table_pair): Ditto.
8535         (Fcopy_case_table): Ditto.
8536         (Fcurrent_case_table): Return case-table.
8537         (Fstandard_case_table): Return case-table.
8538         (Fset_case_table): Fix doc-string.
8539         (set_case_table): Use case-table
8540         (syms_of_casetab): DEFSUBR new functions.
8541         (complex_vars_of_casetab): Set up standard case-table.
8542         * casetab.h: New file.
8543         * editfns.c: Include casetab.h
8544         (Fcompare_buffer_substrings): Use case-table.
8545         * inline.c: Include casetab.h
8546         * lisp.h: Remove bogus extern.
8547         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8548         * search.c: Include casetab.h
8549         (TRANSLATE_ASCII): Removed.
8550         (TRANSLATE): Unconditionally translate character.
8551         (looking_at_1): Use case-table.
8552         (string_match_1): Ditto.
8553         (fast_string_match): Ditto.
8554         (search_command): Ditto.
8555         (search_buffer): Separate boyer_moore.  Check whether
8556         boyer_moore is possible.
8557         (simple_search): New function.
8558         (boyer_moore): Separated from search_buffer. Translate char.
8559
8560 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8561
8562         * regex.c (RE_TR_ASCII): Removed.
8563         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8564         (PATFETCH): Call PATFETCH_RAW.
8565         (PATFETCH_RAW): Fetch Emchar.
8566         (PATUNFETCH): Decrement charptr.
8567         (GET_BUFFER_SPACE): Rename b to buf_end.
8568         (BUF_PUSH): Ditto.
8569         (BUF_PUSH_2): Ditto.
8570         (BUF_PUSH_3): Ditto.
8571         (EXTEND_BUFFER): Ditto.
8572         (SET_LIST_BIT): Ditto.
8573         (regex_compile): Ditto.  Translate non ASCII char.
8574         (compile_range): Ditto.
8575         (re_search_2): Ditto.
8576         (re_match_2_internal): Compare Emchar.
8577         (bcmp_translate): Ditto.
8578
8579 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8580
8581         * lisp.h (basic char/int typedefs):  comment improvement.
8582
8583 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8584
8585         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8586         unstomp inhibit_site_lisp.  Improve comments.
8587
8588 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8589
8590         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8591
8592 2000-11-28  Andy Piper  <andy@xemacs.org>
8593
8594         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8595         clipped display for windows in the gutter also.
8596         (redisplay_display_boxes_in_window_p): change semantics of return
8597         codes to be more intuitive.
8598
8599         * gutter.h: declare display_boxes_in_gutter_p.
8600
8601         * gutter.c (display_boxes_in_gutter_p): new function for
8602         redisplay.
8603
8604 2000-11-22  Andy Piper  <andy@xemacs.org>
8605
8606         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8607         autodetect domain.
8608
8609 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8610
8611         * callproc.c (Fold_call_process_internal):
8612         * gpm.c (Freceive_gpm_event):
8613         (tty_get_foreign_selection): Might be just warning supression.
8614         * fileio.c (Fwrite_region_internal):
8615         (Fset_visited_file_modtime):
8616         * keymap.c (event_matches_key_specifier_p):
8617         Initialize GCPROed variable.
8618
8619         * menubar-x.c (command_builder_find_menu_accelerator):
8620         Initialize before use.
8621
8622 2000-11-23  Andy Piper  <andy@xemacs.org>
8623
8624         * unexcw.c (unexec): make the resulting executable executable.
8625
8626 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8627
8628         * doc.c (get_doc_string):
8629         Use size_t, not int, for result of XSTRING_LENGTH.
8630
8631         * cmds.c (Fdelete_char):
8632         * cmds.c (Fpoint_at_eol):
8633         * cmds.c (Fself_insert_command):
8634         Use EMACS_INT, not int, for result of XINT.
8635         Someday, someone will want to insert more than 2**31 identical characters.
8636
8637         * cmds.c (Fdelete_char):
8638         * cmds.c (Fdelete_backward_char):
8639         * syntax.c (Fforward_word):
8640         * syntax.c (Fforward_comment):
8641         Make COUNT argument optional, for consistency with forward-char et al.
8642
8643 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8644
8645         * lisp.h:
8646         * print.c (long_to_string):
8647         Return a useful value: the pointer at end of data written.
8648
8649         * doprnt.c:
8650         Use `static const char * const' for constant strings.
8651         (union printf_arg): Delete `i', `ui' members.
8652         (get_doprnt_args):
8653         (emacs_doprnt_1):
8654         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8655         Do all printf-ing via the `l' specifier.
8656         Use EMACS_INT instead of int.
8657         Optimize.
8658
8659 2000-11-20  Didier Verna  <didier@xemacs.org>
8660
8661         * faces.c (update_face_cachel_data): don't frob the background
8662         pixmap when the window is being created. The face is needed but
8663         does not exist yet.
8664
8665 2000-11-20  Andy Piper  <andy@xemacs.org>
8666
8667         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8668         messing with a debug environment.
8669
8670 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8671
8672         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8673
8674 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8675
8676         * casetab.c (Fcase_table_p): Fix compile error and crash.
8677
8678 2000-11-18  Philip Aston  <philipa@mail.com>
8679
8680         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8681
8682 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8683
8684         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8685         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8686
8687 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8688
8689         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8690         * unexelf.c: Use HAVE_ELF_H.
8691         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8692         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8693         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8694         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8695         for testing.
8696         So this is an unexelfsgi.c from a different line of development.
8697
8698 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8699
8700         * regex.c (RE_TR_ASCII): New function.
8701         (RE_TRANSLATE): Call it.
8702
8703 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8704
8705         * buffer.h (TRT_TABLE_OF): Remove assert.
8706         (IN_TRT_TABLE_DOMAIN): Removed.
8707
8708 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8709
8710         * free-hook.c (log_gcpro):
8711         (show_gcprohist): Add support for GCPRO5.
8712
8713 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8714
8715         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8716
8717 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8718
8719         * symeval.h: Declare flush_all_buffer_local_cache.
8720
8721         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8722         (flush_buffer_local_cache): Added.
8723         (flush_all_buffer_local_cache): Added.
8724
8725         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8726
8727         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8728         (pdump_dump_data): Ditto.
8729         (pdump_reloc_one): Ditto.
8730         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8731         before dumping.
8732
8733
8734 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8735
8736         * buffer.c: Remove if 0'ed entry.
8737         * buffer.h: Rewrite TRT to use char-table.
8738         * bufslots.h: Remove mirror tables.
8739         * casetab.c: Remove mirror tables.
8740         (CASE_TABLE_P): New macro.
8741         (Fcase_table_p): Element of a case table is string or char-table.
8742         (make_mirror_trt_table): Removed.
8743         (set_case_table): Setup char-table from strings for backward
8744         compatibility.
8745         * dired.c (Fdirectory_files):
8746         * dired-msw.c: (mswindows_get_files):
8747         * lisp.h: Change prototype of re_pattern_buffer.
8748         * regex.c: (RE_TRANSLATE): New macro.
8749         (TRANSLATE_P): Ditto.
8750         Change translate to type RE_TRANSLATE_TYPE.
8751         * regex.h: Define RE_TRANSLATE_TYPE
8752         * search.c (TRANSLATE): New macro.
8753         (TRANSLATE_ASCII): New macro.
8754         Translate table is changed to Lisp_Object.
8755         (signal_failure): Inhibit return.
8756
8757 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8758
8759         * device-msw.c:
8760         * eldap.c:
8761         * event-Xt.c:
8762         * event-stream.c:
8763         * print.c:
8764         Do UNGCPRO before return.
8765
8766 2000-11-14  Martin Buchholz <martin@xemacs.org>
8767
8768         * XEmacs 21.2.37 is released.
8769
8770 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8771
8772         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8773         Add comments about discarded return value.
8774
8775 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8776
8777         * callint.c:
8778         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8779
8780 2000-10-27  Andy Piper  <andy@xemacs.org>
8781
8782         * gutter.c (Fset_default_gutter_position): default left and right
8783         gutters to visible.
8784         (calculate_gutter_size): calculate resonable heuristic for left
8785         and right gutter sizes.
8786         (specifier_vars_of_gutter): change left and right gutter sizes to
8787         autodetect.
8788         (calculate_gutter_size_from_display_lines): new function.
8789         (output_gutter): check for resizing on left and right gutters.
8790         (clear_gutter): don't special case top and left gutters.
8791         (specifier_vars_of_gutter): use new signature for
8792         set_specifier_caching.
8793
8794         * glyphs-x.c (x_redisplay_widget): spelling fix.
8795         * glyphs.c (specifier_vars_of_glyphs):
8796         * menubar.c (specifier_vars_of_menubar):
8797         * redisplay.c (specifier_vars_of_redisplay):
8798         * toolbar.c (specifier_vars_of_toolbar):
8799         * window.c (specifier_vars_of_window):
8800         * scrollbar.c (specifier_vars_of_scrollbar):
8801         (complex_vars_of_scrollbar): use new signature for
8802         set_specifier_caching.
8803
8804         * specifier.c (set_specifier_caching): include recompute flag.
8805         (recompute_one_cached_specifier_in_window): always recompute if
8806         flag set.
8807         (recompute_one_cached_specifier_in_frame): ditto.
8808
8809         * specifier.h (struct specifier_caching): add recompute flag.
8810
8811 2000-10-24  Andy Piper  <andy@xemacs.org>
8812
8813         * unexcw.c (copy_executable_and_dump_data_section): add new
8814         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8815         5.0 happy.
8816
8817 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8818
8819         * console-x.h (x_device): New member modifier_release_time.
8820         * event-Xt.c (x_handle_sticky_modifiers):
8821         Bound interval modifier keys are sticky.
8822         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8823         * events.h: extern it.
8824
8825 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8826
8827         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8828
8829 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8830
8831         * event-stream.c (execute_command_event): Preserve current_events
8832         and the like when event is misc-user-event.
8833         Inhibit quit during the call to maybe_echo_keys.
8834
8835 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8836
8837         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8838         symlink when buffer is killed.
8839         (inhibit_clash_detection): New variable.
8840
8841 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8842
8843         * console.c (Fset_input_method): Trigger redisplay on tty.
8844
8845 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8846
8847         * process.c (Fprocess_status): Revert to previous behavior:
8848         (process-status "nosuchprocess") ==> nil
8849
8850 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8851
8852         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8853         Work around another GCC 2.95.2 optimizer bug.
8854
8855 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8856
8857         * process.c (Fget_process): Use LIST_LOOP_2.
8858         (kill_buffer_processes): Use LIST_LOOP_2.
8859
8860         * minibuf.c (Fall_completions):
8861         Delete old non-functional code for FSF fourth argument.
8862
8863         * frame.c (frame_matches_frame_spec):
8864         Renamed from `frame_matches_frametype'.  Update all callers.
8865         (device_matches_device_spec):
8866         Renamed from 'device_matches_console_spec'.  Update all callers.
8867
8868         * doc.c (Fsubstitute_command_keys):
8869         Remove buffer overflow crash.  Small code cleanups.
8870
8871         * casetab.c (check_case_table): Simpler code.
8872
8873         * window.c (Freplace_buffer_in_windows):
8874         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8875         (and similar implementation) as Fdelete_windows_on.
8876         Update all callers.
8877
8878         * alloc.c (Fmake_list):
8879         * alloc.c (make_vector):
8880         * alloc.c (Fmake_vector):
8881         * alloc.c (make_bit_vector):
8882         * alloc.c (Fmake_bit_vector):
8883         * alloc.c (Fbit_vector):
8884         * alloc.c (Fmake_string):
8885         * alloc.c (Fpurecopy):
8886         * alloc.c (Fmemory_limit):
8887         * buffer.c:
8888         * buffer.c (Fget_buffer):
8889         * buffer.c (Fkill_buffer):
8890         * buffer.c (complex_vars_of_buffer):
8891         * bytecode.c (Fcompiled_function_stack_depth):
8892         * callint.c (Fprefix_numeric_value):
8893         * event-stream.c:
8894         * event-stream.c (Fread_key_sequence):
8895         * casetab.c:
8896         * casetab.c (Fcase_table_p):
8897         * casetab.c (check_case_table):
8898         * casetab.c (Fset_case_table):
8899         * casetab.c (Fset_standard_case_table):
8900         * chartab.c:
8901         * chartab.c (Fchar_table_type):
8902         * chartab.c (Freset_char_table):
8903         * chartab.c (Fget_char_table):
8904         * chartab.c (Fget_range_char_table):
8905         * chartab.c (Fput_char_table):
8906         * chartab.c (Fmap_char_table):
8907         * chartab.c (Fcategory_table_p):
8908         * chartab.c (Fcheck_category_at):
8909         * chartab.c (Fchar_in_category_p):
8910         * chartab.c (Fcategory_table):
8911         * chartab.c (Fcopy_category_table):
8912         * chartab.c (Fset_category_table):
8913         * chartab.c (Fcategory_designator_p):
8914         * chartab.c (Fcategory_table_value_p):
8915         * cmds.c (Fdelete_char):
8916         * cmds.c (Fdelete_backward_char):
8917         * cmds.c (Fself_insert_command):
8918         * cmds.c (Fself_insert_internal):
8919         * console.c (Fvalid_console_type_p):
8920         * console.c (Fcdfw_console):
8921         * console.c (Fconsole_type):
8922         * console.c (Fconsole_name):
8923         * console.c (Fconsole_device_list):
8924         * console.c (Fconsole_on_window_system_p):
8925         * data.c:
8926         * data.c (Feq):
8927         * data.c (Fold_eq):
8928         * data.c (Fsubr_interactive):
8929         * data.c (Fchar_to_int):
8930         * data.c (Fint_to_char):
8931         * data.c (Fsetcar):
8932         * data.c (Fsetcdr):
8933         * data.c (Fnumber_to_string):
8934         * data.c (Fstring_to_number):
8935         * data.c (Frem):
8936         * database.c (mark_database):
8937         * database.c (finalize_database):
8938         * database.c (Fdatabase_live_p):
8939         * database.c (Fdatabasep):
8940         * device-x.c (Fx_get_resource):
8941         * device.c (Fdfw_device):
8942         * dired.c:
8943         * dired.c (Ffile_name_completion):
8944         * dired.c (Ffile_name_all_completions):
8945         * dired.c (Fuser_name_completion):
8946         * dired.c (Fuser_name_completion_1):
8947         * dired.c (Fuser_name_all_completions):
8948         * doc.c (Fdocumentation):
8949         * doc.c (Fdocumentation_property):
8950         * doc.c (Fsubstitute_command_keys):
8951         * editfns.c:
8952         * editfns.c (Fchar_to_string):
8953         * editfns.c (Fstring_to_char):
8954         * editfns.c (Ftemp_directory):
8955         * editfns.c (Finsert_char):
8956         * editfns.c (Fbuffer_substring_no_properties):
8957         * editfns.c (Fnarrow_to_region):
8958         * editfns.c (Fchar_equal):
8959         * editfns.c (Fchar_Equal):
8960         * editfns.c (Ftranspose_regions):
8961         * emacs.c (Fdump_emacs):
8962         * eval.c (Fthrow):
8963         * eval.c (Fcommand_execute):
8964         * eval.c (Fautoload):
8965         * eval.c (Fbacktrace):
8966         * eval.c (Fbacktrace_frame):
8967         * events.c:
8968         * events.c (Fcopy_event):
8969         * events.c (Fcharacter_to_event):
8970         * events.c (Fevent_button):
8971         * events.c (Fevent_process):
8972         * extents.c:
8973         * extents.c (Fnext_extent_change):
8974         * extents.c (Fextent_property):
8975         * faces.c (Ffacep):
8976         * faces.c (Fmake_face):
8977         * file-coding.c:
8978         * file-coding.c (Fencode_shift_jis_char):
8979         * file-coding.c (Fencode_big5_char):
8980         * fileio.c (Ffile_name_directory):
8981         * fileio.c (Ffile_name_nondirectory):
8982         * fileio.c (Ffile_name_as_directory):
8983         * fileio.c (Fdirectory_file_name):
8984         * fileio.c (Ffile_truename):
8985         * fileio.c (Fsubstitute_in_file_name):
8986         * fileio.c (Ffile_modes):
8987         * fileio.c (Fset_file_modes):
8988         * fileio.c (Fset_default_file_modes):
8989         * fileio.c (Fverify_visited_file_modtime):
8990         * floatfns.c (Facos):
8991         * floatfns.c (Fasin):
8992         * floatfns.c (Fatan):
8993         * floatfns.c (Fcos):
8994         * floatfns.c (Fsin):
8995         * floatfns.c (Ftan):
8996         * floatfns.c (Fbessel_j0):
8997         * floatfns.c (Fbessel_j1):
8998         * floatfns.c (Fbessel_jn):
8999         * floatfns.c (Fbessel_y0):
9000         * floatfns.c (Fbessel_y1):
9001         * floatfns.c (Fbessel_yn):
9002         * floatfns.c (Ferf):
9003         * floatfns.c (Ferfc):
9004         * floatfns.c (Flog_gamma):
9005         * floatfns.c (Fexp):
9006         * floatfns.c (Fexpt):
9007         * floatfns.c (Flog):
9008         * floatfns.c (Flog10):
9009         * floatfns.c (Fsqrt):
9010         * floatfns.c (Fcube_root):
9011         * floatfns.c (Facosh):
9012         * floatfns.c (Fasinh):
9013         * floatfns.c (Fatanh):
9014         * floatfns.c (Fcosh):
9015         * floatfns.c (Fsinh):
9016         * floatfns.c (Ftanh):
9017         * floatfns.c (Fabs):
9018         * floatfns.c (Ffloat):
9019         * floatfns.c (Flogb):
9020         * floatfns.c (Fceiling):
9021         * floatfns.c (Ffloor):
9022         * floatfns.c (Fround):
9023         * floatfns.c (Ftruncate):
9024         * floatfns.c (Ffceiling):
9025         * floatfns.c (Fffloor):
9026         * floatfns.c (Ffround):
9027         * floatfns.c (Fftruncate):
9028         * fns.c (Fstring_equal):
9029         * fns.c (Fstring_lessp):
9030         * fns.c (concat2):
9031         * fns.c (concat3):
9032         * fns.c (vconcat2):
9033         * fns.c (vconcat3):
9034         * fns.c (Fsubstring):
9035         * fns.c (Fassoc):
9036         * fns.c (Fold_assoc):
9037         * fns.c (assoc_no_quit):
9038         * fns.c (Fassq):
9039         * fns.c (Fold_assq):
9040         * fns.c (assq_no_quit):
9041         * fns.c (Frassoc):
9042         * fns.c (Fold_rassoc):
9043         * fns.c (Frassq):
9044         * fns.c (Fold_rassq):
9045         * fns.c (rassq_no_quit):
9046         * fns.c (Fremassoc):
9047         * fns.c (remassoc_no_quit):
9048         * fns.c (Fremassq):
9049         * fns.c (remassq_no_quit):
9050         * fns.c (Fremrassoc):
9051         * fns.c (Fremrassq):
9052         * fns.c (remrassq_no_quit):
9053         * fns.c (Fsort):
9054         * fns.c (Fplist_get):
9055         * fns.c (Fplist_put):
9056         * fns.c (Fplist_remprop):
9057         * fns.c (Fplist_member):
9058         * fns.c (Flax_plist_get):
9059         * fns.c (Flax_plist_put):
9060         * fns.c (Flax_plist_remprop):
9061         * fns.c (Flax_plist_member):
9062         * fns.c (Fequal):
9063         * fns.c (Fold_equal):
9064         * fns.c (Frequire):
9065         * fns.c (Fbase64_encode_region):
9066         * fns.c (Fbase64_encode_string):
9067         * fns.c (Fbase64_decode_region):
9068         * frame.c:
9069         * frame.c (frame_matches_frame_spec):
9070         * frame.c (device_matches_device_spec):
9071         * frame.c (next_frame):
9072         * frame.c (previous_frame):
9073         * frame.c (Fnext_frame):
9074         * frame.c (Fprevious_frame):
9075         * frame.c (Fframe_property):
9076         * frame.c (Fset_frame_height):
9077         * frame.c (Fset_frame_size):
9078         * frame.h:
9079         * glyphs.c:
9080         * glyphs.c (if):
9081         * glyphs.c (decode_error_behavior_flag):
9082         * glyphs.c (Fmake_image_instance):
9083         * indent.c (Findent_to):
9084         * intl.c (Fignore_defer_gettext):
9085         * keymap.c (Fkeymapp):
9086         * keymap.c (Flookup_key):
9087         * lread.c:
9088         * lread.c (Fload_internal):
9089         * lread.c (Feval_buffer):
9090         * lread.c (Feval_region):
9091         * macros.c (Fexecute_kbd_macro):
9092         * marker.c (set_marker_internal):
9093         * marker.c (Fset_marker):
9094         * marker.c (set_marker_restricted):
9095         * marker.c (Fcopy_marker):
9096         * marker.c (noseeum_copy_marker):
9097         * menubar.c:
9098         * menubar.c (Fpopup_menu):
9099         * minibuf.c:
9100         * mule-charset.c (Fcharset_name):
9101         * mule-charset.c (Fchar_charset):
9102         * mule-charset.c (Fchar_octet):
9103         * mule-charset.c (Fsplit_char):
9104         * mule-wnnfns.c (Fwnn_open):
9105         * mule-wnnfns.c (Fwnn_dict_comment):
9106         * mule-wnnfns.c (Fwnn_quit_henkan):
9107         * mule-wnnfns.c (Fwnn_word_toroku):
9108         * mule-wnnfns.c (Fwnn_word_sakujo):
9109         * mule-wnnfns.c (Fwnn_word_use):
9110         * mule-wnnfns.c (Fwnn_hindo_set):
9111         * objects.c:
9112         * objects.c (Fmake_color_instance):
9113         * objects.c (Fmake_font_instance):
9114         * print.c (Fwrite_char):
9115         * process.c:
9116         * process.c (mark_process):
9117         * process.c (print_process):
9118         * process.c (get_process_from_usid):
9119         * process.c (Fprocessp):
9120         * process.c (Fprocess_live_p):
9121         * process.c (Fget_process):
9122         * process.c (Fget_buffer_process):
9123         * process.c (get_process):
9124         * process.c (Fprocess_id):
9125         * process.c (Fprocess_name):
9126         * process.c (Fprocess_command):
9127         * process.c (init_process_io_handles):
9128         * process.c (start_process_unwind):
9129         * process.c (Fstart_process_internal):
9130         * process.c (Fopen_multicast_group_internal):
9131         * process.c (Fset_process_window_size):
9132         * process.c (read_process_output):
9133         * process.c (send_process):
9134         * process.c (Fprocess_tty_name):
9135         * process.c (Fset_process_buffer):
9136         * process.c (Fprocess_buffer):
9137         * process.c (Fprocess_mark):
9138         * process.c (set_process_filter):
9139         * process.c (Fset_process_filter):
9140         * process.c (Fprocess_filter):
9141         * process.c (Fprocess_send_region):
9142         * process.c (Fprocess_send_string):
9143         * process.c (exec_sentinel):
9144         * process.c (Fset_process_sentinel):
9145         * process.c (Fprocess_sentinel):
9146         * process.c (status_notify):
9147         * process.c (Fprocess_status):
9148         * process.c (Fprocess_exit_status):
9149         * process.c (process_send_signal):
9150         * process.c (Fprocess_send_eof):
9151         * process.c (deactivate_process):
9152         * process.c (remove_process):
9153         * process.c (Fdelete_process):
9154         * process.c (kill_buffer_processes):
9155         * process.c (Fprocess_kill_without_query):
9156         * process.c (Fprocess_kill_without_query_p):
9157         * rangetab.c:
9158         * rangetab.c (Fget_range_table):
9159         * rangetab.c (Fput_range_table):
9160         * rangetab.c (Fremove_range_table):
9161         * rangetab.c (Fclear_range_table):
9162         * search.c:
9163         * search.c (Fskip_chars_forward):
9164         * search.c (Fskip_chars_backward):
9165         * search.c (Fskip_syntax_forward):
9166         * search.c (Fskip_syntax_backward):
9167         * search.c (search_command):
9168         * search.c (Freplace_match):
9169         * search.c (Fregexp_quote):
9170         * select.c (Fown_selection_internal):
9171         * select.c (Fselection_owner_p):
9172         * select.c (Fselection_exists_p):
9173         * select.c (Fget_selection_internal):
9174         * specifier.c:
9175         * symbols.c:
9176         * symbols.c (Fintern):
9177         * symbols.c (Fintern_soft):
9178         * symbols.c (Funintern):
9179         * symbols.c (Fapropos_internal):
9180         * symbols.c (Fset_default):
9181         * syntax.c:
9182         * syntax.c (Fsyntax_table_p):
9183         * syntax.c (Fcopy_syntax_table):
9184         * syntax.c (Fset_syntax_table):
9185         * syntax.c (Fchar_syntax):
9186         * syntax.c (syntax_match):
9187         * syntax.c (Fmatching_paren):
9188         * syntax.c (Fforward_word):
9189         * syntax.c (scan_lists):
9190         * syntax.c (Fscan_lists):
9191         * syntax.c (Fscan_sexps):
9192         * syntax.c (Fparse_partial_sexp):
9193         * toolbar.c (Fcheck_toolbar_button_syntax):
9194         * tooltalk.doc:
9195         * window.c:
9196         * window.c (Fwindowp):
9197         * window.c (Fwindow_live_p):
9198         * window.c (Fwindow_point):
9199         * window.c (Fdelete_window):
9200         * window.c (Fnext_window):
9201         * window.c (Fprevious_window):
9202         * window.c (Fother_window):
9203         * window.c (window_loop):
9204         * window.c (Fget_lru_window):
9205         * window.c (Fsplit_window):
9206         * window.c (Fenlarge_window):
9207         * window.c (Fenlarge_window_pixels):
9208         * window.c (Fshrink_window):
9209         * window.c (Fshrink_window_pixels):
9210         * window.c (change_window_height):
9211         * window.c (Fwindow_configuration_p):
9212         * window.c (Fcurrent_window_configuration):
9213         * window.h:
9214         * casefiddle.c (casify_object):
9215         * casefiddle.c (Fupcase):
9216         * casefiddle.c (Fdowncase):
9217         * casefiddle.c (Fcapitalize):
9218         * casefiddle.c (Fupcase_initials):
9219         * casefiddle.c (casify_region_internal):
9220         * casefiddle.c (casify_region):
9221         * casefiddle.c (Fupcase_region):
9222         * casefiddle.c (Fdowncase_region):
9223         * casefiddle.c (Fcapitalize_region):
9224         * casefiddle.c (Fupcase_initials_region):
9225         * casefiddle.c (Fupcase_word):
9226         * casefiddle.c (Fdowncase_word):
9227         * casefiddle.c (Fcapitalize_word):
9228         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9229         Replace 0 with '\0' when working with bytes.
9230         Replace initial "(" with "\(" in docstrings.
9231
9232 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9233
9234         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9235
9236         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9237
9238 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9239
9240         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9241
9242 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9243
9244         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9245         correctly.
9246
9247 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9248
9249         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9250         (inhibit_auto_save_session): New variable.
9251         (vars_of_fileio): Declare and initialize them.
9252         * fileio.c (Fdo_auto_save): Don't create session file if
9253         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9254
9255 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9256
9257         * sgiplay.c (play_internal): C++ compilability.
9258         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9259         * callproc.c (Fold_call_process_internal):
9260         Remove unused vars `env', `first'.
9261         * scrollbar.c (update_scrollbar_instance):
9262         #### unused var `current_window'.
9263         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9264         etc. within #ifdef NOT_YET.
9265         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9266         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9267         * specifier.c (specifier_instance):
9268         #### unused var `tag'.
9269         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9270
9271 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9272
9273         * fns.c (Fbutlast):
9274         * fns.c (list_sort):
9275         * fns.c (Ffillarray):
9276         * fns.c (bytecode_nconc2):
9277         * fns.c (Fnconc):
9278         * fns.c (mapcar1):
9279         * fns.c (Fmapconcat):
9280         Be pedantically 64-bit correct.  For the time when someone will
9281         want to have a list with length > 2**32.
9282
9283         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9284         Work around MIPSpro compiler bug.
9285
9286         * process-unix.c (unix_kill_child_process): Add snarky comment.
9287         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9288
9289         * config.h.in: Oops, _getpt ==> _getpty
9290
9291 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9292
9293         * config.h.in:
9294         * regex.c:
9295         Use void*, not char*, as return type of alloca().
9296
9297         * alloc.c (free_marker): Side effect inside assert expression!
9298
9299 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9300
9301         * mule-charset.c (Fset_charset_ccl_program): To check
9302         if the given ccl program is valid, use setup_ccl_program()
9303         instead of CHECK_VECTOR().
9304         (Fmake_charset): Likewise.
9305
9306 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9307
9308         * faces.c (get_extent_fragment_face_cache_index):
9309         Fix cachel.merged_faces memory leak.
9310
9311 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9312
9313         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9314         Reset MSB of octets obtained by DECODE_SJIS
9315         because of the incompatibility with Emacs.
9316         (ccl_driver)<CCL_ENCODE_SJIS>:
9317         Set MSB of octets before passing them to
9318         ENCODE_SJIS because of the incompatibility
9319         with Emacs.
9320
9321 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9322
9323         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9324         (DECLARE_LRECORD): Undo the last change.
9325         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9326
9327 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9328
9329         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9330         the implementation to lrecord_implementations_table.
9331
9332 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9333
9334         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9335         initial value of `lrecord_type_##c_name' and
9336         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9337         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9338         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9339         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9340         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9341
9342 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9343
9344         * miscplay.c (sndcnv8S_2mono):
9345         (sndcnv2monounsigned):
9346         (sndcnvULaw_2linear):
9347         (sndcnv16swap):
9348         Remove implementation-defined behavior.
9349
9350 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9351
9352         * input-method-xlib.c: Warning suppression.
9353
9354 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9355
9356         * mule-ccl.c: Sync up with Emacs 21.0.90.
9357         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9358         Do nothing.
9359         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9360         Likewise.
9361         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9362         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9363         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9364         leading char belongs to official 2-dimensional charset.
9365         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9366         write the given character as is.  Otherwise,
9367         if it is a multibyte char, convert it by
9368         non_ascii_set_charptr_emchar, then write it.
9369         (CCL_WRITE_STRING): Likewise.
9370         (ccl_get_compiled_code): New function.
9371         (setup_ccl_program): When ccl_prog is invalid,
9372         return -1.
9373         (Fregister_code_conversion_map): New function.
9374         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9375
9376         * mule-ccl.h: Sync up with Emacs 21.0.90.
9377         (Fregister_ccl_program): export it.
9378
9379         * redisplay-msw.c (separate_textual_runs):
9380         If ccl program is not valid, don't do ccl conversion.
9381
9382         * redisplay-x.c (separate_textual_runs): Ditto.
9383
9384         * file-coding.c (Fmake_coding_system):
9385         When type is ccl and value is vector, register it
9386         with a proper symbol.  And checks whether the
9387         given ccl program is valid.
9388         (mule_decode): When calling ccl_driver, if src indicates
9389         NULL pointer, set an empty string instead.
9390         (mule_encode): Likewise.
9391
9392 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9393
9394         The following large batch of changes gets us back to a state of
9395         C++ compilability.  Extbyte is now a char, which means that
9396         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9397
9398         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9399
9400         * sound.c (Fplay_sound): Type correctness.
9401
9402         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9403         (x_get_window_property): Type correctness.
9404         (receive_incremental_selection): unsigned char ==> Extbyte
9405         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9406         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9407         (Fx_store_cutbuffer_internal): Type correctness.
9408
9409         * process-unix.c (try_to_initialize_subtty): Type correctness.
9410
9411         * objects-x.c (x_print_color_instance): Type correctness.
9412         (x_print_font_instance): Type correctness.
9413         (x_list_fonts): SExtbyte ==> Extbyte.
9414         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9415         (x_find_charset_font): SExtbyte ==> Extbyte.
9416         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9417         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9418         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9419         Use bufbyte_strcmp.
9420
9421         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9422         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9423         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9424         (BYTE_C0_P): Use bit ops for char-signedness safety.
9425         (BYTE_C1_P): Use bit ops for char-signedness safety.
9426         (CHARSET_BY_LEADING_BYTE):
9427         (CHARSET_BY_ATTRIBUTES):
9428         Always use inline function.
9429         Use type_checking_assert.
9430         Hide chlook.
9431
9432         * mule-charset.c (non_ascii_charptr_copy_char):
9433         Modify to work with both ASCII and non-ASCII characters.
9434         Improve docs and variable names.
9435         Replace over-clever fall-through switch with a simple loop.
9436         (Lstream_get_emchar_1):
9437         Replace over-clever fall-through switch with a simple loop.
9438
9439         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9440         Warning suppression.
9441
9442         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9443         the return value of Lstream_getc, which could be EOF as well.
9444
9445         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9446
9447         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9448         APIs can be used on Extbytes without casts.  Risky!
9449         (SExtbyte): Remove.
9450         (UExtbyte): Remove.
9451
9452         * input-method-xlib.c (XIM_init_device):
9453         Use Xlib.h instead of IntrinsicP.h.
9454         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9455         which will break in X11R7.
9456         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9457         to call XRegisterIMInstantiateCallback with correct types.
9458
9459         * gui-x.c (button_item_to_widget_value): Type correctness.
9460
9461         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9462
9463         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9464         (xbm_instantiate_1): Type correctness.
9465         (BUILD_GLYPH_INST):  Type correctness.
9466
9467         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9468
9469         * file-coding.c:
9470         (decode_coding_sjis):
9471         (decode_coding_big5):
9472         (decode_coding_ucs4):
9473         (decode_coding_utf8):
9474         (decode_coding_iso2022):
9475         (decode_coding_no_conversion):
9476         Make all decoding functions take an Extbyte * arg.
9477         (encode_coding_sjis):
9478         (encode_coding_big5):
9479         (encode_coding_ucs4):
9480         (encode_coding_utf8):
9481         (encode_coding_iso2022):
9482         (encode_coding_no_conversion):
9483         Make all encoding functions take a Bufbyte * arg.
9484         Use size_t instead of unsigned int for memory sizes.
9485         Only cast to unsigned char whenever dereferencing Extbyte *.
9486
9487         * doc.c (unparesseuxify_doc_string): Type correctness.
9488
9489         * console-x.c (split_up_display_spec):
9490         Rewrite without using details of internal string representation.
9491         (x_semi_canonicalize_device_connection): Type correctness.
9492
9493         * config.h.in:
9494         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9495         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9496         (HAVE_XFREE386): Removed.
9497
9498         * buffer.h (DEC_CHARPTR): `const' correctness.
9499         (bufbyte_strcmp): New.
9500         (bufbyte_memcmp): New.
9501
9502         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9503
9504         * buffer.h (XCHAR_OR_CHAR_INT):
9505         Always use inline function.
9506         Remove redundant type checking assert() - XINT will abort quite nicely.
9507
9508 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9509
9510         * search.c (Freplace_match): Set newtext to an empty string.
9511
9512 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9513
9514         * s/decosf1-3.h: Remove #include of stropts.h
9515         * s/ptx.h: Remove #include of stropts.h
9516         * s/usg5-4.h: Remove #include of stropts.h
9517         * sysproc.h:
9518         * config.h.in:
9519         Use stropts.h, not sys/stropts.h.
9520         Use strtio.h, not sys/strtio.h.
9521
9522 2000-10-04  Martin Buchholz <martin@xemacs.org>
9523
9524         * XEmacs 21.2.36 is released.
9525
9526 2000-09-21  Andy Piper  <andy@xemacs.org>
9527
9528         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9529         changes still involve copying the widget tree.
9530         (update_widget_face): make sure a change is register in the widget
9531         tree. Call update_tab_widget_face appropriately.
9532         (update_tab_widget_face): ditto.
9533         (x_tab_control_redisplay): make sure non-structural changes still
9534         involve copying the widget tree.
9535
9536 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9537
9538         * lread.c (locate_file): Check the path element is non-nil.
9539
9540 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9541
9542         * lisp.h: Warning suppression for SCO compilers.
9543
9544         * redisplay-tty.c (reset_tty_modes): Fix crash.
9545         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9546
9547 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9548
9549         Big signal/process handling overhaul.  Bugs fixed:
9550         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9551         M-x comint-kill-subjob should work for both values nil and t of
9552         process-connection-type. It was broken on most platforms.
9553         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9554         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9555         * process-unix.c: Signal/Process handling overhaul.
9556         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9557         (allocate_pty): Use all available modern methods of allocating
9558         ptys, falling back to old style BSD allocation as a last resort.
9559         Use allegedly more secure Unix98 pty allocation by default.
9560         (allocate_pty_the_old_fashioned_way): New. the last resort.
9561         (unix_create_process): Push ptem, ldterm, ttcompat where
9562         available.  Autoconfiscate.
9563         (try_to_initialize_subtty): New.
9564         (unix_kill_child_process): Proper signal handling for ptys on most
9565         platforms, using special knowledge of AIX, BSD, etc...
9566         (unix_create_process): Always disconnect_controlling_terminal() for
9567         subprocesses, whether using ptys or not.
9568         * process.h: Remove old getpt-dependent PTY code.
9569         * process.c (Fprocess_send_signal): New, obvious generic function.
9570         (decode_signal): New.
9571         (Finterrupt_process):
9572         (Fkill_process):
9573         (Fquit_process):
9574         (Fstop_process):
9575         (Fcontinue_process):
9576         (Fsignal_process): Use decode_signal.
9577         (process_send_signal):
9578         Many docstring corrections.
9579         Allow any signal to be sent to a process object.
9580         * config.h.in: Add symbols for big signal/process overhaul.
9581         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9582         * sysproc.h: Include process-related headers, where available:
9583         sys/stropts.h sys/strtio.h pty.h libutil.h
9584         * s/irix4-0.h:
9585         * s/irix5-0.h:
9586         * s/cygwin32.h:
9587         * s/gnu.h:
9588         * s/linux.h:
9589         * s/hpux.h:
9590         * s/aix3-1.h:
9591         Remove old S&M pty stuff.
9592         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9593         * systty.h: Simplify cpp hackery, improve comments.
9594         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9595
9596         * editfns.c (Fformat_time_string):
9597         Be a little more paranoid with the return value of ctime.
9598
9599         * fileio.c (check_executable):
9600         (check_writable):
9601         Use symbolic constants X_OK, W_OK.
9602
9603         * console-x.c (split_up_display_spec): Fix a warning.
9604
9605 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9606
9607         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9608         * ntproc.c (sys_spawnve): make_string ==> build_string
9609         Small clarity improvements.
9610
9611 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9612
9613         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9614
9615         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9616
9617         * config.h.in (HAVE_STRCASECMP): Remove.
9618
9619 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9620
9621         * redisplay-output.c (redisplay_output_pixmap):
9622         Cleaner and possibly more 64-bit correct code.
9623
9624 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9625
9626         * dumper.c (pdump_load_finish): move restoration of
9627         `noninteractive1' to emacs.c (main_1).
9628         * emacs.c (main_1): protect LISP-visible command-line flags
9629         from pdump_load().
9630
9631 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9632
9633         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9634         DUMP_TARGET instead of literal program names.
9635
9636 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9637
9638         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9639
9640 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9641
9642         * *: Spelling mega-patch
9643
9644 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9645
9646         * fns.c (bad_bad_turtle):
9647         Delete "Eek!" comment, since we fixed the bug to which it refers.
9648
9649 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9650
9651         * alloca.c: Replace REGISTER with register.
9652
9653 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9654
9655         * file-coding.c (ucs_to_char): Use countof.
9656
9657 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9658
9659         * file-coding.c: (ucs_to_char):
9660         (complex_vars_of_file_coding):
9661         Use countof instead of sizeof.
9662         Use CHECK_NATNUM instead of CHECK_INT.
9663
9664         * sysdep.c (strcasecmp): Remove.
9665         * device-x.c (ascii_strcasecmp): New.
9666         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9667         Avoid using non-standard non-portable strcasecmp.
9668
9669 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9670
9671         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9672         * font-lock.c: remove reference to emacsfns.h.
9673         * search.c: small doc improvement.
9674         * event-Xt.c: correct file names in comments.
9675         * console-x.h Correct file names in comments.
9676         * frame.c: Correct file names in comments.
9677         * event-stream.c: remove Energize from comments.
9678
9679 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9680
9681         * symeval.h (DEFERROR_STANDARD):
9682         (DEFERROR):
9683         (DEFSYMBOL):
9684         (DEFSYMBOL_NO_DUMP):
9685         (DEFSYMBOL_MULTIWORD_PREDICATE):
9686         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9687         (DEFKEYWORD):
9688         The construct &##name is not sensible C.
9689         Fixes compilation errors with Unixware native compiler.
9690
9691 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9692
9693         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9694         (next_frame_internal): Removed.  We now just have next_frame.
9695         (next_frame):
9696         Write a simpler and cleaner one-pass algorithm.
9697         Remove called_from_delete_device arg and #ifdefed-out code.
9698         (previous_frame):
9699         Renamed from prev_frame.  Update callers.
9700         Cleaned up to have an analogous implementation to next_frame.
9701         (other_visible_frames_internal): Remove the
9702         called_from_delete_device bogus arg, and hence, remove this
9703         function.  Just use other_visible_frames().
9704
9705         * window.c (Fnext_window):
9706         Prettify docstring.
9707         Since next_frame() is guaranteed to return a frame, remove check
9708         for nil inserted in previous patch.
9709         (Fprevious_window):
9710         Prettify docstring.
9711         Make code look more like Fnext_window.
9712         (window_loop):
9713         Respect the `console' arg when iterating through windows.
9714         Fixes bug: (get-buffer-window buffer t device) not respecting
9715         the `device' arg.
9716         This function needs more work, as others have pointed out.
9717
9718         * frame.h: Rename prev_frame to previous_frame.
9719         device_matches_console_spec no longer takes a `frame' arg.
9720
9721         * s/gnu.h:
9722         * s/linux.h:
9723         * s/hpux.h:
9724         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9725         From "Golubev I. N." <gin@mo.msk.ru>.
9726
9727         * make-src-depend: Fix typo.
9728
9729 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9730
9731         * window.c (Fnext_window):
9732         next_frame() might return nil, not a frame.
9733         Fixes this crash:
9734         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9735
9736         * frame.c (next_frame_internal):
9737         We've passed a frame if we've passed its device.
9738         Fixes this crash:
9739         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9740 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9741
9742 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9743
9744         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9745         Allow option to suppress accelerators in menu/dialog items.
9746         (populate_or_checksum_helper): Pass dialog title through above.
9747
9748 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9749
9750         * event-msw.c (mswindows_key_to_emacs_keysym):
9751         Add "pause" key, fix "menu" key.
9752
9753 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9754
9755         * eval.c (reinit_vars_of_eval):
9756         Increase max_lisp_eval_depth to 1000,
9757         required for thai-xtis.el to byte-compile under some circumstances.
9758
9759 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9760
9761         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9762         From Kenichi Handa.
9763
9764 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9765
9766         * make-src-depend: Make the generated Makefiles smaller.
9767
9768         * s/hpux.h (SETUP_SLAVE_PTY):
9769         Provide a %d in the format string for the errno argument.
9770
9771         * editfns.c (Ftemp_directory):
9772         Warning fix.
9773         Avoid buffer overrun on very long file name.
9774
9775         * input-method-xlib.c (XIM_init_device):
9776         6th parameter of XRegisterIMInstantiateCallback has different
9777         pointer types on different OSes, so simply cast to (void *).
9778
9779         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9780
9781         * sysdll.c (dll_open):
9782         shl_load will hang hard if passed a NULL filename.
9783         Simply return NULL for compatibility with dlopen.
9784         * sysdll.c: Conform to XEmacs coding standards.
9785
9786         * sysdep.c (get_pty_max_bytes):
9787         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9788
9789 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9790
9791         * tooltalk.c: Add #include <syssignal.h>
9792
9793 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9794
9795         * s/hpux.h: Don't use undefined function sigunblock().
9796
9797 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9798
9799         * config.h.in: Add HAVE_BALLOON_HELP.
9800         * emacs.c: Use HAVE_BALLOON_HELP.
9801         * Makefile.in.in (x_objs):
9802         Make Balloon Help conditional on finding shape.h.
9803
9804 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9805
9806         * syntax.c (regex_emacs_buffer_p): New variable.
9807         * syntax.h (regex_emacs_buffer_p): extern.
9808         * search.c (looking_at_1):
9809         (string_match_1):
9810         (fast_string_match):
9811         (search_buffer): Set regex_emacs_buffer_p.
9812         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9813         when before_dot, at_dot, after_dot.
9814
9815 2000-08-23  Andy Piper  <andy@xemacs.org>
9816
9817         * gui-x.c (popup_selection_callback): Only set action_occurred
9818         when we really have an image instance.
9819         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9820
9821 2000-08-23  Andy Piper  <andy@xemacs.org>
9822
9823         * gui-msw.c (mswindows_handle_gui_wm_command): set
9824         action_occurred.
9825         * gui-x.c (popup_selection_callback): ditto.
9826
9827         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9828         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9829         (struct Lisp_Image_Instance): add action_occurred flag.
9830
9831         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9832         (image_instance_changed): ditto.
9833         (reset_frame_subwindow_instance_cache): only unmap windows - do
9834         not remove them from the cache also.
9835
9836         * glyphs-widget.c (tab_control_update): better debug.
9837         (progress_gauge_update): ditto.
9838         (layout_update): ditto.
9839         (layout_instantiate): ditto.
9840         (tab_control_order_only_changed): cope with null pending items.
9841
9842         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9843         debug. Force selection of an item when an action occurred. Cope
9844         with null pending_items.
9845         (mswindows_progress_gauge_redisplay): better debug.
9846         * glyphs-x.c (x_tab_control_redisplay): ditto.
9847
9848         * redisplay.c (redisplay_frame): reset the frame cache if the
9849         frame is garbaged.
9850
9851         * window.c (Fset_window_configuration): potentially re-enable
9852         frame cache reset.
9853         (window_unmap_subwindows): need to finalize instances here since
9854         it is only used in mark_window_as_deleted.
9855
9856 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9857
9858         * nas.c (SndOpenDataForReading):
9859         nas.c (WaveOpenDataForReading):
9860         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9861         Somehow escaped from the 2000-08-14 patch.
9862
9863 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9864
9865         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9866         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9867
9868 2000-08-21  Andy Piper  <andy@xemacs.org>
9869
9870         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9871         window if it is not already displayed.
9872
9873         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9874         it is not already displayed.
9875
9876         * window.c (Fset_window_configuration): don't reset the frame
9877         cache.
9878
9879         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9880         instances from the frame cache if we are actually finalizing them.
9881         (reset_frame_subwindow_instance_cache): reset frame cache only
9882         after unmapping everything.
9883         (map_subwindow): set displayed flag after mapping.
9884
9885 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9886
9887         * data.c (indirect_function):
9888         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9889
9890         * eval.c (function_argcount):
9891         Use original function when signaling errors.
9892
9893 2000-08-18  Andy Piper  <andy@xemacs.org>
9894
9895         * frame.c (delete_frame_internal): use new
9896         free_frame_subwindow_instances name.
9897
9898         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9899         (add_tab_item): make return type correct.
9900         (mswindows_tab_control_instantiate): assert index of tab.
9901         (mswindows_tab_control_redisplay): Re-code to use
9902         gui_item_equal_sans_selected and gui_item_list_find_selected.
9903
9904         * glyphs-widget.c (tab_control_update): Correct comment.
9905
9906         * window.c (window_unmap_subwindows): use new
9907         unmap_subwindow_instance_cache_mapper.
9908         (window_unmap_subwindows_cache_mapper): deleted.
9909         (Fset_window_configuration): comparisons should now be with
9910         EQ. Preserve the subwindow instance cache across configuration
9911         changes.
9912         (allocate_window): ditto.
9913         (make_dummy_parent): ditto.
9914
9915         * glyphs.c (free_frame_subwindow_instances): rename from
9916         free_frame_subwindow_instance_cache. finalize all instances rather
9917         than just those in the display cache.
9918         (finalize_all_subwindow_instances): walk windows unmapping and
9919         finalizing subwindows.
9920         (unmap_subwindow_instance_cache_mapper): moved from
9921         window.c. Allow finalization as well as unmapping.
9922
9923         * gui.c (gui_item_list_find_selected): new function.
9924
9925         * gui.h (gui_item_list_find_selected): declare.
9926
9927         * glyphs-x.c (x_tab_control_redisplay): pick tab
9928         explicitly. Re-code to use gui_item_equal_sans_selected and
9929         gui_item_list_find_selected.
9930
9931         * glyphs-x.h: add lwlib-utils.h
9932
9933         * buffer.c (Frecord_buffer): undo previous change.
9934
9935 2000-08-09  Vin Shelton  <acs@xemacs.org>
9936
9937         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9938         possible.  Create temporary files more securely.  The patch was
9939         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9940         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9941         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9942         for details.
9943
9944 2000-08-07  Ben Wing  <ben@xemacs.org>
9945
9946         * getloadavg.c: remove duplicate (and windows-breaking)
9947         includes of fcntl.h and sys/file.h.
9948
9949         * nt.c: remove duplicate getloadavg() definition.
9950
9951         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9952         encodings.
9953
9954 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9955
9956         * eval.c (function_argcount): If function needs to be autoloaded
9957         actually use the loaded definition.
9958         GCPRO function.
9959
9960 2000-08-05  Ben Wing  <ben@xemacs.org>
9961
9962         * getloadavg.c: add prototype for getloadavg().  remove
9963         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9964         of the code).  remove duplicate header includes.
9965
9966         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9967
9968         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9969         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9970         useful load average.
9971
9972         * alloc.c (reinit_alloc_once_early): removed references to
9973         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9974         the lisp vars are the only things referencing the malloc_sbrk_*
9975         vars, and they were already if 0'd out.  these vars only exist
9976         in the older malloc.c, which is basically unused, and they're
9977         only for informational purposes.
9978
9979         * m\*.h: removed useless VIRT_ADDR_VARIES.
9980
9981         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9982
9983 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9984
9985         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9986         color if the image is a mono pixmap.
9987
9988 2000-07-30  Ben Wing  <ben@xemacs.org>
9989
9990         * Makefile.in.in (release):
9991         Remove stray @.
9992
9993         * buffer.c (directory_is_current_directory):
9994         * dired-msw.c (mswindows_get_files):
9995         * dired.c:
9996         * dired.c (Fdirectory_files):
9997         * dired.c (file_name_completion_stat):
9998         * dired.c (Ffile_attributes):
9999         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10000         preprocessor tricks, to avoid problems on some machines
10001         (e.g. SCO).
10002
10003         * callproc.c (egetenv): GC docs.
10004
10005         * console-msw.h:
10006         * console-msw.h (struct mswindows_dialog_id):
10007         * lrecord.h (lrecord_type):
10008         New object for use with MSW dialogs.
10009
10010         * console.h (struct console_methods):
10011         New enable/disable frame methods, for proper modal dialogs.
10012
10013         * device-msw.c (msprinter_default_printer): Fix to follow
10014         proper Mule conventions.
10015
10016         * device-msw.c:
10017         * device-msw.c (signal_open_printer_error):
10018         * device-msw.c (msprinter_init_device):
10019         * device-msw.c (ensure_not_printing):
10020         * device-msw.c (plist_get_margin):
10021         * device-msw.c (Fmsprinter_select_settings):
10022         * device-msw.c (finalize_devmode):
10023         * device-msw.c (Fmsprinter_settings_despecialize):
10024         * device-msw.c (signal_enum_priner_error):
10025         * extents.c (decode_extent):
10026         * extents.c (decode_map_extents_flags):
10027         * extents.c (decode_extent_at_flag):
10028         * extents.c (Fextent_at):
10029         * extents.c (Fextents_at):
10030         * extents.c (symbol_to_glyph_layout):
10031         [[[[2]]]] Use structured errors.
10032
10033         * dialog-msw.c:
10034         * dialog-msw.c (mswindows_is_dialog_msg):
10035         * dialog-msw.c (mark_mswindows_dialog_id):
10036         * dialog-msw.c (dialog_proc):
10037         * dialog-msw.c (handle_question_dialog_box):
10038         * dialog-msw.c (syms_of_dialog_mswindows):
10039         Define new object to clean up marking; use it as a dialog identifier.
10040         Call new delete-dialog-box-hook.
10041
10042         * dialog-x.c (dbox_selection_callback):
10043         * dialog-x.c (dbox_descriptor_to_widget_value):
10044         * dialog-x.c (x_make_dialog_box_internal):
10045         Call new delete-dialog-box-hook.
10046         Return an id.
10047
10048         * dialog.c:
10049         * dialog.c (syms_of_dialog):
10050         * dialog.c (vars_of_dialog):
10051         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10052
10053         * eval.c:
10054         * eval.c (signal_call_debugger):
10055         when noninteractive, output stack traces on the console instead
10056         of in a (never-seen) buffer.
10057
10058         * eval.c (signal_type_error):
10059         * eval.c (invalid_argument_2):
10060         * lisp.h:
10061         new funs for use w/structured errors.
10062
10063         * event-Xt.c:
10064         * event-Xt.c (x_to_emacs_keysym):
10065         * event-Xt.c (describe_event):
10066         * event-Xt.c (emacs_Xt_event_handler):
10067         * event-Xt.c (vars_of_event_Xt):
10068         * event-msw.c:
10069         * event-msw.c (mswindows_wnd_proc):
10070         * event-msw.c (vars_of_event_mswindows):
10071         rename {x,mswindows}-debug-events to debug-{}-events for
10072         consistency with other debug-foo variables.
10073
10074         * event-stream.c:
10075         document next-event more clearly.
10076
10077         * fileio.c (Ffile_name_directory):
10078         * fileio.c (Ffile_name_nondirectory):
10079         * fileio.c (Funhandled_file_name_directory):
10080         * fileio.c (file_name_as_directory):
10081         * fileio.c (Ffile_name_as_directory):
10082         * fileio.c (directory_file_name):
10083         * fileio.c (Fdirectory_file_name):
10084         * fileio.c (Fmake_temp_name):
10085         * fileio.c (Ffile_truename):
10086         * fileio.c (Fsubstitute_in_file_name):
10087         * fileio.c (expand_and_dir_to_file):
10088         * fileio.c (barf_or_query_if_file_exists):
10089         * fileio.c (check_executable):
10090         * fileio.c (Ffile_exists_p):
10091         * fileio.c (Ffile_writable_p):
10092         * fileio.c (Ffile_directory_p):
10093         * fileio.c (Ffile_regular_p):
10094         * fileio.c (Ffile_modes):
10095         * fileio.c (Ffile_newer_than_file_p):
10096         * fileio.c (Fverify_visited_file_modtime):
10097         * fileio.c (Fset_visited_file_modtime):
10098         * fileio.c (auto_save_1):
10099         (1). (2).
10100         fix up gcpro's.
10101
10102         * frame-msw.c:
10103         * frame-msw.c (mswindows_init_frame_1):
10104         * frame-msw.c (mswindows_enable_frame):
10105         * frame-msw.c (error_frame_unsizable):
10106         * frame-msw.c (msprinter_init_frame_1):
10107         * frame-msw.c (msprinter_init_frame_3):
10108         * frame-msw.c (console_type_create_frame_mswindows):
10109         (2).
10110         implement new enable/disable frame methods.
10111
10112         * frame-x.c:
10113         * frame-x.c (x_enable_frame):
10114         * frame-x.c (console_type_create_frame_x):
10115         implement new enable/disable frame methods.
10116
10117         * frame.c:
10118         * frame.c (Fdisable_frame):
10119         * frame.c (syms_of_frame):
10120         * frame.h (struct frame):
10121         implement new enable/disable frame methods/functions.
10122
10123         * general-slots.h:
10124         add initial-focus.
10125
10126         * glyphs-msw.c (mswindows_widget_instantiate):
10127         comment that initial-focus should be implemented.
10128
10129         * glyphs-widget.c:
10130         * glyphs-widget.c (check_valid_instantiator):
10131         * glyphs-widget.c (check_valid_orientation):
10132         * glyphs-widget.c (check_valid_tab_orientation):
10133         * glyphs-widget.c (check_valid_justification):
10134         * glyphs-widget.c (check_valid_border):
10135         * glyphs-widget.c (check_valid_callback):
10136         * glyphs-widget.c (check_valid_int_or_function):
10137         * glyphs-widget.c (check_valid_string_or_vector):
10138         * glyphs-widget.c (check_valid_item_list_1):
10139         * glyphs-widget.c (widget_validate):
10140         * glyphs-widget.c (combo_box_validate):
10141         * glyphs-widget.c (widget_instantiate):
10142         * glyphs-widget.c (syms_of_glyphs_widget):
10143         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10144         * glyphs-widget.c (image_instantiator_combo_box):
10145         * glyphs-widget.c (image_instantiator_scrollbar):
10146         * glyphs-widget.c (image_instantiator_tab_control):
10147         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10148         (2).
10149         support (unimplemented) keyword initial-focus.
10150         reindent long macros.
10151
10152         * glyphs-x.c (x_redisplay_widget):
10153         * glyphs-x.c (x_button_instantiate):
10154         * glyphs-x.c (x_button_redisplay):
10155         * glyphs-x.c (x_progress_gauge_instantiate):
10156         * glyphs-x.c (x_edit_field_instantiate):
10157         * glyphs-x.c (x_combo_box_instantiate):
10158         * glyphs-x.c (x_tab_control_instantiate):
10159         * glyphs-x.c (x_label_instantiate):
10160         * gui-x.c:
10161         * gui-x.c (button_item_to_widget_value):
10162         * gui-x.c (gui_items_to_widget_values_1):
10163         * gui-x.c (gui_item_children_to_widget_values):
10164         * gui-x.c (gui_items_to_widget_values):
10165         * gui-x.h:
10166         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10167         add new flag to gui-parsing routines to indicate whether
10168         accelerator specs should be supported.
10169
10170         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10171
10172         * glyphs.h (struct Lisp_Image_Instance):
10173         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10174         add initial-focus flag.
10175
10176         * gui.c:
10177         * gui.c (syms_of_gui):
10178         * gui.c (vars_of_gui):
10179         clean up menu-no-selection-hook.
10180
10181         * gui.h:
10182         support delete-dialog-box-hook.
10183
10184         * lread.c (Fload_internal):
10185         * lread.c (locate_file_in_directory_mapper):
10186         (1).
10187
10188         * lrecord.h:
10189         * lrecord.h (struct toolbar_button):
10190         * lrecord.h (syms_of_toolbar):
10191         document how to create a new object.
10192
10193         * menubar-msw.c (mswindows_char_is_accelerator):
10194         may be called on frames w/o menus.
10195
10196         * menubar.c (vars_of_menubar):
10197         clean up :filter docs.
10198
10199         * nt.c (readdir):
10200         * ntproc.c:
10201         (1).
10202
10203         * process-nt.c:
10204         * process-nt.c (validate_signal_number):
10205         * process-nt.c (signal_cannot_launch):
10206         * process-nt.c (nt_create_process):
10207         * process-nt.c (nt_send_process):
10208         * process-nt.c (nt_kill_child_process):
10209         * process-nt.c (nt_open_network_stream):
10210         * process-nt.c (syms_of_process_nt):
10211         (2).
10212         delete quote-handling.  call new lisp code that does it better.
10213
10214         * process-unix.c (connect_to_file_descriptor):
10215         * process-unix.c (allocate_pty):
10216         * process-unix.c (unix_send_process):
10217         * process-unix.c (unix_kill_child_process):
10218         * process-unix.c (unix_open_network_stream):
10219         * process-unix.c (unix_open_multicast_group):
10220         (1). (2).
10221
10222         * process.c:
10223         * process.c (Fstart_process_internal):
10224         (2).  need to canonicalize process path even if absolute.
10225
10226         * select-msw.c (symbol_to_ms_cf):
10227         * select-msw.c (ms_cf_to_symbol):
10228         * select-msw.c (cf_is_autofreed):
10229         * select-msw.c (mswindows_destroy_selection):
10230         * select.c:
10231         * select.c (syms_of_select):
10232         * select.h:
10233         support dibv5, fix bugs. (from Mike Alexander)
10234
10235         * select.c (Fget_selection_internal):
10236         * select.c (select_convert_out):
10237
10238         * sysdep.c:
10239         * sysdep.c (xemacs_stat):
10240         renamed.
10241
10242         * sysdep.c (mkdir):
10243         * sysdep.c (rmdir):
10244         but keep original stat() here because we provide encapsulation
10245         around these funs.
10246
10247         * sysfile.h:
10248         * sysfile.h (fstat):
10249         remove stat garbage.
10250
10251         * syswindows.h:
10252         fix X/MSW conflict.
10253         don't include tchar.h.  it's inappropriate because it makes
10254         compile-time distinctions when we want runtime distinctions.
10255         (we provide our own tchar replacements)
10256
10257         * toolbar.c:
10258         use default object printer for toolbar-button.
10259
10260         * unexcw.c:
10261         make sure we don't encapsulate.
10262
10263         * window.c (vars_of_window):
10264         emphasize that temp-buffer-show-hook is obsolete.
10265
10266 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10267
10268         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10269         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10270
10271         * events.c (Fevent_timestamp_lessp):
10272         Not 64-bit clean.  Use EMACS_INT, not int.
10273
10274 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10275
10276         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10277         unsigned int and changed the last enum to
10278         lrecord_type_last_built_in_type.
10279         (lrecord_implementations_table): changed prototype to know how
10280         long the array is supposed to be.
10281         (lrecord_type_count): new unsigned int to keep track of the
10282         current number of lisp lrecord types.
10283         (DEFINE_EXTERNAL_LRECORD):
10284         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10285         dynamic-modules to declare new lisp types. They are the same
10286         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10287         int for each new type, and increment lrecord_type_count by 1.
10288
10289         * alloc.c (lrecord_implementations_table): Changed to reference
10290         lrecord_type_last_built_in_type for the size of the array.
10291         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10292
10293 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10294
10295         * glyphs.h (check_valid_item_list): Renamed from
10296         check_valid_item_list_1.
10297
10298 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10299
10300         * select.c (Qselect_coerce): New.
10301         * select.c (Vselection_coercion_alist): New.
10302         * select.c (syms_of_select): Declare.
10303         * select.c (get-selection-internal): Use it.
10304         Use the new select-coerce functionality.
10305
10306         * select.c (select_coerce): New.
10307         * select.h (select_coerce): Declare.
10308         New function to coerce one type of data into another.
10309
10310 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10311
10312         * callproc.c (Fcall_process_internal):
10313         (Fcall_process_internal):
10314         * process-unix.c (unix_create_process):
10315         Save and restore the value of errno, so that error messages are accurate.
10316
10317 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10318
10319         * elhash.c (print_hash_table):
10320         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10321         Prettify docstrings and indentation.
10322
10323 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10324
10325         * window.c (Fwindow_pixel_edges): Subtract frame border and
10326         gutter size.
10327
10328 2000-07-31  Andy Piper  <andy@xemacs.org>
10329
10330         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10331         will acknowledge the change.
10332
10333         * glyphs.h: declare tab_control_order_only_changed.
10334
10335         * glyphs-x.c (x_tab_control_redisplay): use
10336         tab_control_order_only_changed.
10337
10338         * glyphs-widget.c (tab_control_order_only_changed): new function.
10339
10340         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10341         tab_control_order_only_changed.
10342
10343         * gui.c (gui_item_equal_sans_selected): new function.
10344         (gui_item_equal): use it.
10345
10346         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10347         :properties in favor of :items..
10348
10349         * glyphs-widget.c (check_valid_item_list): rename from
10350         check_valid_item_list_1.
10351         (check_valid_item_list_1): renamed.
10352         (combo_box_validate): deprecate :properties in favor of :items.
10353         (widget_instantiate): ditto.
10354         (tab_control_update): ditto.
10355         (image_instantiator_combo_box): ditto.
10356         (image_instantiator_tree_view): ditto.
10357         (image_instantiator_tab_control): ditto.
10358         (layout_post_instantiate): remove dead code.
10359
10360         * print.c (debug_print_no_newline): only write to debugger if in
10361         WIN32_NATIVE.
10362
10363         * elhash.c (Fmake_hash_table): update doc string.
10364
10365         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10366         messages whilst in GC. This at least stops XEmacs crashing but has
10367         the potential for wierd behaviour.
10368
10369 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10370
10371         * config.h.in:
10372         Make existence of s&m files optional.
10373
10374         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10375         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10376         * s/gnu.h: Remove HAVE_GETLOADAVG.
10377         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10378         * s/sol2.h: Remove HAVE_GETLOADAVG.
10379         * lisp.h: Remove getloadavg() declaration.
10380         * fns.c:
10381         Include <sys/loadavg.h> if available.
10382         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10383         * config.h.in:  Group together getloadavg()-related macros.
10384         Use only configure-time tests to detect getloadavg().
10385
10386 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10387
10388         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10389
10390 2000-07-25  Andy Piper  <andy@xemacs.org>
10391
10392         * syswindows.h: add tchar.h for native builds.
10393
10394         * frame.c (syms_of_frame): remove set-glyph-image.
10395
10396         * general-slots.h: add Qset_glyph_image.
10397
10398         * glyphs-widget.c (layout_update): add domain arg to
10399         set-glyph-image.
10400         (syms_of_glyphs_widget): remove set-glyph-image.
10401
10402 2000-07-23  Ben Wing  <ben@xemacs.org>
10403
10404         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10405         Vpopup_frame_list.
10406
10407 2000-07-22  Andy Piper  <andy@xemacs.org>
10408
10409         * symsinit.h: add syms_of_win32().
10410
10411         * gui-msw.c (syms_of_gui_mswindows): remove
10412         Fmswindows_shell_execute.
10413         (Fmswindows_shell_execute): moved to win32.c.
10414
10415         * emacs.c (main_1): add syms_of_win32 ().
10416
10417         * win32.c (init_potentially_nonexistent_functions): rewrite in
10418         compiler-friendly terms.
10419         (Fmswindows_shell_execute): move here from gui-msw.c.
10420         (syms_of_win32): new.
10421
10422         * device-msw.c (Fmswindows_printer_list): clean up args to
10423         EnumPrinters.
10424         Don't include tchar under cygwin or mingw.
10425         (msprinter_default_printer): make cygwin-friendly.
10426
10427 2000-07-21  Andy Piper  <andy@xemacs.org>
10428
10429         * glyphs-widget.c (image_instantiator_tree_view): use tab
10430         control's update function.
10431         (layout_property): new function. Retrieve items.
10432
10433         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10434         function. Re-populate the tree view from the pending items.
10435
10436         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10437         is designated the parent if the domain is an image instance. This
10438         is needed so that dirtiness can be cascade up the hierarchy and
10439         thus for layout children to be redisplayed correctly.
10440         (allocate_image_instance): rename glyph -> parent.
10441
10442         * redisplay.h: change redisplay_output_layout signature.
10443
10444         * redisplay-msw.c (mswindows_output_display_block): use domain
10445         arg.
10446
10447         * redisplay-x.c (x_output_display_block): use domain arg.
10448
10449 2000-07-10  Andy Piper  <andy@xemacs.org>
10450
10451         * window.c (Fset_window_configuration): add comment.
10452
10453         * redisplay-output.c (compare_runes):
10454         (redisplay_output_subwindow): redisplay rather than update subwindow.
10455         (redisplay_output_layout): ditto.
10456
10457         * redisplay-msw.c (mswindows_frame_output_end):
10458         (mswindows_frame_output_end): make defer window pos optional.
10459
10460         * lisp.h: add Flast.
10461
10462         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10463         normalize method. Change update method to be for changed
10464         instantiators. Add redisplay method. Change signature of layout
10465         method.
10466         (struct Lisp_Image_Instance): add instantiator.
10467         (IMAGE_INSTANCE_INSTANTIATOR): new.
10468         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10469         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10470         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10471
10472         * glyphs.c:
10473         (find_instantiator_differences): new function.
10474         (Fset_instantiator_property): new convenience function.
10475         (check_image_instance_structure): strictly check for vector
10476         instantiators.
10477         (normalize_image_instantiator): make non-static.
10478         (instantiate_image_instantiator): pass on dest_mask and use new
10479         signatures for image_instance_layout and friends.
10480         (mark_image_instance): mark the instantiator. Mark the subwindow
10481         face not the widget face.
10482         (image_instance_equal): add instantiator.
10483         (image_instance_hash): ditto.
10484         (allocate_image_instance): ditto.
10485         (Fset_image_instance_property): removed.
10486         (Fimage_instance_file_name): ditto.
10487         (Fcolorize_image_instance): ditto.
10488         (image_instance_layout): add offsets to be set.
10489         (update_image_instance): new function. update an image instance
10490         from its changed instantiator.
10491         (inherit_normalize): add dest_mask.
10492         (xbm_normalize): ditto.
10493         (xface_normalize): ditto.
10494         (xpm_normalize): ditto.
10495         (text_update): set_property -> update.
10496         (image_instantiate): use the glyph identity as a hash key, not the
10497         instantiator.
10498         (glyph_width): use new image_instance_layout signature.
10499         (glyph_ascent): ditto.
10500         (glyph_descent): ditto.
10501         (glyph_height): ditto.
10502         (glyph_query_geometry): ressurrect.
10503         (glyph_layout): ditto.
10504         (redisplay_subwindow): update -> redisplay.
10505         (syms_of_glyphs): add Fset_instantiator_property.
10506         (image_instantiator_format_create): set_property -> update.
10507
10508         * glyphs-x.c:
10509         (autodetect_normalize): add dest_maks to signature.
10510         (x_redisplay_subwindow): update -> redisplay.
10511         (x_redisplay_widget): ditto.
10512         (x_button_redisplay): ditto.
10513         (x_progress_gauge_redisplay): ditto.
10514         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10515         stacking order.
10516         (console_type_create_glyphs_x): update -> redisplay.
10517         (image_instantiator_format_create_glyphs_x): ditto.
10518
10519         * glyphs-widget.c:
10520         (check_valid_instantiator): disallow glyphs in the instantiator,
10521         they must now be vectors.
10522         (check_valid_instantiator_list): ditto.
10523         (glyph_instantiator_to_glyph): use internal symbol rather than
10524         intern.
10525         (widget_update): renamed from widget_set_property. Call cascaded
10526         update methods.
10527         (redisplay_widget): renamed from update_widget.
10528         (widget_layout): image_instance_layout now takes position as well
10529         as size.
10530         (widget_normalize): ditto.
10531         (widget_instantiate): ditto.
10532         (tab_control_query_geometry) ditto.:
10533         (tab_control_update): renamed from tab_control_set_property.
10534         (progress_gauge_update): set_property -> update.
10535         (layout_normalize): rewrite so that child instantiators are
10536         normalized also.
10537         (layout_update): new function. Create glyphs from the normalized
10538         children and cope with any other layout keywords. We do not
10539         instantiate children here that will be take care of by
10540         redisplay_output_layout.
10541         (layout_instantiate): call layout_update and not much else.
10542         (layout_post_instantiate): not sure whether this is needed
10543         anymore.
10544         (layout_query_geometry): query glyph geometry rather than
10545         image_instance geometry.
10546         (layout_layout): set offsets from pass in parameters. Use glyph
10547         geometry and layout functions rather than image instance ones.
10548         (native_layout_layout): ditto.
10549         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10550         (image_instantiator_widget): set_property -> update.
10551         (image_instantiator_buttons): ditto.
10552         (image_instantiator_progress_guage): ditto.
10553         (image_instantiator_tab_control): ditto.
10554         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10555         (image_instantiator_layout): add update method.
10556
10557         * glyphs-msw.c (bmp_normalize):
10558         (mswindows_resource_normalize): add dest_mask so that it can be
10559         proprogated by layout_normalize.
10560         (begin_defer_window_pos): make optional because it may not be the
10561         right thing to do and it introduces differences with X.
10562         (mswindows_unmap_subwindow): ditto.
10563         (mswindows_map_subwindow): ditto.
10564         (mswindows_redisplay_subwindow): renamed from
10565         mswindows_update_subwindow.
10566         (mswindows_redisplay_widget): ditto.
10567         (mswindows_button_redisplay): renamed from
10568         mswindows_button_update. Update is now what the instantiation
10569         function does for a changed instantiator.
10570         (mswindows_progress_gauge_instantiate): set the progress value
10571         here if appropriate.
10572         (mswindows_tab_control_redisplay): cope with re-ordering of the
10573         members of the tab widget by simply selecting the new top
10574         widget. This makes things appear ok if you click on a tab.
10575         (mswindows_combo_box_instantiate): image_instance_layout now takes
10576         position as well as size.
10577         (mswindows_progress_gauge_redisplay): renamed from
10578         mswindows_progress_gauge_update.
10579         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10580         (image_instantiator_format_create_glyphs_mswindows): ditto.
10581
10582         * glyphs-eimage.c (jpeg_normalize):
10583         (gif_normalize):
10584         (png_normalize):
10585         (tiff_normalize): add dest_mask so that it can be proprogated by
10586         layout_normalize.
10587
10588         * elhash.c:
10589         (print_hash_table):
10590         (hash_table_weakness_validate):
10591         (decode_hash_table_weakness):
10592         (Fhash_table_weakness):
10593         (Fhash_table_type):
10594         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10595
10596         * console.h (struct console_methods): move update_* to
10597         redisplay_*.
10598
10599 2000-07-20  Ben Wing  <ben@xemacs.org>
10600
10601         * *.[ch] (XSETOBJ): remove unused middle argument.
10602         lisp-disunion.h: correct wrap_object() to one argument.
10603
10604 2000-07-15  Ben Wing  <ben@xemacs.org>
10605
10606         * s/cygwin32.h:
10607         * s/cygwin32.h (CYGWIN_CONV_PATH):
10608         Add missing logb prototype for v1.1.
10609         Use post-b20 names and alias to pre-b20 names when pre-b20.
10610
10611         * s/windowsnt.h: [5].
10612
10613 2000-07-15  Ben Wing  <ben@xemacs.org>
10614
10615         * Makefile.in.in (x_objs):
10616         * Makefile.in.in (sheap_objs):
10617         * Makefile.in.in (objs):
10618         added win32.o, cosmetic cleanups.
10619
10620         * alloc.c (Fmake_byte_code):
10621         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10622         etc. macros which declare their own args now.
10623
10624         * alloc.c (syms_of_alloc):
10625         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10626
10627         * buffer.c:
10628         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10629
10630         * buffer.c (Fget_file_buffer):
10631         Fixed GCPRO problem.
10632
10633         * buffer.c (get_truename_buffer):
10634         Fixed comment about GC checking.
10635
10636         * buffer.c (syms_of_buffer):
10637         Undeclared those dedicated frame funs.
10638         [2].
10639
10640         * buffer.h:
10641         Define convenience macros for internal/external conversions.
10642         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10643         and Qenvironment_variable_encoding for cleaner code.
10644
10645         * bufslots.h:
10646         Remove dedicated-frame; in lisp.
10647
10648         * bytecode.c (funcall_compiled_function):
10649         [1].
10650
10651         * bytecode.c (syms_of_bytecode):
10652         [2].
10653
10654         * console-msw.c:
10655         * console-msw.c (mswindows_show_console): Rewrote.
10656
10657         * console-msw.c (Fmswindows_debugging_output): New.
10658         Sends to OutputDebugString (special MSWin debugger interface).
10659
10660         * console-msw.c (Fmswindows_message_box):
10661         Fixed stupid bugs so it works when called from kill-emacs.
10662
10663         * console-msw.c (syms_of_console_mswindows):
10664         Declare Fmswindows_debugging_output.
10665
10666         * console-msw.h:
10667         New MSWin prototypes.
10668
10669         * console-msw.h (struct mswindows_frame):
10670         New entry last-click-mods for improved button-modifier support.
10671
10672         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10673         New struct entry `popup' with corresponding accessor.
10674
10675         * console-x.c:
10676         * console-x.c (split_up_display_spec):
10677         * console-x.c (get_display_arg_connection):
10678         * console-x.c (x_semi_canonicalize_console_connection):
10679         * console-x.c (x_canonicalize_device_connection):
10680         [[[6]]]: Change char to more specific type.
10681         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10682
10683         * console-x.c (x_semi_canonicalize_console_connection):
10684         * console-x.c (x_canonicalize_device_connection):
10685         [[[9]]]: Fix up error signalling to use new structured error system.
10686
10687         * console-x.h:
10688         [[[4]]]: Define codesys aliases:
10689         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10690         Qx_color_name_encoding, Qx_display_name_encoding.
10691
10692         * console.h (struct console_methods):
10693         New method make_dialog_box_internal supersedes older
10694         popup_dialog_box method.
10695
10696         * data.c:
10697         Define many new errors, part of new structured errors.
10698
10699         * data.c (init_errors_once_early):
10700         * data.c (syms_of_data):
10701         [2].
10702
10703         * device-msw.c (mswindows_init_device):
10704         [[[5]]]: Cleanup to support NT 3.51.
10705
10706         * device-msw.c (decode_devmode): Cleanup.
10707
10708         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10709         * device-msw.c (mswindows_handle_print_dialog_box):
10710         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10711         * device-msw.c (syms_of_device_mswindows):
10712         Delete the dialog box primitives recently introduced by Kirill and
10713         instead interface to general dialog box interface.
10714
10715         * device-x.c:
10716         * device-x.c (compute_x_app_name):
10717         * device-x.c (x_init_device):
10718         * device-x.c (Fx_valid_keysym_name_p):
10719         * device-x.c (Fx_set_font_path):
10720         [6].
10721         [7].
10722
10723         * device.h (wrap_device): New.
10724         First of its kind; meant to replace XSETDEVICE.
10725
10726         * dialog-msw.c: Many file-dialog symbols.
10727
10728         * dialog-msw.c (mswindows_register_popup_frame): New.
10729         * dialog-msw.c (mswindows_is_dialog_msg): New.
10730         For supporting kbd traversal in dialog boxes.
10731
10732         * dialog-msw.c (dialog_proc):
10733         Support hitting ESC in dialogs.
10734
10735         * dialog-msw.c (struct):
10736         Common dialog box errors.
10737
10738         * dialog-msw.c (handle_file_dialog_box): New.
10739         Add file dialog code.
10740
10741         * dialog-msw.c (handle_question_dialog_box):
10742         Redo existing code to support new question dialog syntax.
10743
10744         * dialog-msw.c (console_type_create_dialog_mswindows):
10745         We support new dialog console method.
10746
10747         * dialog-msw.c (syms_of_dialog_mswindows):
10748         * dialog-msw.c (vars_of_dialog_mswindows):
10749         New file dialog symbols, vars.
10750
10751         * dialog-x.c:
10752         * dialog-x.c (maybe_run_dbox_text_callback):
10753         * dialog-x.c (dbox_descriptor_to_widget_value):
10754         * dialog-x.c (x_make_dialog_box_internal):
10755         * dialog-x.c (console_type_create_dialog_x):
10756         Mule-ize entire file.
10757         Redo to support question dialog syntax.
10758         [6].
10759
10760         * dialog.c:
10761         * dialog.c (Fmake_dialog_box_internal):
10762         * dialog.c (syms_of_dialog):
10763         Kill old popup-dialog-box, replace with new primitive.
10764         Just call device method or signal error.
10765
10766         * eldap.c (Fldap_open):
10767         * eldap.c (Fldap_search_basic):
10768         * eldap.c (Fldap_add):
10769         * eldap.c (Fldap_modify):
10770         [1].
10771         [7].
10772
10773         * emacs.c:
10774         * emacs.c (make_arg_list_1):
10775         * emacs.c (make_arg_list):
10776         Mule-ize call to dll_init().
10777         [6].
10778         [8].
10779
10780         * emacs.c (make_argc_argv):
10781         * emacs.c (free_argc_argv):
10782         * emacs.c (init_cmdargs):
10783         * emacs.c (main_1):
10784         * emacs.c (Fkill_emacs):
10785         * emacs.c (Fdump_emacs):
10786         Update comments about what can be used in syms_* etc.
10787         Call init_win32() when necessary.
10788         Fix up MS Win dialog box in kill-buffer to actually work right.
10789         [7].
10790
10791         * eval.c:
10792         * eval.c (For):
10793         * eval.c (Fand):
10794         * eval.c (Fprogn):
10795         * eval.c (Fprog1):
10796         * eval.c (Fprog2):
10797         * eval.c (FletX):
10798         * eval.c (Flet):
10799         * eval.c (condition_case_3):
10800         * eval.c (Feval):
10801         * eval.c (function_argcount):
10802         * eval.c (funcall_lambda):
10803         [1].
10804
10805         * eval.c (type_error): New.
10806         * eval.c (maybe_type_error): New.
10807         * eval.c (continuable_type_error): New.
10808         * eval.c (maybe_continuable_type_error): New.
10809         * eval.c (type_error_with_frob): New.
10810         * eval.c (maybe_type_error_with_frob): New.
10811         * eval.c (continuable_type_error_with_frob): New.
10812         * eval.c (maybe_continuable_type_error_with_frob): New.
10813         New functions for use with structured errors.
10814
10815         * event-Xt.c:
10816         * event-Xt.c (x_event_to_emacs_event):
10817         Buttons are now modifiers too.
10818
10819         * event-Xt.c (emacs_Xt_current_event_timestamp):
10820         Implement new event method.
10821         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10822
10823         * event-msw.c:
10824         * event-msw.c (ntpipe_shove_writer): [5].
10825         * event-msw.c (mswindows_enqueue_mouse_button_event):
10826         * event-msw.c (mswindows_drain_windows_queue):
10827         * event-msw.c (mswindows_wnd_proc): [7].
10828         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10829         * event-msw.c (mswindows_modifier_state):
10830         Throughout: support new button modifiers.
10831
10832         * event-msw.c (emacs_mswindows_current_event_timestamp):
10833         Implement new event method.
10834         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10835
10836         * event-stream.c:
10837         * event-stream.c (event_stream_current_event_timestamp): New.
10838         * event-stream.c (maybe_kbd_translate): New functionality.
10839         * event-stream.c (vars_of_event_stream):
10840         Document new kbd-translate-table functionality.
10841
10842         * event-stream.c (Fcurrent_event_timestamp): New.
10843         New primitive for use in fabricated events.
10844         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10845
10846         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10847
10848         * events.c:
10849         * events.c (Fmake_event):
10850         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10851         [1].
10852         [9].
10853
10854         * events.c (format_event_object): fix gcc warnings.
10855
10856         * events.c (Fevent_timestamp): Document new primitives.
10857
10858         * events.c (TIMESTAMP_HALFSPACE): New.
10859
10860         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10861         comparing timestamps correctly (half-space algorithm).
10862
10863         * events.c (Fevent_modifier_bits): Doc fix.
10864
10865         * events.c (Fevent_modifiers): Major doc addition.
10866         * events.c (event_x_y_pixel_internal): Typo fix.
10867         * events.c (syms_of_events): Declare new primitives.
10868
10869         * events.h:
10870         Update long comment for button modifiers, timestamps.
10871
10872         * events.h (struct event_stream):
10873         New current_event_timestamp method.
10874
10875         * extents.c:
10876         * extents.c (extent_in_region_p):
10877         * extents.c (decode_extent):
10878         * extents.c (Fset_extent_parent):
10879         * extents.c (decode_map_extents_flags):
10880         Fix gcc warnings.
10881         [9].
10882
10883         * extents.c (struct extent_at_arg):
10884         * extents.c (decode_extent_at_flag):
10885         * extents.c (extent_at_mapper):
10886         * extents.c (extent_at_bytind):
10887         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10888         * extents.c (Fextents_at): New primitive. [9].
10889         * extents.c (symbol_to_glyph_layout): [9].
10890         Support new primitive `extents-at'.
10891
10892
10893         * extents.c (get_text_property_bytind):
10894         extent_at_bytind has another arg.
10895         [9].
10896
10897         * extents.c (syms_of_extents): New primitive.
10898
10899         * file-coding.c (Fmake_coding_system): [1].
10900         * file-coding.c (subsidiary_coding_system): fix gcc warning
10901         * file-coding.c (syms_of_file_coding): [2].
10902
10903         * fileio.c (Fexpand_file_name):
10904         * fileio.c (Fsysnetunam):
10905         * fileio.c (Ffile_exists_p):
10906         * fileio.c (Ffile_executable_p):
10907         * fileio.c (Fverify_visited_file_modtime):
10908         Clean up GCPROing.
10909
10910         * fileio.c (syms_of_fileio): [2].
10911
10912         * filelock.c (lock_file_1):
10913         * filelock.c (current_lock_owner):
10914         * filelock.c (lock_if_free):
10915         * filelock.c (lock_file):
10916         * filelock.c (unlock_file):
10917         Clean up GCPROing.
10918
10919         * fns.c (concat): Fix gcc warning.
10920
10921         * fns.c (Fmember):
10922         * fns.c (Fold_member):
10923         * fns.c (Fmemq):
10924         * fns.c (Fold_memq):
10925         * fns.c (memq_no_quit):
10926         * fns.c (Fassoc):
10927         * fns.c (Fold_assoc):
10928         * fns.c (Fassq):
10929         * fns.c (Fold_assq):
10930         * fns.c (assq_no_quit):
10931         * fns.c (Frassoc):
10932         * fns.c (Fold_rassoc):
10933         * fns.c (Frassq):
10934         * fns.c (Fold_rassq):
10935         * fns.c (rassq_no_quit):
10936         * fns.c (Fdelete):
10937         * fns.c (Fold_delete):
10938         * fns.c (Fdelq):
10939         * fns.c (Fold_delq):
10940         * fns.c (delq_no_quit):
10941         * fns.c (Fremassoc):
10942         * fns.c (Fremassq):
10943         * fns.c (remassq_no_quit):
10944         * fns.c (Fremrassoc):
10945         * fns.c (Fremrassq):
10946         * fns.c (remrassq_no_quit):
10947         * fns.c (Freverse):
10948         * fns.c (mapcar1):
10949         [1].
10950
10951         * frame-msw.c (mswindows_init_frame_1):
10952         * frame-msw.c (mswindows_delete_frame):
10953         Register popups with dialog code so keyboard traversing works.
10954
10955         * frame-tty.c (tty_raise_frame_no_select): [1].
10956
10957         * frame-x.c:
10958         * frame-x.c (x_set_frame_text_value):
10959         * frame-x.c (x_set_frame_properties):
10960         * frame-x.c (x_create_widgets):
10961         [7].
10962
10963         * frame.c:
10964         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10965
10966         * frame.h (wrap_frame): New.
10967         Macro like wrap_device.
10968
10969         * general.c:
10970         * general.c (SYMBOL):
10971         * general.c (syms_of_general):
10972         Major reorg.  This is now just a wrapper and symbols themselves
10973         are listed in general-slots.h.
10974
10975         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10976         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10977
10978         * glyphs-msw.c (mswindows_native_layout_instantiate):
10979         Add DS_CONTROL so keyboard traversal will work.
10980
10981         * glyphs-widget.c:
10982         * glyphs-widget.c (syms_of_glyphs_widget):
10983         Move some symbols to general-slots.h.
10984
10985         * glyphs-x.c:
10986         * glyphs-x.c (xbm_instantiate_1):
10987         * glyphs-x.c (x_xbm_instantiate):
10988         * glyphs-x.c (x_xface_instantiate):
10989         * glyphs-x.c (autodetect_instantiate):
10990         * glyphs-x.c (cursor_font_instantiate):
10991         * glyphs-x.c (x_update_widget):
10992         * glyphs-x.c (x_widget_instantiate):
10993         * glyphs.c (bitmap_to_lisp_data):
10994         * glyphs.c (pixmap_to_lisp_data):
10995         [7].
10996
10997         * glyphs.c (syms_of_glyphs):
10998         [2].
10999
11000         * gui-x.c:
11001         * gui-x.c (print_widget_value):
11002         * gui-x.c (menu_separator_style_and_to_external):
11003         * gui-x.c (add_accel_and_to_external):
11004         * gui-x.c (button_item_to_widget_value):
11005         * gui-x.c (gui_items_to_widget_values_1):
11006         * gui-x.c (gui_items_to_widget_values):
11007         * gui-x.c (syms_of_gui_x):
11008         * gui-x.c (vars_of_gui_x):
11009         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11010         [9].
11011
11012         * gui-x.h:
11013         Muleize, prototype changes matching gui-x.c.
11014
11015         * gui.c:
11016         * gui.c (separator_string_p):
11017         * gui.c (gui_item_add_keyval_pair):
11018         * gui.c (make_gui_item_from_keywords_internal):
11019         * gui.c (signal_too_long_error):
11020         * gui.c (parse_gui_item_tree_item):
11021         * gui.c (syms_of_gui):
11022         * gui.c (vars_of_gui):
11023         * gui.h:
11024         menu-no-selection-hook moved here (used by MSWin).
11025         Move some symbols to general-slots.h.
11026         [6].
11027         [9].
11028
11029         * insdel.c (get_buffer_pos_char):
11030         * insdel.c (get_buffer_range_char):
11031         Add GC comments.
11032
11033         * keymap.c (keymap_lookup_directly):
11034         * keymap.c (keymap_store):
11035         * keymap.c (ensure_meta_prefix_char_keymapp):
11036         * keymap.c (describe_map):
11037         * keymap.h:
11038         Support new button modifiers.
11039
11040         * lisp-disunion.h (wrap_object):
11041         * lisp-disunion.h (XSETOBJ):
11042         Rename make_obj to wrap_object.
11043
11044         * lisp-union.h:
11045         * lisp-union.h (make_int):
11046         * lisp-union.h (make_char):
11047         Support wrap_object.
11048
11049         * lisp.h:
11050         * lisp.h (LIST_LOOP):
11051         * lisp.h (EXTERNAL_LIST_LOOP):
11052         * lisp.h (LIST_LOOP_2):
11053         * lisp.h (EXTERNAL_LIST_LOOP_1):
11054         * lisp.h (EXTERNAL_LIST_LOOP_2):
11055         * lisp.h (EXTERNAL_LIST_LOOP_3):
11056         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11057         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11058         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11059         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11060         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11061         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11062         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11063         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11064         * lisp.h (struct Lisp_Symbol):
11065         * lisp.h (maybe_continuable_error_with_frob):
11066         Fix up section comments.
11067         Add new types for char to indicate usage.
11068         Delete symbols auto-generated from general-slots.h.
11069         Add prototypes for structured error functions.
11070         Add long comments describing looping macros and change interface
11071         so that lvalues are automatically declared.
11072         Add NO_DECLARE macro in case callers want to declare lvalues
11073         themselves.
11074
11075         * lread.c (read_syntax_error):
11076         * lread.c (continuable_read_syntax_error):
11077         * lread.c (read_structure):
11078         * lread.c (sequence_reader):
11079         * lread.c (read_list_conser):
11080         * lread.c (read_compiled_function):
11081         Rename syntax_error and continuable_syntax_error to avoid clash
11082         with same-named structured error functions.
11083
11084         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11085         * menubar-msw.c (populate_menu_add_item):
11086         * menubar-msw.c (populate_or_checksum_helper):
11087         [5].
11088         [9].
11089
11090         * menubar-x.c:
11091         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11092         Mule-ize whole file.
11093
11094         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11095
11096         * mule-charset.c (Fmake_charset):
11097         * mule-wnnfns.c (Fwnn_set_param):
11098         [1].
11099
11100         * ntproc.c (create_child):
11101         * ntproc.c (Fwin32_set_current_locale):
11102         Add comments portending doom.
11103
11104         * objects-msw.c:
11105         * objects-msw.c (old_font_enum_callback_2):
11106         * objects-msw.c (font_enum_callback_1):
11107         * objects-msw.c (mswindows_enumerate_fonts):
11108         [5].
11109
11110         * objects-x.c:
11111         * objects-x.c (allocate_nearest_color):
11112         * objects-x.c (x_parse_nearest_color):
11113         * objects-x.c (x_initialize_color_instance):
11114         * objects-x.c (x_print_color_instance):
11115         * objects-x.c (x_finalize_color_instance):
11116         * objects-x.c (x_valid_color_name_p):
11117         * objects-x.c (x_initialize_font_instance):
11118         * objects-x.c (x_print_font_instance):
11119         * objects-x.c (valid_x_font_name_p):
11120         * objects-x.c (truename_via_FONT_prop):
11121         * objects-x.c (truename_via_random_props):
11122         * objects-x.c (truename_via_XListFonts):
11123         * objects-x.c (x_font_truename):
11124         * objects-x.c (x_font_instance_truename):
11125         * objects-x.c (x_font_instance_properties):
11126         * objects-x.c (x_list_fonts):
11127         * objects-x.c (x_find_charset_font):
11128         Mule-ize entire file.
11129         [7].
11130
11131         * objects-x.h:
11132         Mule-verify.
11133
11134         * print.c:
11135         * print.c (std_handle_out_external):
11136         * print.c (debug_print_no_newline):
11137         * print.c (syms_of_print):
11138         Output to all debugger kinds in debug-print.
11139         Fix console-output code under MSWin to actually work.
11140
11141         * process-nt.c (send_signal):
11142         * process-nt.c (nt_create_process):
11143         Use newer Unicode macros.
11144
11145         * process-unix.c (unix_create_process):
11146         * process-unix.c (unix_canonicalize_host_name):
11147         * process-unix.c (unix_open_network_stream):
11148         [7].
11149
11150         * scrollbar-x.c:
11151         Mule-verify.
11152
11153         * search.c (syms_of_search):
11154         [2].
11155
11156         * select-msw.c (mswindows_destroy_selection):
11157         Use LIST_LOOP_2.
11158
11159         * select-x.c (symbol_to_x_atom):
11160         [7].
11161
11162         * select.c (syms_of_select):
11163         [2].
11164
11165         * sound.c (Fplay_sound_file):
11166         [7].
11167
11168         * specifier.c:
11169         * specifier.c (decode_specifier_type):
11170         * specifier.c (Fvalid_specifier_locale_type_p):
11171         * specifier.c (check_valid_locale_or_locale_type):
11172         * specifier.c (decode_locale):
11173         * specifier.c (decode_locale_type):
11174         * specifier.c (decode_locale_list):
11175         * specifier.c (check_valid_domain):
11176         * specifier.c (decode_specifier_tag_set):
11177         * specifier.c (Fcanonicalize_tag_set):
11178         * specifier.c (Fdefine_specifier_tag):
11179         * specifier.c (Fspecifier_tag_predicate):
11180         * specifier.c (check_valid_inst_list):
11181         * specifier.c (check_valid_spec_list):
11182         * specifier.c (decode_how_to_add_specification):
11183         * specifier.c (check_modifiable_specifier):
11184         * specifier.c (specifier_add_spec):
11185         * specifier.c (boolean_validate):
11186         * specifier.c (display_table_validate):
11187         [9].
11188
11189         * specifier.c (syms_of_specifier):
11190         Move some symbols to general-slots.h.
11191         [2].
11192
11193         * symbols.c:
11194         * symbols.c (Fmapatoms):
11195         * symbols.c (Fapropos_internal):
11196         Add GCPROs.
11197
11198         * symbols.c (set_default_buffer_slot_variable):
11199         * symbols.c (set_default_console_slot_variable):
11200         [1].
11201
11202         * symbols.c (defsymbol_massage_name_1):
11203         * symbols.c (defkeyword_massage_name):
11204         * symbols.c (deferror_1):
11205         * symbols.c (deferror):
11206         * symbols.c (deferror_massage_name_and_message):
11207         * symeval.h:
11208         * symeval.h (DEFSYMBOL):
11209         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11210
11211         * symbols.c (syms_of_symbols):
11212         [2].
11213
11214         * symsinit.h:
11215         * symsinit.h (init_win32): New.
11216         Also new is syms_of_dialog_mswindows.
11217
11218         * syswindows.h:
11219         Add new Unicode macros, missing Cygwin wide-char functions,
11220         convenience conversion macros for Qmswindows_tstr, macros for
11221         encapsulating required MSWin <-> Cygwin filename conversions,
11222         prototype for dynamically-extracted (not in NT 3.51) functions.
11223
11224         * toolbar-x.c:
11225         Mule-verify.
11226
11227         * tooltalk.c (Fadd_tooltalk_message_arg):
11228         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11229         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11230         [7].
11231
11232         * tooltalk.c (syms_of_tooltalk):
11233         [2].
11234
11235         * unexnt.c:
11236         * unexnt.c (unexec):
11237         Fix up headers, declaration of unexec() to be more standard.
11238
11239 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11240
11241         * offix.h: Revert change to guard macros - they're used in offix.c!
11242
11243 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11244
11245         * lisp.h: Defsubred Fdelete.
11246
11247         * console-msw.h:  (msprinter_default_printer): Added.
11248
11249         * console-msw.c (msprinter_canonicalize_console_connection):
11250         (msprinter_canonicalize_device_connection): Added.
11251
11252         * device-msw.c (msprinter_default_printer):
11253         (Fmswingows_get_default_printer):
11254         (signal_enum_priner_error):
11255         (Fmswingows_printer_list): Added.
11256
11257 2000-07-19  Martin Buchholz <martin@xemacs.org>
11258
11259         * XEmacs 21.2.35 is released.
11260
11261 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11262
11263         * select-x.c (x_handle_selection_request):
11264         Text selected in xemacs and pasted into xterm failed to appear.
11265         Spelling fixes and cosmetic changes.
11266
11267 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11268
11269         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11270         XEmacs frame (fix for doubling chars in dialog boxes).
11271
11272 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11273
11274         * select.c (select_convert_in, select_convert_out):
11275         Don't call intern() every time.
11276
11277         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11278         * select.c (vars_of_select): Initialise them.
11279
11280 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11281
11282         * select.c (selection-coercible-types): New.
11283
11284         * select.c (own-selection-internal):
11285         * select.c (get-selection-internal):
11286         MULE bug fix - these should default to COMPOUND_TEXT and not
11287         STRING for MULE. I think.
11288
11289         * select.c (select_convert_out): Use selection-coercible-types
11290         to find types that we can attempt to perform coercions on.
11291
11292 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11293
11294         * mule-wnnfns.c:
11295         * mule-canna.c:
11296         Add coding: cookie to identify encoding.
11297
11298         * mule-canna.c (CANNA_mode_keys): make static.
11299         Use proper prototypes, even for functions of no arguments.
11300         Remove external prototype for Fding().
11301
11302         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11303
11304         * select.c (syms_of_select): Add missing DEFSUBR.
11305
11306 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11307
11308         * select.c (get_selection_internal, own_selection_internal):
11309         Make the type default to STRING, rather than placing a nil type
11310         into Vselection_alist.
11311
11312 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11313
11314         * gpmevent.c (tty_selection_exists_p):
11315         * gpmevent.c (tty_own_selection):
11316         Updated parameter lists.
11317
11318 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11319
11320         * select.h (selection-alist): Removed declaration.
11321
11322         * select.h (get_local_selection):
11323         * select.c (get_local_selection):
11324         Made static.
11325
11326         * select.h (convert_selection): Removed declaration.
11327         * select.c (convert_selection): Removed.
11328         This function belongs in Lisp.
11329
11330         * select.h (select_convert_in): Declare.
11331         * select.h (select_convert_out): Declare.
11332         * select.c (select_convert_in): New.
11333         * select.c (select_convert_out): New.
11334         New conversion functions for other files to call.
11335
11336         * select.h (select_notify_buffer_kill): Declare.
11337         * select.c (select_notify_buffer_kill): New.
11338         New functions that get called from kill-buffer.
11339
11340         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11341         X-specific lisp code.
11342
11343         * select.h: Declare some of the lisp-visible functions for
11344         external use.
11345
11346         * select.c (clean_local_selection_data): Removed. This was
11347         a disgusting function, and previously should have been in
11348         select-x.c in any case. The functionality is now provided
11349         in select-convert-from-integer (select.el).
11350
11351         * select.c (available-selection-types): Fixed stupidity where
11352         INTEGER and ATOM got added twice. Also add STRING when we see an
11353         extent.
11354
11355         * select.c (get-selection-internal): Removed symbol stripping. No
11356         longer causes conversion when data comes from the internal cache.
11357
11358         * select.c (syms_of_select): Added new functions.
11359
11360         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11361         error checking - previously this called abort!
11362
11363         * select-x.c (x_own_selection): Changed comment.
11364
11365         * select-x.c (x_handle_selection_request): Use select_convert_out.
11366         Don't mess with selection-alist; it's an internal variable of select.c.
11367
11368         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11369
11370         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11371         rather than messing with selection-alist.
11372
11373         * select-msw.c (mswindows_get_foreign_selection):
11374         Use TO_INTERNAL_FORMAT rather than hacking.
11375
11376 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11377
11378         * process-unix.c (unix_open_multicast_group):
11379         (unix_open_multicast_group): Remove useless casts.
11380
11381 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11382
11383         * sound.c (Fplay_sound): Fix `unused variable' warning.
11384
11385         * emacs.c (main): Use correct type for _environ on SCO5.
11386
11387 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11388
11389         * console.h (own_selection_method):
11390         * console.h (selection_exists_p_method):
11391         * console.h (available_selection_types_method): New.
11392         * console.h (register_selection_data_type_method): New.
11393         * console.h (selection_data_type_name): New.
11394
11395         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11396         function & alist to track GlobalAlloc()'d handles that need
11397         releasing when the clipboard data gets replaced or emptied.
11398
11399         * event-msw.c (mswindows_wnd_proc): Call it.
11400
11401         * lisp.h, general.c (Qappend): New symbol representing a
11402         `how-to-add' mode.
11403
11404         * select.c (own-selection-internal):
11405         * select.c (selection-exists-p):
11406         * select.c (available-selection-types): New.
11407         * select.c (register-selection-data-type): New.
11408         * select.c (selection-data-type-name): New.  New functions to deal
11409         with device-specific selection data formats.
11410         * select.c (selection-converter-out-alist): Renamed.
11411         * select.c (selection-converter-in-alist): New.
11412         * select.c (selection-appender-alist): New.  Added new alists.
11413         * select.c (syms_of_select, vars_of_select): Added new symbols &
11414         variables.
11415         * select.c (get_local_selection): Split.
11416         * select.c: Removed spurious type checking - selections may now be
11417         of any type, not just strings.
11418         * select.c (own-selection-internal):
11419
11420         * select.h, select.c (convert_selection): New. Created
11421         convert_selection() function based on get_local_selection().
11422         * select.h, select.c (QCF_*): New symbols representing mswindows
11423         clipboard formats.
11424         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11425         symbols representing `how-to-add' modes.
11426
11427         * select-msw.c (x_sym_p): New.
11428         * select-msw.c (symbol_to_ms_cf): New.
11429         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11430         symbols & clipboard formats. Can also handle string names.
11431         * select-msw.c (mswindows_own_selection):
11432         * select-msw.c (mswindows_selection_exists_p):
11433         Added `data-type' parameter. Use it.
11434         * select-msw.c (mswindows_available_selection_types): New.
11435         * select-msw.c (mswindows_register_selection_data_type): New.
11436         * select-msw.c (mswindows_selection_data_type_name): New.
11437         * select-msw.c (mswindows_own_selection):
11438         * select-msw.c (mswindows_get_foreign_selection):
11439         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11440         * select-msw.c (console_create_select_mswindows): Added new methods.
11441         * select-msw.c (mswindows_destroy_selection): New.
11442         * select-msw.c (Vhandle_alist): New list.
11443         * select-msw.c (mswindows_own_selection):
11444
11445         * select-x.c (x_own_selection):
11446         * select-x.c (x_selection_exists_p):
11447         * select-x.c: Added some comments about maybe using new
11448         functionality.
11449         * select-x.c (x_own_selection):
11450
11451         * specifier.c: Remove definition of Qappend (now in general.c)
11452         * specifier.c (syms_of_specifier): Remove Qappend.
11453
11454 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11455
11456         * config.h.in: Add socklen_t.
11457
11458         * s/decosf4-0.h: No special compiler flags needed or desired.
11459         In particular, undefine _BSD for DEC OSF 4.0.
11460
11461 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11462
11463         * redisplay-msw.c (msprinter_frame_output_end): Added.
11464         (console_type_create_redisplay_mswindows): Referred the above.
11465
11466         * frame.c (setup_frame_without_minibuffer): Do not create a
11467         default minibuffer frame on a printer device.
11468
11469         * frame-msw.c (apply_dc_geometry): Added.
11470         (msprinter_start_page):
11471         (msprinter_init_frame_3):
11472         (msprinter_eject_page): Use it.
11473
11474         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11475         and removed residual duplex and orientation properties.
11476
11477 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11478
11479         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11480
11481         * unexalpha.c: Remove system prototypes from C sources!
11482
11483 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11484
11485         * eval.c: Remove references to M-x edit-options in DEFUNs for
11486         `defvar' and `defconst'.
11487
11488 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11489
11490         * config.h.in: Remove SMART_INCLUDE hackery.
11491
11492         PostgreSQL hacking:
11493         * config.h.in: Don't use SMART_INCLUDE.
11494
11495         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11496         * inline.c: Simply #include "postgresql.h"
11497         * postgresql.c:
11498         - Don't use SMART_INCLUDE
11499         - Use simply "const".
11500         - Use standard doc string conventions.
11501         - Use correct type for result of PQstatus.
11502
11503 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11504
11505         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11506
11507         C++ compilation changes.
11508         * config.h.in (EXTERN_C): Define.
11509         * config.h.in (not): This is also a C++ keyword.
11510         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11511         * cm.c: Use EXTERN_C.
11512         * redisplay-tty.c: Use EXTERN_C.
11513         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11514
11515 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11516
11517         * general.c: Remove duplicate definition for Qfunction.
11518
11519 2000-07-08  Ben Wing  <ben@xemacs.org>
11520
11521         * device-msw.c (msprinter_init_device):
11522         * device-msw.c (sync_printer_with_devmode):
11523         * device-msw.c (handle_devmode_changes):
11524         * device-msw.c (print_dialog_worker):
11525         * device-msw.c (Fmsprinter_apply_settings):
11526         * device-msw.c (hash_devmode):
11527         * device-msw.c (Fmsprinter_settings_despecialize):
11528         use Qmswindows_tstr, not Qctext.
11529
11530         * vm-limit.c (check_memory_limits):
11531         avoid infinite loop printing warning messages.
11532
11533 2000-07-05  Craig Lanning  <lanning@scra.org>
11534
11535         * Makefile.in.in: Add support for including the Windows resources
11536         when building with the cygwin and mingw targets.
11537
11538         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11539         not set or not correct.
11540         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11541         (init_initial_directory): Don't try to use $PWD on the
11542         WIN32_NATIVE target.
11543
11544         * s\cygwin32.h:
11545         [[Add -mwindows to eliminate console window.]] not required --ben
11546         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11547         (MAIL_USE_POP): removed; now handled by configure.
11548
11549         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11550         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11551         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11552         (MAIL_USE_POP): removed; now handled by configure.
11553         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11554         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11555         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11556         constant string.
11557         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11558         up from <winsock.h> via systime.h.
11559         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11560         (getpagesize): from Dan Holmsand, added.
11561         Added #endif which was left dangling by Ben's mega patch; added
11562         comment to help prevent this in the future.
11563
11564         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11565
11566 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11567
11568         * console-msw.h (struct mswindows_device): Removed unnecessary
11569         cached device geometry values.
11570         Added update_tick and an accessor macro.
11571         (Lisp_Devmode): Added lrecord declaration.
11572         (struct msprinter_device): Contain devmode as a Lisp object.
11573         Added mswindows_get_selected_frame_hwnd();
11574
11575         * console.h (struct console_methods): Indentation nitpicking.
11576
11577         * device-msw.c (mswindows_init_device): Do not initialize geometry
11578         cache. Initialize update tick.
11579         (mswindows_device_system_metrics): Ask the device for its geometry.
11580         (global_free_2_maybe):
11581         (devmode_to_hglobal):
11582         (handle_printer_changes):
11583         (ensure_not_printing):
11584         (print_dialog_worker):
11585         (Fmsprinter_print_setup_dialog):
11586         (Fmsprinter_print_dialog):
11587         (plist_get_margin):
11588         (plist_set_margin):
11589         (Fmsprinter_page_setup_dialog): Added functions.
11590         (sync_printer_with_devmode):
11591         (handle_devmode_changes):
11592         (Fmsprinter_get_settings):
11593         (Fmsprinter_select_settings):
11594         (Fmsprinter_apply_settings):
11595         (allocate_devmode):
11596         (Fmsprinter_settings_copy):
11597         (Fmsprinter_settings_despecialize):
11598         (print_devmode):
11599         (finalize_devmode):
11600         (equal_devmode):
11601         (hash_devmode): Added functions
11602         (syms_of_device_mswindows): Init devmode lrecord class.
11603
11604         * device.h: Added an exfun for find-device.
11605
11606         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11607         geometry; although, recreate the device compatible DC.
11608
11609         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11610         (msprinter_init_frame_3):
11611         (msprinter_frame_property):
11612         (msprinter_internal_frame_property_p):
11613         (msprinter_frame_properties):
11614         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11615         print job properties (will move to device settings).
11616
11617         * lisp.h: Added symbols.
11618
11619         * general.c (syms_of_general): Declared them.
11620
11621         * hash.c (string_hash): Added.
11622
11623         * lrecord.h (lrecord_type): Added devmode lrecord type.
11624
11625 2000-07-02  Mike Sperber <mike@xemacs.org>
11626
11627         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11628         FreeBSD 4.0.
11629
11630 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11631
11632         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11633         integer.
11634
11635 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11636
11637         * data.c (Fstring_to_number): Don't recognize floating point if
11638         base is not 10.
11639
11640 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11641
11642         * glyphs-widget.c (tab_control_query_geometry):
11643         (widget_query_geometry):
11644         (button_query_geometry):
11645         * glyphs.c (text_query_geometry):
11646         Enforce type correctness.
11647
11648 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11649
11650         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11651         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11652
11653 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11654
11655         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11656         conflicts with gcc's fixincluded version of FOO.h.
11657
11658         * glyphs.h (image_instance_geometry): Remove trailing `,'
11659
11660 2000-06-08  Mike Alexander  <mta@arbortext.com>
11661
11662         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11663         (shove_thread): Don't write the same output twice
11664         (make_ntpipe_output_stream): Increase priority of shove thread
11665         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11666         chance to run
11667         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11668         it.
11669
11670 2000-06-12  Ben Wing  <ben@xemacs.org>
11671
11672         * s\mingw32.h (sigset):
11673         * s\windowsnt.h (sigset):
11674         rename msw_ to mswindows_ for consistency with general convention.
11675
11676 2000-06-12  Ben Wing  <ben@xemacs.org>
11677
11678         * console-msw.c:
11679         * console-msw.c (mswindows_get_console_hwnd):
11680         * console-msw.c (mswindows_ensure_console_allocated):
11681         * console-msw.c (mswindows_hide_console):
11682         * console-msw.c (mswindows_show_console):
11683         * console-msw.c (mswindows_ensure_console_buffered):
11684         * console-msw.c (mswindows_output_console_string):
11685         * console-msw.c (mswindows_windows9x_p):
11686         * console-msw.h:
11687         * device-msw.c (mswindows_get_workspace_coords):
11688         * device-msw.c (mswindows_device_system_metrics):
11689         * dialog-msw.c (mswindows_popup_dialog_box):
11690         * event-msw.c (mswindows_wnd_proc):
11691         * frame-msw.c (mswindows_size_frame_internal):
11692         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11693         * menubar-msw.c (displayable_menu_item):
11694         * menubar-msw.c (mswindows_char_is_accelerator):
11695         * nt.c:
11696         * nt.c (mswindows_sigset):
11697         * nt.c (mswindows_sigrelse):
11698         * nt.c (mswindows_sigpause):
11699         * nt.c (mswindows_raise):
11700         * nt.c (timer_proc):
11701         * ntproc.c:
11702         * ntproc.c (find_child_console):
11703         * ntproc.c (sys_kill):
11704         * print.c:
11705         * print.c (std_handle_out_external):
11706         * process-nt.c (find_child_console):
11707         * process-nt.c (send_signal_the_95_way):
11708         * process-nt.c (ensure_console_window_exists):
11709         * process-nt.c (nt_create_process):
11710         * syssignal.h:
11711         rename msw_ to mswindows_ for consistency with general convention.
11712
11713         * emacs.c:
11714         * dumper.c:
11715         include nt.h, not syswindows.h.
11716
11717         * nt.c (mswindows_fstat):
11718         * nt.c (mswindows_stat):
11719         prefix mswindows_ instead of attempting to directly override the
11720         library functions.  fix declarations.
11721
11722         * nt.h:
11723         include syswindows.h.  move some sysdep.h stuff here.
11724
11725         * ntheap.h:
11726         include syswindows.h, not <windows.h>.
11727
11728         * ntplay.c:
11729         clean up headers.
11730
11731         * sysdep.c:
11732         clean up headers.
11733
11734         * sysdep.c (sys_fstat):
11735         * sysdep.c (sys_stat):
11736         call mswindows versions when appropriate.
11737
11738         * sysdep.h:
11739         move mswin decls to nt.h.
11740
11741         * syswindows.h:
11742         add long comment describing appropriate use of the various windows
11743         headers.
11744
11745 2000-06-11  Ben Wing  <ben@xemacs.org>
11746
11747         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11748
11749 2000-06-10  Ben Wing  <ben@xemacs.org>
11750
11751         * Makefile.in.in (release):
11752         Correction to make sure xemacs.exe always dumped when correct.
11753
11754         * alloca.c:
11755         * balloon_help.c:
11756         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11757
11758         * buffer.c (set_buffer_internal):
11759         [[[[2]]]]: Remove HAVE_FEP code.
11760
11761         * buffer.c (init_initial_directory):
11762         [3].
11763
11764         * bytecode.c:
11765         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11766         individual files.
11767
11768         * callproc.c:
11769         * callproc.c (call_process_cleanup):
11770         * callproc.c (Fold_call_process_internal):
11771         * callproc.c (child_setup):
11772         * callproc.c (getenv_internal):
11773         * callproc.c (init_callproc):
11774         * callproc.c (vars_of_callproc):
11775         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11776         __CYGWIN32__ -> CYGWIN.
11777         DOS_NT -> WIN32_NATIVE.
11778         Remove MSDOS support/references, converting to WIN32_NATIVE
11779           where correct.
11780         __MINGW32__ -> MINGW.
11781         Fix windows.h includes.
11782         Remove bogus HAVE_NTGUI.
11783
11784         * config.h.in:
11785         [2].
11786
11787         * console-msw.c:
11788         mswindows_message_outputted added for use in allowing startup
11789         errors on the console to be seen.
11790
11791         * console-msw.c (msw_ensure_console_allocated):
11792         * console-msw.c (msw_output_console_string):
11793         * console-msw.c (DHEADER):
11794         * console-msw.c (DOPAQUE_DATA):
11795         * console-msw.c (DEVENT):
11796         * console-msw.c (DCONS):
11797         * console-msw.c (DCONSCDR):
11798         * console-msw.c (DSTRING):
11799         * console-msw.c (DVECTOR):
11800         * console-msw.c (DSYMBOL):
11801         * console-msw.c (DSYMNAME):
11802         Fix warnings.
11803
11804         * console-stream.c (stream_init_console):
11805         Fix text/binary problems.
11806
11807         * device-msw.c:
11808         * device-msw.c (mswindows_finish_init_device):
11809         * device-msw.c (mswindows_delete_device):
11810         [1].
11811
11812         * device.c (handle_asynch_device_change):
11813         [3].
11814
11815         * dgif_lib.c:
11816         * dgif_lib.c (DGifOpenFileName):
11817         * dgif_lib.c (DGifOpenFileHandle):
11818         * dgif_lib.c (DGifGetLine):
11819         * dgif_lib.c (DGifGetPixel):
11820         Added config.h/lisp.h, fix up includes.
11821         [1].
11822
11823         * dired-msw.c:
11824         [4].
11825
11826         * dired.c:
11827         * dired.c (file_name_completion):
11828         * dired.c (Ffile_attributes):
11829         * dired.c (syms_of_dired):
11830         [1].
11831
11832         * dumper.c:
11833         * dumper.c (pdump_file_unmap):
11834         * dumper.c (pdump_load):
11835         [1].
11836
11837         * editfns.c:
11838         * editfns.c (Ftemp_directory):
11839         * editfns.c (user_login_name):
11840         * editfns.c (Fuser_real_login_name):
11841         * editfns.c (get_home_directory):
11842         [1].
11843
11844         * elhash.c (finish_marking_weak_hash_tables):
11845         [[[[5]]]]: Fix GCC warnings.
11846
11847         * emacs.c:
11848         * emacs.c (mswindows_handle_hardware_exceptions):
11849         * emacs.c (make_arg_list_1):
11850         * emacs.c (main_1):
11851         * emacs.c (Fkill_emacs):
11852         * emacs.c (Fdump_emacs):
11853         [1].
11854         Fix problems with nested crashes, add long comment.
11855
11856         * event-Xt.c (init_event_Xt_late):
11857         [1].
11858
11859         * event-msw.c:
11860         * event-msw.c (mswindows_dde_callback):
11861         * event-msw.c (mswindows_handle_sticky_modifiers):
11862         * event-msw.c (mswindows_wnd_proc):
11863         [1].
11864         [5].
11865
11866         * events.c (character_to_event):
11867         [1].
11868
11869         * fileio.c:
11870         * fileio.c (Ffile_name_directory):
11871         * fileio.c (Ffile_name_nondirectory):
11872         * fileio.c (directory_file_name):
11873         * fileio.c (Fexpand_file_name):
11874         * fileio.c (Fsubstitute_in_file_name):
11875         * fileio.c (Ffile_name_absolute_p):
11876         * fileio.c (check_executable):
11877         * fileio.c (Ffile_readable_p):
11878         * fileio.c (Ffile_accessible_directory_p):
11879         * fileio.c (Ffile_modes):
11880         * fileio.c (Funix_sync):
11881         * fileio.c (vars_of_fileio):
11882         [1]. [4].
11883
11884         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11885
11886         Expand getdefdir defn.
11887         Fix bogus rename() comment.
11888
11889         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11890         to use standard XEmacs include files, e.g. sysfile.h, rather
11891         than system-specific includes.
11892
11893         * fns.c:
11894         * fns.c (Fsubseq):
11895         [5]. [6].
11896
11897         * frame.c (vars_of_frame):
11898         [1].
11899
11900         * getloadavg.c:
11901         * getloadavg.c (getloadavg):
11902         [1]. [6].
11903         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11904         (We don't use it elsewhere in the code; just add a comment.)
11905
11906         * gif_io.c:
11907         [6].
11908         Add config.h.
11909
11910         * glyphs-msw.c:
11911         * glyphs-msw.c (mswindows_resource_instantiate):
11912         [1].
11913
11914         * glyphs-x.c (x_native_layout_instantiate):
11915         [5].
11916
11917         * gui-msw.c (Fmswindows_shell_execute):
11918         [1].
11919
11920         * insdel.c:
11921         [4].
11922
11923         * lisp.h:
11924         [4]. [5].
11925
11926         * lread.c (locate_file_in_directory_mapper):
11927         [1].
11928
11929         * lstream.c:
11930         [4].
11931
11932         * mem-limits.h:
11933         * mem-limits.h (get_lim_data):
11934         [1].
11935
11936         * menubar-msw.c:
11937         [4].
11938
11939         * ndir.h:
11940         [1].
11941
11942         * nt.c:
11943         * nt.c (getwd):
11944         * nt.c (closedir):
11945         * nt.c (rva_to_section):
11946         * nt.c (mswindows_executable_type):
11947         [1]. [6].
11948         Fix closedir() defn.
11949
11950         * nt.h:
11951         [[[[8]]]]: *_OK defs moved to sysfile.h.
11952
11953         * ntproc.c:
11954         [6]. [7].
11955
11956         * objects-x.c:
11957         [4].
11958
11959         * print.c:
11960         * print.c (std_handle_out_external):
11961         [1]. [4].
11962
11963         * process-nt.c:
11964         * process-nt.c (nt_create_process):
11965         [6].
11966         try to fix process quoting somewhat.
11967
11968         * process-unix.c (unix_create_process):
11969         [1].
11970
11971         * process.c:
11972         * process.c (vars_of_process):
11973         Add Vnull_device.
11974
11975         * process.h:
11976         [1].
11977
11978         * realpath.c:
11979         * realpath.c (xrealpath):
11980         [1].
11981
11982         * redisplay-tty.c (init_tty_for_redisplay):
11983         [3].
11984
11985         * redisplay.c:
11986         [4]. [6].
11987
11988         * scrollbar-msw.c:
11989         [4].
11990
11991         * sheap.c:
11992         * sheap.c (more_static_core):
11993         * sheap.c (report_sheap_usage):
11994         [5]. [6].
11995
11996         * signal.c:
11997         * signal.c (alarm_signal):
11998         [1]. [6].
11999
12000         * sound.c:
12001         [6].
12002
12003         * strftime.c:
12004         * strftime.c (zone_name):
12005         [1]. [5].
12006
12007         * symsinit.h (init_sunpro):
12008         [1].
12009
12010         * syscommctrl.h:
12011         commctrl.h not in Cygwin b20.1.
12012
12013         * sysdep.c:
12014         * sysdep.c (endif):
12015         * sysdep.c (sys_subshell):
12016         * sysdep.c (init_baud_rate):
12017         * sysdep.c (emacs_get_tty):
12018         * sysdep.c (emacs_set_tty):
12019         * sysdep.c (tty_init_sys_modes_on_device):
12020         * sysdep.c (init_system_name):
12021         * sysdep.c (sys_open):
12022         * sysdep.c (interruptible_open):
12023         * sysdep.c (sys_fopen):
12024         * sysdep.c (sys_mkdir):
12025         * sysdep.c (sys_rename):
12026         * sysdep.c (get_process_times_1):
12027         [1]. [6].
12028
12029         * sysdep.h:
12030         [1].
12031
12032         * sysdir.h:
12033         * sysdir.h (DIRENTRY_NONEMPTY):
12034         [1]. [6].
12035
12036         * sysdll.c (dll_init):
12037         * sysdll.h:
12038         [1].
12039
12040         * sysfile.h:
12041         [1]. [6]. [8].
12042         added text/binary defs.
12043
12044         * sysfloat.h:
12045         [1].
12046
12047         * sysproc.h:
12048         * sysproc.h (EDESTADDRREQ):
12049         * sysproc.h (poll_fds_for_input):
12050         [1]. [6].
12051
12052         * syspwd.h:
12053         [6].
12054
12055         * syssignal.h:
12056         [1].
12057
12058         * systime.h:
12059         [1]. [6].
12060
12061         * systty.h:
12062         [1].
12063
12064         * syswindows.h:
12065         [1].
12066         Always define WIN32_LEAN_AND_MEAN.
12067
12068         * unexcw.c (unexec):
12069         [5].
12070
12071         * unexec.c:
12072         * unexec.c (copy_text_and_data):
12073         * unexec.c (adjust_lnnoptrs):
12074         [1].
12075
12076         * unexnt.c:
12077         * unexnt.c (_start):
12078         [1].
12079
12080 2000-06-07  Ben Wing  <ben@xemacs.org>
12081
12082         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12083         was used only as a model.  We've long since extracted any useful
12084         logic or code out of this. (I just did an exhaustive search.)
12085
12086         * s\msdos.h: Removed.
12087
12088         * s\windows95.h: Removed.
12089
12090 2000-06-10  Ben Wing  <ben@xemacs.org>
12091
12092         * s\cygwin32.h:
12093         [1]. [5].
12094         Don't use extern with fun defs.
12095
12096         * s\mingw32.h:
12097         [1]. [7].
12098         Remove nt\inc include.
12099         Remove getdisk, getdefdir. (The former is unused, the latter
12100         expanded in fileio.h.)
12101
12102         * s\windowsnt.h:
12103         * s\windowsnt.h (WIN32_NATIVE):
12104         * s\windowsnt.h (HAVE_STRCASECMP):
12105         [1]. [7].
12106         Add long comment about preprocessor changes.
12107         Remove getdisk, getdefdir. (The former is unused, the latter
12108         expanded in fileio.h.)
12109
12110 2000-06-10  Ben Wing  <ben@xemacs.org>
12111
12112         * m\arm.h:
12113         * m\delta.h:
12114         * m\intel386.h:
12115         * m\sequent.h:
12116         * m\template.h:
12117         * m\windowsnt.h:
12118         [1].
12119         Remove bogus/unused NO_SOCK_SIGIO.
12120
12121 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12122
12123         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12124         not an Emchar.
12125
12126 2000-06-04  Mike Sperber <mike@xemacs.org>
12127
12128         * casetab.c (set_case_table): For `set-standard-case-table',
12129         actually deposit the new case tables where the rest of XEmacs can
12130         see them.
12131
12132 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12133
12134         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12135
12136 2000-06-05  Ben Wing  <ben@xemacs.org>
12137
12138         * callproc.c (child_setup): Don't do close_load_descs() under
12139         MS Windows.  Put in a comment explaining why.
12140
12141 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12142
12143         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12144         Toolkit shell" which breaks `kill-compilation' on Windows NT
12145         native, retaining STDERR handling improvements.
12146
12147 2000-06-01  Andreas Jaeger  <aj@suse.de>
12148
12149         * s/s390.h: Support for S390, based on a patch by Martin
12150         Schwidefsky <schwidefsky@de.ibm.com>.
12151
12152 2000-05-30  Andy Piper  <andy@xemacs.org>
12153
12154         * window.c (allocate_window):
12155         (make_dummy_parent):
12156         (Fset_window_configuration): use new hashtable type.
12157
12158         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12159         (struct image_instantiator_methods):
12160         (struct Lisp_Image_Instance): make instance geometry signed.
12161
12162         * glyphs.c (instantiate_image_instantiator):
12163         (image_instance_query_geometry):
12164         (image_instance_layout):
12165         (image_instance_layout):
12166         (query_string_geometry):
12167         (text_query_geometry):
12168         (image_instantiate):
12169         (image_instantiate):
12170         (cache_subwindow_instance_in_frame_maybe):
12171         (subwindow_query_geometry): make instance geometry signed.
12172
12173         * glyphs-widget.c (widget_query_geometry):
12174         (widget_layout):
12175         (button_query_geometry):
12176         (tree_view_query_geometry):
12177         (tab_control_query_geometry):
12178         (layout_query_geometry):
12179         (layout_layout):
12180         (native_layout_layout): make instance geometry signed.
12181
12182 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12183
12184         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12185         constant.
12186
12187         * general.c (syms_of_general): Add Qfull_assoc symbol.
12188
12189         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12190         correctly.
12191         (decode_weak_list_type): Decode full-assoc type.
12192         (encode_weak_list_type): Encode full-assoc type.
12193         (Fmake_weak_list): Update doc string.
12194
12195 2000-05-30  Andy Piper  <andy@xemacs.org>
12196
12197         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12198
12199         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12200         (decode_hash_table_weakness): ditto.
12201         (Fhash_table_weakness): ditto.
12202         (Fhash_table_type): ditto.
12203         (finish_marking_weak_hash_tables): ditto.
12204         (hash_table_weakness_validate): ditto.
12205         (syms_of_elhash): ditto.
12206
12207 2000-05-28  Martin Buchholz <martin@xemacs.org>
12208
12209         * XEmacs 21.2.34 is released.
12210
12211 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12212
12213         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12214         start cache.
12215         (updating_line_start_cache): Gone.
12216         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12217         generic code to force a minimum of 1 line laid out in the
12218         CMOTION_DISP case.
12219
12220 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12221
12222         * glyphs.c (instantiate_image_instantiator): Check for initialized
12223         height & width no longer special cases IMAGE_NOTHING.
12224         (nothing_instantiate): Set height and width of instance.
12225
12226 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12227
12228         * unexelf.c (unexec): Search for ".data" section.
12229         Initialize new_data2_offset from old_data_index.
12230         Remove redundant check for ElfW.
12231
12232 2000-05-23  Andy Piper  <andy@xemacs.org>
12233
12234         * glyphs.c (get_image_instantiator_governing_domain): allow more
12235         specific domains as the governing domain rather than expecting an
12236         exact match. This fixes problems with layouts.
12237
12238 2000-05-22  Andy Piper  <andy@xemacs.org>
12239
12240         * redisplay-output.c (compare_runes): check for non-images
12241
12242         * glyphs.c (set_glyph_dirty_p): ditto.
12243         (update_glyph_cachel_data): ditto.
12244
12245         * glyphs-widget.c (layout_post_instantiate): ditto.
12246         (layout_post_instantiate): ditto.
12247
12248         * event-msw.c (mswindows_wnd_proc): warning removal.
12249
12250 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12251
12252         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12253
12254         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12255
12256         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12257
12258         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12259         (mswindows_executable_type): mingw32 now has enough headers for
12260         this to work.
12261
12262 2000-05-20  Andy Piper  <andy@xemacs.org>
12263
12264         * console-msw.c (mswindows_output_last_error): ; -> ,
12265
12266 2000-05-12  Andy Piper  <andy@xemacs.org>
12267
12268         * console-msw.c (FROB): compare ints with ints.
12269
12270 2000-05-11  Andy Piper  <andy@xemacs.org>
12271
12272         * glyphs-x.c (x_finalize_image_instance): make minimal build
12273         happy.
12274
12275 2000-05-20  Ben Wing  <ben@xemacs.org>
12276
12277         * event-Xt.c:
12278         * event-Xt.c (vars_of_event_Xt):
12279         move modifier-keys-are-sticky to event-stream.c.
12280
12281         * event-msw.c:
12282         * event-msw.c (mswindows_enqueue_mouse_button_event):
12283         * event-msw.c (key_needs_default_processing_p):
12284         * event-msw.c (XEMSW_LCONTROL):
12285         * event-msw.c (mswindows_handle_sticky_modifiers):
12286         * event-msw.c (FROB):
12287         * event-msw.c (clear_sticky_modifiers):
12288         * event-msw.c (output_modifier_keyboard_state):
12289         * event-msw.c (output_alt_keyboard_state):
12290         * event-msw.c (mswindows_wnd_proc):
12291         * event-msw.c (mswindows_modifier_state):
12292         * event-msw.c (emacs_mswindows_handle_magic_event):
12293         implement sticky modifiers.
12294
12295         * event-stream.c:
12296         * event-stream.c (vars_of_event_stream):
12297         move modifier-keys-are-sticky here.
12298
12299         * lisp.h:
12300         add CHECK_FUNCTION.
12301
12302         * rangetab.c:
12303         implement map-range-table.
12304
12305
12306 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12307
12308         * redisplay-tty.c (reset_tty_modes):
12309         (tty_redisplay_shutdown): Adjust argument type to
12310         tty_frame_output_end.
12311
12312 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12313
12314         * eval.c (Fbacktrace): Don't output a line with only right
12315         parenthesis.
12316
12317 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12318
12319         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12320         (Fpq_reset_poll): Ditto.
12321
12322 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12323
12324         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12325
12326 2000-05-16  Ben Wing  <ben@xemacs.org>
12327
12328         * buffer.c:
12329         * buffer.c (dfc_convert_to/from_internal_format):
12330         * buffer.c (reinit_vars_of_buffer):
12331         Fix conversion functions to allow reentrancy.
12332
12333         * console-msw.c:
12334         * console-msw.c (mswindows_output_last_error):
12335         New fun, generally useful -- output a human-readable
12336         version of GetLastError() on the console.
12337
12338         * console-msw.h:
12339         * console-msw.h (struct mswindows_frame):
12340         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12341
12342         * console-stream.c (stream_output_begin):
12343         * console-stream.c (stream_output_end):
12344         * console-stream.c (stream_output_vertical_divider):
12345         * console-stream.c (stream_clear_region):
12346         * console-stream.c (stream_flash):
12347         * console-stream.c (console_type_create_stream):
12348         Delete blank stream methods, not needed.
12349
12350         * console.h (struct console_methods):
12351         Split begin/end methods into window and frame.
12352
12353         * event-msw.c:
12354         * event-msw.c (mswindows_handle_paint):
12355         * event-msw.c (output_alt_keyboard_state):
12356         * event-msw.c (mswindows_wnd_proc):
12357         * event-msw.c (vars_of_event_mswindows):
12358         Comment about problems with ignored-expose.
12359         Define mswindows-debug-events; not really implemented.
12360
12361         * frame-msw.c (mswindows_init_frame_1):
12362         random cleanups.
12363
12364         * glyphs-msw.c:
12365         * glyphs-msw.c (begin_defer_window_pos):
12366         * glyphs-msw.c (mswindows_unmap_subwindow):
12367         * glyphs-msw.c (mswindows_map_subwindow):
12368         * glyphs-msw.c (mswindows_resize_subwindow):
12369         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12370
12371         * glyphs.c (make_image_instance_1):
12372         Fix crash.
12373
12374         * gutter.c (Fredisplay_gutter_area):
12375         Use new begin/end methods.
12376
12377         * lisp.h (Dynarr_new2):
12378         New creation fun.
12379
12380         * redisplay-msw.c:
12381         * redisplay-msw.c (mswindows_frame_output_begin):
12382         * redisplay-msw.c (mswindows_frame_output_end):
12383         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12384         New begin/end methods -- handle DeferWindowPos.
12385
12386         * redisplay-output.c (redisplay_move_cursor):
12387         * redisplay-output.c (redraw_cursor_in_window):
12388         * redisplay-output.c (redisplay_update_line):
12389         * redisplay-output.c (redisplay_output_window):
12390         New begin/end methods.
12391
12392         * redisplay-tty.c:
12393         * redisplay-tty.c (tty_frame_output_begin):
12394         * redisplay-tty.c (tty_frame_output_end):
12395         * redisplay-tty.c (console_type_create_redisplay_tty):
12396         New begin/end methods.
12397
12398         * redisplay-x.c:
12399         * redisplay-x.c (x_window_output_begin):
12400         * redisplay-x.c (x_window_output_end):
12401         * redisplay-x.c (console_type_create_redisplay_x):
12402         New begin/end methods.
12403
12404         * redisplay.c (redisplay_frame):
12405         * redisplay.c (Fredisplay_echo_area):
12406         New begin/end methods.
12407         use MAYBE_DEVMETH for clear_frame; it may not exist.
12408
12409         * window.h (WINDOW_XFRAME):
12410         WINDOW_XFOO macros -- get locale and decode struct pointer.
12411
12412
12413 2000-05-12  Ben Wing  <ben@xemacs.org>
12414
12415         * emacs.c:
12416         * emacs.c (ensure_no_quitting_from_now_on):
12417         * emacs.c (fatal_error_signal):
12418         * emacs.c (mswindows_handle_hardware_exceptions):
12419         * emacs.c (main):
12420         * emacs.c (Fkill_emacs):
12421         * emacs.c (shut_down_emacs):
12422         * emacs.c (assert_failed):
12423         various improvements in fatal error handling.
12424
12425         * eval.c:
12426         move preparing_for_armageddon to emacs.c.
12427
12428         * lisp.h:
12429         declare fatal_error_in_progress.
12430
12431         * print.c:
12432         * print.c (std_handle_out_external):
12433         * print.c (std_handle_out_va):
12434         * print.c (stderr_out):
12435         * print.c (stdout_out):
12436         use console under mswin when no standard output.
12437         don't do code conversion during fatal error.
12438
12439         * scrollbar.c (Fscrollbar_page_up):
12440         * scrollbar.c (Fscrollbar_page_down):
12441         fix missing else.  reindent.
12442
12443 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12444
12445         Emergency fix.
12446
12447         * glyphs.h (GLYPH_CACHEL_DESCENT):
12448         (GLYPH_CACHEL_DESCENT):
12449         (GLYPH_CACHEL_DESCENT):
12450         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12451         used in case these are inline functions.
12452         Use more absurd values to error check.
12453
12454         include window.h for error check functions.
12455
12456 2000-05-11  Ben Wing  <ben@xemacs.org>
12457
12458         * cmdloop.c (Freally_early_error_handler):
12459         Display message box under windows; otherwise, message will disappear
12460         before it can be viewed.
12461
12462         * console-msw.c:
12463         * console-msw.c (Fmswindows_message_box):
12464         * console-msw.c (FROB):
12465         * console-msw.c (syms_of_console_mswindows):
12466         Define new fun `mswindows-message-box'.
12467         #### I will merge this into `popup-dialog-box'; just give me
12468         a bit of time.
12469
12470         * general.c:
12471         * general.c (syms_of_general):
12472         Some new symbols used in `mswindows-message-box'.
12473
12474         * glyphs.c:
12475         * glyphs.c (Fset_image_instance_property):
12476         put warning in this fun.
12477
12478         * glyphs.h:
12479         * glyphs.h (GLYPH_CACHEL_WIDTH):
12480         * glyphs.h (GLYPH_CACHEL_ASCENT):
12481         * glyphs.h (GLYPH_CACHEL):
12482         * glyphs.h (GLYPH_CACHEL_GLYPH):
12483         define error-checking versions to try to catch a bug i've seen --
12484         redisplay gets in an infinite loop because the glyph width of the
12485         continuation glyph is 65535.
12486
12487         * lisp.h:
12488         Extern message-box stuff.
12489
12490         * window.c (allocate_window):
12491         * window.c (make_dummy_parent):
12492         * window.c (Fset_window_configuration):
12493         Use EQUAL not EQ for subwindow caches to make them work a bit
12494         better. (Something is still very broken.)
12495
12496
12497 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12498
12499         * glyphs.c (image_instantiate): Suppress gcc warnings.
12500         (Fmake_image_instance): Fix doc string.
12501         * specifier.c (Fmake_specifier): Ditto.
12502
12503 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12504
12505         * paths.h.in (PATH_LOCK): Removed.
12506         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12507         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12508
12509 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12510
12511         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12512         Document (featurep '(and xemacs 21.02)).
12513
12514 2000-05-09  Ben Wing  <ben@xemacs.org>
12515
12516         * buffer.c (complex_vars_of_buffer):
12517         update modeline-format doc.
12518
12519         * device.h:
12520         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12521
12522         * emacs.c:
12523         timeline of all released versions of Emacs, for use in creating
12524         authorship comments and in synching up.
12525
12526         * glyphs-widget.c (image_instantiator_buttons):
12527         * glyphs-widget.c (image_instantiator_edit_fields):
12528         * glyphs-widget.c (image_instantiator_combo_box):
12529         * glyphs-widget.c (image_instantiator_scrollbar):
12530         * glyphs-widget.c (image_instantiator_progress_guage):
12531         * glyphs-widget.c (image_instantiator_tree_view):
12532         * glyphs-widget.c (image_instantiator_tab_control):
12533         * glyphs-widget.c (image_instantiator_labels):
12534         * glyphs-widget.c (image_instantiator_layout):
12535         * glyphs-widget.c (image_instantiator_native_layout):
12536         rename decode_domain method to governing_domain.
12537
12538         * glyphs.c:
12539         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12540         * glyphs.c (add_entry_to_device_ii_format_list):
12541         make sure we don't put an entry more than once into the list.
12542         * glyphs.c (check_instance_cache_mapper):
12543         *************************************************************
12544         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12545         HAVE BEEN GETTING.
12546         *************************************************************
12547         * glyphs.c (get_image_instantiator_governing_domain):
12548         clean up, expand on new concept of governing domain.
12549         * glyphs.c (instantiate_image_instantiator):
12550         * glyphs.c (allocate_image_instance):
12551         use governing_domain instead of cache_domain in naming.
12552         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12553         * glyphs.c (make_image_instance_1):
12554         * glyphs.c (Fmake_image_instance):
12555         allow for any domain (not just device), and process the
12556         governing domain correctly.  very big doc fix.
12557         * glyphs.c (Fimage_instance_domain):
12558         new primitive, to retrieve the governing domain of an image instance.
12559         * glyphs.c (image_instantiate):
12560         use new governing_domain stuff.  this fixes a crash you could get
12561         by instantiating certain widget glyphs in frame locales. (should
12562         signal an error instead of crashing.)
12563         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12564         * glyphs.c (Fglyphp): clean up doc.
12565         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12566         * glyphs.c (syms_of_glyphs):
12567         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12568         * glyphs.c (image_instantiator_format_create): add some comments about
12569         bogus code.
12570         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12571         for current-display-table. (Apparently Hrjove implemented in 1998 a
12572         design I wrote up in 1996, but didn't update the doc string.)
12573
12574         * glyphs.h: clean up a doc string.
12575         * glyphs.h (governing_domain):
12576         * glyphs.h (struct image_instantiator_methods):
12577         changes for governing_domain stuff.
12578
12579         * gutter.c:
12580         * gutter.c (Fgutter_specifier_p):
12581         * gutter.c (Fgutter_size_specifier_p):
12582         * gutter.c (Fgutter_visible_specifier_p):
12583         * objects.c:
12584         * objects.c (Fcolor_specifier_p):
12585         * objects.c (Ffont_specifier_p):
12586         * objects.c (Fface_boolean_specifier_p):
12587         doc strings moved to make-*-specifier.
12588
12589         * redisplay.c (add_disp_table_entry_runes_1):
12590         * redisplay.c (generate_fstring_runes):
12591         * redisplay.c (screen):
12592         add random comments and doc strings.
12593
12594         * specifier.c:
12595         * specifier.c (Fmake_specifier):
12596         major overhaul of this doc string.
12597
12598         * specifier.c (Fvalid_specifier_domain_p):
12599         comment about the bogosity of image instances being domains.
12600         * specifier.c (decode_domain):
12601         now non-static, used in glyphs.c.
12602         * specifier.c (specifier_instance):
12603         comment about the bogosity of image instances being domains.
12604         * specifier.c (Fgeneric_specifier_p):
12605         move doc string to make-generic-specifier.
12606         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12607         rebackslashify.
12608
12609         * specifier.h:
12610         * specifier.h (DOMAIN_FRAME):
12611         * specifier.h (DOMAIN_LIVE_P):
12612         * specifier.h (DOMAIN_XDEVICE):
12613         rebackslashify.
12614         add comments about problems with these macros.
12615         prototype for decode_domain.
12616
12617         * toolbar.c:
12618         * toolbar.c (Ftoolbar_specifier_p):
12619         move doc string to `make-toolbar-specifier'.
12620
12621         * window.c (window_unmap_subwindows_cache_mapper):
12622         *************************************************************
12623         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12624         HAVE BEEN GETTING.
12625         *************************************************************
12626
12627 2000-05-09  Andy Piper  <andy@xemacs.org>
12628
12629         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12630
12631         * window.c (Fset_window_configuration): reset the frame subwindow
12632         cache and re-initialize the window subwindow caches.
12633
12634         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12635
12636 2000-05-09  Ben Wing  <ben@xemacs.org>
12637
12638         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12639         DWORD.
12640
12641 2000-04-26  Mike Woolley  <mike@bulsara.com>
12642
12643         * ntheap.c: Changed recreate_heap to limit the amount reserved
12644         for the heap to that which is actually available. Also now
12645         displays a message box (with some dignostics) in the event that
12646         it still can't start.
12647
12648 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12649
12650         * callproc.c (Fold_call_process_internal): GCPRO path
12651
12652 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12653
12654         Patch by Bill Perry.
12655
12656         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12657         back data instead of #ifdef.
12658         (Fscrollbar_page_down): ditto.
12659
12660 2000-05-07  Ben Wing  <ben@xemacs.org>
12661
12662         * buffer.h:
12663         Kludge for defining Qmswindows_tstr.
12664
12665         * nt.c:
12666         * nt.c (open_input_file):
12667         * nt.c (open_output_file):
12668         * nt.c (rva_to_section):
12669         * nt.c (mswindows_executable_type):
12670         Move all memory-mapped-file routines here (some were in unexnt.c,
12671         which is bad because they are used by process-nt.c, and unexnt
12672         won't be around when portable dumping).  Synched the above routines
12673         with FSF 20.6.
12674
12675         * nt.h:
12676         Removed ifdef'd out bogus code.
12677         Fixed some prototypes.
12678
12679         * nt.h (file_data):
12680         * nt.h (OFFSET_TO_RVA):
12681         * nt.h (RVA_TO_OFFSET):
12682         * nt.h (RVA_TO_PTR):
12683         Moved the memory-mapped-file structures, macros and prototypes
12684         here, to parallel nt.c.  ntheap.h should really be removed
12685         entirely, and it's a non-portable-dumper specific file.
12686
12687         * ntheap.h (round_to_next):
12688         Moved the memory-mapped-file structures, macros and prototypes
12689         to nt.h.
12690
12691         * ntproc.c (compare_env):
12692         Moved rva_to_section and mswindows_executable_type to nt.c.
12693         Moved compare_env to process-nt.c.
12694         ntproc.c will die, one day.
12695
12696         * ntproc.c (sys_spawnve):
12697         Account for win32_ -> mswindows_.
12698
12699         * process-nt.c:
12700         * process-nt.c (struct nt_process_data):
12701         * process-nt.c (ensure_console_window_exists):
12702         * process-nt.c (compare_env):
12703         * process-nt.c (nt_create_process):
12704         * process-nt.c (nt_kill_process_by_pid):
12705         * process-nt.c (syms_of_process_nt):
12706         * process-nt.c (vars_of_process_nt):
12707         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12708         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12709         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12710         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12711         Move compare_env here from ntproc.c.
12712
12713         * process.c (Fprocess_send_region):
12714         Takes an optional fourth argument, BUFFER, which should fix some
12715         problems with call-process.
12716
12717         * syscommctrl.h:
12718         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12719
12720         * syswindows.h:
12721         Move ICC_BAR_CLASSES to syscommctrl.h.
12722         Add preliminary macros for MSWindows/Mule.  More to come.
12723
12724         * unexnt.c:
12725         * unexnt.c (unexec):
12726         open_output_file moved to nt.c.
12727
12728
12729 2000-05-05  Andy Piper  <andy@xemacs.org>
12730
12731         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12732         instance from the frame cache also since GC may catch up too late
12733         to make frame deletion sane.
12734
12735 2000-05-04  Andy Piper  <andy@xemacs.org>
12736
12737         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12738         (x_finalize_image_instance): ungcpro on deletion.
12739
12740         * glyphs.c (image_instantiator_format_create): give pointers a
12741         query geometry method so that the geometry is at least set.
12742
12743         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12744         initialize layouts if using widgets.
12745
12746 2000-05-03  Andy Piper  <andy@xemacs.org>
12747
12748         * nt.c: remove bogus reference to sysmmsystem.h
12749
12750         * gui-x.c (popup_selection_callback): fix no selection abort.
12751
12752 2000-05-02  Andy Piper  <andy@xemacs.org>
12753
12754         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12755         (mswindows_widget_instantiate): ditto.
12756
12757         * glyphs-widget.c (initialize_widget_image_instance): initialize
12758         children correctly.
12759         (widget_instantiate): cope with children and items in the same
12760         instance.
12761
12762         * glyphs.c (mark_image_instance): cope with children as a first
12763         class member.
12764         (image_instance_equal): ditto.
12765         (image_instance_hash): ditto.
12766         (image_instance_changed): ditto.
12767
12768 2000-04-30  Andy Piper  <andy@xemacs.org>
12769
12770         * glyphs.c (subwindow_query_geometry): new function. Return some
12771         defaults.
12772         (subwindow_instantiate): don't assign dimensions if none have been
12773         given.
12774         (image_instantiator_format_create): add subwindow_query_geometry.
12775         (print_image_instance): cope with layouts as widgets.
12776
12777 2000-04-29  Andy Piper  <andy@xemacs.org>
12778
12779         * frame.c (delete_frame_internal): call
12780         free_frame_subwindow_instance_cache so that all subwindows are
12781         finalized before their parent.
12782         (mark_frame): remove subwindow_cachels.
12783         (Fmake_frame): remove subwindow_cachel manipulation.
12784         (allocate_frame_core): subwindow_instance_cache is a weak list.
12785         (delete_frame_internal): set subwindow_instance_cache to nil.
12786
12787         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12788         finalization safe.
12789         (mswindows_finalize_image_instance): use the device
12790         not the domain as the domain may have died already.
12791
12792         * glyphs-x.c (x_finalize_image_instance): ditto.
12793         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12794         HEIGHT.
12795
12796         * redisplay-output.c (redisplay_unmap_subwindows): update for
12797         subwindow instance cache as a weak list.
12798         (redisplay_unmap_subwindows_maybe): ditto.
12799         (redisplay_unmap_subwindows_except_us): ditto.
12800
12801         * glyphs.c (unmap_subwindow): error checking will check the domain
12802         so don't deal with it here. Don't use cachels anymore.
12803         (map_subwindow): ditto.
12804         (update_subwindow_cachel_data): remove old accessor names.
12805         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12806         (Fresize_subwindow): don't update cachel.
12807         (mark_subwindow_cachels):
12808         (update_subwindow_cachel_data):
12809         (add_subwindow_cachel):
12810         (get_subwindow_cachel_index):
12811         (update_subwindow_cachel):
12812         (reset_subwindow_cachels):
12813         (mark_subwindow_cachels_as_not_updated): deleted.
12814         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12815         subwindow instance to the frame cache.
12816         (find_matching_subwindow): update for subwindow instance cache as
12817         a weak list.
12818         (update_widget_instances): ditto.
12819         (image_instance_type_to_mask):inlined.
12820         (free_frame_subwindow_instance_cache): new function. finalize all
12821         subwindows that are instantiated.
12822
12823         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12824         of cachel information.
12825         (IMAGE_INSTANCE_DISPLAY_X):
12826         (IMAGE_INSTANCE_DISPLAY_Y):
12827         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12828         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12829         (XIMAGE_INSTANCE_DISPLAY_X):
12830         (XIMAGE_INSTANCE_DISPLAY_Y):
12831         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12832         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12833         remove subwindow_cachel structure and function references.
12834         (image_instance_type_to_mask): inline from glyphs.c
12835
12836         * redisplay.c (redisplay_frame): remove subwindow_cachel
12837         references.
12838
12839         * frame.h (struct frame): remove subwindow_cachels.
12840         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12841
12842         * frameslots.h: add subwindow_instance_cache.
12843
12844         * window.c (replace_window): check subwindow cache of replacement.
12845         (window_unmap_subwindows_cache_mapper):
12846         (window_unmap_subwindows): new functions. Unmap all subwindows
12847         cached on this window.
12848         (mark_window_as_deleted): unmap all subwindows.
12849
12850 2000-04-27  Andy Piper  <andy@xemacs.org>
12851
12852         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12853
12854         * glyphs-widget.c (widget_layout): return something.
12855         (layout_layout): return something. Fail if not initialized.
12856         (layout_query_geometry): ditto.
12857         (image_instantiator_native_layout): new function. Initialized the
12858         native layout type.
12859         (widget_instantiate): don't do layout stuff here.
12860
12861         * glyphs.c (instantiate_image_instantiator): reorded calling or
12862         instantiate and post_instantiate with layout in between.
12863         (image_instance_layout): be more selective about deciding whether
12864         the layout has been done or not.
12865
12866         * glyphs.h (struct image_instantiator_methods): return a value
12867         from layout_method.
12868
12869 2000-04-26  Andy Piper  <andy@xemacs.org>
12870
12871         * glyphs.c (allocate_image_instance): make initial width and
12872         height unspecified. Set initialized to 0.
12873
12874         * syscommctrl.h new file. Encapsulates commctrl.h.
12875
12876         * syswindows.h new file. Encapsulates windows.h.
12877
12878         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12879         * nt.c: ditto.
12880         * console-msw.h: ditto.
12881
12882         * redisplay-tty.c (tty_output_display_block): remove layout references.
12883
12884         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12885         window handle rather than just the frame.
12886
12887         * glyphs.c (mark_image_instance): remove layout references.
12888         (print_image_instance): ditto.
12889         (image_instance_equal): ditto.
12890         (image_instance_hash): ditto.
12891         (decode_image_instance_type): ditto.
12892         (encode_image_instance_type): ditto.
12893         (image_instantiate): ditto.
12894         (allocate_glyph): ditto.
12895         (Fimage_instance_height): ditto.
12896         (Fimage_instance_width): ditto.
12897         (update_subwindow): ditto.
12898
12899         * redisplay-x.c (x_output_display_block): recode for layouts as
12900         widgets.
12901
12902         * redisplay-output.c (redisplay_output_layout): recode for layouts
12903         as widgets.
12904         (compare_runes): remove layout references.
12905
12906         * redisplay-msw.c (mswindows_output_display_block): recode for
12907         layouts as widgets.
12908
12909         * glyphs-widget.c (image_instantiator_layout): remove
12910         layout_possible_dest_types.
12911         (layout_possible_dest_types): deleted.
12912
12913         * glyphs.h (image_instance_type): remove layout references.
12914         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12915         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12916         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12917
12918 2000-04-25  Andy Piper  <andy@xemacs.org>
12919
12920         * glyphs-widget.c (image_instantiator_buttons):
12921         (image_instantiator_edit_fields):
12922         (image_instantiator_combo_box):
12923         (image_instantiator_scrollbar):
12924         (image_instantiator_progress_guage):
12925         (image_instantiator_tree_view):
12926         (image_instantiator_tab_control):
12927         (image_instantiator_labels):
12928         (image_instantiator_layout): call default post_instantiate method.
12929         (widget_post_instantiate): new function. Simply lays out the
12930         widgets.
12931
12932         * glyphs.h (struct image_instantiator_methods): add
12933         post_instantiate method.
12934
12935         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12936         method calls.
12937
12938 2000-04-23  Andy Piper  <andy@xemacs.org>
12939
12940         * glyphs.h (struct image_instantiator_methods): add
12941         decode_domain_method.
12942         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12943         derived from the domain.
12944         (IMAGE_INSTANCE_FRAME): new accessor.
12945         (XIMAGE_INSTANCE_FRAME): ditto.
12946
12947         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12948         instead of _SUBWINDOW_FRAME.
12949         (finalize_image_instance): ditto.
12950         (Fimage_instance_foreground): ditto.
12951         (Fimage_instance_background): ditto.
12952         (image_instantiate): ditto.
12953         (update_subwindow_cachel): ditto.
12954         (update_subwindow): ditto.
12955         (unmap_subwindow): ditto.
12956         (map_subwindow): ditto
12957         (subwindow_instantiate): ditto.
12958         * glyphs-msw.c (mswindows_update_widget): ditto.
12959         (mswindows_progress_gauge_instantiate): ditto.
12960         (mswindows_tab_control_update): ditto.
12961         * glyphs-x.c (x_update_widget): ditto.
12962         (x_widget_instantiate): ditto.
12963         (x_tab_control_instantiate): ditto.
12964         (x_tab_control_update): ditto.
12965         * event-msw.c (mswindows_wnd_proc): ditto
12966
12967         * glyphs-widget.c (image_instantiator_layout): use
12968         subwindow_decode_domain.
12969         (image_instantiator_buttons): ditto.
12970         (image_instantiator_edit_fields): ditto.
12971         (image_instantiator_combo_box): ditto.
12972         (image_instantiator_scrollbar): ditto.
12973         (image_instantiator_progress_guage): ditto.
12974         (image_instantiator_tree_view): ditto.
12975         (image_instantiator_tab_control): ditto.
12976         (image_instantiator_labels): ditto.
12977         (image_instantiator_layout): ditto.
12978
12979         * glyphs.c: add instance error checking to many functions.
12980         (instantiate_image_instantiator): decode device from cache_domain.
12981         (image_instantiate): partially rewrite by using
12982         decode_image_instantiator_domain to determine what domain the
12983         instance needs to be cached in.
12984         (decode_image_instantiator_domain): new function. Determine what
12985         domain the image needs to be cached in.
12986         (check_window_subwindow_cache): new error checking function.
12987         (check_instance_cache_mapper): ditto.
12988         (check_image_instance_structure): ditto.
12989         (subwindow_decode_domain): new function. Encodes a window as a
12990         subwindow's cache domain.
12991         (image_instantiator_format_create): use it for text and
12992         subwindows.
12993
12994 2000-04-21  Andy Piper  <andy@xemacs.org>
12995
12996         * glyphs.c (image_instance_device): new function.
12997         (image_instance_frame): new function.
12998         (image_instance_window): new function.
12999         (image_instance_live_p): new function.
13000
13001         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13002         cache to nil.
13003
13004         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13005         (IMAGE_INSTANCE_DOMAIN): new accessor.
13006         (XIMAGE_INSTANCE_DOMAIN): ditto.
13007
13008         * glyphs-x.c (x_finalize_image_instance): device->domain.
13009
13010         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13011         (mswindows_finalize_image_instance): ditto.
13012
13013         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13014         (gif_instantiate): ditto.
13015         (png_instantiate): ditto.
13016         (tiff_instantiate): ditto.
13017
13018         * glyphs.c (instantiate_image_instantiator): use domain rather
13019         than device.
13020         (mark_image_instance): device -> domain.
13021         (print_image_instance): ditto.
13022         (finalize_image_instance): ditto.
13023         (image_instance_equal): ditto.
13024         (allocate_image_instance): ditto.
13025         (Fcolorize_image_instance): ditto.
13026         (query_string_geometry): ditto.
13027         (image_instantiate): ditto
13028         (query_string_font): ditto.
13029         (image_instantiate): ditto.
13030         (update_subwindow): ditto.
13031         (unmap_subwindow): ditto.
13032         (map_subwindow): ditto.
13033         (subwindow_instantiate): ditto.
13034
13035         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13036         (DOMAIN_FRAME): ditto.
13037         (DOMAIN_WINDOW): ditto.
13038         (DOMAIN_LIVE_P): ditto.
13039         (XDOMAIN_DEVICE): ditto.
13040         (XDOMAIN_FRAME): ditto.
13041         (XDOMAIN_WINDOW): ditto.
13042
13043         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13044         a valid specifier domain.
13045
13046 2000-04-19  Andy Piper  <andy@xemacs.org>
13047
13048         * glyphs-widget.c (syms_of_glyphs_widget): remove
13049         widget-callback-current-channel.
13050         (vars_of_glyphs_widget): ditto.
13051         * glyphs.h: ditto
13052
13053         * gui.c (get_gui_callback): revert to previous behaviour.
13054
13055 2000-04-18  Andy Piper  <andy@xemacs.org>
13056
13057         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13058         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13059         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13060
13061         * glyphs.c (image_instance_equal): add margin_width.
13062         (image_instance_hash): ditto.
13063
13064         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13065         (layout_query_geometry): ditto.
13066         (layout_layout): ditto.
13067         (syms_of_glyphs_widget): add margin-width.
13068         (image_instantiator_layout): allow margin-width.
13069
13070         * glyphs.c (update_widget_instances): make a normal function.
13071         (syms_of_glyphs): remove Qupdate_widget_instances.
13072         * glyphs.h: ditto.
13073
13074         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13075         so that we don't corrupt ideas about the last event or
13076         command. Remove widget-callback-current-channel fiddling.
13077         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13078
13079 2000-05-01  Martin Buchholz <martin@xemacs.org>
13080
13081         * XEmacs 21.2.33 is released.
13082
13083 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13084
13085         * make-src-depend: Allow dots in header file name.
13086
13087 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13088
13089         * mule-charset.h (struct charset_lookup): Add
13090         next_allocated_1_byte_leading_byte and
13091         next_allocated_2_byte_leading_byte.
13092         * mule-charset.c: Move above two variables so that those values
13093         will be dumped.
13094
13095 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13096
13097         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13098         when string length is zero.
13099         (find_charsets_in_emchar_string): Ditto.
13100
13101 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13102
13103         * lisp.h: extern Qdialog and Qmenubar.
13104
13105         * gui-x.c: added events.h.
13106                 also fixed typo which made the file uncompilable.
13107
13108         * general.c: Added Qmenubar and Qdialog
13109
13110 2000-04-28  Ben Wing  <ben@xemacs.org>
13111
13112         * frame-msw.c (mswindows_init_frame_1):
13113         * frame-msw.c (mswindows_mark_frame):
13114         * event-msw.c (mswindows_enqueue_dispatch_event):
13115         * console-msw.h:
13116         * console-msw.h (struct mswindows_frame):
13117         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13118         there are now three hash tables for callbacks.
13119         mswindows_enqueue_dispatch_event is no longer static.
13120
13121         * dialog-x.c (maybe_run_dbox_text_callback):
13122         * dialog-x.c (dbox_descriptor_to_widget_value):
13123         switch to new cons3 form for callbacks.
13124
13125         * glyphs-msw.c (mswindows_register_gui_item):
13126         * glyphs-msw.c (mswindows_widget_instantiate):
13127         * glyphs-msw.c (add_tree_item):
13128         * glyphs-msw.c (add_tab_item):
13129         new image instance parameter, so it can be passed to callback-ex.
13130         respect :callback-ex as well as :callback.
13131
13132         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13133         add :callback-ex.
13134
13135         * glyphs.c (print_image_instance):
13136         prettify, e.g. now prints widget type.
13137
13138         * gui-x.h:
13139         certain funs have new image instance parameter.
13140
13141         * gui.c:
13142         * gui.c (get_gui_callback):
13143         * gui.c (gui_item_add_keyval_pair):
13144         * gui.c (gui_item_init):
13145         * gui.c (gui_add_item_keywords_to_plist):
13146         * gui.c (mark_gui_item):
13147         * gui.c (gui_item_hash):
13148         * gui.c (gui_item_equal):
13149         * gui.c (copy_gui_item):
13150         * gui.c (syms_of_gui):
13151         recognize callback-ex in a number of places.
13152         also, fix the annoying "can't get out of yes-no dialog" bug.
13153
13154         * gui.h:
13155         * gui.h (struct Lisp_Gui_Item):
13156         recognize callback-ex in a number of places.
13157
13158         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13159         new parameter in button_item_to_widget_value.
13160
13161         * glyphs-x.c (x_update_widget):
13162         * glyphs-x.c (x_button_instantiate):
13163         * glyphs-x.c (x_button_update):
13164         * glyphs-x.c (x_progress_gauge_instantiate):
13165         * glyphs-x.c (x_edit_field_instantiate):
13166         * glyphs-x.c (x_combo_box_instantiate):
13167         * glyphs-x.c (x_tab_control_instantiate):
13168         * glyphs-x.c (x_label_instantiate):
13169         new image instance parameter in various places.
13170
13171         * event-Xt.c:
13172         * event-Xt.c (enqueue_Xt_dispatch_event):
13173         this fun gets exported.
13174
13175         * gui-msw.c:
13176         * gui-msw.c (mswindows_handle_gui_wm_command):
13177         handle both :callback and :callback-ex, and generate our own
13178         event because it's one of the callback-ex arguments.
13179
13180         * gui-x.c:
13181         * gui-x.c (popup_selection_callback):
13182         handle both :callback and :callback-ex, and generate our own
13183         event because it's one of the callback-ex arguments.
13184         * gui-x.c (button_item_to_widget_value):
13185         * gui-x.c (gui_items_to_widget_values_1):
13186         * gui-x.c (gui_item_children_to_widget_values):
13187         * gui-x.c (gui_items_to_widget_values):
13188         new image instance parameter in various places.
13189
13190         * fns.c (Freplace_list):
13191         fix small typo in doc string.
13192
13193         * lisp.h:
13194         declare enqueue_Xt_dispatch_event.
13195
13196 2000-04-28  Ben Wing  <ben@xemacs.org>
13197
13198         * buffer.c:
13199         * buffer.c (Frecord_buffer):
13200         * buffer.c (syms_of_buffer):
13201         delete record-buffer-hook.
13202
13203         * fns.c:
13204         * fns.c (Freplace_list):
13205         * fns.c (syms_of_fns):
13206         new primitive replace-list.
13207
13208         * frameslots.h:
13209         slot for old buffer-alist.
13210
13211         * lisp.h:
13212         exfun replace-list.
13213
13214         * redisplay.c:
13215         * redisplay.c (redisplay_frame):
13216         * redisplay.c (syms_of_redisplay):
13217         * redisplay.c (vars_of_redisplay):
13218         new hook buffer-list-changed-hook.
13219         call it.
13220
13221 2000-04-27  Ben Wing  <ben@xemacs.org>
13222
13223         * extents.h: extern in_modeline_generation.
13224
13225         * redisplay.c (generate_formatted_string_db): set
13226         in_modeline_generation.
13227
13228         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13229         flags if in modeline generation.  otherwise frame-modified-tick
13230         is ticked far too often.
13231         Declare in_modeline_generation.
13232
13233 2000-04-26  Ben Wing  <ben@xemacs.org>
13234
13235         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13236         option.
13237         (vars_of_emacs): add quick-build as an error-checking option.
13238         A bit kludgy, but there doesn't seem much point in creating
13239         a real var for this.
13240
13241         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13242
13243 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13244
13245         * redisplay.h (struct display_line): Add a new variable,
13246         line_continuation.
13247
13248         * redisplay.c (create_text_block): Set dl->line_continuation if
13249         the line continues.
13250         (create_string_text_block): Ditto.
13251         (regenerate_window_incrementally): Use line_continuation instead
13252         of searching continuation glyph.
13253         (add_margin_runes): Call add_glyph_rune.
13254         (add_glyph_rune): Handle margin glyph.
13255
13256 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13257
13258         * filelock.c (fill_in_lock_file_name):
13259         ANSIfy.
13260         Check for IS_ANY_SEP instead of '/'.
13261         (lock_file_1):
13262         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13263         Never check errno without first seeing that system call failed.
13264         (unlock_file): Add GCPRO.
13265         (Flock_buffer): Fix docstring.
13266         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13267
13268 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13269
13270         * sysdep.c (get_pty_max_bytes):
13271         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13272         strings longer than 252 bytes.
13273
13274         * md5.c: Unconditionally include ANSI header <limits.h>
13275
13276         * glyphs-x.c (convert_EImage_to_XImage):
13277         * lisp-union.h (union Lisp_Object):
13278         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13279
13280 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13281
13282         * filelock.c (current_lock_owner): Remove unused variable o, p.
13283
13284 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13285
13286         * callint.c: Remove multiply defined symbol Qlet
13287         (syms_of_callint): ditto.
13288
13289 2000-04-14  Andy Piper  <andy@xemacs.org>
13290
13291         * general.c (syms_of_general): add last-command, this-command, let
13292         and funcall.
13293
13294         * lisp.h: declare various symbols.
13295
13296         * glyphs.h: declare Qwidget_callback_current_channel;
13297
13298         * glyphs-widget.c (syms_of_glyphs_widget): add
13299         Qgui_callback_current_channel.
13300         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13301
13302         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13303         widget-callback-current-channel when invoking the interactive
13304         arg. Also bind last-command and next-command when invoking the
13305         widget updates.
13306         * gui-x.c (popup_selection_callback): ditto.
13307
13308         * gui.c (get_gui_callback): massage args so that we are always
13309         calling eval. This allows us to add our own variable bindings
13310         outside.
13311
13312         * glyphs-x.c (x_button_instantiate): use
13313         gui_items_to_widget_values since this is GC safe.
13314         (x_progress_gauge_instantiate): ditto.
13315         (x_edit_field_instantiate): ditto.
13316         (x_label_instantiate): ditto.
13317
13318         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13319         (emacs_Xt_event_widget_focus_out): new function
13320         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13321         focus.
13322         (emacs_Xt_event_add_widget_actions): new function. add focus
13323         functions as actions.
13324         (init_event_Xt_late): use it.
13325
13326 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13327
13328         * event-stream.c (Fdispatch_event): Doc fix.
13329
13330 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13331
13332         * postgresql.c: Remove all references to PQsetenv*.
13333
13334         * postgresql.h: Remove references to PGsetenvHandler object.
13335         * lrecord.h (lrecord_type): Ditto.
13336
13337 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13338
13339         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13340         real_heigh and real_width members, and accessor macros for these.
13341
13342         * glyphs-msw.c (init_image_instance_geometry): New function.
13343         (init_image_instance_from_dibitmap): Use it.
13344         (mswindows_resource_instantiate): Use it.
13345         (init_image_instance_from_xbm_inline): Use it.
13346         (mswindows_initialize_image_instance_mask): Use real bitmap
13347         geometry.
13348         (mswindows_create_resized_bitmap): Ditto.
13349         (mswindows_create_resized_mask): Ditto.
13350
13351         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13352         and bitmap to their surface size.
13353
13354 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13355
13356         * process-unix.c (unix_send_process): Guard against process MIA
13357         after Faccept_process_output.
13358
13359 2000-04-11  Ben Wing  <ben@xemacs.org>
13360
13361         * eval.c (unbind_to_hairy): fix brokenness introduced by
13362         nanosecond speed improvements.
13363
13364 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13365
13366         * sunplay.c (init_device): To play sounds correctly, the device
13367         apparently needs to be initialized at least once by XEmacs.  Make
13368         it so.
13369
13370 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13371
13372         * redisplay.c (add_margin_runes): Add text image glyph
13373           handling.
13374
13375 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13376
13377         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13378         gcc is newer than 2.5.
13379
13380 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13381
13382         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13383
13384         * fns.c (size_bit_vector):
13385         * alloc.c (size_vector):
13386         (make_vector_internal):
13387         (make_bit_vector_internal):
13388         (sweep_bit_vectors_1):
13389         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13390
13391 2000-04-06  Andy Piper  <andy@xemacs.org>
13392
13393         * gmalloc.c (malloc): undo previous change.
13394         (malloc): ditto.
13395         (free): ditto.
13396         (realloc): ditto.
13397
13398 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13399
13400         * line-number.c (buffer_line_number): Revert to former version.
13401
13402 2000-04-06  Andy Piper  <andy@xemacs.org>
13403
13404         * gmalloc.c (malloc): add error checking.
13405         (malloc): ditto.
13406         (free): ditto.
13407         (realloc): ditto.
13408
13409         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13410         button_item_to_widget_value arg.
13411
13412         * glyphs-x.c (x_button_instantiate): add extra
13413         button_item_to_widget_value arg.
13414         (x_progress_gauge_instantiate): ditto.
13415         (x_edit_field_instantiate): ditto.
13416         (x_label_instantiate): ditto.
13417
13418         * gui-x.c (gui_items_to_widget_values_1): add extra
13419         button_item_to_widget_value arg.
13420         (button_item_to_widget_value): add extra menu_item_p arg.
13421
13422         * gui-x.h: change signature of button_item_to_widget_value.
13423
13424         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13425         button_item_to_widget_value arg.
13426
13427 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13428
13429         * buffer.h (struct buffer): auto_save_modified should be long.
13430
13431 2000-04-05  Andy Piper  <andy@xemacs.org>
13432
13433         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13434         type.
13435         (button_query_geometry): give a little more room so that athena
13436         buttons fit.
13437
13438 2000-04-05  Andy Piper  <andy@xemacs.org>
13439
13440         * faces.c (complex_vars_of_faces): The widget face should inherit
13441         the font of the gui-element face.
13442
13443 2000-04-04  Andy Piper  <andy@xemacs.org>
13444
13445         * glyphs-x.c (x_button_update): new function. unconditionally
13446         update a button's state when the instance is dirty.
13447         (image_instantiator_format_create_glyphs_x): add x_button_update.
13448         (x_widget_instantiate): remove old resize cruft.
13449
13450 2000-04-02  Andy Piper  <andy@xemacs.org>
13451
13452         * frame.c (change_frame_size_1): The introduction of gutters means
13453         that we need to allow 0 as a potential frame dimension.
13454
13455 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13456
13457         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13458         image glyph if allow_cursor.
13459         (add_hscroll_rune): Don't allow cursor to border glyph.
13460         (create_text_block): Ditto.
13461
13462         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13463         text not in buffer.
13464         (redisplay_output_layout): Call ensure_face_cachel_complete for
13465         text image glyph.
13466
13467
13468 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13469
13470         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13471
13472         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13473         not in buffer
13474
13475         * redisplay-tty.c (tty_output_display_block): Delete the routine
13476         for text image glyph
13477         * redisplay-x.c (x_output_display_block): ditto
13478         * redisplay-msw.c (mswindows_output_display_block): ditto
13479
13480 2000-02-02  Mike Alexander  <mta@arbortext.com>
13481
13482         Note: Some of these were committed by accident as part of other
13483         patches.
13484
13485         * regex.c (regex_compile): Avoid compiler warnings.
13486
13487         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13488
13489         * nt.h: Declare term_ntproc correctly.
13490
13491         * nt.c: Remove incorrect declaration of get_home_directory which
13492         is declared correctly in lisp.h.
13493
13494         * keymap.c (get_keyelt): Avoid compiler warnings.
13495         (raw_lookup_key_mapper): Avoid compiler warnings.
13496
13497         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13498
13499         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13500
13501         * filemode.c (mode_string): Avoid compiler warnings.
13502
13503         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13504         avoid warning.
13505
13506         * events-mod.h: Undef some things that winuser.h defines differently.
13507
13508         * data.c (Faset): Avoid compiler warnings.
13509
13510         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13511
13512 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13513
13514         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13515         Fall through to simple beep on error.
13516         Replace "extern" by real header file.
13517
13518         * linuxplay.c: Use nativesound.h
13519         (play_sound_data): Return error code. Be less verbose on error.
13520
13521         * sunplay.c: Use nativesound.h
13522         (play_sound_data): Return error code. Be less verbose on error.
13523
13524         * ntplay.c: Use nativesound.h
13525         (play_sound_data): Return fake error code
13526
13527         * sgiplay.c: Use nativesound.h
13528         (play_sound_data): Return error code
13529
13530         * hpplay.c: Use nativesound.h, partially implement
13531         new error code. Break compilation until finished.
13532         (play_sound_data): error code.
13533
13534         * nativesound.h (play_sound_file):
13535           (play_sound_data): Prototype in new header.
13536
13537 2000-03-31  Andy Piper  <andy@xemacs.org>
13538
13539         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13540         for toggle and radio buttons.
13541         (image_instantiator_buttons): use it.
13542
13543 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13544
13545         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13546         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13547         found. Scrollbar event probably belonged to some old config.
13548
13549 2000-03-31  Andy Piper  <andy@xemacs.org>
13550
13551         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13552         than 1.
13553         (initialize_widget_image_instance): default layout to
13554         LAYOUT_HORIZONTAL rather than 0.
13555         (widget_instantiate): reverse the item list at the end rather than
13556         every iteration.
13557         (layout_layout): re-code for the border text at the front of the
13558         item list rather than at the end.
13559         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13560         provided by the user.
13561         (widget_query_geometry): comment.
13562
13563 2000-03-30  Andy Piper  <andy@xemacs.org>
13564
13565         * glyphs-widget.c (image_instantiator_layout): allow standard
13566         widget keywords in layouts.
13567
13568         * gutter.c (output_gutter): cope with nil gutter contents.
13569
13570         * frame.c (Fset_frame_properties): add gutter docs.
13571
13572 2000-03-29  Andy Piper  <andy@xemacs.org>
13573
13574         * toolbar-msw.c (TBSTYLE_FLAT): add.
13575         (mswindows_output_toolbar): minor fiddling.
13576
13577 2000-03-29  Andy Piper  <andy@xemacs.org>
13578
13579         * gutter.c (output_gutter): force gutter size recalculation if
13580         what we are trying to display won't fit.
13581         (update_gutter_geometry): new function. A per-gutter version of
13582         update_frame_gutter_geometry.
13583         (update_frame_gutter_geometry): use it.
13584         (redraw_exposed_gutter): add extra debugging output.
13585
13586 2000-03-28  Mike Alexander  <mta@arbortext.com>
13587
13588         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13589         (pdump_file_unmap): Implement it on Windows
13590         (pdump_file_get): Save alocated handles for pdump_file_unmap
13591
13592 2000-03-28  Andy Piper  <andy@xemacs.org>
13593
13594         * gui.c (get_gui_callback): treat Quit specially.
13595
13596 2000-03-27  Andy Piper  <andy@xemacs.org>
13597
13598         * glyphs.c (image_instantiate): be careful to check in the same
13599         way we assigned.
13600
13601 2000-03-27  Didier Verna  <didier@xemacs.org>
13602
13603         * config.h.in: define the proper SMART_INCLUDE macro.
13604         handle renaming of `foo_h_path' to `foo_h_file'.
13605
13606         * database.c: ditto.
13607
13608         * emacs.c: ditto.
13609
13610         * linuxplay.c: ditto.
13611
13612         * terminfo.c: ditto.
13613
13614         * tooltalk.h: ditto.
13615
13616 2000-03-27  Andy Piper  <andy@xemacs.org>
13617
13618         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13619         gets updated whenever the face might have changed.
13620
13621 2000-03-26  Mike Alexander  <mta@arbortext.com>
13622
13623         * dumper.c (pdump_resource_free): Fix the comment.
13624
13625 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13626
13627         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13628
13629 2000-03-22  Mike Alexander  <mta@arbortext.com>
13630
13631         * dumper.c: Include Windows headers on Windows
13632         (pdump_resource_free): Add a body to the function
13633         (pdump_load): exe_name -> exe_path and add some comments.
13634
13635 2000-03-25  Mike Alexander  <mta@arbortext.com>
13636
13637         * gui.c (copy_gui_item_tree): Return a value in all cases
13638
13639 2000-03-21  Didier Verna  <didier@xemacs.org>
13640
13641         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13642         lwlib/config.h.in.
13643         (SMART_INCLUDE): new macro.
13644         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13645         the proper location.
13646
13647         * postgresql.c: use it.
13648
13649         * inline.c: ditto.
13650
13651 2000-03-24  Andy Piper  <andy@xemacs.org>
13652
13653         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13654         do this.
13655
13656 2000-03-24  Andy Piper  <andy@xemacs.org>
13657
13658         * redisplay-output.c (compare_runes): use image_instance_changed
13659         to detect changes. Do not depend on glyphs_changed, only depend on
13660         dirtiness.
13661          (redisplay_output_layout): add debug messages.
13662         (compare_runes): ditto.
13663
13664         * glyphs.h: declare new functions.
13665         (struct Lisp_Image_Instance): remove percent and associated
13666         accessors.
13667
13668         * gui.h: declare new copying functions.
13669
13670         * gui.c (copy_gui_item_tree): new function.
13671         (copy_gui_item): new function.
13672         (gui_item_id_hash): revert to standard hash.
13673         (gui_item_hash): ditto.
13674         (gui_item_hash_internal): deleted.
13675         (mark_gui_item): mark value.
13676         (gui_item_add_keyval_pair): add value.
13677         (gui_item_init): ditto.
13678         (gui_add_item_keywords_to_plist): ditto.
13679         (gui_item_equal): ditto.
13680         (syms_of_gui): add Q_value.
13681
13682         * glyphs-x.c (x_progress_gauge_update): use pending items and
13683         value for setting the state.
13684         (x_update_widget): don't set items from pending here.
13685
13686         * glyphs-widget.c (update_widget): update items here.
13687         (progress_gauge_set_property): use items for storing value. Put
13688         new value in pending items.
13689
13690         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13691         items for new value. Convert percent -> value.
13692         (mswindows_tab_control_update): don't update items here.
13693
13694         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13695         (update_subwindow): ditto.
13696         (image_instance_changed): new function. Compare hash values and
13697         past and present widget items.
13698         (image_instantiate): We more careful about where we instantiate
13699         things.
13700         (image_instantiate): add error checking.
13701
13702         * gutter.c (syms_of_gutter): use -hook.
13703
13704 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13705
13706         * console-tty.c (Fset_console_tty_input_coding_system): Use
13707         Qkeyboard.
13708         (Fset_console_tty_output_coding_system): Use Qterminal.
13709         (tty_init_console): Use Qkeyboard and Qterminal.
13710
13711 2000-03-21  Ben Wing  <ben@xemacs.org>
13712
13713         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13714         From Mike Alexander <mta@arbortext.com>.
13715
13716 2000-03-21  Ben Wing  <ben@xemacs.org>
13717
13718         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13719         process brokenness.  Proper implementation to come.
13720         * callproc.c:
13721         Rename call-process-internal to old-call-process-internal.
13722         New impl. in process.el.
13723
13724 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13725
13726         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13727
13728 2000-03-20  Andy Piper  <andy@xemacs.org>
13729
13730         * glyphs.c (full_list_hash): make hashes of the same elements in
13731         different orders return different values.
13732
13733 2000-03-20  Martin Buchholz <martin@xemacs.org>
13734
13735         * XEmacs 21.2.32 is released.
13736
13737 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13738
13739         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13740         (DFC_MALLOC_USE_CONVERTED_DATA):
13741         Add aliasing-safe casts to allow use with char* or unsigned char*
13742         lvalues.
13743
13744         * eldap.c (Fldap_open):
13745         (Fldap_search_basic):
13746         (Fldap_add):
13747         (Fldap_modify):
13748         Make C++-compilable.
13749         Make sure GCPRO'ed variables are initialized.
13750         Use temp variables to avoid repeated calls to Flength.
13751
13752 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13753
13754         * sysfile.h:
13755         Make sure PATH_MAX is always defined.
13756         Include limits.h for PATH_MAX.
13757         Deprecate use of MAXPATHLEN.
13758
13759 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13760
13761         * emacs.c: Add reinit_vars_of_fileio.
13762         * symsinit.h: Add reinit_vars_of_fileio.
13763         * fileio.c (reinit_vars_of_fileio): New.
13764         * fileio.c (Fmake_temp_name):
13765         Initialize temp_name random number from microseconds to make
13766         collisions even less likely.  Initialize always at process startup
13767         time.  (make-temp-name) used to return the same file name twice in
13768         a row when PDUMP.
13769         Random stylistic fiddling.
13770         Comment fixes.
13771
13772 2000-03-20  Andy Piper  <andy@xemacs.org>
13773
13774         * glyphs.c (image_instantiate): allow text glyphs to be
13775         instantiated in the minibuffer window.
13776
13777 2000-03-19  Andy Piper  <andy@xemacs.org>
13778
13779         * glyphs.c (image_instance_hash): be careful about which items we
13780         hash on.
13781
13782         * glyphs-widget.c (tab_control_set_property): record into pending
13783         items rather than the actual items.
13784
13785         * glyphs-x.c (x_update_widget): use pending items to update with.
13786
13787         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13788         to update with.
13789
13790         * glyphs.c (mark_image_instance): mark pending items.
13791
13792         * window.c (Fset_window_configuration): record the buffer.
13793         (Fselect_window): totally revert previous change which breaks many
13794         things.
13795
13796 2000-03-18  Andy Piper  <andy@xemacs.org>
13797
13798         * glyphs-msw.c (mswindows_tab_control_update): force selected
13799         item.
13800
13801         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13802         window domain cache, otherwise we get inconsistencies at
13803         startup. There is something fishy at startup which can lead to the
13804         minibuffer being the selected window when the gutter content is
13805         instantiated.
13806
13807         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13808         gcpros.
13809         (parse_gui_item_tree_children): ditto.
13810         (parse_gui_item_tree_item): ditto.
13811
13812         * glyphs.c (Fupdate_widget_instances): return something.
13813
13814 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13815
13816         * window.c (Fselect_window): Undo 2000-03-17 change.
13817
13818 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13819
13820         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13821         against v7.0 libraries.  Insta-coredump city until the postgres
13822         folks fix it.
13823
13824 2000-03-17  Andy Piper  <andy@xemacs.org>
13825
13826         * faces.c (complex_vars_of_faces): don't give the widget face an
13827         inherited background pixmap.
13828
13829         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13830         selected item.
13831
13832         * event-stream.c (Fdispatch_non_command_events): return something.
13833
13834         * gutter.c (output_gutter): use widget face.
13835         (clear_gutter): ditto.
13836
13837         * NEWS: adjust again.
13838
13839         * window.c (Fselect_window): make sure this runs to completion to
13840         avoid oddities with Fset_window_configuration.
13841         (Fcurrent_window_configuration): in general do not save the
13842         minibuffer as the selected window.
13843
13844         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13845
13846 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13847
13848         * emacs.c (Frunning_temacs_p): Revert previous patch.
13849         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13850
13851 2000-03-16  Andy Piper  <andy@xemacs.org>
13852
13853         * glyphs-x.c (x_tab_control_update): if no widget values then
13854         return.
13855
13856         * NEWS: update for new features.
13857
13858         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13859         synthetic event to the native system.
13860         (reinit_vars_of_event_Xt): set force_event_pending to
13861         emacs_Xt_force_event_pending.
13862
13863         * events.h (struct event_stream): add force_event_pending.
13864
13865         * specifier.c (recompute_one_cached_specifier_in_window): add
13866         comment.
13867
13868         * redisplay.c (redisplay_frame): don't call
13869         update_frame_subwindows. Reset subwindow cachels when
13870         subwindows_changed, removing this was an optimization too far.
13871
13872         * redisplay-output.c (compare_runes): reorganize so that we catch
13873         glyph changes when we want them. Set optimize_output when this
13874         would help layouts.
13875         (redisplay_output_layout): remove frame_really_changed, use
13876         optimize_output instead.
13877
13878         * redisplay-msw.c (mswindows_output_display_block): reset
13879         optimize_output after outputting a glyph.
13880         * redisplay-x.c (x_output_display_block): ditto.
13881         * redisplay-tty.c (tty_output_display_block): ditto.
13882
13883         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13884         functions.
13885         (gutter_specs_changed): do specific gutter positions.
13886         (top_gutter_specs_changed): new function. Only update the
13887         specified gutter specs.
13888         (bottom_gutter_specs_changed): ditto.
13889         (left_gutter_specs_changed): ditto.
13890         (right_gutter_specs_changed): ditto.
13891
13892         * gui.c (gui_item_hash_internal): new function, does a real hash.
13893         (gui_item_id_hash): use it.
13894         (gui_item_hash): hash the eval'ed gui_item.
13895
13896         * gui-x.c (popup_selection_callback): send an eval event to call
13897         Fupdate_widget_instances.
13898
13899         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13900         to call Fupdate_widget_instances.
13901
13902         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13903         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13904
13905         * glyphs.c: (update_frame_subwindows): deleted.
13906         (Fupdate_widget_instances): new function for updating the dirty
13907         state of widgets that might have changed.
13908         (syms_of_glyphs): add Qupdate_widget_instances.
13909         (full_list_hash): hash a list completely.
13910         (image_instance_hash): use it for items and properties.
13911
13912         * frame-msw.c (mswindows_size_frame_internal): remove unused
13913         variable.
13914
13915         * faces.h (struct face_cachel): fix comment.
13916
13917         * event-stream.c (Fdispatch_non_command_events): new
13918         function. Process non-command events, forcing an event cycle
13919         beforehand.
13920         (syms_of_event_stream): declare.
13921         (event_stream_force_event_pending): new function. Force an event
13922         on the native event queue so that an event cycle will occur next
13923         time we check.
13924
13925         * event-msw.c:
13926         (struct ntpipe_shove_stream):
13927         (mswindows_enqueue_dispatch_event):
13928         (mswindows_dequeue_dispatch_event):
13929         (mswindows_cancel_dispatch_event):
13930         (mswindows_pump_outstanding_events):
13931         (mswindows_drain_windows_queue):
13932         (mswindows_handle_paint):
13933         (mswindows_wnd_proc):
13934         (mswindows_key_to_emacs_keysym):
13935         (get_process_input_waitable):
13936         (emacs_mswindows_delete_stream_pair): re-indent file.
13937         (mswindows_need_event): do not process further fds if the windows
13938         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13939         fixes the 100% cpu problem.
13940         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13941
13942 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13943
13944         * alloc.h: New.
13945         * dumper.h: New.
13946         * dumper.c: New.
13947
13948         * emacs.c: Moved dump file searching to dumper.c.
13949         (Frunning_temacs_p): Fixed.
13950
13951         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13952         last_lrecord_type_index_assigned.
13953
13954 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13955
13956         * symsinit.h: Added reinit parameter to init_console_stream
13957         declaration.
13958
13959         * lisp.h: Added file parameter to pdump_load declaration.
13960
13961         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13962         support.  Added dump file searching.
13963
13964         * config.h.in: Added EMACS_PROGNAME.
13965
13966         * console-stream.c (init_console_stream): Fix reinitialisation
13967         when running from temacs.
13968
13969         * alloc.c (pdump): Add id support.
13970         (pdump_load): Add file parameter and signature/id support.
13971
13972         * Makefile.in.in: Add full pdump support.
13973
13974 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13975
13976         * postgresql.c: Update documentation to reflect latest code
13977         status.
13978         (print_result): Show tuple counts in printed representation when
13979         appropriate.
13980         (Fpq_put_nbytes): MULE-ize.
13981         (Fpq_get_line_async): Ditto.
13982
13983 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13984
13985         * postgresql.c (Fpq_lo_import): Fix return value.
13986         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13987
13988 2000-03-13  Ben Wing  <ben@xemacs.org>
13989
13990         * alloc.c (pdump_load):
13991         Fix compile warning under mswin.
13992
13993 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13994
13995         * postgresql.c: Mule-ization, bug fixes.
13996         Use PG_CODING to encapsulate coding system name changes.
13997         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13998         (pg-coding-system): Create.
13999
14000         (Fpq_conn_defaults): Mule-ize.
14001         (Fpq_connectdb): Mule-ize & bug fix.
14002         (Fpq_connect_start): Mule-ize.
14003         (Fpq_set_client_encoding): Mule-ize.
14004         (Fpq_finish): Document `DEAD' connection status.
14005         (Fpq_clear): Ditto.
14006         (Fpq_pgconn): Mule-ize.
14007         (Fpq_exec): Mule-ize & bug fix.
14008         (Fpq_send_query): Ditto.
14009         (Fpq_get_result): Ditto.
14010         (Fpq_res_status): Mule-ize.
14011         (Fpq_result_error_message): Mule-ize.
14012         (Fpq_ntuples): fix comments.
14013         (Fpq_fname): Mule-ize.
14014         (Fpq_fnumber): Mule-ize.
14015         (Fpq_ftype): fix comments.
14016         (Fpq_get_value): Mule-ize.
14017         (Fpq_cmd_status): Ditto.
14018         (Fpq_cmd_tuples): Ditto.
14019         (Fpq_oid_value): Ditto.
14020         (Fpq_notifies): Ditto.
14021         (Fpq_lo_import): Ditto.
14022         (Fpq_lo_export): Ditto.
14023         (Fpq_get_line): Ditto.
14024         (Fpq_put_line): Mule-ize and bug fix.
14025         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14026
14027 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14028
14029         * postgresql.c (vars_of_postgresql): Mule-ize.
14030         (Fpq_conn_defaults): Ditto.
14031
14032 2000-03-12  Ben Wing  <ben@xemacs.org>
14033
14034         * alloc.c (Fmake_byte_code):
14035         * alloc.c (debug_string_purity_print):
14036         * alloc.c (pdump_backtrace):
14037         * alloc.c (pdump_get_indirect_count):
14038         * alloc.c (pdump_register_sub):
14039         * alloc.c (pdump_register_object):
14040         * alloc.c (pdump_register_struct):
14041         * alloc.c (pdump_dump_data):
14042         * alloc.c (pdump_reloc_one):
14043         Minor cleanups.
14044
14045         * console-msw.c:
14046         * console-msw.c (GetConsoleHwnd):
14047         * console-msw.c (msw_hide_console):
14048         * console-msw.c (msw_show_console):
14049         * console-msw.c (msw_ensure_console_buffered):
14050         * console-msw.c (msw_output_console_string):
14051         * console-msw.c (console_type_create_mswindows):
14052
14053         a) Added functions to manipulate the console window for use with
14054         shell support.
14055
14056         b) Added support for writing text to the console, which is now
14057         used under Windows when xemacs is not being run non-interactively,
14058         to write text that would otherwise be destined for stdout because
14059         under these circumstances, text written to stdout tends to
14060         disappear and not be seen.
14061
14062         * console-msw.h:
14063         * event-Xt.c:
14064         * event-Xt.c (x_event_to_emacs_event):
14065         * event-Xt.c (describe_event_window):
14066         * events-mod.h (XEMACS_MOD_CONTROL):
14067         * events.c:
14068         * events.c (Fmake_event):
14069         * events.c (character_to_event):
14070         * events.c (event_to_character):
14071         * events.c (format_event_object):
14072         * events.c (Fevent_modifiers):
14073         * events.h:
14074         * events.h (struct key_data):
14075         * events.h (struct button_data):
14076         * events.h (struct misc_user_data):
14077         * frame-x.c (Fcde_start_drag_internal):
14078         * frame-x.c (Foffix_start_drag_internal):
14079         * gpmevent.c (Freceive_gpm_event):
14080         * keymap.c:
14081         * keymap.c (bucky_sym_to_bucky_bit):
14082         * keymap.c (control_meta_superify):
14083         * keymap.c (make_key_description):
14084         * keymap.c (keymap_lookup_directly):
14085         * keymap.c (create_bucky_submap):
14086         * keymap.c (keymap_store):
14087         * keymap.c (define_key_check_and_coerce_keysym):
14088         * keymap.c (define_key_parser):
14089         * keymap.c (define_key_alternate_name):
14090         * keymap.c (Fdefine_key):
14091         * keymap.c (raw_lookup_key_mapper):
14092         * keymap.c (struct map_keymap_unsorted_closure):
14093         * keymap.c (map_keymap_unsorted_mapper):
14094         * keymap.c (map_keymap_sort_predicate):
14095         * keymap.c (map_keymap_sorted):
14096         * keymap.c (accessible_keymaps_mapper_1):
14097         * keymap.c (where_is_recursive_mapper):
14098         * keymap.c (describe_map_mapper):
14099         * keymap.c (describe_map_sort_predicate):
14100         * keymap.c (describe_map):
14101         * keymap.c (complex_vars_of_keymap):
14102         And a number of other files, the key modifier preprocessor
14103         constants that xemacs uses have names that conflict with constants
14104         defined under MS Windows for other purposes, so they were renamed
14105         to begin with the prefix XEMACS_. The variables that hold such
14106         modifiers were changed to consistently be of type int to fix
14107         various compile warnings.
14108
14109         * console.c (complex_vars_of_console):
14110         * device.c:
14111         * device-msw.c:
14112         * device-msw.c (mswindows_finish_init_device):
14113         * device-msw.c (msw_get_workspace_coords):
14114         * device-msw.c (mswindows_device_system_metrics):
14115         and various other files, added support for a new
14116         device property called offset-workspace which returns the position
14117         of the upper left corner of the workspace area and goes along with
14118         the existing size-workspace property.
14119
14120         * dialog-msw.c:
14121         * dialog-msw.c (push_bufbyte_string_as_unicode):
14122         * dialog-msw.c (mswindows_popup_dialog_box):
14123         Added support for XEmacs-style accelerator specifications in
14124         button text.  Note: I didn't add support for this under X Windows,
14125         and somebody needs to do this.
14126
14127         * dialog.c:
14128         * dialog.c (Fpopup_dialog_box):
14129         Documented the support for accelerators that was just mentioned.
14130
14131         editfns.c (get_home_directory): Changed behavior under Windows
14132         when HOME not defined; former behavior was irretrievably broken.
14133
14134         * emacs.c:
14135         * emacs.c (main_1):
14136         * emacs.c (main):
14137         * minibuf.c (clear_echo_area_internal):
14138         * minibuf.c (echo_area_append):
14139         * print.c:
14140         * print.c (std_handle_out_external):
14141         * print.c (std_handle_out_va):
14142         * print.c (fatal):
14143         * print.c (write_string_to_stdio_stream):
14144         * print.c (output_string):
14145         * print.c (debug_print):
14146         * print.c (debug_backtrace):
14147         * print.c (debug_short_backtrace):
14148         Cleaned up the code that prints text to stdout so that this can be
14149         changed to output into a console window instead under MS Windows,
14150         as described above.
14151
14152         * eval.c:
14153         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14154         * eval.c (internal_catch):
14155         * eval.c (unwind_to_catch):
14156         * eval.c (throw_or_bomb_out):
14157         * eval.c (condition_case_1):
14158         * eval.c (signal_1):
14159         * eval.c (check_error_state_sanity):
14160         * eval.c (call_with_suspended_errors_1):
14161         * eval.c (call_with_suspended_errors):
14162         * eval.c (reinit_vars_of_eval):
14163         Added code to catch throw loops and check for a pesky bug that may
14164         be gone now.
14165
14166         * event-msw.c:
14167         * event-msw.c (key_needs_default_processing_p):
14168         * event-msw.c (mswindows_wnd_proc):
14169         * event-msw.c (mswindows_modifier_state):
14170         * event-msw.c (emacs_mswindows_quit_p):
14171         * event-msw.c (vars_of_event_mswindows):
14172         a) Added support for using the alt key to select menu items as is
14173         standard under MS Windows.  This is controlled using the variable
14174         menu-accelerator-enabled, just like under X Windows.  There is an
14175         option on the options menu to turn this support on.  I really
14176         think that it should be on by default under Windows, but I'm not
14177         going to make this change yet.
14178
14179         b)  Added support for dynamic display size changes under Windows.
14180
14181         * event-stream.c:
14182         * event-stream.c (maybe_echo_keys):
14183         * event-stream.c (Fnext_event):
14184         * event-stream.c (command_builder_find_leaf):
14185         * event-stream.c (lookup_command_event):
14186         * event-stream.c (execute_command_event):
14187         * event-stream.c (pre_command_hook):
14188         * event-stream.c (post_command_hook):
14189         * event-stream.c (syms_of_event_stream):
14190         * event-stream.c (vars_of_event_stream):
14191         * event-stream.c (complex_vars_of_event_stream):
14192         * events.h (struct command_builder):
14193
14194         a) Tried to clean up a little bit the horribly written x-specific
14195         accelerator code that crept into this file.  I moved this code
14196         into menubar-x.c where it belongs. I also needed to move the
14197         command builder structure into the file events.h because it is
14198         accessed directly by this accelerator code.  What I didn't do, but
14199         which should be done at some point, is to properly abstract this
14200         code using device methods instead of the kludgy way that it
14201         currently hooks into the event code.
14202
14203         b) Added the lisp variables this-command-properties and
14204         last-command- properties, which should be used to synchronize two
14205         adjacent commands in preference to playing games with the variable
14206         this-command, which is typically what happens.
14207
14208         c) Added some slightly nasty code to hook into the lisp support
14209         for shifted- motion-key selection.  This is actually necessary for
14210         somewhat complicated reasons, which are described in
14211         simple.el. (NB: I think the proper thing would be to have the code
14212         that calls the pre and post command hooks also call out to generic
14213         lisp functions in simple.el, where all built-in stuff could be
14214         added.  I will think about this more.)
14215
14216         * event-unixoid.c (poll_fds_for_input):
14217         * lread.c (readchar):
14218         * redisplay-tty.c (tty_clear_frame):
14219         * redisplay-x.c (x_get_gc):
14220         * signal.c (interrupt_signal):
14221         And a whole bunch of other files: fixed up places that printed
14222         directly to stderr to instead call the function stderr_out so that
14223         the changes I made under Windows work correctly.
14224
14225         * filemode.c (mode_string):
14226         Warning fixes.
14227
14228         * frame-msw.c:
14229         * frame-msw.c (mswindows_size_frame_internal):
14230         Fixed the computation of frame size and position to keep the frame
14231         within the workspace area, rather than within the physical
14232         dimensions of the screen, so that the frame doesn't overlap window
14233         manager decorations, such as the start menu and toolbar, typically
14234         at the bottom of the screen.
14235
14236         * frame.c (vars_of_frame):
14237         Changed the default frame title format under MS Windows to consist
14238         of buffername-XEmacs, which is standard under MS Windows.  I think
14239         it might be a good idea to change this everywhere because I think
14240         it is superior to the current frame title format, but this is the
14241         kind of change that is likely to cause some people to get annoyed,
14242         so I'm not making it.
14243
14244         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14245
14246         * gui-msw.c (mswindows_handle_gui_wm_command):
14247         Fixed compile warnings.
14248
14249         * gui-x.c:
14250         * gui-x.c (strdup_and_add_accel):
14251         * gui-x.c (button_item_to_widget_value):
14252         * gui-x.h:
14253         Added code to automatically put an accelerator onto the beginning
14254         of menu items that don't have one as is now the standard, and is
14255         described more later.  Also fixed things so that the menu item
14256         name can be an evaluated expression, again a new standard.
14257
14258         * gui.c:
14259         * gui.c (gui_item_add_keyval_pair):
14260         * gui.c (make_gui_item_from_keywords_internal):
14261         * gui.c (gui_add_item_keywords_to_plist):
14262         * gui.c (gui_item_accelerator):
14263         * gui.c (gui_name_accelerator):
14264         * gui.c (gui_item_included_p):
14265         * gui.c (gui_item_display_flush_left):
14266         * gui.c (gui_item_display_flush_right):
14267         * gui.c (parse_gui_item_tree_item):
14268         * gui.c (parse_gui_item_tree_children):
14269         * gui.c (parse_gui_item_tree_list):
14270         Mule-ized.  Cleanup.  GCPRO addition.
14271
14272         * line-number.c (buffer_line_number):
14273         * lisp.h:
14274         * lisp.h (EMACS_INT_MAX):
14275         Added the manifest constant EMACS_INT_MIN corresponding to the
14276         existing constant EMACS_INT_MAX.  This is partially to fix compile
14277         warnings under Windows, and partly for cleanliness.
14278
14279         * menubar-msw.c:
14280         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14281         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14282         * menubar-msw.c (displayable_menu_item):
14283         * menubar-msw.c (populate_menu_add_item):
14284         * menubar-msw.c (populate_or_checksum_helper):
14285         * menubar-msw.c (populate_menu):
14286         * menubar-msw.c (update_frame_menubar_maybe):
14287         * menubar-msw.c (prune_menubar):
14288         * menubar-msw.c (msw_char_is_accelerator):
14289         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14290         * menubar-msw.c (mswindows_handle_wm_command):
14291         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14292         * menubar-msw.c (mswindows_handle_wm_initmenu):
14293         * menubar-msw.c (mswindows_update_frame_menubars):
14294         * menubar-msw.c (mswindows_free_frame_menubars):
14295         * menubar-msw.c (mswindows_popup_menu):
14296         Fixed a bug in handling accelerators where an extra character
14297         would be displayed in the menu item.  Also generalized the
14298         function displayable_menu_item because it is now used by the
14299         dialog box code as well.  And finally, added code in the functions
14300         that create the menubar to extract a list of accelerators for the
14301         top level menubar, which is used in the event code to determine
14302         whether a particular alt-key combination should be used to invoke
14303         a menu item, or should be passed through to access the standard
14304         XEmacs keymap binding for this key combination.
14305
14306         Much needed GCPROing.
14307
14308         * menubar-x.c:
14309         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14310         * menubar-x.c (menu_item_descriptor_to_widget_value):
14311         * menubar-x.c (restore_in_menu_callback):
14312         * menubar-x.c (x_popup_menu):
14313         * menubar-x.c (menu_move_up):
14314         * menubar-x.c (menu_move_down):
14315         * menubar-x.c (menu_move_left):
14316         * menubar-x.c (menu_move_right):
14317         * menubar-x.c (menu_select_item):
14318         * menubar-x.c (command_builder_operate_menu_accelerator):
14319         * menubar-x.c (menu_accelerator_junk_on_error):
14320         * menubar-x.c (command_builder_find_menu_accelerator):
14321         * menubar-x.c (Faccelerate_menu):
14322         * menubar.h:
14323         Moved a whole bunch of code here that was previously in
14324         event-stream.c as described above.  There is also code connected
14325         to the new standard of adding an accelerator to the beginning of
14326         menu items that don't have one as described above and below.
14327
14328         * menubar.c:
14329         * menubar.c (menu_parse_submenu_keywords):
14330         * menubar.c (Fmenu_find_real_submenu):
14331         * menubar.c (Fnormalize_menu_item_name):
14332         * menubar.c (syms_of_menubar):
14333         * menubar.c (vars_of_menubar):
14334         * menubar.c (complex_vars_of_menubar):
14335
14336         a) Cleaned up a bunch of documentation and improved it.
14337
14338         b) XEmacs now automatically adds an accelerator onto the beginning
14339         of any menu items that don't have one.  I did this because there
14340         will inevitably be some menu items on the main menubar that don't
14341         have accelerators on them because the package that adds that
14342         particular menu item hasn't yet been fixed up to have accelerators
14343         in them and it looked rather strange to have some items with and
14344         some items without accelerators, especially since even in items
14345         without accelerators, you can, at least under windows, still
14346         access the item through an accelerator corresponding to the first
14347         character in the item's name.  If people don't like this behavior,
14348         I can add a variable to turn it off optionally, but I'm not sure
14349         this is a good idea because we really do need to have accelerators
14350         on all of the menu items, and if a package doesn't like the
14351         accelerators being put on the first character, then it should put
14352         the accelerators where they belong.
14353
14354         c) I made a behavior change, which is that the descriptor that
14355         specifies the text of the menu item, which formerly was just a
14356         string, can now also be an evaluated expression.  This makes this
14357         descriptor parallel with all of the others, which could also be
14358         evaluated expressions.  This also obviates the need for the
14359         keyword :label, which was previously listed in the documentation
14360         as unimplemented, and which was for the same purpose.
14361
14362         d) GCPROing.
14363
14364         * ntproc.c:
14365         * ntproc.c (new_child):
14366         * ntproc.c (sys_spawnve):
14367         * ntproc.c (find_child_console):
14368         * ntproc.c (sys_kill):
14369         Fixed compile warnings.  By the way, this file should really go
14370         away entirely, and this will happen as soon as Kirill makes his
14371         final round of process cleanups, which affect the function
14372         call-process.
14373
14374         * process-nt.c:
14375         * process-nt.c (struct nt_process_data):
14376         * process-nt.c (find_process_from_pid):
14377         * process-nt.c (send_signal_the_nt_way):
14378         * process-nt.c (enable_child_signals):
14379         * process-nt.c (find_child_console):
14380         * process-nt.c (send_signal_the_95_way):
14381         * process-nt.c (nt_finalize_process_data):
14382         * process-nt.c (ensure_console_window_exists):
14383         * process-nt.c (nt_create_process):
14384         * process-nt.c (nt_kill_child_process):
14385         * process-nt.c (nt_kill_process_by_pid):
14386         * process-nt.c (nt_open_network_stream):
14387         * process-nt.c (vars_of_process_nt):
14388         Copied over code from Emacs 20.5 to correctly send signals to sub-
14389         processes under Windows 95.  Also added code to automatically
14390         create and hide console window when a sub-process is created under
14391         Windows 95, which obviates the need for the separate runemacs.exe
14392         executable, and finally implemented some variables that were
14393         implemented in Emacs 20.5, but previously not in XEmacs.  These
14394         include mswindows- start-process-share-console and
14395         mswindows-start-process-inherit-error-mode. (Both of these only
14396         apply to Windows 95.)
14397
14398         * regex.c (regex_compile): Fixed a compile warning.
14399
14400         * select-msw.c:
14401         * select-msw.c (mswindows_own_selection):
14402         * select-msw.c (mswindows_get_foreign_selection):
14403         * select-msw.c (mswindows_disown_selection):
14404         * select-msw.c (console_type_create_select_mswindows):
14405         * select-msw.c (syms_of_select_mswindows):
14406         Cleaned up the file and implemented the device method
14407         selection_exists_p, which had accidentally been left out.  Also
14408         removed four lisp functions that were remnants from before the
14409         time when the selection code was properly device abstracted.
14410         These functions are no longer needed because there are generic
14411         equivalents, and because they were added recently and don't exist
14412         in FSF Emacs, I don't think there's any problem with just deleting
14413         them.
14414
14415         * sysdep.c:
14416         * sysdep.c (sys_subshell):
14417         Fixed a compile warning, although in this case there's probably
14418         something wrong with this code, and it ought to be looked into
14419         more thoroughly by somebody who understands it.
14420
14421         * window.c:
14422         * window.c (Fwindow_text_area_height):
14423         * window.c (Fwindow_width):
14424         * window.c (Fwindow_full_width):
14425         * window.c (Fwindow_pixel_width):
14426         * window.c (debug_print_window):
14427         * window.c (syms_of_window):
14428         Added functions window-text-area-height and window-full-width,
14429         which are functions for returning various width and height
14430         characteristics of a window. (One of these functions is necessary
14431         for making the file dialog box work correctly, and the other one
14432         was added for completeness.)  Also added a table to the
14433         documentation for window-height which describes the entire scheme
14434         for accessing width and height characteristics of a window.
14435
14436 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14437
14438         * nt.c (fstat): Added a comment for another problem with
14439         non-encapsulated [f]stat(), reported by Adrian Aichner
14440         <aichner@ecf.teradyne.com>.
14441
14442 2000-03-11  Andy Piper  <andy@xemacs.org>
14443
14444         * window.c (make_dummy_parent): initialize subwindow instance
14445         cache.
14446         (Fset_window_configuration): zero extent_modiff.
14447
14448 2000-03-10  Andy Piper  <andy@xemacs.org>
14449
14450         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14451         more changes can be triggered.
14452         (Fredisplay_frame): ditto.
14453         (Fredraw_device): ditto.
14454         (Fredisplay_device): ditto.
14455         (redisplay_frame): make non-static.
14456         (redisplay_frame): call update_frame_gutter_geometry outside of
14457         display proper.
14458
14459         * gutter.h: declare update_frame_gutter_geometry.
14460
14461         * redisplay.h: declare redisplay_frame.
14462
14463         * gutter.c (update_frame_gutter_geometry): move geometry changes
14464         in update_frame_gutters here. Geometry changes can only occur
14465         outside of redisplay.
14466         (update_frame_gutters): remove geometry change code.
14467         (Fredisplay_gutter_area): make sure that we are in display when we
14468         update and that we have flushed any size changes.
14469
14470 2000-03-11  Andy Piper  <andy@xemacs.org>
14471
14472         * alloc.c (pdump_dump_data): remove i & count shadows.
14473
14474 2000-02-27  Mike Alexander  <mta@arbortext.com>
14475
14476         * sysdep.h: Declare pdump_read_file
14477
14478         * sysdep.c (pdump_read_file): New function
14479
14480         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14481         dump data
14482
14483 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14484
14485         * lrecord.h: add `lrecord_type_pgsetenv'.
14486
14487 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14488
14489         * symsinit.h: declare (vars|syms)_of* functions.
14490         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14491
14492 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14493
14494         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14495
14496         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14497         GCCs.
14498
14499         * emacs.c (main_1): Call postgres initialization code.
14500
14501         * postgresql.h: New file.  PostgreSQL RDBMS support.
14502         * postgresql.c: New file.
14503
14504 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14505
14506         * redisplay-output.c (redisplay_output_display_block): Disable
14507         redundant code.
14508
14509 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14510
14511         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14512         (Fcanna_henkan_next): Ditto.
14513         (Fcanna_bunsetu_henkou): Ditto.
14514         (Fcanna_henkan_kakutei): Ditto.
14515         (Fcanna_henkan_end): Ditto.
14516         (Fcanna_henkan_quit): Ditto.
14517         (Fcanna_henkan_next): Set retun value correctly.
14518         (c2mu): Use unsigned char instead of signed char.
14519
14520 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14521
14522         * emacs.c (main_1): Always call syms_of_gui.
14523         * inline.c: include gui.h
14524
14525 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14526
14527         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14528         converted to Lisp_Object.
14529         (Qtop_bottom): New variable.
14530         (syms_of_redisplay): Initialize it.
14531         * redisplay.h (Vvisible_bell): Ditto.
14532         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14533         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14534         only flash top and bottom.
14535
14536 2000-03-08  Andy Piper  <andy@xemacs.org>
14537
14538         * buffer.c (Frename_buffer): record new buffer name the right way.
14539
14540 2000-03-08  Andy Piper  <andy@xemacs.org>
14541
14542         * glyphs.c (update_subwindow): increase hash depth so that widget
14543         items get picked up properly.
14544
14545         * redisplay-output.c (compare_runes): increase hash depth so that
14546         widget items get picked up properly.
14547
14548 2000-03-08  Andy Piper  <andy@xemacs.org>
14549
14550         * gutter.c (output_gutter): add some debug.
14551
14552         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14553         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14554         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14555
14556         * redisplay-output.c (compare_runes): use display_hash to
14557         determine if glyphs really are not the same.
14558
14559         * glyphs.c (update_subwindow): check display_hash to see if
14560         anything really needs to be updated. If not then do
14561         nothing. Record the display_hash after updating.
14562         (image_instance_equal): compare the image_instance face also.
14563
14564 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14565
14566         * redisplay.h: Fix comment style.
14567
14568 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14569
14570         * consle-msw.h (struct mswindows_frame):
14571         Added new member paint_pending to indicate whether a WM_PAINT
14572         magic event has been queued for this frame.
14573
14574         * event-msw.c (mswindows_drain_windows_queue):
14575         Don't queue a WM_PAINT magic event if one is already queued.
14576         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14577
14578         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14579
14580 2000-03-07  Didier Verna  <didier@xemacs.org>
14581
14582         * dired.c: #include `regex.h' after `sysfile.h'.
14583
14584 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14585
14586         * sound.c (init_nas_sound): Fix compiler warning.
14587
14588         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14589         (FREE_STRUCT_P):
14590         (MARK_STRUCT_AS_FREE):
14591         (MARK_STRUCT_AS_NOT_FREE):
14592         Make `gcc -fstrict-aliasing' work properly.
14593
14594 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14595
14596         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14597         (mswindows_delete_device): Call CoUnnitialize().
14598
14599         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14600
14601 2000-02-25    <CraigL@DyCon.com>
14602
14603         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14604         <errno.h>.
14605
14606         * sysdep.c: This extern declaration for environ prevents MinGW
14607         from finding the variable in CRTDLL.DLL.
14608
14609         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14610         windows headers.
14611         (SHGFI_EXETYPE): ..
14612         (WM_MOUSEWHEEL): ..
14613         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14614         definitions.
14615         (MMRESULT): Removed, now defined in cygwin's windows headers.
14616         (TIMECAPS): ..
14617         (uid_t,gid_t,pid_t,ssize_t): ..
14618         (_timeb): Removed, MinGW defines both _timeb and timeb.
14619         (HAVE_H_ERRNO): Added.
14620         (HAVE_TZNAME): Added, configure is not detecting this.
14621
14622 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14623
14624         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14625         * syntax.c (syntax_match): Use it.
14626
14627         * cmds.c: Import auto-fill-chars from FSF Emacs.
14628         (Vauto_fill_chars): New variables.
14629         (internal_self_insert): Check Vauto_fill_chars.
14630         (vars_of_cmds):
14631         Declare auto-fill-chars as a Lisp variable and initialize it.
14632
14633 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14634
14635         * fileio.c (Fmake_symbolic_link):
14636         (Ffile_symlink_p):
14637         Run handlers even if local machine doesn't have symlinks.
14638
14639 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14640
14641         * event-msw.c (mswindows_drain_windows_queue):
14642         Don't generate paint magic events for non-XEmacs frames.
14643
14644 2000-03-05  Andy Piper  <andy@xemacs.org>
14645
14646         * redisplay.c (redisplay_frame): generate_displayable_area and
14647         friends assumes that we are not in GC, we therefore have to make
14648         sure that this doesn't happen.
14649
14650         * gutter.c (calculate_gutter_size): generate_displayable_area
14651         assumes that we are not in GC, we therefore have to make sure that
14652         this doesn't happen.
14653
14654 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14655
14656         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14657
14658 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14659
14660         * redisplay.c (regenerate_window): Make sure we set a sane value
14661         for end_pos even if we jump out of the loop.
14662         (regenerate_window): Answer Ben's question :-).
14663         (start_end_of_last_line): Add may_error argument.
14664         (start_of_last_line):
14665         (end_of_last_line): Pass may_error = 0.
14666         (end_of_last_line_may_error): New function.
14667         (pixel_to_glyph_translation): Use it, so we don't crash in
14668         event_to_glyph.
14669
14670 2000-03-04  Andy Piper  <andy@xemacs.org>
14671
14672         * window.h (struct window): add gutter_extent_modiff.
14673
14674         * window.c (allocate_window): zero out gutter_extent_modiff.
14675
14676         * redisplay.h: declare sync_display_line_structs.
14677
14678         * redisplay.c (add_glyph_rune): add a better comment.
14679
14680         * redisplay-output.c (sync_display_line_structs): made non-static.
14681         (compare_runes): remove unneccesary glyph cachel access.
14682
14683         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14684
14685         * gutter.c (output_gutter): don't output the gutter if extent
14686         changes only involve extents in buffers. use 4 sets of display
14687         lines.
14688         (gutter_extent_signal_changed_region_maybe): new function. Mark
14689         extents in gutters as changed.
14690         (update_frame_gutters): use 4 sets of display lines.
14691         (reset_gutter_display_lines): ditto.
14692         (free_frame_gutters): ditto.
14693         (redraw_exposed_gutter): force output of gutters.
14694
14695         * frame.h (struct frame): add 4 sets of gutter display lines.
14696
14697         * extents.c: (extent_changed_for_redisplay): signal changes to
14698         extents in strings in the gutter as well as extents in buffers.
14699
14700 2000-03-02  Andy Piper  <andy@xemacs.org>
14701
14702         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14703
14704         * frame.c (Fmake_frame): make sure the gutters get initialized
14705         after the frame is visible.
14706         (set_frame_selected_window): re-arrange compilation macros a
14707         little.
14708         (change_frame_size_1): mark gutters changed.
14709
14710         * device.c (Fset_device_class): mark gutters changed.
14711
14712 2000-03-01  Andy Piper  <andy@xemacs.org>
14713
14714         * window.c (window_top_frame_gutter_height): deleted.
14715         (window_bottom_frame_gutter_height): ditto.
14716         (window_left_frame_gutter_height): ditto.
14717         (window_right_frame_gutter_height): ditto.
14718         (window_top_gutter_height): don't use them.
14719         (window_bottom_gutter_height): ditto.
14720         (window_left_gutter_width): ditto.
14721         (window_right_gutter_width): ditto.
14722         (Fsplit_window): ditto.
14723         (Fwindow_pixel_edges): don't use border dimensions here.
14724
14725         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14726         (update_scrollbar_instance): ditto.
14727
14728         * redisplay.c (generate_modeline): don't take gutters into account.
14729         (generate_modeline): ditto.
14730         (redisplay_frame): small gutter display optimization.
14731
14732         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14733
14734         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14735         gutters into account.
14736
14737         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14738         for window position and type.
14739
14740         * gutter.c (get_gutter_coords): fix for frame gutters.
14741         (update_frame_gutters): update frame geometry if the gutters have
14742         changed.
14743         (init_frame_gutters): record current gutter geometries.
14744
14745         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14746         var.
14747         (mswindows_widget_instantiate): ditto.
14748
14749         * frame.h (struct frame): add current_gutter_bounds.
14750
14751         * frame.c (change_frame_size_1): position window and minibuffer
14752         appropriately taking into account the frame gutters.
14753
14754         * frame-x.c: (x_initialize_frame_size): take into account the
14755         frame gutters.
14756
14757 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14758
14759         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14760
14761 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14762
14763         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14764
14765 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14766
14767         * file-coding.c (reset_decoding_stream): Clear previous
14768         detection state when autodetect.
14769
14770 2000-02-29  Didier Verna  <didier@xemacs.org>
14771
14772         * extents.c (set_extent_glyph_1): don't require extents to be
14773         attached.
14774
14775 2000-02-27  Andy Piper  <andy@xemacs.org>
14776
14777         * gutter.c (Fset_default_gutter_position): don't default left and
14778         right gutter visibility to t.
14779         (Fset_default_gutter_position): run
14780         default-gutter-position-changed-hook.
14781         (syms_of_gutter): add default-gutter-position-changed-hook.
14782
14783 2000-02-26  Andy Piper  <andy@xemacs.org>
14784
14785         * specifier.c (Fmake_specifier): add gutter references.
14786
14787         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14788
14789         * lisp.h: declare Fvalid_plist_p.
14790
14791         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14792         as changed.
14793         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14794         well as its visibility so that it gets reconstructed.
14795         (construct_window_gutter_spec): new function. Construct a string
14796         to be displayed in the gutter from a plist of strings. Take care
14797         to only use elements that are declared as visible.
14798         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14799         WINDOW_GUTTER.
14800         (gutter_validate): allow plists of strings in the specifier.
14801         (gutter_specs_changed): construct the real_gutter from the gutter
14802         specs using construct_window_gutter_spec.
14803         (gutter_visible_validate): gutter-visible is a new specifier type.
14804         (Fgutter_visible_specifier_p): new function for the new specifier.
14805         (syms_of_gutter): declare gutter-visible and
14806         Fgutter_visible_specifier_p.
14807         (specifier_type_create_gutter): intitalize new gutter-visible
14808         specifier.
14809         (reinit_specifier_type_create_gutter): ditto.
14810         (specifier_vars_of_gutter): use new specifier type for gutter
14811         visibility.
14812         (init_frame_gutters): construct real_gutter correctly.
14813         (Fgutter_specifier_p): beef up documentation.
14814         (Fgutter_size_specifier_p): ditto.
14815
14816         * winslots.h: add real_gutter slots.
14817
14818 2000-02-25  Andy Piper  <andy@xemacs.org>
14819
14820         * device-msw.c: Be kind to older cygwin versions. From Raymond
14821         Toy <toy@rtp.ericsson.se>.
14822
14823         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14824         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14825
14826 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14827
14828         * elhash.c (MARK_OBJ): Practice macro hygiene.
14829
14830 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14831
14832         * miscplay.c: s/__inline__/inline/g;
14833         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14834         (get_device_compdc): INLINE ==> static inline
14835         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14836         find -name '*.h' | \
14837         xargs global-replace \
14838         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14839
14840 2000-02-25  Andy Piper  <andy@xemacs.org>
14841
14842         * window.c (window_top_frame_gutter_height): new function.
14843         (window_top_window_gutter_height): ditto.
14844         (window_top_gutter_height): use them.
14845         (window_bottom_frame_gutter_height): new function.
14846         (window_bottom_window_gutter_height): ditto.
14847         (window_bottom_gutter_height): use them.
14848         (window_left_window_gutter_width): new function.
14849         (window_left_frame_gutter_width): ditto.
14850         (window_left_gutter_width): use them.
14851         (window_right_window_gutter_width): new function.
14852         (window_right_frame_gutter_width): ditto.
14853         (window_right_gutter_width): use them.
14854         (window_pixel_height): new function. calulate window pixel height
14855         with frame gutter involvement.
14856         (Fsplit_window): calculate new sizes taking frame gutters into
14857         account.
14858         (window_char_height_to_pixel_height): don't include frame gutters.
14859         (window_char_height): use window_pixel_height.
14860         (window_pixheight): rename from window_pixel_height.
14861         (change_window_height): use it.
14862         (window_pixel_height_to_char_height): don't include frame gutters.
14863         (window_char_width_to_pixel_width): ditto.
14864
14865 2000-02-25  Andy Piper  <andy@xemacs.org>
14866
14867         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14868         if it is.
14869
14870 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14871
14872         * alloc.c (staticpro):
14873         (staticpro_nodump):
14874         (dumpstruct):
14875         (dumpopaque):
14876         (pdump_wire):
14877         (pdump_wire_list):
14878         (compact_string_chars):
14879         (pdump_dump_wired):
14880         Convert:  if (foo) abort();  ==>  assert (! foo);
14881
14882         * eldap.c (Fldap_search_basic):
14883         (Fldap_add):
14884         (Fldap_modify):
14885         (Fldap_delete):
14886         Fix compiler warnings, and possible crashes if (random) return
14887         value were to be used.
14888
14889 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14890
14891         * device-msw.c: Workaround ResetDC failure.
14892
14893         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14894         applying a devmode.
14895
14896         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14897         (mswindows_text_width): Do not start printer page.
14898
14899         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14900
14901         * glyphs-msw.c: Added image methods to msprinter console and
14902         msprinter-specific image instantiation.
14903
14904 2000-02-20  Mike Alexander  <mta@arbortext.com>
14905
14906         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14907         to avoid crashes when selection-sets-clipboard is on
14908         (mswindows_own_selection): ditto
14909
14910 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14911
14912         * glyphs-msw.c:
14913         * redisplay-msw.c (get_frame_dc):
14914         (get_frame_compdc):
14915         * console-msw.h:
14916         * device-msw.c (mswindows_init_device):
14917         (mswindows_delete_device):
14918         (msprinter_init_device):
14919         (msprinter_delete_device):
14920         * frame-msw.c (mswindows_init_frame_1):
14921         (mswindows_delete_frame):
14922         (msprinter_init_frame_3):
14923         (msprinter_delete_frame): Move compatible DC to device object from
14924         frame object, for both mswindows and msprinter. Only one at a time
14925         is needed, it is a real waste to have one per frame!
14926
14927 2000-02-23  Andy Piper  <andy@xemacs.org>
14928
14929         * glyphs.c: add dynamic width and height elements.
14930         (image_instance_equal): ditto.
14931
14932         * glyphs-widget.c (widget_query_geometry): calculate width and
14933         height dynamically if required.
14934         (initialize_widget_image_instance): initialize dynamic dimensions.
14935         (widget_instantiate): pick-up dynamic dimensions.
14936
14937         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14938         dynamic determination. Add appropriate macros.
14939
14940         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14941         dimensions safe.
14942         (WINDOW_GUTTER_SIZE): ditto.
14943         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14944
14945         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14946         inline.
14947         (get_frame_dc): ditto.
14948
14949         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14950         here.
14951
14952 2000-02-23  Martin Buchholz <martin@xemacs.org>
14953
14954         * XEmacs 21.2.31 is released.
14955
14956 2000-02-22  Ben Wing <ben@xemacs.org>
14957
14958         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14959
14960 2000-02-22  Andy Piper  <andy@xemacs.org>
14961
14962         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14963
14964 2000-02-21  Mike Sperber <mike@xemacs.org>
14965
14966         * .dbxrc:
14967         * .gdbinit:
14968         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14969         variables.
14970
14971 2000-02-21  Mike Sperber <mike@xemacs.org>
14972
14973         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14974
14975 2000-02-21  Martin Buchholz <martin@xemacs.org>
14976
14977         * XEmacs 21.2.30 is released.
14978
14979 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14980
14981         Performance hacking.
14982         * *.c (syms_of_*):
14983         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14984         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14985         * emacs.c (main_1):
14986         * lisp.h (DEFUN):
14987         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14988         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14989         * symeval.h (DEFVAR_SYMVAL_FWD):
14990         * symbols.c (guts_of_unbound_marker):
14991         Make all c_readonly objects also lisp_readonly and marked for life.
14992         * lrecord.h (struct lrecord_implementation):
14993         Document flags better.
14994         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14995         * lrecord.h (DECLARE_LRECORD):
14996         * lrecord.h (XSETRECORD):
14997         * lrecord.h (RECORDP):
14998         * lrecord.h (RECORD_TYPEP):
14999         * lrecord.h (RECORD_MARKER): New.
15000         * lrecord.h (error_check_*):
15001         * lrecord.h (CONCHECK_NONRECORD):
15002         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15003         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15004         * lrecord.h (set_lheader_implementation):
15005         * lrecord.h (enum lrecord_type): New.
15006         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15007         * alloc.c (disksave_object_finalization_1):
15008         * alloc.c (mark_object):
15009         * alloc.c (lrecord_type_index):
15010         * alloc.c (tick_lcrecord_stats):
15011         * alloc.c (Fgarbage_collect):
15012         * alloc.c (init_alloc_once_early):
15013         * alloc.c (pdump_load):
15014         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15015         * alloc.c (lrecord_type_index): Delete.
15016         Make lisp object type indexes be constant.
15017           Makes (byte-compile) 5% faster.
15018         Put all marker functions into their own array.
15019           Makes (garbage-collect) 5% faster.
15020         Optimize SYMBOL_VALUE_MAGIC_P.
15021           Makes (byte-compile) 2-3% faster.
15022         * config.h.in (gc_checking_assert): New.
15023         * alloc.c: Use gc_checking_assert().
15024         * .dbxrc: Make compatible with new object type implementation.
15025         * .gdbinit: Make compatible with new object type implementation.
15026         * alloc.c: Delete all symbols defined only for debugging, such as
15027         Lisp_Type_Vector and lrecord_charset.
15028
15029 2000-02-21  Andy Piper  <andy@xemacs.org>
15030
15031         * gui-msw.c (Fmswindows_shell_execute): fix file location
15032         problems.
15033
15034         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15035         unshowing so that set_window_buffer doesn't undo
15036         kill_buffer_hook's hard work.
15037
15038         * glyphs-widget.c (tab_control_query_geometry): don't count the
15039         first item when calculating geometry.
15040
15041         * glyphs.c (map_subwindow): remove redundant code.
15042         (update_frame_subwindows): be more circumspect about when to
15043         update subwindows.
15044
15045         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15046         when items haven't changed. Update faces if faces have changed as
15047         well as just the widget face.
15048         (x_tab_control_update): Update faces if faces have changed as well
15049         as just the widget face.
15050
15051 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15052
15053         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15054         registration.
15055         (build_syscolor_string): Use mswindows_color_to_string to try to
15056         get a named color.
15057         (mswindows_device_system_metrics): Reverse the foreground and
15058         background colors so that they match the documentation.
15059
15060         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15061         they match the default Windows palette.
15062         (mswindows_color_to_string): New function.
15063
15064 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15065
15066         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15067
15068 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15069
15070         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15071         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15072
15073         * symbols.c (init_symbols_once_early): Removed obsolete
15074         DATA_SEG_BITS related kludge.
15075         (defvar_magic): Ditto.
15076
15077         * malloc.c: Removed obsolete DATA_SEG_BITS
15078         * ralloc.c: Ditto.
15079         * mem-limits.h: Ditto.
15080
15081         * Makefile.in.in: Removed obsolete HAVE_SHM
15082         * emacs.c: Ditto.
15083
15084 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15085
15086         *  device-msw.c (mswindows_delete_device): Free DDE string
15087         handles.
15088
15089 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15090
15091         * keymap.c (get_keyelt):
15092         * unexnt.c (unexec):
15093         * vm-limit.c (memory_warnings):
15094         * ntheap.c (recreate_heap):
15095         * ntheap.h (UNINIT_PTR):
15096         * select-msw.c (Fmswindows_get_clipboard):
15097         (Fmswindows_set_clipboard):
15098         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15099         * objects-msw.c:
15100         * menubar-msw.c (displayable_menu_item):
15101         * glyphs-msw.c:
15102         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15103         * sysdep.c (sys_subshell):
15104         * process-nt.c (nt_create_process):
15105         * nt.c (normalize_filename):
15106         (dostounix_filename):
15107         (unixtodos_filename):
15108         * ntproc.c (win32_executable_type):
15109         * ntplay.c (play_sound_data_1):
15110         (play_sound_file):
15111         * editfns.c (get_home_directory):
15112         * event-msw.c (struct winsock_stream):
15113         (mswindows_dde_callback):
15114         * device-msw.c (msprinter_init_device):
15115         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15116
15117         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15118         mswindows_clear_toolbar were swapped!
15119
15120         * objects-msw.c:(colormap_t):
15121         (fontmap_t):
15122         * emacs.c (struct standard_args): Fixed const jumble.
15123
15124         * glyphs-widget.c (update_widget): Fixed comparison notation.
15125
15126         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15127
15128         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15129         __declspec(noreturn) syntax.
15130
15131 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15132
15133         * eldap.c (Fldap_open):
15134         (Fldap_search_basic):
15135         (Fldap_add):
15136         (Fldap_modify):
15137         Use new coding system conversion macros.
15138
15139 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15140
15141         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15142
15143 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15144
15145         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15146         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15147
15148         * eldap.c (Qadd, Qreplace): New constant symbols
15149         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15150         interruptions by XEmacs signals
15151         Remove unnecessary calls to slow_down_interrupts and
15152         speed_up_interrupts
15153         (Fldap_search_basic): Renamed from Fldap_search_internal
15154         Added new optional parameter VERBOSE that triggers the
15155         display of progress messages
15156         Remove unnecessary calls to slow_down_interrupts and
15157         speed_up_interrupts
15158         LDAP result code analysis rewritten
15159         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15160         (syms_of_eldap): Define the new symbols and functions
15161
15162
15163 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15164
15165         * realpath.c: Determine PATH_MAX maximally portably.
15166
15167         * insdel.c (bytecount_to_charcount): Optimize.
15168         The function used to be optimized for entirely ASCII sequences.
15169         Now it is optimized for successive characters from the same
15170         charset.  This also wins big for _mostly_ ASCII sequences.
15171
15172         * fileio.c (Ffile_truename): convert return from realpath() using
15173         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15174         - Rewrite GCPROing slightly.
15175
15176         * sysdep.c (sys_open): Do filename conversion, like all other
15177         sys_* functions.  Fixes bug:
15178         (let ((file-name-coding-system 'iso-8859-2))
15179            (write-region x y latin2-name))
15180         ==> writes filename using internal encoding.
15181
15182 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15183
15184         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15185         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15186         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15187         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15188         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15189         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15190         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15191         (CONST_IF_NOT_DEBUG): Delete.
15192         * alloc.c (this_one_is_unmarkable): Delete.
15193         (mark_object): Don't check for this_one_is_unmarkable. Use the
15194         c_readonly flag instead.
15195         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15196
15197 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15198
15199         * event-msw.c (mswindows_drain_windows_queue):
15200         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15201         away redundant repaint events.
15202
15203 2000-02-17  Andy Piper  <andy@xemacs.org>
15204
15205         * redisplay.h: declare mark_redisplay_structs.
15206
15207         * redisplay.c (redisplay_window):
15208         (redisplay_frame): don't check subwindows_state_changed.
15209         (mark_redisplay): mark gutters here.
15210
15211         * glyphs.c: (instantiate_image_instantiator): always layout if we
15212         haven't done so already.
15213         (allocate_image_instance): don't mark as dirty.
15214         (update_subwindow): bind inhibit_quit.
15215
15216         * gutter.c (mark_gutters): new function.
15217
15218         * glyphs-x.c (x_update_widget): Always resize to get round a
15219         widget bug.
15220
15221         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15222         breaking absolutely everything.
15223
15224         * gutter.h: declare mark_gutters.
15225
15226 2000-02-16  Martin Buchholz <martin@xemacs.org>
15227
15228         * XEmacs 21.2.29 is released.
15229
15230 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15231
15232         * fns.c (size_bit_vector): Fix computation of the size.
15233
15234 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15235
15236         * *.[ch]: Change CONST to const globally.
15237         find -name '*.[ch]' | \
15238         xargs global-replace \
15239         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15240         - Remove vestigial references to CONST_IS_LOSING
15241
15242 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15243
15244         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15245         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15246         events instead of dispatching them directly.
15247         (mswindows_handle_paint): New function to do repainting.
15248         (mswindows_wnd_proc):
15249         (emacs_mswindows_handle_magic_event): Call above function.
15250
15251 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15252
15253         * objects-msw.c (mswindows_create_font_variant): Return the new
15254         font handle.
15255         (initialize_font_instance): Get font metrics from the underlined
15256         variant of the font to cope with the case where the underlined
15257         font has a bigger descent.
15258
15259 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15260
15261         * gui.c (gui_item_accelerator): Return the first underlined
15262         character in item name.
15263
15264 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15265
15266         * lisp.h: Added Qprinter.
15267
15268         * general.c (syms_of_general): Initialized it.
15269
15270         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15271         (get_frame_dc):
15272         (get_frame_compdc): Made inline.
15273
15274         * console.h (struct console_methods): Added eject_page method.
15275
15276         * frame.h: Added FRAME_DISPLAY_P and friends.
15277         Aligned backslahes in many macros in more readable fashion.
15278         Added page_number to struct frame, and an accessor macro
15279         for it.
15280
15281         * defice.h: Added DEVICE_DISPLAY_P and friends.
15282
15283         * device.c (Fdevice_printer_p): Used these.
15284
15285         * frame.c (allocate_frame_core): Initialize page number.
15286         (Fprint_job_page_number):
15287         (Fprint_job_eject_page): Implemented.
15288
15289         * frame-msw.c (msprinter_eject_page): Added method.
15290         (msprinter_start_page): Added.
15291
15292         * window.c (Fwindow_truncated_p): Fixed docstring.
15293         (Fwindow_last_line_visible_height): Implemented.
15294
15295 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15296
15297         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15298
15299 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15300
15301         * syntax.c (scan_words): Always advance at least one character.
15302
15303 2000-02-13  Andy Piper  <andy@xemacs.org>
15304
15305         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15306         to make sure the glyph is in the cachels.
15307
15308         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15309         global image instance flag.
15310         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15311         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15312
15313         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15314         (Fset_image_instance_property): mark layout as changed.
15315         (invalidate_glyph_geometry_maybe): mark layout as changed.
15316         (glyph_width): use new NEEDS_LAYOUT macro.
15317         (glyph_ascent): ditto.
15318         (glyph_descent): ditto.
15319         (glyph_height): ditto.
15320         (image_instance_layout): mark layout as clean after laying out.
15321         (update_subwindow): don't mark layout as clean here.
15322
15323         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15324         should no longer be needed.
15325
15326         * glyphs-x.c (x_update_widget): sanitize asserts.
15327         (x_finalize_image_instance): sanitize assignment to widgets.
15328
15329         * glyphs-widget.c (widget_instantiate): don't need to clear the
15330         layout flag here.
15331
15332 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15333
15334         * sysdep.c (getcwd): Use standard prototype.
15335         * sysdep.h (getcwd): Use standard prototype.
15336
15337         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15338         (sequence, start, end).
15339         Remove redundant type checking.
15340         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15341         view of `caller-protects') to avoid a crash where the real fix was
15342         found elsewhere.
15343
15344 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15345
15346         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15347
15348         * s/sol2.h: Remove feature macro initialization.
15349
15350         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15351         (vector_hash): New.  Code from internal_hash.
15352         * lrecord.h:
15353         Fix up allocation subsystem comments.
15354
15355         * config.h.in: Add __EXTENSIONS__ for Solaris.
15356
15357         * systime.h (EMACS_GETTIMEOFDAY): New.
15358         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15359         Remove Solaris-specific code.
15360         Use void* for the (ignored) second arg for gettimeofday().
15361
15362         * elhash.c (hash_table_hash): Implement it, finally.
15363         * elhash.c:  Use hashcode_t.
15364
15365         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15366         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15367
15368         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15369         * fns.c (size_bit_vector):
15370         * alloc.c (size_vector):
15371         (make_vector_internal):
15372         (make_bit_vector_internal):
15373         (sweep_bit_vectors_1):
15374         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15375
15376 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15377
15378         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15379         Include strings.h to avoid warnings for bzero and strcasecmp.
15380
15381 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15382
15383         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15384         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15385
15386         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15387         sequence.
15388
15389 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15390
15391         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15392         use a value field instead.
15393         (symbol_value_forward_forward): Use value field.
15394         (DEFVAR_SYMVAL_FWD): Use value field.
15395         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15396         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15397         (DEFVAR_CONST_INT): Ditto.
15398         (DEFVAR_BOOL): Ditto.
15399         (DEFVAR_CONST_BOOL): Ditto.
15400         (DEFVAR_INT_MAGIC): Ditto.
15401         (DEFVAR_BOOL_MAGIC): Ditto.
15402
15403         * symbols.c (guts_of_unbound_marker): Use value field.
15404         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15405         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15406
15407         * lisp.h: Declare dumpopaque and noninteractive1.
15408
15409         * alloc.c (dumpopaque): Added.
15410         (pdump_dump_opaquevec): Added.
15411         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15412         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15413         noninteractive.
15414
15415 2000-02-10  Andy Piper  <andy@xemacs.org>
15416
15417         * glyphs.c (image_instance_layout): if the size changes, mark it
15418         as such.
15419
15420         * redisplay-output.c (redisplay_output_layout): Update the
15421         subwindow here.
15422         (redisplay_output_subwindow): ditto.
15423
15424         * glyphs.c (update_subwindow): make sure we reset flags for
15425         layouts as well as everything else.
15426
15427         * glyphs-widget.c (layout_layout): don't need to set the instances
15428         dimensions here.
15429
15430 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15431
15432         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15433         not HAVE_DLOPEN, which is a lower-level thing.
15434
15435         * .cvsignore: Ignore gmon.out
15436
15437 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15438
15439         * .cvsignore: Ignore portable dumper xemacs.dmp file
15440
15441 2000-02-09  Andy Piper  <andy@xemacs.org>
15442
15443         * redisplay-output.c (redisplay_output_layout): be more clever
15444         about when we output based on the changed flags.
15445
15446         * glyphs.h (struct image_instantiator_methods): add update_method.
15447         (struct Lisp_Image_Instance): add changed flags. Declare new
15448         macros for manipulating them.
15449
15450         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15451         (image_instance_parent_glyph): find an image_instance's parent
15452         glyph or image_instance.
15453         (image_instance_layout): mark the size as changed.
15454         (set_image_instance_dirty_p): new function. mark an image
15455         instance, plus all of its parents, as dirty.
15456         (Fset_image_instance_property): use it.
15457         (Fglyph_animated_timeout_handler): use it.
15458         (update_subwindow): call update_widget and device methods for
15459         update_subwindow. Mark all changed flags as clean.
15460         (Fresize_subwindow): mark size as changed.
15461
15462         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15463         failures.
15464         (x_update_subwindow): only resize subwindows here.
15465         (x_update_widget): new function. Update all changed properties of
15466         a widget.
15467         (x_resize_subwindow): deleted.
15468         (x_widget_set_property): deleted.
15469         (x_progress_gauge_set_property): deleted.
15470         (x_progress_gauge_update): new function. Implement recorded
15471         changes.
15472         (x_tab_control_update): ditto.
15473         (x_tab_control_set_property): deleted.
15474         (console_type_create_glyphs_x): declare new functions.
15475         (image_instantiator_format_create_glyphs_x): ditto.
15476
15477         * glyphs-widget.c (widget_set_property): mark text changed.
15478         (update_widget): new function. Update properties of a widget.
15479         (widget_instantiate): for layouts make sure we set their
15480         children's parent correctly.
15481         (tab_control_set_property): new function. Record changes that will
15482         take place under redisplay's control.
15483         (progress_gauge_set_property): ditto.
15484         (image_instantiator_progress_guage): declare new functions.
15485         (image_instantiator_tab_control): ditto.
15486
15487         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15488         now.
15489         (mswindows_update_widget): new function. Update all properties on
15490         a widget that have changed.
15491         (mswindows_button_update): new function. Update a button's set
15492         state.
15493         (mswindows_tab_control_update): new function. Update the items in
15494         a tab.
15495         (mswindows_tab_control_set_property): deleted.
15496         (mswindows_progress_gauge_update): new function. Update the
15497         progress gauge's progress.
15498         (mswindows_widget_set_property): deleted. This is all done
15499         asynchronously now.
15500         (mswindows_progress_gauge_set_property): ditto.
15501         (console_type_create_glyphs_mswindows): declare new methods.
15502         (image_instantiator_format_create_glyphs_mswindows): ditto.
15503
15504         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15505         (msprinter_set_frame_properties): ditto.
15506
15507         * console.h (struct console_methods): Add update_widget_method.
15508
15509 2000-02-09  Andy Piper  <andy@xemacs.org>
15510
15511         * gui-msw.c (Fmswindows_shell_execute): Make
15512         mswindows-shell-execute industrial strength.
15513
15514 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15515
15516         * lrecord.h: Make macro argument `props' match member function `plist'.
15517         * fns.c (Fget):
15518         * fns.c (Fput):
15519         * fns.c (Fremprop):
15520         * fns.c (Fobject_plist):
15521         * alloc.c:
15522         * symbols.c:
15523         Object property list frobbing cleanup.
15524         - Allow any lisp object (compared with `eq'), not just symbols, as
15525           keys in object plists.
15526         - Move symbol plist frobbing into symbols.c, where it belongs.
15527         - Move string plist frobbing into alloc.c, where it belongs.
15528         - Everything's an lrecord now, so no need to test for symbolp, etc.
15529         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15530
15531         * extents.c: Reorder code to remove declarations.
15532
15533         * frame.h (store_in_alist): Remove useless declaration.
15534
15535 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15536
15537         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15538         * config.h.in: Add HAVE_XCONVERTCASE.
15539
15540 2000-02-07  Andy Piper  <andy@xemacs.org>
15541
15542         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15543         it breaks many things.
15544
15545 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15546
15547         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15548         actually can start a common comment type.
15549         * src/syntax.h (SYNTAX_END_P): ditto for end.
15550
15551 2000-02-07  Martin Buchholz <martin@xemacs.org>
15552
15553         * XEmacs 21.2.28 is released.
15554
15555 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15556
15557         * event-Xt.c (x_keysym_to_character): New.
15558         (maybe_define_x_key_as_self_inserting_character): New.
15559         (x_has_keysym): New.
15560         Auto-define all keys on the keyboard as self-insert-key.
15561
15562 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15563
15564         * menubar.c (vars_of_menubar): A small code simplification.
15565
15566         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15567
15568         * ExternalShell.c:
15569         * ExternalClient.c:
15570         * EmacsShell-sub.c:
15571         * EmacsManager.c:
15572         * EmacsFrame.c:
15573         Use consistent style for specifying X resources.
15574
15575         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15576         This makes (dontusethis-set-symbol-value-handler) actually usable.
15577
15578         * lrecord.h (lrecord_decription_type):
15579         * alloc.c (pdump_register_sub):
15580         (pdump_dump_data):
15581         (pdump_reloc_one):
15582         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15583         Comply with XEmacs coding style.
15584         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15585         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15586
15587         * keymap.c (Faccessible_keymaps):
15588         Make (accessible-keymaps map "\C-h") do the Right Thing.
15589         Make (accessible-keymaps map []) do the Right Thing.
15590         Make (accessible-keymaps map "") do the Right Thing.
15591         (check_keymap_definition_loop): New function.
15592         (keymap_store_internal): Keep luser from shooting self in foot,
15593           via (define-key ctl-x-4-map "p" global-map).
15594         Remove fullness slot from struct Lisp_Keymap, since hash tables
15595         are now reliable.
15596         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15597
15598 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15599
15600         * redisplay.c (init_redisplay): Fix small memory leak.
15601         * elhash.h:
15602         * elhash.c (pdump_reorganize_hash_table):
15603         Rename from reorganize_hash_table. Change prototype.
15604         Reuse the original memory for hentries.  Save 100k.
15605         * alloc.c (PDUMP_READ): new macro.
15606         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15607         * alloc.c: No need to #ifndef before #undef.
15608
15609         * print.c: Allow debug_print() to print readably by modifying
15610         debug_print_readably.  Use consistent variable names.
15611
15612         * .dbxrc: Try to get things to work even if stopped in a function
15613         without source available by explicitly specifying source files.
15614 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15615
15616         * unexnt.c (_start): Removed bogus code which caused loading heap
15617         from differrent executable file.
15618         Removed bogus assignment to _fmode, which caused inconsistencies.
15619
15620 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15621
15622         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15623         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15624         Do not preliminary `#define signal sigset'.
15625
15626         * systime.h: Do not prototype environ on windows nt and cygwin,
15627         this conflicts with system header.
15628
15629         * syssignal.h: Use correct define for WINDOWSNT
15630
15631         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15632         with system header.
15633
15634         * sysdep.c (near start of file): Fixed commentary and rearranged
15635         ifdefs in readable order.
15636         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15637         (start_of_text):
15638         (end_of_text):
15639         (end_of_data): Do not compile in if using PDUMP.
15640
15641         * symsinit.h: Prototyped vars_of_nt().
15642
15643         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15644         (find_child_console): Use it.
15645         (sys_kill): Use it.
15646
15647         * ntheap.h: Do not extern os_subtype.
15648
15649         * ntheap.c (cache_system_info): Do not cache unneeded:
15650         nt_major_version, nt_minor_version and os_subtype.
15651         (recreate_heap): Do not compile in when PDUMPing.
15652
15653         * nt.c (geteuid and friends): Use the new varibale
15654         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15655         (init_user_info): Removed the above mentioned hackery.
15656         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15657         stat has been fixed in the C runtime.
15658         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15659
15660         * file-coding.c (struct file_coding_dump): Do not define
15661         ucs_to_mule_table in the struct if not MULE.
15662         (struct struct lrecord_description fcd_description_1): Do not dump
15663         the above.
15664
15665         * emacs.c (main_1): Call vars_of_nt().
15666         (right before Fdump_emacs_data): Don't need lastfile if using both
15667         portabe dumper and system malloc.
15668
15669         * alloc.c (Fmemory_limit): Conditionalized out.
15670         (pdump): Use OPEN_BINARY for the portable dump file.
15671         (pdump_load): Ditto.
15672
15673 2000-02-02  Mike Alexander  <mta@arbortext.com>
15674
15675         * nt.c (convert_time): Set tm_isdst before calling mktime and
15676         avoid calling it at all if the compiler supports 64 bit integers.
15677         Also initialize utc_base_ft before using it.
15678
15679 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15680
15681         * frame.c (change_frame_size_1): Take f->internal_border_width
15682         into consideration when calculating the width of the frame.
15683
15684 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15685
15686         * window.c (frame_min_height):
15687         (frame_size_valid_p):
15688         (frame_pixsize_valid_p): Added.
15689         (check_frame_size): Generalized.
15690
15691         * window.h: Prototyped the above.
15692
15693         * lisp.h:
15694         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15695         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15696         Deleted Vwin32_* and Vbinary_process_* unused variables.
15697
15698         * device-msw.c (msprinter_init_device): Do not get printer font
15699         list; Added DEVMODE functions.
15700
15701         * frame-msw.c: Added lots of printer code.
15702
15703         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15704         general.c.
15705
15706         * console-msw.h: Added more msprinter device private slots.
15707
15708 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15709
15710         * event-msw.c (key_needs_default_processing_p): Added.
15711         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15712
15713 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15714
15715         * glyphs.c (image_instance_layout): Mark image instance as clean
15716         after layout.
15717         (glyph_dirty_p): Removed redundant function.
15718         (invalidate_glyph_geometry_maybe): Added.
15719         (update_glyph_cachel_data): Call it.
15720
15721         * glyphs.h: Prototyped it.
15722
15723         * redisplay.c (add_glyph_rune): Call it.
15724         (redisplay_window): Reset glyphs cachels when frame faces have
15725         changed, thus forcing recomputation of built-in border glyphs.
15726
15727 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15728
15729         * Makefile.in.in: Make portable dumper and purify play well together.
15730         Add imperfect, but better than nothing, support for pdump.
15731         Remove xemacs.dmp when temacs is re-generated.
15732         Don't ignore errors when dumping xemacs.
15733
15734         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15735
15736 2000-01-28  Andy Piper  <andy@xemacs.org>
15737
15738         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15739         (setup_normal_frame): ditto.
15740         (setup_frame_without_minibuffer): ditto.
15741         (setup_minibuffer_frame): ditto.
15742         (delete_frame_internal): ditto.
15743         (Fmake_frame_invisible): ditto.
15744         (Ficonify_frame): ditto.
15745
15746         * window.h: change Fset_window_buffer signature.
15747
15748         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15749         (Fset_window_buffer): allow recording of buffer if the window is
15750         the selected window.
15751         (window_loop): Use new Fset_window signature.
15752
15753 2000-01-23  Daniel Pittman  <daniel@danann.net>
15754
15755         * config.h.in: Added template for `HAVE_ATHENA_3D'
15756
15757 2000-01-29  Andy Piper  <andy@xemacs.org>
15758
15759         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15760
15761         * gutter.c (output_gutter): Don't output if the window isn't live.
15762
15763 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15764
15765         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15766         of 01/12/00: Moved SetFocus back here where it belongs.
15767
15768 2000-01-23  Andy Piper  <andy@xemacs.org>
15769
15770         * s/cygwin32.h: declare printer things.
15771
15772 2000-01-26  Andy Piper  <andy@xemacs.org>
15773
15774         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15775         Alexander.
15776
15777 2000-01-24  Andy Piper  <andy@xemacs.org>
15778
15779         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15780         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15781
15782         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15783
15784         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15785
15786         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15787
15788         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15789         (mswindows_output_display_block): Avoid local shadows.
15790
15791         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15792         (mswindows_enqueue_mouse_button_event): ditto.
15793         (mswindows_handle_gui_wm_command): remove declaration.
15794
15795         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15796         warnings.
15797
15798         * console-msw.h: Avoid shadows.
15799         (mswindows_get_toolbar_button_text):
15800         (emacs_mswindows_create_stream_pair):
15801         (emacs_mswindows_delete_stream_pair):
15802         (mswindows_handle_toolbar_wm_command): declare.
15803
15804         * device-msw.c (build_syscolor_string): Avoid shadows.
15805
15806 2000-01-23  Andy Piper  <andy@xemacs.org>
15807
15808         * glyphs-widget.c (widget_instantiate): reverse the items for
15809         layouts so that children are in the expected order.
15810
15811 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15812
15813         * ralloc.c: safe_bcopy ==> memmove
15814         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15815         * s/msdos.h: Remove BCOPY macros.
15816         * insdel.c (gap_right): Remove BCOPY conditional code.
15817         * insdel.c (gap_left): Remove BCOPY conditional code.
15818         XEmacs demands a working ANSI C compiler - hence memmove.
15819
15820         * regex.c (regex_compile): Remove accidental use of trigraphs.
15821
15822 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15823
15824         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15825         event timestamp.
15826
15827 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15828
15829         * event-msw.c (mswindows_drain_windows_queue): Added the
15830         parameter.
15831         (mswindows_need_event): Commented the call to
15832         mswindows_drain_windows_queue().
15833         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15834         only.
15835
15836         * console-msw.h: Moved a few function prototypes here from
15837         event-msw.c.
15838
15839         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15840         parameter from unsigned short to unsigned long.
15841         (Fmswindows_shell_execute): Added return value.
15842
15843 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15844
15845         * sysdep.c (init_system_name):
15846           process-unix.c (unix_canonicalized_host_name):
15847         Don't call freeaddrinfo() if getaddrinfo() fails.
15848
15849         * process-unix.c (unix_open_unix_network_stream):
15850         Moved the code to get a port # into address loop.
15851
15852 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15853
15854         * buffer.c (reinit_vars_of_buffer):
15855         The right place to initialize conversion_in_dynarr and
15856         conversion_out_dynarr.
15857
15858         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15859
15860         * process-unix.c (unix_canonicalize_host_name): Muleize.
15861         (unix_open_network_stream): Muleize.
15862
15863         * buffer.h: Fix up prototypes for ralloc.c functions.
15864
15865 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15866         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15867         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15868                 instead of gethostbyname()
15869         * process-unix.c: In unix_canonicalize_host_name() and
15870                 unix_open_network_stream(), add code to use getaddrinfo()
15871                 instead of gethostbyname().
15872
15873 2000-01-27  Daniel Pittman <daniel@danann.net>
15874
15875         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15876         libs when built with flat Athena.
15877
15878 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15879
15880         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15881         Use coding standards for function prototypes.
15882
15883 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15884
15885         * dialog-msw.c (push_lisp_string_as_unicode):
15886         * doc.c (unparesseuxify_doc_string):
15887         * dired.c (Fuser_name_completion_1):
15888         * dired.c (Fuser_name_all_completions):
15889         * dired.c (free_user_cache):
15890         * dired.c (user_name_completion):
15891         * console-x.c (get_display_arg_connection):
15892         * minibuf.c (clear_echo_area_internal):
15893         * minibuf.c (echo_area_append):
15894         * eldap.c (Fldap_open):
15895         * eldap.c (Fldap_search_internal):
15896         * frame-x.c (x_set_frame_text_value):
15897         * frame-x.c (x_set_frame_properties):
15898         * frame-x.c (x_create_widgets):
15899         * redisplay-tty.c (term_get_fkeys_1):
15900         * objects-x.c (x_parse_nearest_color):
15901         * objects-x.c (x_valid_color_name_p):
15902         * objects-x.c (x_initialize_font_instance):
15903         * objects-x.c (x_list_fonts):
15904         * objects-x.c (x_find_charset_font):
15905         * tooltalk.c (Fadd_tooltalk_message_arg):
15906         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15907         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15908         * process-unix.c (unix_create_process):
15909         * ntproc.c (sys_spawnve):
15910         * sound.c (Fplay_sound_file):
15911         * sound.c (Fplay_sound):
15912         * buffer.c (init_initial_directory):
15913         * buffer.c (init_buffer):
15914         * editfns.c (init_editfns):
15915         * editfns.c (Ftemp_directory):
15916         * editfns.c (Fuser_full_name):
15917         * editfns.c (uncache_home_directory):
15918         * editfns.c (get_home_directory):
15919         * editfns.c (Fuser_home_directory):
15920         * editfns.c (Fformat_time_string):
15921         * editfns.c (Fcurrent_time_string):
15922         * gui-x.c (button_item_to_widget_value):
15923         * database.c (Fopen_database):
15924         * event-Xt.c (x_to_emacs_keysym):
15925         * event-Xt.c (x_event_to_emacs_event):
15926         * event-Xt.c (describe_event_window):
15927         * event-msw.c (mswindows_wnd_proc):
15928         * glyphs-eimage.c (jpeg_instantiate):
15929         * glyphs-eimage.c (gif_instantiate):
15930         * glyphs-eimage.c (png_instantiate):
15931         * glyphs-eimage.c (tiff_instantiate):
15932         * glyphs-x.c (xbm_instantiate_1):
15933         * glyphs-x.c (x_xbm_instantiate):
15934         * glyphs-x.c (x_xface_instantiate):
15935         * glyphs-x.c (autodetect_instantiate):
15936         * glyphs-x.c (cursor_font_instantiate):
15937         * glyphs-x.c (x_widget_instantiate):
15938         * glyphs-x.c (x_widget_set_property):
15939         * glyphs-x.c (x_widget_property):
15940         * glyphs-x.c (BUILD_GLYPH_INST):
15941         * print.c (write_string_to_stdio_stream):
15942         * print.c (output_string):
15943         * print.c (Falternate_debugging_output):
15944         * print.c (Fexternal_debugging_output):
15945         * glyphs-msw.c (extract_xpm_color_names):
15946         * glyphs-msw.c (mswindows_xpm_instantiate):
15947         * glyphs-msw.c (bmp_instantiate):
15948         * glyphs-msw.c (resource_name_to_resource):
15949         * glyphs-msw.c (mswindows_resource_instantiate):
15950         * glyphs-msw.c (xbm_instantiate_1):
15951         * glyphs-msw.c (mswindows_xbm_instantiate):
15952         * glyphs-msw.c (mswindows_xface_instantiate):
15953         * glyphs-msw.c (mswindows_widget_instantiate):
15954         * glyphs-msw.c (add_tree_item):
15955         * glyphs-msw.c (add_tab_item):
15956         * glyphs-msw.c (mswindows_combo_box_instantiate):
15957         * glyphs-msw.c (mswindows_widget_property):
15958         * glyphs-msw.c (mswindows_combo_box_property):
15959         * glyphs-msw.c (mswindows_widget_set_property):
15960         * console.c (stuff_buffered_input):
15961         * objects-msw.c (mswindows_initialize_color_instance):
15962         * objects-msw.c (mswindows_valid_color_name_p):
15963         * objects-msw.c (mswindows_list_fonts):
15964         * objects-msw.c (mswindows_font_instance_truename):
15965         * bytecode.c (optimize_compiled_function):
15966         * select-x.c (symbol_to_x_atom):
15967         * select-x.c (x_atom_to_symbol):
15968         * select-x.c (hack_motif_clipboard_selection):
15969         * select-x.c (selection_data_to_lisp_data):
15970         * select-x.c (lisp_data_to_selection_data):
15971         * select-x.c (Fx_get_cutbuffer_internal):
15972         * select-x.c (Fx_store_cutbuffer_internal):
15973         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15974         * buffer.h (TO_INTERNAL_FORMAT): New function.
15975         * emacs.c (make_arg_list_1):
15976         * emacs.c (make_argc_argv):
15977         * emacs.c (main_1):
15978         * emacs.c (Fdump_emacs):
15979         * emacs.c (split_string_by_emchar_1):
15980         * file-coding.h:
15981         * lisp.h:
15982         * lstream.h:
15983         * symsinit.h:
15984         * device-x.c (x_init_device):
15985         * device-x.c (Fx_valid_keysym_name_p):
15986         * device-x.c (Fx_get_font_path):
15987         * device-x.c (Fx_set_font_path):
15988         * glyphs.c (bitmap_to_lisp_data):
15989         * glyphs.c (pixmap_to_lisp_data):
15990         * alloc.c (make_ext_string): Use coding system arguments.  Update
15991         all callers.
15992         * alloc.c (build_string):
15993         * callproc.c (child_setup):
15994         * callproc.c (init_callproc):
15995         * fileio.c (lisp_strerror):
15996         * fileio.c (directory_file_name):
15997         * fileio.c (Fexpand_file_name):
15998         * fileio.c (Ffile_truename):
15999         * fileio.c (Fsysnetunam):
16000         * fileio.c (Fdo_auto_save):
16001         * sysdep.c (sys_readdir):
16002         * tests.c: New file.  Allow adding C tests.
16003         Replace GET_* macros with a more comprehensible and flexible
16004         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16005         Modify all calls.
16006         Any coding system can be used to do format conversion.
16007         Eliminate enum external_data_format.
16008         Eliminate convert_to_external_format.
16009         Eliminate convert_to_internal_format.
16010         Make sure file-name, keyboard, terminal, and ctext are always
16011         defined as coding systems or aliases.  Make
16012         file-name-coding-system, terminal-coding-system, and
16013         keyboard-coding-system magical variables that are equivalent to
16014         defining the corresponding coding system aliases.
16015
16016         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16017         * file-coding.c (Fcoding_system_alias_p): New function.
16018         * file-coding.c (Fcoding_system_aliasee): New function.
16019         * file-coding.c (append_suffix_to_symbol): New function.
16020         * file-coding.c (dangling_coding_system_alias_p): New function.
16021         * file-coding.c (Ffind_coding_system):
16022         * file-coding.c (Fcopy_coding_system):
16023         * file-coding.c (encode_coding_no_conversion):
16024         * file-coding.c (syms_of_file_coding):
16025         * file-coding.c (vars_of_file_coding):
16026         Rewrite coding system alias code.
16027         Allow nested aliases, like symbolic links.
16028         Allow redefinition of coding system aliases.
16029         Prevent existence of dangling coding system aliases.
16030
16031         * dired.c (Fuser_name_completion_1):
16032         * dired.c (Fuser_name_all_completions):
16033         A crash would happen if user did QUIT in the middle of building
16034         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16035
16036         * lisp.h:
16037         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16038
16039         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16040         an unsigned char *.  Update all callers.
16041
16042 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16043
16044         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16045
16046 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16047
16048         * elhash.c (hentry_description): Use more portable definition.
16049         (resize_hash_table): Initialize new hentries using
16050         xnew_array_and_zero, thereby simplifying the code.
16051
16052         * mule-charset.c (make_charset): Make sure entire object is
16053         initialized, to avoid Purify warnings.
16054
16055         * alloc.c (resize_string): Fix unlikely crash with big strings.
16056
16057 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16058
16059         * realpath.c (xrealpath):
16060         Don't call getwd().
16061
16062 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16063
16064         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16065
16066 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16067
16068         * unexelfsgi.c (unexec): Change the way we decide which segment
16069         should be extended.
16070
16071         Assumption that .bss section should be outside the PT_LOADable
16072         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16073         it's present) is inside the 'data' segment. This would fail the
16074         test which was used to find a segment to grow and cover new
16075         heap. Instead of this assumption, I created another one - on IRIX
16076         the segment to grow should start below .bss and it's address
16077         should extent above the end of .bss. Once this segment is
16078         identified, it's grown to accommodate the new heap and new
16079         zero-length .bss section is added at the end of .data2.
16080
16081 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16082
16083         * eval.c (Feval): Wrong number of arguments should use original
16084         function, not the indirect_function version of it.
16085
16086 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16087
16088         * glyphs-x.c (x_button_instantiate): Don't add image if
16089         it is not a pixmap.
16090         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16091         is relative.
16092
16093 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16094
16095         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16096         declaration.
16097         (DEFVAR_INT_MAGIC): Ditto.
16098         (DEFVAR_BOOL_MAGIC): Ditto.
16099         * glyphs.h: Reindent backslash.
16100
16101 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16102
16103         * glyphs-widget.c (layout_query_geometry):
16104         (layout_layout): Use correct types for gheight, gwidth.
16105
16106 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16107
16108         * EmacsManager.c (QueryGeometry): Purified.
16109
16110 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16111
16112         * alloc.c (make_float): Make sure entire object is initialized, to
16113         avoid Purify warnings.
16114         (pdump_register_sub): Remove useless assignment.
16115         (pdump): Use xmalloc, not malloc.
16116         (pdump_load): Use xmalloc, not malloc.
16117
16118 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16119
16120         * callproc.c:
16121         * dired-msw.c:
16122         * fileio.c:
16123         * process-nt.c:
16124         * redisplay-msw.c:
16125         * sysdep.c: Removed redundant #include <windows.h>
16126
16127 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16128
16129         * frame.c (delete_frame_internal): Do not delete device when its
16130         implementation so declares.
16131         (delete_frame_internal): Set device selected frame to nil when
16132         last frame goes away.
16133
16134         * device-msw.c (msprinter_device_system_metrics): Implemented.
16135         (mswindows_device_system_metrics): Added 'device-dpi property.
16136
16137         * device.c: (Fdevice_printer_p): Added.
16138         Added 'offset-workspace device metric.
16139
16140         * console.h (device_metrics): Declared DM_offset_workspace.
16141
16142 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16143
16144         * fileio.c (Ffile_truename): Remove pointless and confusing
16145         initialization of elen.
16146
16147         * glyphs-widget.c: Compiler warning fixes.
16148
16149 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16150
16151         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16152         instead of a Lisp_Object as argument to make it consistent with
16153         the other LIVE_P macros.
16154         (CHECK_LIVE_PROCESS): New macro.
16155
16156         * process.c: Declare Qprocess_live_p.
16157         (Fprocess_live_p): New function.
16158         (create_process): Use PROCESS_LIVE_P.
16159         (read_process_output): Ditto.
16160         (set_process_filter): Ditto.
16161         (Fdelete_process): Ditto.
16162         (kill_buffer_processes): Ditto
16163         (process_send_signal): Use CHECK_LIVE_PROCESS.
16164         (Fprocess_input_coding_system): Check whether process is still
16165         alive (fix PR#1061).
16166         (Fprocess_output_coding_system): Ditto.
16167         (Fprocess_coding_system): Ditto.
16168         (Fset_process_input_coding_system): Ditto.
16169         (Fset_process_output_coding_system): Ditto.
16170
16171 2000-01-23  Andy Piper  <andy@xemacs.org>
16172
16173         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16174         layout and widget.
16175
16176         * glyphs.c (mark_image_instance): take into account changed
16177         image_instance format.
16178         (image_instance_equal): ditto.
16179         (image_instance_hash): ditto.
16180
16181         * glyphs-widget.c (widget_instantiate): Incorporate layout
16182         instantiation here. Delay layout of the layout until later.
16183         (layout_instantiate): deleted.
16184         (layout_query_geometry): new function. get the geometry of a
16185         layout.
16186         (layout_layout): layout a layout dynamically.
16187         (image_instantiator_widget): New function - splitting up
16188         image_instantiator_format_create_glyphs_widget for netwinder
16189         compilation.
16190         (image_instantiator_buttons):
16191         (image_instantiator_edit_fields):
16192         (image_instantiator_combo_box):
16193         (image_instantiator_scrollbar):
16194         (image_instantiator_progress_guage):
16195         (image_instantiator_tree_view):
16196         (image_instantiator_tab_control):
16197         (image_instantiator_labels):
16198         (image_instantiator_layout): ditto.
16199         (image_instantiator_format_create_glyphs_widget): Call preceding
16200         functions.
16201
16202 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16203
16204         * process.c (Fset_process_coding_system):
16205         * device-x.c (Fx_keysym_hash_table):
16206         Docstring fixes.
16207
16208         * lstream.c (Lstream_write): Return documented value, not 0.
16209
16210         * fileio.c (directory_file_name):
16211         (Fsubstitute_in_file_name):
16212         (Fsubstitute_insert_file_contents_internal):
16213         (Fwrite_region_internal):
16214         * emacs.c:
16215         * sysdep.c:
16216         * getloadavg.c:
16217         * systty.h:
16218         Remove vestigial APOLLO-conditional code.
16219
16220 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16221
16222         * getpagesize.h: Add guard macros.
16223         * libsst.h: Add guard macros.
16224         * libst.h: Add guard macros.
16225         * line-number.h: Add guard macros.
16226         * ndir.h: Add guard macros.
16227         * sysfloat.h: Add guard macros.
16228         * sysfile.h: Add guard macros.
16229         * sysproc.h: Add guard macros.
16230         * syswait.h: Add guard macros.
16231         * xintrinsic.h: Add guard macros.
16232         * xintrinsicp.h: Add guard macros.
16233         * xmmanager.h: Add guard macros.
16234         * xmmanagerp.h: Add guard macros.
16235         * xmprimitive.h: Add guard macros.
16236         * xmu.h: Add guard macros.
16237         * gpmevent.h: Add copyright statement. Add guard macros.
16238         * miscplay.h: Add guard macros.
16239         * *.h: Use consistent C-standards-approved guard macro names.
16240
16241         * opaque.c (make_opaque): Switch parameter order.
16242         * opaque.h (make_opaque): Switch parameter order.
16243         Update all callers.
16244         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16245
16246         * config.h.in (type_checking_assert): Added.
16247         (bufpos_checking_assert): Added.
16248
16249 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16250
16251         * alloc.c: Harmless pdump changes.
16252         - Use countof().
16253         - spell alignment correctly.
16254         * sysdep.c: Use countof()
16255
16256 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16257
16258         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16259         initially_selected_for_input() console method, default to 0.
16260         (semi_canonicalize_console_connection): Try to delegate to
16261         canonicalize_console_connection if no such console method.
16262         (canonicalize_console_connection): Vice versa.
16263         (print_console): Do not print nil connection.
16264
16265         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16266         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16267         (XDEVIMPF_FRAMELESS_OK): Added.
16268         (CONSOLE_INHERITS_METHOD): Added.
16269
16270         * console-msw.c (mswindows_canonicalize_console_connection):
16271         Added.
16272         (mswindows_canonicalize_device_connection): Added.
16273
16274         * console-msw.h (struct msprinter_device): Added this struct and
16275         accessor macros.
16276         (mswindows_device): Made fontlist a lisp object.
16277
16278         * device.c (semi_canonicalize_device_connection):  Try to delegate
16279         to canonicalize_device_connection if no such console method.
16280         (canonicalize_device_connection): Vice versa.
16281         (print_device): Do not print nil connection.
16282
16283         * device-msw.c (mswindows_init_device): Call InitCommonControls
16284         when have widgets.
16285         (mswindows_delete_device): Removed fontlist deallocation.
16286         (mswindows_mark_device): Added.
16287
16288         * events.c (event_equal): Added abort() at unreached code.
16289         (event_hash): Ditto.
16290
16291         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16292         fallback tags of Windows devices.
16293
16294         * general.c (syms_of_general): Initialized Qmsprinter.
16295
16296         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16297         of fallback tags of Windows devices.
16298
16299         * lisp.h: Declared Qmsprinter.
16300
16301         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16302         of strings.
16303         (mswindows_list_fonts): Ditto.
16304         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16305         that it can be used by both mswindows and msprinter devices.
16306         (initialize_font_instance): Added.
16307         (mswindows_initialize_font_instance): Use it.
16308         (msprinter_initialize_font_instance): Added.
16309
16310         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16311         and implementation flags check.
16312         (redisplay_without_hooks): Changed the call to the above.
16313         (Fredraw_device): Ditto.
16314         (Fredisplay_device): Ditto.
16315
16316         * redisplay-msw.c (get_frame_dc): Implemented.
16317         (get_frame_compdc): Implemented.
16318         (many functions): Use the two functions above to get device
16319         contexts, ether for a window or a printer.
16320
16321 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16322
16323         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16324         initialization here.
16325         (init_symbols_once_early): Call it.
16326         * emacs.c (main_1): Call it.
16327         * symsinit.h: Declare it.
16328
16329 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16330
16331         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16332         Lisp_Object.
16333         (pdump_backtrace): Ditto.
16334         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16335         (pdump_get_entry): Abort if trying to register a null pointer.
16336         (pdump_dump_data): Cleanup types when relocating.
16337         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16338         (pdump_dump_rtables): Remove bad casts.
16339         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16340         Lisp_Object instead of a EMACS_INT for the hashtable
16341         reorganization.
16342
16343 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16344
16345         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16346
16347         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16348
16349         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16350
16351         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16352
16353 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16354
16355         * faces.h (FACE_STRIKETHRU_P): Added.
16356
16357         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16358         of font variants.
16359
16360         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16361         (mswindows_set_dc_font): New function, aware of font variants,
16362         separated from mswindows_update_dc.
16363
16364         * objects-msw.h (struct mswindows_font_instance_data): Added
16365         definition.
16366
16367         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16368         cached fonts and the data structure.
16369         (mswindows_initialize_font_instance): Added creation of font data
16370         structure.
16371         (mswindows_print_font_instance): Print at least something.
16372         (mswindows_create_font_variant): Implemented.
16373         (mswindows_get_hfont): Implemented.
16374
16375 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16376
16377         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16378         prototyping problem with msvc.
16379
16380         * emacs.c (main_1): added syms_of_gui_mswindows() call
16381
16382         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16383         syms_of_gui_mswindows() function
16384
16385         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16386
16387 2000-01-18  Martin Buchholz <martin@xemacs.org>
16388
16389         * XEmacs 21.2.27 is released.
16390
16391 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16392
16393         * glyphs-eimage.c (struct tiff_error_struct):
16394         (tiff_error_func):
16395         (tiff_warning_func):
16396         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16397
16398         * unexmips.c:
16399         * unexhp9k3.c:
16400         * unexfreebsd.c:
16401         * unexec.c: Remove vestigial Lucid C code.
16402         * unexalpha.c:
16403         * unexaix.c:
16404         * termcap.c:
16405         * libsst.c: Ansify.
16406         Remove declarations of errno and strerror().
16407
16408         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16409
16410         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16411
16412 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16413
16414         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16415         Optimize.
16416
16417 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16418
16419         * md5.c:
16420         * file-coding.c:
16421         * file-coding.h:
16422         Change enum eol_type to eol_type_t.
16423
16424 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16425
16426         * gui.c (get_gui_callback): Check cons before accessing car.
16427
16428 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16429
16430         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16431         (XSETSPECIFIER_TYPE): Ditto.
16432
16433 2000-01-17  Didier Verna  <didier@xemacs.org>
16434
16435         * redisplay.c (generate_fstring_runes): compute string size in
16436         characters, not bytes.
16437
16438 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16439
16440         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16441
16442 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16443
16444         * print.c (print_error_message): Call print_prepare().
16445
16446 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16447
16448         * .dbxrc: Renamed from dbxrc.
16449
16450         * events.c (event_to_character):
16451         Use `assert (foo)' instead of `if (!foo) abort()'
16452
16453         * .gdbinit (xtype): Add documentation.
16454         * .gdbinit (check-temacs): New function.
16455         * .gdbinit (check-xemacs): New function.
16456         * dbxrc (check-xemacs): New function.
16457         * dbxrc (check-xemacs): New function.
16458
16459 2000-01-14  Andy Piper  <andy@xemacs.org>
16460
16461         * glyphs-widget.c (widget_query_geometry): Make sure that we
16462         calculate default dimensions correctly.
16463
16464 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16465
16466         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16467
16468         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16469         pdump_wire'd variable.
16470
16471         * emacs.c: (main_1): Conditionalized calls to
16472         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16473
16474 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16475
16476         * window.c (Fset_window_configuration):
16477         * sysdep.c (_start):
16478         * input-method-motif.c (res):
16479         * event-Xt.c (Xt_process_to_emacs_event):
16480         Simple compiler warning fixes.
16481
16482         * bytecode.c (funcall_compiled_function): Use the original
16483         function symbol on the backtrace list in preference to the
16484         compiled_function object in error messages.
16485
16486 2000-01-13  Andy Piper  <andy@xemacs.org>
16487
16488         * glyphs-x.c (update_widget_face): Make sure we update the widget
16489         background as well as foreground.
16490
16491 2000-01-13  Andy Piper  <andy@xemacs.org>
16492
16493         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16494         fields to subwindow.
16495         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16496         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16497         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16498         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16499
16500         * glyphs-widget.c (check_valid_tab_orientation): new function.
16501         (initialize_widget_image_instance): zero orientation and
16502         justification.
16503         (widget_instantiate): pick up orientation.
16504         (tab_control_query_geometry): return appropriate values for
16505         vertical tabs.
16506
16507         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16508         appropriate creation flags for left, right and bottom tabs.
16509
16510         * s/cygwin32.h: add tab definitions.
16511
16512 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16513
16514         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16515         frame upon hiding a subwindow.
16516         (mswindows_button_instantiate): Changed the push button style to
16517         BS_PUSHBUTTON.
16518         (mswindows_button_instantiate): Removed button BS_NOTIFY
16519         style.
16520         (mswindows_button_instantiate): Removed redundant check for
16521         a disabled gui item.
16522         (mswindows_button_instantiate): Made use of WS_TABSTOP
16523         consistent: "operable" controls (edit, button, tree, scroll) have
16524         this style, "display-only" ones (static, progress gauge) do
16525         not. This style is currently ignored by XEmacs though. Also,
16526         removed the WS_EX_CONTROLPARENT style - it is not for children,
16527         it is for their parents!
16528         (mswindows_edit_field_instantiate): Ditto.
16529         (mswindows_progress_gauge_instantiate): Ditto.
16530         (mswindows_tree_view_instantiate): Ditto.
16531         (mswindows_tab_control_instantiate): Ditto.
16532         (mswindows_scrollbar_instantiate): Ditto.
16533         (mswindows_combo_box_instantiate): Ditto.
16534         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16535         style to the "clip" window.
16536         (mswindows_button_instantiate): Removed compilation warning by
16537         equally typing terms of the ?: operator.
16538
16539 2000-01-12  Didier Verna  <didier@xemacs.org>
16540
16541         * redisplay.c (generate_fstring_runes): new parameter holding the
16542         last modeline-format extent.
16543         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16544         extent, fill the glyph block with it.
16545         (generate_fstring_runes): handle these parameters.
16546         (generate_formatted_string_db): ditto.
16547
16548         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16549         glyphs'extents in the modeline.
16550
16551 1999-01-11  Mike Woolley  <mike@bulsara.com>
16552
16553         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16554         256Mb, as a workaround for the non-starting problem many people
16555         have experienced.
16556
16557 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16558
16559         * console-tty.c (Fset_console_tty_output_coding_system):
16560         Force redrawing tty frame.
16561
16562 2000-01-10  Didier Verna  <didier@xemacs.org>
16563
16564         * redisplay.c (generate_fstring_runes): fix size computation bug.
16565
16566 2000-01-09  William M. Perry <wmperry@aventail.com>
16567
16568         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16569
16570 2000-01-09  Andy Piper  <andy@xemacs.org>
16571
16572         * glyphs-msw.c: index -> i to avoid shadows.
16573         (xbm_create_bitmap_from_data): make static.
16574         (check_valid_string_or_int): deleted.
16575         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16576
16577         * glyphs-x.c (x_update_subwindow): remove unused args.
16578
16579         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16580         back pointer - this is done in allocate_image_instance.
16581         (query_string_font): return Qnil to make the compiler happy.
16582         (unmap_subwindow): set to ~0 to make the compiler happy.
16583         (glyph_query_geometry): comment out until used.
16584         (glyph_layout): ditto.
16585
16586 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16587
16588         * insdel.c (signal_after_change): Remove extraneous unbind_to().