update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * lisp-disunion.h (XCHARVAL): Fix condition about
4         SIZEOF_EMACS_INT.
5
6 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
9         <int> for `code'.
10         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
11         point; use <Emchar> instead of <int> for character-id.
12
13 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
16         (make_char): Likewise.
17         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
18         environment.
19         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
20         instead of <int> as the type of return value; use <Lisp_Object>
21         instead of <Emchar> as the type of argument.
22         (XCHARVAL[macro version]): Cast the result into <Emchar>.
23
24         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
25         syntaxcode> instead of <int>.
26
27 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * chartab.c (put_char_composition): Use DECODE_CHAR to get
30         character corresponding with UCS code point.
31         (Fput_char_attribute): Likewise.
32
33         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
34         character in the UCS decoding-table if the char-id is not equal to
35         the UCS code point.
36
37 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
38
39         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
40         for aliases; write `description'; write
41         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
42         not 0.
43
44 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * chartab.c (Fsave_char_attribute_table): Don't use
47         `save_charset_properties'.
48
49         * mule-charset.c (Fsave_charset_properties): Renamed from
50         `save_charset_properties' and changed to Lisp function again;
51         write property `type' as `CCS'; write properties `final-byte' and
52         `mother' if they exists.
53         (syms_of_mule_charset): Revive builtin function
54         `save-charset-properties' when HAVE_LIBCHISE is defined.
55
56 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
59         instead of Vexec_directory.
60         (char_attribute_system_db_file): Likewise.
61
62 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * chartab.c (Fsave_char_attribute_table): Use
65         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
66         defined.
67
68         * mule-charset.c (save_charset_properties): Renamed from
69         `Fsave_charset_properties'; changed to non-Lisp function.
70         (syms_of_mule_charset): Abolish builtin function
71         `save-charset-properties'.
72
73 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * mule-charset.c (Fsave_charset_properties): New function when
76         HAVE_LIBCHISE is defined.
77         (syms_of_mule_charset): Add new builtin function
78         `save-charset-properties' when HAVE_LIBCHISE is defined.
79
80 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * chartab.c (Fput_char_attribute): Convert char-specs in value of
83         `{<-|->}ancient[^*]*' to characters and put reverse links.
84         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
85         for `{<-|->}ancient[^*]*'.
86
87 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
88
89         * chartab.c (Fput_char_attribute): Convert char-specs in value of
90         `{<-|->}original[^*]*' to characters and put reverse links.
91         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
92         for `{<-|->}original[^*]*'.
93
94 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
97
98 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * mule-charset.c (Qsystem_char_id): New variable.
101
102         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
103         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
104
105 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * chartab.c (Fput_char_attribute): When processing a reference of
108         a character, put into the end of the reversed reference of each
109         target character.
110
111 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * chartab.c (Q_same): Deleted.
114         (Q_same_of): Deleted.
115         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
116         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
117         for `{<-|->}same'.
118         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
119
120 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * chartab.c (Q_vulgar): Deleted.
123         (Q_vulgar_of): Deleted.
124         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
125         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
126         for `{<-|->}vulgar'.
127         (syms_of_chartab): Don't define `{<-|->}vulgar'.
128
129 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * chartab.c (Fput_char_attribute): Convert char-specs in value of
132         `{<-|->}wrong[^*]*' to characters and put reverse links.
133         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
134         for `{<-|->}wrong[^*]*'.
135
136 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * chartab.c (Q_vulgar): New variable.
139         (Q_vulgar_of): New variable.
140         (Fput_char_attribute): Convert char-specs in value of
141         `{->|<-}vulgar' to characters and put reverse links.
142         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
143         for `{->|<-}vulgar'.
144         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
145
146 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * text-coding.c (decode_add_er_char): Must to quote prefix string
149         as regexp.
150
151 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * mule-charset.c (put_char_ccs_code_point): Store characters of
154         =ucs whose code_points >= 0xF0000.
155
156 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
159         CHISE.
160         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
161         CHISE.
162         (complex_vars_of_mule_charset): Add new coded-charset
163         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
164         builtin characters over 0xEFFFF.
165
166         * chartab.c (syms_of_chartab): Don't define symbol
167         `system-char-id' in every case.
168
169         * char-ucs.h (Qsystem_char_id): New extern variable.
170         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
171
172 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * text-coding.c (char_encode_utf8): Try to use entity-references
175         for U-000F0000 ...  U-0010FFFF.
176
177 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * text-coding.c (ER_BUF_SIZE): New macro.
180         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
181         `er_buf'.
182         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
183         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
184
185 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
186
187         * chartab.c (find_char_feature_in_family): New function.
188         (Fchar_feature): Use `find_char_feature_in_family' with
189         `->identical', `<-subsumptive' and `<-denotational'.
190
191 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * text-coding.c (char_encode_as_entity_reference): Allow prefix
194         within 8 characters; fix infinite loop.
195
196 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * chartab.c (Q_same): New variable.
199         (Q_same_of): New variable.
200         (Fput_char_attribute): Convert char-specs in value of
201         `{->|<-}same' to characters and put reverse links.
202         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
203         for `{->|<-}same'.
204         (syms_of_chartab): Add new symbols `{->|<-}same'.
205
206 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * chartab.c (Q_component): New variable.
209         (Q_component_of): Likewise.
210         (Fput_char_attribute): Convert char-specs in value of
211         `{->|<-}ideographic-component-forms' to characters and put reverse
212         links.
213         (syms_of_chartab): Add new symbols
214         `{->|<-}ideographic-component-forms'.
215
216 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
217
218         * chartab.c (Q_identical): New variable.
219         (Q_identical_from): New variable.
220         (Fchar_feature): Regard `->identical' as a feature to find
221         ancestors.
222         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
223         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
224         for `{->|<-}identical'.
225         (syms_of_chartab): Add new symbols `{->|<-}identical'.
226
227 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * char-ucs.h (encode_char_2): New inline function.
230         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
231
232 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * chartab.c (Fput_char_attribute): Convert char-specs to
235         characters in value of `ideographic-structure'.
236         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
237         for `{<-|->}simplified(@...)'.
238         (Fdefine_char): bTry to use predefined character's id.
239
240 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * fns.c (simplify_char_spec): Try to convert builtin chars to
243         defined chars.
244
245 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * chartab.c (Fput_char_attribute): Convert char-specs in value of
248         `<-simplified[^*]*' to characters and put reverse links.
249
250 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * chartab.c (Q_subsumptive): Renamed from Q_unified.
253         (Q_subsumptive_from): Renamed from Q_unified_from.
254         (Fchar_feature): Use `Q_subsumptive_from' instead of
255         `Q_unified_from'.
256         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
257         `Q_unified'.
258         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
259         `<-unified' to `<-subsumptive'.
260
261 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
264         inheritance itself; fix typo; stop recursive search if cyclic
265         inheritance is found.
266
267 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
268
269         * chartab.c (Q_denotational): New variable.
270         (Q_denotational_from): New variable.
271         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
272         (put_char_attribute): New function.
273         (Fput_char_attribute): Use `put_char_attribute'; regard
274         `->denotational' and `<-denotational' as same as `->unified' and
275         `<-unified'.
276         (syms_of_chartab): Add new symbols `->denotational' and
277         `<-denotational'.
278
279 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
282         `Fget_char_attribute'.
283         (Fchar_variants): Likewise.
284         (get_char_table): Likewise.
285         (Fchar_feature): New function.
286         (put_char_composition): Use `Fchar_feature' instead of
287         `Fget_char_attribute'.
288         (Fput_char_attribute): Likewise; don't put the target character
289         into its `->unified' value.
290         (syms_of_chartab): Add new builtin function `char-feature'.
291
292 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
295         `Fget_char_attribute'.
296         (char_encode_utf8): Likewise.
297
298         * chartab.h: Add an EXFUN for `Fchar_feature'.
299
300 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * chartab.c (Vnext_defined_char_id): New variable.
303         (Fput_char_attribute): Accept characters in `->unified'.
304         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
305         new characters which are not related with builtin char-id ranges.
306         (vars_of_chartab): Add new variable `next-defined-char-id'.
307
308 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
309
310         * chartab.c (Q_unified): New variable.
311         (Q_unified_from): New variable.
312         (Fput_char_attribute): Add code for `->unified'.
313         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
314         XEmacs CHISE.
315
316 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * mule-charset.c (decode_ccs_conversion): New function.
319         (decode_defined_char): Use `decode_ccs_conversion'.
320         (decode_builtin_char): Likewise.
321
322 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * char-ucs.h: Change some charset-ids of private coded-charsets.
325
326 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
329         (char_encode_as_entity_reference): Likewise.
330         (decode_coding_big5): Modify for `decode_defined_char' and
331         `DECODE_CHAR'.
332         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
333         avoid compiler warning.
334         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
335
336         * mule-charset.c (decode_defined_char): Add new argument
337         `without_inheritance'.
338         (Fdecode_char): Add new optional argument `without_inheritance'.
339         (Fdecode_builtin_char): Modify for `Fdecode_char'.
340
341         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
342         (simplify_char_spec): Likewise.
343
344         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
345         setting.
346
347         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
348         (map_char_table): Likewise.
349         (Fdefine_char): Use `Fdecode_char' without inheritance.
350         (Ffind_char): Modify for `Fdecode_char'.
351
352         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
353
354         * char-ucs.h (decode_defined_char): Add new argument
355         `without_inheritance'.
356         (DECODE_CHAR): Likewise.
357         (MAKE_CHAR): Modify for `DECODE_CHAR'.
358
359 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
360
361         * chartab.c (Vchise_system_db_directory): New variable.
362         (vars_of_chartab): Add new variable `chise-system-db-directory'.
363
364 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
365
366         * chartab.c: EXFUN `Fmount_char_attribute_table'.
367         (print_chartab_range): Don't define when `UTF2000' is defined.
368         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
369         `CHISE_DS_open'.
370
371 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
374         and optional argument `rehash' is specified, call
375         `open_chise_data_source_maybe' before
376         `chise_ds_foreach_char_feature_name' is called.
377
378 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * chartab.c (char_attribute_list_reset_map_func): New function
381         when HAVE_LIBCHISE is defined.
382         (Fchar_attribute_list): Add new optional argument `rehash' when
383         HAVE_LIBCHISE is defined.
384         (open_chise_data_source_maybe): Use "chise-db" instead of
385         "char-db".
386         (char_attribute_system_db_file): Likewise.
387         (Fload_char_attribute_table): Use
388         `chise_feature_foreach_char_with_value' instead of
389         `chise_char_feature_value_iterate'.
390
391 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * chartab.c (Vchise_db_directory): New variable.
394         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
395
396 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
397
398         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
399         instead of HAVE_CHISE to specify using with libchise.
400
401         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
402
403         * chartab.h: Don't use HAVE_CHISE_CLIENT.
404
405         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
406         defined or HAVE_LIBCHISE_LIBCHISE is defined.
407         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
408         is defined.
409         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
410         HAVE_CHISE to specify using with libchise.
411         (syms_of_chartab): Don't define symbol `system-char-id' when
412         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
413
414 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
415
416         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
417         specify CHISE DB support.
418         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
419         of `char_attribute_system_db_file' to check feature DB file.
420
421         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
422         HAVE_CHISE_CLIENT to specify CHISE DB support.
423
424         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
425         specify CHISE DB support.
426         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
427         not defined.
428         (Freset_char_attribute_table): Use `chise_feature_setup_db'
429         instead of `char_attribute_system_db_file' to check feature DB
430         file.
431
432 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
435         `HAVE_CHISE_CLIENT'.
436
437 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
438
439         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
440         (Fsave_charset_mapping_table): Don't use
441         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
442
443         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
444         (HAVE_LIBCHISE): New macro.
445
446         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
447
448         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
449         (Fsave_char_attribute_table): Don't use
450         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
451
452 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
455         defined.
456         (save_uint16_byte_table): Likewise.
457         (save_byte_table): Likewise.
458         (char_table_get_db): Use `chise_ds_load_char_feature_value'
459         instead of `chise_char_load_feature_value'.
460         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
461
462 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
463
464         * chartab.h (struct Lisp_Char_Table): Delete member
465         `feature_table' if CHISE is defined.
466
467         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
468         (Fcopy_char_table): Likewise.
469         (char_table_open_db_maybe): Likewise.
470         (char_table_close_db_maybe): Likewise.
471         (char_table_get_db): Likewise.
472         (Fmount_char_attribute_table): Likewise.
473         (Fload_char_attribute_table): Likewise.
474
475 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * mule-charset.c (load_char_decoding_entry_maybe): Use
478         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
479         `chise_ccs_decode'.
480
481 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
482
483         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
484         instead of `chise_open_data_source'.
485         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
486         `chise_ds_close'.
487
488 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
489
490         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
491         instead of `chise_ds_open_feature_table'.
492         (char_table_close_db_maybe): Don't use `chise_ft_close'.
493
494 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * mule-charset.c (Fsave_charset_mapping_table): Use
497         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
498         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
499         `chise_ccs_sync' instead of `chise_ccst_close'.
500         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
501
502         * chartab.c (open_chise_data_source_maybe): Modify for
503         `chise_open_data_source'.
504         (char_table_open_db_maybe): Modify for
505         `chise_ds_open_feature_table'.
506
507 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
508
509         * mule-charset.c (load_char_decoding_entry_maybe): Use
510         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
511         `chise_ccst_close'.
512
513 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
514
515         * mule-charset.c (Fsave_charset_mapping_table): Use
516         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
517         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
518         `chise_dt_put_char' and `chise_dt_close'.
519         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
520         `chise_ccs_decode' and `chise_ccst_close' instead of
521         `chise_ds_open_decoding_table', `chise_dt_get_char' and
522         `chise_dt_close'.
523
524         * chartab.c (char_table_get_db): Use
525         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
526         (load_char_attribute_table_map_func): Modify for
527         `chise_char_feature_value_iterate'.
528         (Fload_char_attribute_table): Use
529         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
530
531 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
534
535 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
536
537         * chartab.c (put_char_table): Modify for inherited coded-charsets
538         in XEmacs CHISE.
539
540 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
541
542         * chartab.c (Fput_char_table_map_function): Fixed.
543         (word_boundary_p): Don't check charset in XEmacs CHISE.
544
545 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
546
547         * mule-charset.c (Fsave_charset_mapping_table): Use
548         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
549         instead of `chise_open_decoding_table'; refer
550         `default_chise_data_source'; use `chise_dt_close' instead of
551         `chise_close_decoding_table'.
552         (load_char_decoding_entry_maybe): Likewise.
553
554         * chartab.c (default_chise_data_source): New variable when `CHISE'
555         is defined.
556         (Fcopy_char_table): `ct->ds' is deleted.
557         (open_chise_data_source_maybe): New function.
558         (Fclose_char_data_source): New function.
559         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
560         use `chise_ds_open_feature_table' instead of
561         `chise_open_feature_table'.
562         (char_table_close_db_maybe): Use `chise_ft_close' instead of
563         `chise_close_feature_table'; `cit->ds' is deleted.
564         (syms_of_chartab): Add new builtin function
565         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
566
567         * chartab.h (default_chise_data_source): New extern variable.
568         (open_chise_data_source_maybe): New prototype.
569         (struct Lisp_Char_Table): Delete `ds'.
570
571 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
572
573         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
574         `CHISE' is defined.
575
576 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
577
578         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
579         not defined; add code for non-libchise setting.
580         (char_table_close_db_maybe): Likewise.
581         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
582         defined.
583         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
584         even if `CHISE' is not defined.
585         (Freset_char_attribute_table): Likewise.
586         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
587         `char_table_close_db_maybe' even if `CHISE' is not defined; use
588         `char_table_get_db'.
589         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
590         `char_table_close_db_maybe' even if `CHISE' is not defined.
591
592 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
593
594         * chartab.c (char_table_open_db_maybe): New function.
595         (char_table_close_db_maybe): New function.
596         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
597         (Freset_char_attribute_table): Likewise.
598         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
599         `char_table_close_db_maybe'.
600         (Fload_char_attribute_table): Likewise.
601
602 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
603
604         * chartab.c: Don't include <chise.h> because it is included in
605         chartab.h.
606         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
607         defined.
608         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
609         `CHISE' is defined.
610         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
611         `CHISE' is defined.
612         (Fclose_char_attribute_table): Close `ct->feature_table' and
613         `ct->ds' when `CHISE' is defined.
614         (Freset_char_attribute_table): Likewise.
615         (load_char_attribute_maybe): Use `cit->ds' and
616         `cit->feature_table' when `CHISE' is defined.
617         (Fload_char_attribute_table): Likewise.
618
619         * chartab.h: Include <chise.h> when `CHISE' is defined.
620         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
621         when `CHISE' is defined.
622
623 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
624
625         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
626         is defined.
627         (char_table_description): Likewise.
628         (Fmake_char_table): Likewise.
629         (Fcopy_char_table): Likewise.
630         (Fmount_char_attribute_table): Likewise.
631         (Fclose_char_attribute_table): Likewise.
632         (Freset_char_attribute_table): Likewise.
633         (load_char_attribute_maybe): Likewise.
634         (Fload_char_attribute_table): Likewise.
635
636         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
637         defined.
638
639 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
640
641         * chartab.c (load_char_attribute_table_map_func): New function
642         when CHISE is defined.
643         (Qload_char_attribute_table_map_function): Don't define when CHISE
644         is defined.
645         (Fload_char_attribute_table_map_function): Likewise.
646         (Fload_char_attribute_table): Use libchise when `CHISE' is
647         defined.
648         (syms_of_chartab): Don't define
649         `load-char-attribute-table-map-function' when CHISE is defined.
650
651 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
652
653         * chartab.c: Include <chise.h> when `CHISE' is defined.
654         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
655
656 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * mule-charset.c (charset_code_point): Fix problem when searching
659         in mother CCS fails with `defined_only' mode.
660
661 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
662
663         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
664         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
665         (put_char_composition): Likewise.
666         (Fput_char_attribute): Likewise.
667         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
668
669 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
670
671         * chartab.c (Q_ucs): Deleted.
672         (Fput_char_attribute): Don't refer `->ucs'.
673         (Fdefine_char): Likewise.
674         (Ffind_char): Likewise.
675         (syms_of_chartab): Delete `->ucs'.
676
677 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
678
679         * mule-charset.c (Qmap_cns11643_2): Renamed from
680         `Qchinese_cns11643_2'.
681         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
682         `chinese-cns11643-2'.
683         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
684         `=cns11643-2'.
685
686 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
687
688         * mule-charset.c (Qmap_cns11643_1): Renamed from
689         `Qchinese_cns11643_1'.
690         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
691         `chinese-cns11643-1'.
692         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
693         `=cns11643-1'.
694
695 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
696
697         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
698         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
699         `chinese-gb12345'.
700         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
701         `=gb12345'.
702
703 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
704
705         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
706         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
707         `chinese-gb2312'.
708         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
709         `=gb2312'.
710
711 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
712
713         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
714         (syms_of_mule_charset): Add new symbol `=big5' instead of
715         `chinese-big5'.
716         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
717
718 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
721         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
722         `korean-ksc5601'.
723         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
724         `=ks-x1001'.
725
726 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
727
728         * mule-charset.c (Qmap_jis_x0212): Renamed from
729         `Qjapanese_jisx0212'.
730         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
731         `japanese-jisx0212'.
732         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
733         `=jis-x0212'.
734
735 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
736
737         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
738         `Qjapanese_jisx0208'.
739         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
740         of `japanese-jisx0208'.
741         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
742         `=jis-x0208-1983'.
743
744 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
745
746         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
747         `Qjapanese_jisx0208_1978'.
748         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
749         of `japanese-jisx0208-1978'.
750         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
751         `=jis-x0208-1978'.
752
753 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
754
755         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
756         only for XEmacs CHISE.
757
758 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
759
760         * char-ucs.h: Compact non-ISO-IR charset-ids.
761         (LEADING_BYTE_UCS): Changed to -177.
762         (LEADING_BYTE_CONTROL_1): Changed to -77.
763         (LEADING_BYTE_UCS_BMP): Changed to -176.
764         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
765
766 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * mule-charset.c (Qiso_ir): New variable.
769         (Fmake_charset): Recognise new property `iso-ir'.
770         (syms_of_mule_charset): Add new symbol `iso-ir'.
771
772 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
773
774         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
775         n to -n; charset-id of non ISO-IR sets are changed to positive
776         numbers.
777
778 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
779
780         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
781         for &MCS-XXXXXXXX; values.
782
783 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
784
785         * mule.c (Vxemacs_chise_version): Renamed from
786         `Vutf_2000_version'.
787         (vars_of_mule): Add new variable `xemacs-chise-version'; define
788         `utf-2000-version' as an alias for `xemacs-chise-version'.
789
790 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
793         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
794         defined.
795
796         * config.h.in (CHISE): New macro.
797
798 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
799
800         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
801         of `ucs'.
802         (Qmap_ucs): New variable.
803         (syms_of_mule_charset): Add new symbol `=ucs'.
804         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
805
806         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
807         (simplify_char_spec): Likewise.
808
809         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
810
811         * char-ucs.h (Qmap_ucs): New extern variable.
812
813 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
814
815         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
816         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
817         don't define it when UTF2000 is not defined.
818         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
819         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
820         when UTF2000 is not defined.
821         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
822         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
823
824 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
825
826         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
827
828         * mule-charset.c (Vcharset_ucs_gb): Deleted.
829         (Qucs_gb): Deleted.
830         (syms_of_mule_charset): Delete `ucs-gb'.
831         (complex_vars_of_mule_charset): Likewise.
832
833 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
834
835         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
836
837         * mule-charset.c (Vcharset_ucs_cns): Deleted.
838         (Qucs_cns): Deleted.
839         (syms_of_mule_charset): Delete `ucs-cns'.
840         (complex_vars_of_mule_charset): Likewise.
841
842 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
843
844         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
845
846         * mule-charset.c (Vcharset_ucs_jis): Deleted.
847         (Qucs_jis): Deleted.
848         (syms_of_mule_charset): Delete `ucs-jis'.
849         (complex_vars_of_mule_charset): Likewise.
850
851 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
852
853         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
854
855         * mule-charset.c (Vcharset_ucs_ks): Deleted.
856         (Qucs_ks): Deleted.
857         (syms_of_mule_charset): Delete `ucs-ks'.
858         (complex_vars_of_mule_charset): Likewise.
859
860 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
861
862         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
863         (Qideograph_daikanwa_2): Deleted.
864         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
865         (complex_vars_of_mule_charset): Likewise.
866
867         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
868         (LEADING_BYTE_DAIKANWA_1): Deleted.
869         (LEADING_BYTE_DAIKANWA_2): Deleted.
870         (MIN_CHAR_DAIKANWA): Deleted.
871         (MAX_CHAR_DAIKANWA): Deleted.
872
873 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
874
875         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
876         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
877         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
878
879         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
880         (Vcharset_ideograph_daikanwa): Deleted.
881         (Qideograph_hanziku_{1..12}): Deleted.
882         (Qideograph_daikanwa): Deleted.
883         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
884         Vcharset_ideograph_daikanwa.
885         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
886         `ideograph-hanziku-{1..12}'.
887         (complex_vars_of_mule_charset): Likewise.
888
889 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
890
891         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
892
893         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
894         (Qideograph_gt_pj_{1..11}): Deleted.
895         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
896         (complex_vars_of_mule_charset): Likewise.
897
898 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
899
900         * mule-charset.c (Vcharset_ucs_big5): Deleted.
901         (Vcharset_ideograph_gt): Deleted.
902         (Qucs_big5): Deleted.
903         (Qideograph_gt): Deleted.
904         (syms_of_mule_charset): Delete symbol `ucs-big5' and
905         `ideograph-gt'.
906         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
907         and `ideograph-gt'.
908
909         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
910         (LEADING_BYTE_GT): Deleted.
911         (MIN_CHAR_GT): Deleted.
912         (MAX_CHAR_GT): Deleted.
913
914 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
917
918 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
921         (save_uint16_byte_table): Likewise.
922         (save_byte_table): Likewise; convert values by it.
923         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
924         for `ideographic-structure'.
925         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
926         as the filter for `ideographic-structure'.
927
928 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
929
930         * chartab.c (put_char_composition): New function.
931         (Fput_char_attribute): Use `put_char_composition'; use
932         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
933
934         * fns.c (simplify_char_spec): New function.
935         (char_ref_simplify_spec): New function.
936         (Fchar_refs_simplify_char_specs): New function.
937         (syms_of_fns): Add new builtin function
938         `char-refs-simplify-char-specs'.
939
940 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
941
942         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
943         (Qideograph_cbeta): Deleted.
944         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
945         (complex_vars_of_mule_charset): Likewise.
946
947         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
948         (MIN_CHAR_CBETA): Comment out.
949         (MAX_CHAR_CBETA): Likewise.
950
951 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
952
953         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
954         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
955         CHISE client feature.
956
957 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
958
959         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
960
961 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
962
963         * mule-charset.c (charset_lookup_description_1): Use
964         `NUM_LEADING_BYTES' in UTF-2000.
965
966 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
967
968         * char-ucs.h (GC_CHARSETP): Deleted.
969
970 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * char-ucs.h (MAX_CHAR_GT): Updated.
973
974 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
975
976         * text-coding.c: Sync with XEmacs 21.4.10.
977
978 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
979
980         * mule-charset.c (Vcharset_china3_jef): Deleted.
981         (Qchina3_jef): Deleted.
982         (syms_of_mule_charset): Don't define `china3-jef'.
983         (complex_vars_of_mule_charset): Likewise.
984
985         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
986         (MIN_CHAR_CHINA3_JEF): Comment out.
987         (MAX_CHAR_CHINA3_JEF): Comment out.
988
989 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
990
991         * mule-charset.c (Vcharset_ucs_gb): New variable.
992         (Qucs_gb): New variable.
993         (syms_of_mule_charset): Add new symbol `ucs-gb'.
994         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
995
996         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
997
998 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
999
1000         * mule-charset.c (charset_code_point): if a coded-charset has a
1001         final-byte, don't inherit the builtin range of the mother CCS.
1002
1003 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * mule-charset.c (charset_code_point): Fix problem about
1006         inheritance.
1007
1008 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1009
1010         * mule-charset.c (decode_builtin_char): Reorganized.
1011
1012 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1013
1014         * text-coding.c (char_encode_as_entity_reference): Modify for
1015         `charset_code_point'.
1016         (char_encode_shift_jis): Likewise.
1017         (char_encode_big5): Likewise.
1018         (char_encode_utf8): Likewise.
1019         (char_encode_iso2022): Likewise.
1020
1021         * mule-charset.c (charset_code_point): Add new argument
1022         `defined_only'.
1023         (Fencode_char): Add new optional argument `defined_only'.
1024
1025         * chartab.c (put_char_table): Modify for `charset_code_point'.
1026
1027         * char-ucs.h (charset_code_point): Add new argument
1028         `defined_only'.
1029         (encode_char_1): Modify for `charset_code_point'.
1030
1031 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1032
1033         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1034         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1035
1036 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1037
1038         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1039         (Qjis_x0208): Likewise.
1040         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1041         XCHARSET_FINAL(charset).
1042         (charset_code_point): Modify condition for final-byte based
1043         builtin-chars.
1044         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1045         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1046         in UTF-2000; specify `=jis-x0208' as the mother of
1047         `japanese-jisx0208-1978', `japanese-jisx0208' and
1048         `japanese-jisx0208-1990' in UTF-2000.
1049
1050 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1051
1052         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1053
1054 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * text-coding.c (decode_coding_utf16): Support UTF-16.
1057         (char_encode_utf16): Fixed.
1058
1059 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * text-coding.c (Qutf16): New variable in MULE.
1062         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1063         (Fcoding_system_type): Add `utf-16' in MULE.
1064         (struct detection_state): Add a structure for utf16 in MULE.
1065         (detect_coding_type): Setup st->utf16.mask in MULE.
1066         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1067         MULE.
1068         (reset_encoding_stream): Use `char_encode_utf16' and
1069         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1070         (detect_coding_utf16): New function [incomplete].
1071         (decode_coding_utf16): New function [support only UCS-2].
1072         (char_encode_utf16): New function.
1073         (char_finish_utf16): New function.
1074         (syms_of_file_coding): Add new symbol `utf-16'; setup
1075         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1076
1077         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1078         UTF-2000.
1079         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1080         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1081
1082 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1083
1084         * chartab.c (put_char_table): When a charset is specified as a
1085         range in UTF-2000, don't support builtin characters.
1086
1087 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1088
1089         * mule-charset.c (decode_defined_char): Don't refer external
1090         database if Qunbound or Qnil are found.
1091         (Fsave_charset_mapping_table): Don't define it if
1092         HAVE_CHISE_CLIENT is not defined.
1093         (Freset_charset_mapping_table): New function.
1094         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1095         found in external database.
1096         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1097         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1098         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1099
1100 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1101
1102         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1103         not.
1104
1105 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1106
1107         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1108         Q_lowercase, Q_uppercase in UTF-2000.
1109
1110         * chartab.c (get_char_table): Add special code for the standard
1111         case table to use character attribute `->downcase' and
1112         `->uppercase' for case operations in UTF-2000.
1113
1114         * casetab.c (Qflippedcase): New variable in UTF-2000.
1115         (Q_lowercase): Likewise.
1116         (Q_uppercase): Likewise.
1117         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1118         and `->uppercase' in UTF-2000.
1119         (complex_vars_of_casetab): Assign attribute name `downcase' to
1120         downcase and CANON table of Vstandard_case_table in UTF-2000;
1121         assign attribute name `flippedcase' to upcase and EQV table of
1122         Vstandard_case_table in UTF-2000.
1123
1124 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * text-coding.c (decode_add_er_char): Support isolated-chars.
1127         (char_encode_as_entity_reference): Likewise.
1128
1129 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1130
1131         * emacs.c (Vutf_2000_lisp_directory): New variable.
1132         (Vconfigure_utf_2000_lisp_directory): Likewise.
1133         (complex_vars_of_emacs): Add new variable
1134         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1135
1136 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1137
1138         * char-ucs.h (DECODE_CHAR): Delete special code for
1139         `chinese-big5-1' and `chinese-big5-2'.
1140
1141         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1142         (Qbig5_2): Likewise.
1143         (decode_defined_char): Support CONVERSION_BIG5_1 and
1144         CONVERSION_BIG5_2.
1145         (decode_builtin_char): Likewise.
1146         (charset_code_point): Likewise.
1147         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1148         'conversion in UTF-2000.
1149         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1150         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1151         `chinese-big5-2' as children of `chinese-big5'.
1152
1153         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1154         (CONVERSION_BIG5_2): New macro.
1155
1156 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1157
1158         * text-coding.c (char_encode_big5): Support entity-reference.
1159
1160 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1161
1162         * text-coding.c (char_encode_as_entity_reference): New function.
1163         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1164
1165 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1166
1167         * text-coding.c (decode_coding_big5): Support entity-reference
1168         decoding feature.
1169
1170 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1171
1172         * text-coding.c (allocate_coding_system): Initialize initial
1173         charsets for CODESYS_UTF8.
1174         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1175         charset-g2 for CODESYS_UTF8.
1176         (decode_coding_utf8): Use charset-g0.
1177         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1178         to force variants to map to UCS.
1179
1180 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1181
1182         * text-coding.c (Qutf_8_mcs): New variable.
1183         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1184         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1185         instead of `utf-8' in UTF-2000.
1186
1187 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1188
1189         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1190         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1191         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1192         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1193         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1194         CONVERSION_96x96x96x96 are introduced.
1195         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1196         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1197         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1198
1199         * char-ucs.h (CONVERSION_94): New macro.
1200         (CONVERSION_96): New macro.
1201         (CONVERSION_94x94): New macro.
1202         (CONVERSION_96x96): New macro.
1203         (CONVERSION_94x94x94): New macro.
1204         (CONVERSION_96x96x96): New macro.
1205         (CONVERSION_94x94x94x60): New macro.
1206         (CONVERSION_94x94x94x94): New macro.
1207         (CONVERSION_96x96x96x96): New macro.
1208
1209 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1210
1211         * chartab.c (Vcharacter_variant_table): Deleted.
1212         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1213         of `Vcharacter_variant_table'.
1214         (Fput_char_attribute): Likewise.
1215         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1216         (complex_vars_of_chartab): Likewise.
1217
1218 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1219
1220         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1221
1222         * fns.c (Qideographic_structure): New variable.
1223         (Qkeyword_char): New variable.
1224         (ids_format_unit): New function.
1225         (Fideographic_structure_to_ids): New function.
1226         (syms_of_fns): Add new symbols `ideographic-structure' and
1227         `:char'; add new builtin function `ideographic-structure-to-ids'.
1228
1229         * data.c (Fchar_ref_p): New function.
1230         (syms_of_data): Add new builtin function `char-ref-p'.
1231
1232         * chartab.h: Add an EXFUN for `Ffind_char'.
1233
1234 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * text-coding.c (Vcharacter_composition_table): Deleted.
1237         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1238         in every UTF-2000.
1239
1240         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1241         UTF-2000.
1242         (Vcharacter_composition_table): Deleted.
1243         (Fget_composite_char): Use the implementation for external-DB
1244         support in every UTF-2000.
1245         (Fput_char_attribute): Likewise.
1246         (char_attribute_system_db_file): Don't define if external-DB
1247         feature is not available.
1248         (Fsave_char_attribute_table): Likewise.
1249         (Fmount_char_attribute_table): Likewise.
1250         (Fclose_char_attribute_table): Likewise.
1251         (Freset_char_attribute_table): Likewise.
1252         (Fload_char_attribute_table): Likewise.
1253         (syms_of_chartab): Don't define `save-char-attribute-table',
1254         `mount-char-attribute-table', `reset-char-attribute-table',
1255         `close-char-attribute-table' and `load-char-attribute-table' if
1256         external-DB feature is not available.
1257         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1258
1259 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1260
1261         * text-coding.c (Qcomposition): Add extern if external-DB feature
1262         is supported.
1263         (Vcharacter_composition_table): Don't add extern if external-DB
1264         feature is supported.
1265         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1266         character composition rule if external-DB feature is supported.
1267
1268         * chartab.c (Vcharacter_composition_table): Don't define if
1269         external-DB feature is supported.
1270         (Qcomposition): New variable.
1271         (Fget_composite_char): New implementation for external-DB support.
1272         (Fput_char_attribute): Use `composition' property of each
1273         character instead of `Vcharacter_composition_table' to store
1274         character-composition rules if external-DB feature is supported.
1275         (syms_of_chartab): Add new symbol `composition'.
1276         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1277         external-DB feature is supported.
1278
1279 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1280
1281         * chartab.c (Vchar_db_stingy_mode): New variable.
1282         (load_char_attribute_maybe): Close database if
1283         Vchar_db_stingy_mode is not NIL.
1284         (Fload_char_attribute_table_map_function): Use
1285         `get_char_id_table_0' instead of `get_char_id_table'.
1286         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1287
1288         * chartab.h (get_char_id_table_0): New inline function.
1289         (get_char_id_table): Use `get_char_id_table_0'.
1290
1291 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1292
1293         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1294         and `COMPOSE_ADD_CHAR'.
1295         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1296
1297 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1298
1299         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1300         instead of `DECODE_ADD_UCS_CHAR'.
1301         (COMPOSE_ADD_CHAR): Likewise.
1302
1303 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1304
1305         * text-coding.c (decode_flush_er_chars): New inline function.
1306         (decode_add_er_char): New function.
1307         (decode_coding_utf8): Use `decode_flush_er_chars' and
1308         `decode_add_er_char'.
1309
1310 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1311
1312         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1313         done before `decode_output_utf8_partial_char'.
1314
1315         * mule-charset.c (complex_vars_of_mule_charset): Specify
1316         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1317         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1318
1319 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * mule-charset.c (decode_defined_char): New function; search
1322         mother.
1323         (decode_builtin_char): Don't search mother if
1324         XCHARSET_MAX_CODE(charset) == 0.
1325         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1326         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1327         (Fdecode_char): Use `decode_defined_char' instead of
1328         `DECODE_DEFINED_CHAR'.
1329         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1330         mother of `Vcharset_ucs_jis'.
1331
1332         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1333         instead of `DECODE_DEFINED_CHAR'.
1334
1335         * char-ucs.h (decode_defined_char): Renamed from
1336         `DECODE_DEFINED_CHAR'; changed to normal function.
1337         (DECODE_CHAR): Use `decode_defined_char' instead of
1338         `DECODE_DEFINED_CHAR'.
1339
1340         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1341
1342 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1343
1344         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1345
1346         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1347         variable.
1348         (Quse_entity_reference): New variable.
1349         (Qd): New variable.
1350         (Qx): New variable.
1351         (QX): New variable.
1352         (coding_system_description): Add description for
1353         `ccs_priority_list'.
1354         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1355         (allocate_coding_system): Initialize `ccs_priority_list' in
1356         UTF-2000.
1357         (Fmake_coding_system): Add description about
1358         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1359         (codesys).
1360         (Fcoding_system_property): Accept `disable-composition' and
1361         `use-entity-reference' in UTF-2000.
1362         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1363         in UTF-2000.
1364         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1365         (decode_coding_utf8): Decode entity-reference if
1366         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1367         (char_encode_utf8): Encode non-Unicode characters as
1368         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1369         (str->codesys).
1370         (syms_of_file_coding): Add new symbols `use-entity-reference',
1371         `d', `x', `X'.
1372         (vars_of_file_coding): Add new variable
1373         `coded-charset-entity-reference-alist'.
1374         (complex_vars_of_file_coding): Declare `disable-composition' and
1375         `use-entity-reference' to be coding-system-properties in UTF-2000.
1376
1377         * file-coding.h (struct Lisp_Coding_System): Add new member
1378         `use_entity_reference' and `ccs_priority_list'.
1379         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1380         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1381         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1382
1383 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1384
1385         * chartab.c (save_uint8_byte_table): Don't clear the table.
1386         (save_uint16_byte_table): Likewise.
1387         (save_byte_table): Likewise.
1388         (Fmount_char_attribute_table): New function.
1389         (syms_of_chartab): Add new builtin function
1390         `mount-char-attribute-table'.
1391
1392 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1395         "w+" mode.
1396         (load_char_decoding_entry_maybe): Open database as read-only mode.
1397
1398         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1399         open database as "w+" mode.
1400         (load_char_attribute_maybe): Open database as read-only mode.
1401         (Fload_char_attribute_table): Likewise.
1402
1403 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1404
1405         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1406         (char_table_description): Delete member `db_file'.
1407         (Fmake_char_table): Don't refer `ct->db_file'.
1408         (Fcopy_char_table): Likewise.
1409         (Fsave_char_attribute_table): Likewise.
1410         (Fclose_char_attribute_table): Likewise.
1411         (Freset_char_attribute_table): Likewise.
1412         (load_char_attribute_maybe): Likewise.
1413         (Fload_char_attribute_table): Likewise.
1414
1415         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1416
1417 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1420         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1421         `ct->db' is living.
1422         (load_char_attribute_maybe): Likewise.
1423         (Fload_char_attribute_table): Likewise.
1424
1425 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1426
1427         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1428         `ct->db_file' unconditionally.
1429
1430 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1431
1432         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1433         UTF-2000.
1434         (char_table_description): Add description for `db_file' and `db'
1435         in UTF-2000.
1436         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1437         UTF-2000.
1438         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1439         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1440         (Fclose_char_attribute_table): New function.
1441         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1442         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1443         and `cit->db'.
1444         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1445         (syms_of_chartab): Add new builtin function
1446         `Fclose_char_attribute_table'.
1447
1448 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1449
1450         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1451         `db' in UTF-2000.
1452         (load_char_attribute_maybe): Change interface.
1453         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1454
1455 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1456
1457         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1458
1459 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1460
1461         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1462         instead of `DECODE_CHAR' for mother; don't use special code for
1463         chinese-big5 to use code space of chinese-big5-1 and
1464         chinese-big5-2.
1465         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1466         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1467
1468         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1469         (MAX_CHAR_BIG5_CDP): Revival.
1470
1471 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1474         the XLFD registry-encoding name of `chinese-big5'.
1475
1476 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1477
1478         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1479         (Qchinese_big5_cdp): Deleted.
1480         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1481         (complex_vars_of_mule_charset): Delete coded-charset
1482         `chinese-big5-cdp'.
1483
1484         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1485         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1486         `CHARSET_ID_OFFSET - n' for private CCS.
1487         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1488         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1489         of `MIN_LEADING_BYTE'.
1490         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1491         `(CHARSET_ID_OFFSET - 97)'.
1492         (MIN_CHAR_BIG5_CDP): Deleted.
1493         (MAX_CHAR_BIG5_CDP): Deleted.
1494
1495 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1496
1497         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1498
1499 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1500
1501         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1502         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1503         chartab.c].
1504
1505         * chartab.c (Vutf_2000_version): Moved to mule.c.
1506         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1507
1508 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1509
1510         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1511         when HAVE_CHISE_CLIENT is not defined.
1512
1513         * mule.c (vars_of_mule): Provide feature `chise' when
1514         HAVE_CHISE_CLIENT is defined.
1515
1516 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1517
1518         * config.h.in (UTF2000): Add comment.
1519         (HAVE_CHISE_CLIENT): New macro.
1520
1521 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1522
1523         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1524         CONSP.
1525         (Fput_char_attribute): Likewise.
1526         (char_attribute_system_db_file): Encode file-name of attribute.
1527         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1528         the initial value.
1529
1530 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1531
1532         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1533         (Fsave_charset_mapping_table): Use
1534         `char_attribute_system_db_file'.
1535         (load_char_decoding_entry_maybe): Likewise.
1536
1537         * chartab.h (Qsystem_char_id): New external variable.
1538         (char_attribute_system_db_file): New prototype.
1539
1540         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1541         (char_attribute_system_db_file): New function.
1542         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1543         (Freset_char_attribute_table): Likewise.
1544         (load_char_attribute_maybe): Likewise.
1545         (Fload_char_attribute_table): Likewise.
1546         (syms_of_chartab): Add new symbol `system-char-id'.
1547
1548 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1549
1550         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1551         `XCHARSET_GRAPHIC(ccs)'.
1552
1553 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1554
1555         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1556
1557 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1558
1559         * chartab.c (Q_ucs_variants): New variable.
1560         (syms_of_chartab): Add new symbol `->ucs-variants'.
1561         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1562         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1563         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1564
1565         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1566
1567         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1568         `HAVE_DATABASE' is defined.
1569         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1570         `HAVE_DATABASE' is defined.
1571
1572 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1573
1574         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1575         attribute-table.
1576         (Freset_char_attribute_table): New function.
1577         (syms_of_chartab): Add new builtin function
1578         `reset-char-attribute-table'.
1579
1580 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1581
1582         * chartab.c (load_char_attribute_maybe): Don't make directories.
1583
1584 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1585
1586         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1587
1588         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1589         for decoding-table.
1590
1591 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1592
1593         * mule-charset.c (Fsave_charset_mapping_table): Use
1594         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1595
1596         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1597         instead of `XCHARSET_CHARS'.
1598
1599 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1600
1601         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1602         (XCHARSET_BYTE_SIZE): Likewise.
1603
1604         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1605         mule-charset.c].
1606         (XCHARSET_BYTE_SIZE): Likewise.
1607
1608 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1609
1610         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1611         data-directory to store database.
1612         (Fsave_char_attribute_table): Likewise.
1613         (load_char_attribute_maybe): Likewise.
1614         (Fload_char_attribute_table): Likewise.
1615
1616 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1617
1618         * mule-charset.c (Fsave_charset_mapping_table): New function.
1619         (syms_of_mule_charset): Add new builtin function
1620         `save-charset-mapping-table'.
1621
1622 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1623
1624         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1625         (get_ccs_octet_table): New inline function.
1626         (put_ccs_octet_table): Likewise.
1627         (decoding_table_put_char): Use `get_ccs_octet_table' and
1628         `put_ccs_octet_table'.
1629         (decoding_table_remove_char): Use `decoding_table_put_char'.
1630         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1631
1632         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1633         into encoding_table.
1634         (make_charset): Use Qunbound instead Qnil as initial value of
1635         decoding_table.
1636
1637 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1638
1639         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1640         element is Qunloaded.
1641         (map_over_uint16_byte_table): Likewise.
1642         (map_over_byte_table): Likewise.
1643         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1644         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1645         database support, load encoding-table of the specified
1646         coded-charset if it is not loaded yet.
1647         (save_uint8_byte_table): New function of UTF-2000 with external
1648         database support.
1649         (save_uint16_byte_table): Likewise.
1650         (save_byte_table): Likewise.
1651         (Fput_char_attribute): Don't store value into external database
1652         even if the external database feature is supported in UTF-2000;
1653         set `attribute' as name of char-table if the external database
1654         feature is supported.
1655         (Fsave_char_attribute_table): New function in UTF-2000.
1656         (syms_of_chartab): Add new builtin function
1657         `save-char-attribute-table' in UTF-2000.
1658
1659 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1660
1661         * chartab.c (char_attribute_table_to_put): New variable in
1662         UTF-2000.
1663         (Qput_char_table_map_function): Likewise.
1664         (value_to_put): Likewise.
1665         (Fput_char_table_map_function): New function in UTF-2000.
1666         (put_char_table): Use `Fmap_char_attribute' for
1667         CHARTAB_RANGE_CHARSET in UTF-2000.
1668         (Fput_char_attribute): Store symbol instead of string in
1669         `XCHAR_TABLE_NAME (table)'.
1670         (load_char_attribute_maybe): Likewise.
1671         (syms_of_chartab): Add new symbol/function
1672         `put-char-table-map-function'.
1673
1674 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1675
1676         * database.h: Add new EXFUN for `Fmap_database'.
1677
1678         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1679         (syms_of_database): Likewise.
1680
1681         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1682         UTF-2000.
1683         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1684         (XCHAR_TABLE_UNLOADED): Likewise.
1685
1686         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1687         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1688         HAVE_DATABASE is defined.
1689         (char_attribute_table_to_load): New variable of UTF-2000 with
1690         external database support.
1691         (Qload_char_attribute_table_map_function): Likewise.
1692         (Fload_char_attribute_table_map_function): New function of
1693         UTF-2000 with external database support.
1694         (Fload_char_attribute_table): New function of UTF-2000.
1695         (Fmap_char_attribute): Call Fload_char_attribute_table if
1696         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1697         (syms_of_chartab): Add new symbol and function
1698         `load-char-attribute-table-map-function' in UTF-2000 with external
1699         database support; add new function `load-char-attribute-table' in
1700         UTF-2000.
1701
1702 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1703
1704         * chartab.h (load_char_attribute_maybe): New prototype for
1705         UTF-2000 with DATABASE support.
1706         (get_char_id_table): Use `load_char_attribute_maybe' if
1707         HAVE_DATABASE is defined.
1708
1709         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1710         with DATABASE support.
1711
1712 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1713
1714         * chartab.c (Fput_char_attribute): Use S-expression as key of
1715         external database.
1716
1717         * chartab.h (get_char_id_table): Use S-expression as key of
1718         external database.
1719
1720 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1721
1722         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1723         if an element is not loaded, load the corresponding attributes
1724         from an external database.
1725         (map_over_uint16_byte_table): Likewise.
1726         (map_over_byte_table): Likewise.
1727         (map_char_table): Modify for `map_over_uint8_byte_table',
1728         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1729         element is not loaded, load the corresponding attributes from an
1730         external database.
1731         (Fput_char_attribute): Change initial values to Qunloaded.
1732
1733         * chartab.h (get_char_id_table): If a character attribute is not
1734         loaded and the attribute value is not found in an external
1735         database, store Qunbound as the attribute value.
1736
1737 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1738
1739         * chartab.c (BT_UINT8_unloaded): New macro.
1740         (UINT8_VALUE_P): Accept Qunloaded.
1741         (UINT8_ENCODE): Likewise.
1742         (UINT8_DECODE): Likewise.
1743         (BT_UINT16_unloaded): New macro.
1744         (UINT16_VALUE_P): Accept Qunloaded.
1745         (UINT16_ENCODE): Likewise.
1746         (UINT16_DECODE): Likewise.
1747         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1748         BT_UINT16_unloaded.
1749         (mark_char_table): Mark `ct->name' in UTF-2000.
1750         (char_table_description): Add `name' in UTF-2000.
1751         (Fmake_char_table): Initialize `ct->name'.
1752         (Fcopy_char_table): Copy `ct->name'.
1753         (Fput_char_attribute): Store value into an external database if
1754         HAVE_DATABASE is defined.
1755
1756         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1757         UTF-2000.
1758         (CHAR_TABLE_NAME): New macro in UTF-2000.
1759         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1760         (get_char_id_table): Try to read an external database if Qunloaded
1761         is stored in a table.
1762
1763         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1764         Qunloaded.
1765
1766 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1767
1768         * database.h: Add EXFUN definitions for Fopen_database,
1769         Fput_database, Fget_database and Fclose_database.
1770
1771         * data.c (Qunloaded): New variable in UTF-2000.
1772
1773         * lisp.h (Qunloaded): New variable in UTF-2000.
1774
1775 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1776
1777         * mule-charset.c (put_char_ccs_code_point): Modify for
1778         `decoding_table_remove_char' and `decoding_table_put_char'.
1779         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1780
1781         * char-ucs.h (decoding_table_remove_char): Change arguments to
1782         hide decoding_table vector.
1783         (decoding_table_put_char): Likewise.
1784
1785 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1786
1787         * mule-charset.c (decoding_table_remove_char): Moved to
1788         char-ucs.h.
1789         (decoding_table_put_char): Likewise.
1790
1791         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1792         from mule-charset.c].
1793         (decoding_table_remove_char): New inline function [moved from
1794         mule-charset.c].
1795         (decoding_table_put_char): Likewise.
1796
1797 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1798
1799         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1800         extension.
1801
1802 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1803
1804         * mule-charset.c (decode_builtin_char): Support mother charsets.
1805
1806 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1807
1808         * mule-charset.c (Q94x94x60): New variable.
1809         (charset_code_point): Support conversion `94x94x60'.
1810         (Fmake_charset): Likewise.
1811         (syms_of_mule_charset): Add new symbol `94x94x60'.
1812
1813         * char-ucs.h (CONVERSION_94x94x60): New macro.
1814
1815 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1816
1817         * mule-charset.c (charset_code_point): Unify code about
1818         `code-offset'.
1819
1820 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1821
1822         * mule-charset.c (charset_code_point): Merge code about builtin
1823         characters into code about mother charsets; don't use
1824         `range_charset_code_point'.
1825         (range_charset_code_point): Deleted.
1826
1827 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1828
1829         * mule-charset.c (Qcode_offset): New variable.
1830         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1831         `max-code'; accept new property `code-offset'.
1832         (syms_of_mule_charset): Add new symbol `code-offset'.
1833
1834 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * mule-charset.c (range_charset_code_point): Fixed.
1837
1838 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1839
1840         * mule-charset.c (decode_builtin_char): Change semantics of
1841         code-offset of coded-charset.
1842         (charset_code_point): Likewise.
1843         (range_charset_code_point): Likewise.
1844         (complex_vars_of_mule_charset): Modify for the change.
1845
1846 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1847
1848         * mule-charset.c (Fencode_char): Reverse arguments.
1849
1850         * mule-charset.c (charset_code_point): Fixed.
1851
1852 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1853
1854         * mule-charset.c (Vcharset_mojikyo): Deleted.
1855         (Vcharset_mojikyo_2022_1): Deleted.
1856         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1857         (Qmin_code): New variable in UTF-2000.
1858         (Qmax_code): Likewise.
1859         (Qmother): Likewise.
1860         (Qconversion): Likewise.
1861         (Q94x60): Likewise.
1862         (Qmojikyo): Deleted.
1863         (Qmojikyo_2022_1): Deleted.
1864         (Qmojikyo_pj_{1..22}): Deleted.
1865         (mark_charset): Mark `cs->mother'.
1866         (charset_description): Add description for `mother'.
1867         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1868         new arguments `mother' and `conversion'; use
1869         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1870         (charset_code_point): Moved from char-ucs.h; support `mother'
1871         charset feature.
1872         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1873         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1874         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1875         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1876         allow 2 as the value of `graphic' in UTF-2000; add new properties
1877         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1878         require `final' in UTF-2000; modify for `make_charset'.
1879         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1880         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1881         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1882         (Fencode_char): New function.
1883         (syms_of_mule_charset): Add new builtin function `encode-char' in
1884         UTF-2000; add new symbols `min-code', `max-code', `mother',
1885         `conversion' and `94x60'; delete symbols `mojikyo',
1886         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1887         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1888         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1889         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1890
1891         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1892         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1893
1894         * char-ucs.h (Vcharset_mojikyo): Deleted.
1895         (Vcharset_mojikyo_2022_1): Deleted.
1896         (LEADING_BYTE_MOJIKYO): Deleted.
1897         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1898         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1899         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1900         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1901         add new member `mother'; add new member `conversion'.
1902         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1903         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1904         (CHARSET_MOTHER): New macro.
1905         (CHARSET_CONVERSION): New macro.
1906         (CONVERSION_IDENTICAL): New macro.
1907         (CONVERSION_94x60): New macro.
1908         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1909         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1910         (XCHARSET_MOTHER): New macro.
1911         (XCHARSET_CONVERSION): New macro.
1912         (MIN_CHAR_MOJIKYO): Deleted.
1913         (MAX_CHAR_MOJIKYO): Deleted.
1914         (DECODE_MOJIKYO_2022): Deleted.
1915         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1916         (charset_code_point): Changed to non-inline function.
1917         (encode_char_1): Use `charset_code_point'.
1918         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1919
1920 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1921
1922         * lread.c (read_compiled_function): Fix prototype.
1923         (read_vector): Likewise.
1924
1925 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1926
1927         * lrecord.h (struct lrecord_header): Delete `older'.
1928         (set_lheader_implementation): Delete code for `older'.
1929         (set_lheader_older_implementation): Deleted.
1930         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1931         (OLDER_RECORD_P): Deleted.
1932         (OLDER_RECORD_HEADER_P): Deleted.
1933         (alloc_older_lcrecord): Deleted.
1934         (alloc_older_lcrecord_type): Deleted.
1935
1936         * alloc.c (all_older_lcrecords): Deleted.
1937         (alloc_older_lcrecord): Deleted.
1938         (disksave_object_finalization_1): Delete code for older objects.
1939         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1940         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1941
1942 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1943
1944         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1945         instead of `make_older_vector'.
1946         (put_char_ccs_code_point): Likewise.
1947         (mark_charset): Mark `cs->decoding_table'.
1948         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1949
1950         * lisp.h (make_older_vector): Deleted.
1951         (make_vector_newer): Deleted.
1952
1953         * config.h.in (HAVE_GGC): Deleted.
1954
1955         * alloc.c (make_older_vector): Deleted.
1956         (make_vector_newer_1): Deleted.
1957         (make_vector_newer): Deleted.
1958
1959 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1960
1961         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1962         (Qideograph_daikanwa_2): New variable.
1963         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1964         (complex_vars_of_mule_charset): Add new coded-charset
1965         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1966         `LEADING_BYTE_DAIKANWA'.
1967
1968         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1969         (LEADING_BYTE_DAIKANWA_1): New macro.
1970         (LEADING_BYTE_DAIKANWA_2): New macro.
1971         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1972
1973 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1974
1975         * mule-charset.c (complex_vars_of_mule_charset): Change
1976         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1977         the second revised version.
1978
1979 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1980
1981         * mule-charset.c (Vcharset_ucs_smp): New variable.
1982         (Vcharset_ucs_sip): New variable.
1983         (Qucs_smp): New variable.
1984         (Qucs_sip): New variable.
1985         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1986         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1987         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1988         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1989         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1990         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1991
1992         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1993         (LEADING_BYTE_UCS_SIP): New macro.
1994         (MIN_CHAR_SMP): New macro.
1995         (MAX_CHAR_SMP): New macro.
1996         (MIN_CHAR_SIP): New macro.
1997         (MAX_CHAR_SIP): New macro.
1998
1999 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2000
2001         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2002         utf-2000.
2003
2004 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2005
2006         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2007         value; don't store value into `encoding_table' of `Lisp_Charset'.
2008         (mark_charset): `encoding_table' was deleted.
2009         (charset_description): Likewise.
2010         (make_charset): Likewise.
2011         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2012         `put_char_ccs_code_point'.
2013
2014         * chartab.h (Fput_char_attribute): New EXFUN.
2015
2016         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2017         is unified with normal symbol space.
2018         (Fget_char_attribute): Likewise.
2019         (Fput_char_attribute): Likewise; behavior of
2020         `put_char_ccs_code_point' is changed.
2021
2022         * char-ucs.h: Include "elhash.h".
2023         (Vchar_attribute_hash_table): New external variable.
2024         (struct Lisp_Charset): Delete `encoding_table'.
2025         (CHARSET_ENCODING_TABLE): New implementation; refer
2026         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2027         `Lisp_Charset'.
2028
2029 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2032         (cs) == 0.
2033
2034 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2035
2036         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2037         `chinese-big5'.
2038
2039 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2040
2041         * chartab.c (uint8_byte_table_description): New constant.
2042         (uint8-byte-table): Use `uint8_byte_table_description'.
2043         (uint16_byte_table_description): New constant.
2044         (uint16-byte-table): Use `uint16_byte_table_description'.
2045
2046 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2049         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2050
2051 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * mule-charset.c (Vcharset_ucs_ks): New variable.
2054         (Qucs_ks): New variable.
2055         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2056         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2057
2058         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2059
2060 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2061
2062         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2063         (Fdecode_char): Likewise.
2064
2065         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2066         chartab.h.
2067         (Fdefine_char): Modify for Fdecode_char.
2068         (Ffind_char): Likewise.
2069
2070         * mule-charset.c (Fdecode_char): Add new optional argument
2071         `defined-only'.
2072         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2073
2074 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2075
2076         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2077         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2078         (allocate_coding_system): Initialize initial-charsets of
2079         CODESYS_BIG5 in XEmacs UTF-2000.
2080         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2081         CODESYS_BIG5 in XEmacs UTF-2000.
2082         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2083         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2084
2085         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2086         variables.
2087         (Qideograph_hanziku_{1 .. 12}): Likewise.
2088         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2089         .. 12}'.
2090         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2091         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2092         `ideograph-hanziku-{1 .. 12}'.
2093
2094         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2095         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2096         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2097         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2098         (DECODE_DEFINED_CHAR): New inline function.
2099         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2100
2101 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2102
2103         * mule-charset.c (Vcharset_china3_jef): Renamed from
2104         `Vcharset_japanese_jef_china3'.
2105         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2106         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2107         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2108         (syms_of_mule_charset): Rename `china3-jef' from
2109         `japanese-jef-china3'.
2110         (complex_vars_of_mule_charset): Likewise; rename
2111         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2112
2113         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2114         `LEADING_BYTE_JEF_CHINA3'.
2115         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2116         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2117
2118 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * mule-charset.c (encode_builtin_char_1): Comment out special code
2121         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2122
2123         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2124         (MAX_CHAR_MOJIKYO_0): Comment out.
2125         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2126         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2127         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2128         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2129
2130 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2131
2132         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2133         (Qideograph_cbeta): New variable.
2134         (encode_builtin_char_1): Comment out special code for
2135         coded-charset `mojikyo' and `japanese-jef-china3'.
2136         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2137         (complex_vars_of_mule_charset): Add new coded-charset
2138         `ideograph-cbeta'.
2139
2140         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2141         (MIN_CHAR_CBETA): New macro.
2142         (MAX_CHAR_CBETA): New macro.
2143
2144 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2147         (LEADING_BYTE_JEF_CHINA3): New macro.
2148         (MIN_CHAR_JEF_CHINA3): New macro.
2149         (MAX_CHAR_JEF_CHINA3): Likewise.
2150         (DECODE_CHAR): Fixed.
2151
2152 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2153
2154         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2155         (Qjapanese_jef_china3): New variable.
2156         (encode_builtin_char_1): Support `japanese-jef-china3'.
2157         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2158         (complex_vars_of_mule_charset): Add new coded-charset
2159         `japanese-jef-china3'.
2160
2161 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2162
2163         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2164         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2165         94^4, 96^3, 96^4, 128^n and 256^n set.
2166         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2167         (map_char_table): Likewise.
2168
2169 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2170
2171         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2172         UTF-2000.
2173
2174 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2175
2176         * chartab.h (get_char_id_table): New inline function.
2177
2178         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2179         function.
2180
2181 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2182
2183         * chartab.h (decode_char_table_range): New prototype in XEmacs
2184         UTF-2000.
2185         (put_char_id_table): New inline function in XEmacs UTF-2000.
2186
2187         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2188         function.
2189         (decode_char_table_range): Delete static declaration in XEmacs
2190         UTF-2000.
2191
2192 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2193
2194         * chartab.c (put_char_id_table): Use `put_char_table'.
2195
2196 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2197
2198         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2199         (map_over_uint16_byte_table): Likewise.
2200         (map_over_byte_table): Likewise.
2201         (map_char_table): Modify for `map_over_uint8_byte_table',
2202         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2203         UTF-2000.
2204
2205 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2206
2207         * chartab.c (struct map_char_table_for_charset_arg): New
2208         structure.
2209         (map_char_table_for_charset_fun): New function.
2210         (map_char_table): Use `map_char_table' for encoding_table of
2211         `range->charset'.
2212
2213 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2214
2215         * chartab.c (map_char_table): Check a character is found in
2216         range->charset instead of non default value is defined in
2217         char-table when range is CHARTAB_RANGE_ROW.
2218
2219 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2220
2221         * chartab.c (map_char_id_table): Deleted.
2222         (Fmap_char_attribute): Use `map_char_table' instead of
2223         `map_char_id_table'.
2224
2225 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2226
2227         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2228         UTF-2000.
2229         (update_syntax_table): Deleted in XEmacs UTF-2000.
2230
2231         * syntax.c (find_defun_start): Use `syntax_table' instead of
2232         `mirror_syntax_table' in XEmacs UTF-2000.
2233         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2234         UTF-2000.
2235         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2236         XEmacs UTF-2000.
2237         (Fmatching_paren): Likewise.
2238         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2239         in XEmacs UTF-2000.
2240         (find_start_of_comment): Likewise.
2241         (find_end_of_comment): Likewise.
2242         (Fforward_comment): Likewise.
2243         (scan_lists): Likewise.
2244         (char_quoted): Likewise.
2245         (Fbackward_prefix_chars): Likewise.
2246         (scan_sexps_forward): Likewise.
2247         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2248         (update_syntax_table): Likewise.
2249
2250         * search.c (skip_chars): Use `syntax_table' instead of
2251         `mirror_syntax_table' in XEmacs UTF-2000.
2252         (wordify): Likewise.
2253         (Freplace_match): Likewise.
2254
2255         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2256         `mirror_syntax_table' in XEmacs UTF-2000.
2257         (WORDCHAR_P_UNSAFE): Likewise.
2258         (re_match_2_internal): Likewise.
2259
2260         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2261         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2262
2263         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2264         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2265
2266         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2267         XEmacs UTF-2000.
2268
2269         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2270         UTF-2000.
2271         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2272         (char_table_description): Delete `mirror_table' in XEmacs
2273         UTF-2000.
2274         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2275         UTF-2000.
2276         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2277         (Fcopy_char_table): Likewise.
2278         (put_char_table): Don't call `update_syntax_table' in XEmacs
2279         UTF-2000.
2280
2281         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2282         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2283         (casify_region_internal): Likewise.
2284
2285         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2286
2287         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2288         `mirror_syntax_table' in XEmacs UTF-2000.
2289
2290         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2291         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2292         (Fexpand_abbrev): Likewise.
2293
2294 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2295
2296         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2297
2298 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2299
2300         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2301         (map_over_uint16_byte_table): Likewise.
2302         (map_over_byte_table): Likewise.
2303         (get_char_id_table): Refer `cit->default_value'.
2304         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2305         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2306         of character-id ranges.
2307         (mark_char_table): Mark `ct->default_value'.
2308         (char_table_description): Add `default_value'.
2309         (fill_char_table): Use `default_value'.
2310         (decode_char_table_range): Decode `nil' as
2311         `CHARTAB_RANGE_DEFAULT'.
2312         (get_char_id_table): Refer `cit->default_value'.
2313         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2314         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2315         temporary hack; check value of char-table is bound or not.
2316         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2317
2318         * chartab.h (struct Lisp_Char_Table): Add new member
2319         `default_value' in XEmacs UTF-2000.
2320         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2321         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2322         UTF-2000.
2323
2324 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2325
2326         * chartab.h (Lisp_Char_ID_Table): Deleted.
2327
2328         * chartab.c (char_table_description): Fix typo.
2329         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2330         `Lisp_Char_ID_Table'.
2331
2332 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2333
2334         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2335         `CHAR_ID_TABLE_P'.
2336
2337         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2338         `CHAR_ID_TABLE_P'.
2339
2340         * chartab.h (XCHAR_ID_TABLE): Deleted.
2341         (XSETCHAR_ID_TABLE): Deleted.
2342         (CHAR_ID_TABLE_P): Deleted.
2343
2344         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2345         `CHAR_ID_TABLE_P'.
2346         (Fget_composite_char): Likewise.
2347         (put_char_table): Likewise.
2348         (add_char_attribute_alist_mapper): Fixed.
2349         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2350         `CHAR_ID_TABLE_P'.
2351         (Fget_char_attribute): Likewise.
2352         (Fget_char_attribute): Likewise.
2353         (Fmap_char_attribute): Likewise.
2354
2355         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2356         `CHAR_ID_TABLE_P'.
2357         (encode_char_1): Likewise.
2358
2359 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2360
2361         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2362         `XCHAR_ID_TABLE'.
2363
2364         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2365         instead of `XCHAR_ID_TABLE'.
2366         (remove_char_ccs): Likewise.
2367
2368         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2369         `XCHAR_ID_TABLE'.
2370         (Fget_composite_char): Likewise.
2371         (Fchar_variants): Likewise.
2372         (put_char_table): Likewise.
2373         (add_char_attribute_alist_mapper): Likewise.
2374         (Fchar_attribute_alist): Likewise.
2375         (Fget_char_attribute): Likewise.
2376         (Fput_char_attribute): Likewise.
2377         (Fmap_char_attribute): Likewise.
2378         (Fmap_char_attribute): Likewise.
2379
2380         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2381         `XCHAR_ID_TABLE'.
2382         (encode_char_1): Likewise.
2383
2384 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2385
2386         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2387         `Lisp_Char_ID_Table'.
2388         (mark_char_id_table): Deleted.
2389         (print_char_id_table): Likewise.
2390         (char_id_table_equal): Likewise.
2391         (char_id_table_hash): Likewise.
2392         (char_id_table_description): Likewise.
2393         (char_id_table): Likewise.
2394         (make_char_id_table): Use `Fmake_char_table' and
2395         `fill_char_table'.
2396         (get_char_id_table): Use `Lisp_Char_Table' instead of
2397         `Lisp_Char_ID_Table'.
2398         (put_char_id_table): Likewise.
2399         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2400         `XCHAR_ID_TABLE'.
2401         (Fremove_char_attribute): Likewise.
2402         (syms_of_chartab): Don't define type `char-id-table'.
2403
2404         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2405         (char_id_table): Likewise.
2406         (GC_CHAR_ID_TABLE_P): Likewise.
2407         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2408         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2409         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2410         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2411         (get_char_id_table): Use `Lisp_Char_Table' instead of
2412         `Lisp_Char_ID_Table'.
2413         (put_char_id_table_0): Likewise.
2414         (put_char_id_table): Likewise.
2415
2416 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2417
2418         * chartab.h: Lisp_Byte_Table related codes are moved from
2419         chartab.h.
2420
2421         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2422
2423 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2424
2425         * chartab.h: Don't include "chartab.h".
2426         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2427         (Lisp_Char_ID_Table): Likewise.
2428         (char_id_table): Likewise.
2429         (XCHAR_ID_TABLE): Likewise.
2430         (XSETCHAR_ID_TABLE): Likewise.
2431         (CHAR_ID_TABLE_P): Likewise.
2432         (GC_CHAR_ID_TABLE_P): Likewise.
2433         (get_char_id_table): Likewise.
2434
2435         * char-ucs.h: Include "chartab.h".
2436         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2437         (Lisp_Char_ID_Table): Likewise.
2438         (char_id_table): Likewise.
2439         (XCHAR_ID_TABLE): Likewise.
2440         (XSETCHAR_ID_TABLE): Likewise.
2441         (CHAR_ID_TABLE_P): Likewise.
2442         (GC_CHAR_ID_TABLE_P): Likewise.
2443         (get_char_id_table): Likewise.
2444
2445 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2446
2447         * chartab.c (copy_uint8_byte_table): New function.
2448         (copy_uint16_byte_table): New function.
2449         (copy_byte_table): New function.
2450         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2451         characters to call.
2452         (map_over_uint16_byte_table): Likewise.
2453         (map_over_byte_table): Likewise.
2454         (get_byte_table): Move prototype to chartab.h.
2455         (put_byte_table): Likewise.
2456         (put_char_id_table_0): Moved to chartab.h.
2457         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2458         (char_table_entry_equal): Likewise.
2459         (char_table_entry_hash): Likewise.
2460         (char_table_entry_description): Likewise.
2461         (char_table_entry): Likewise.
2462         (make_char_table_entry): Likewise.
2463         (copy_char_table_entry): Likewise.
2464         (get_non_ascii_char_table_value): Likewise.
2465         (map_over_charset_ascii): Likewise.
2466         (map_over_charset_control_1): Likewise.
2467         (map_over_charset_row): Likewise.
2468         (map_over_other_charset): Likewise.
2469         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2470         (print_char_table): Likewise.
2471         (char_table_equal): Likewise.
2472         (char_table_hash): Likewise.
2473         (char_table_description): Likewise.
2474         (fill_char_table): Likewise.
2475         (Fcopy_char_table): Likewise.
2476         (get_char_table): Likewise.
2477         (Fget_range_char_table): Likewise.
2478         (put_char_table): Likewise.
2479         (map_char_table): Likewise.
2480         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2481         UTF-2000.
2482
2483 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2484
2485         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2486         `Vauto_fill_chars' in XEmacs UTF-2000.
2487
2488         * chartab.h (get_byte_table): New prototype [moved from
2489         chartab.c].
2490         (put_byte_table): Likewise [moved from chartab.c].
2491         (put_char_id_table_0): New inline function [moved from chartab.c].
2492         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2493         (Lisp_Char_Table_Entry): Likewise.
2494         (char_table_entry): Likewise.
2495         (XCHAR_TABLE_ENTRY): Likewise.
2496         (XSETCHAR_TABLE_ENTRY): Likewise.
2497         (CHAR_TABLE_ENTRYP): Likewise.
2498         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2499         (NUM_ASCII_CHARS): Likewise.
2500         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2501         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2502
2503 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * chartab.c (get_char_id_table): Change interface.
2506         (put_char_id_table_0): New function.
2507         (put_char_id_table): Change interface; new implementation.
2508         (Fget_composite_char): Modify for interface change of
2509         `get_char_id_table'.
2510         (Fchar_variants): Likewise.
2511         (add_char_attribute_alist_mapper): Likewise.
2512         (Fchar_attribute_alist): Likewise.
2513         (Fget_char_attribute): Likewise.
2514         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2515         as same as character as the first argument like `put-char-table';
2516         modify for interface change of `put_char_id_table'.
2517         (Fremove_char_attribute): Modify for interface change of
2518         `put_char_id_table'.
2519
2520 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2521
2522         * text-coding.c: Sync up with XEmacs 21.2.41.
2523         (COMPOSE_ADD_CHAR): Modify for interface change of
2524         `get_char_id_table'.
2525
2526         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2527         change of `put_char_id_table'.
2528         (remove_char_ccs): Likewise.
2529
2530         * chartab.h (put_char_id_table): Change interface.
2531
2532         * char-ucs.h (get_char_id_table): Change interface.
2533         (charset_code_point): Modify for interface change of
2534         `get_char_id_table'.
2535         (encode_char_1): Likewise.
2536
2537 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2538
2539         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2540         argument `ccs'.
2541         (map_over_uint16_byte_table): Likewise.
2542         (map_over_byte_table): Likewise.
2543         (map_char_id_table): Add new argument `range' like
2544         `map_char_table'.
2545         (Fmap_char_attribute): Add new argument `range' like
2546         `Fmap_char_table'.
2547
2548 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2549
2550         * chartab.c (map_over_uint8_byte_table): Change interface of
2551         mapping function to use struct chartab_range instead of Emchar.
2552         (map_over_uint16_byte_table): Likewise.
2553         (map_over_byte_table): Likewise.
2554         (map_char_id_table): Likewise.
2555         (struct slow_map_char_id_table_arg): Deleted.
2556         (slow_map_char_id_table_fun): Deleted.
2557         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2558         function `slow_map_char_table_fun' instead of struct
2559         `slow_map_char_id_table_arg' and function
2560         `slow_map_char_id_table_fun'.
2561
2562 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2563
2564         * mule-charset.c: Move char-it-table related codes to chartab.c.
2565         (Vutf_2000_version): Moved to chartab.c.
2566         (Fdefine_char): Likewise.
2567         (Ffind_char): Likewise.
2568         (syms_of_mule_charset): Move types `uint8-byte-table',
2569         `uint16-byte-table', `byte-table' and `char-id-table' to
2570         chartab.c; move functions `char_attribute_list,
2571         `find_char_attribute_table, `char_attribute_alist,
2572         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2573         `map_char_attribute, `define_char, `find_char, `char_variants and
2574         `get_composite_char to chartab.c; move symbols `=>ucs',
2575         `->decomposition', `compat', `isolated', `initial', `medial',
2576         `final', `vertical', `noBreak', `fraction', `super', `sub',
2577         `circle', `square', `wide', `narrow', `small' and `font' to
2578         chartab.c.
2579         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2580         setting codes for `Vcharacter_composition_table' and
2581         `Vcharacter_variant_table' to chartab.c.
2582         (complex_vars_of_mule_charset): Move setting code for
2583         `Vchar_attribute_hash_table' to chartab.c.
2584
2585         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2586         (make_char_id_table): New prototype.
2587         (put_char_id_table): Likewise.
2588         (Fget_char_attribute): Likewise.
2589
2590         * chartab.c: Move char-id-table related code from mule-charset.c.
2591         (Vutf_2000_version): Moved from mule-charset.c.
2592
2593         * char-ucs.h (Qucs): New external variable.
2594         (put_char_ccs_code_point): New prototype.
2595         (remove_char_ccs): Likewise.
2596
2597 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2598
2599         * mule-charset.c (Vcharset_ucs_jis): New variable.
2600         (Qucs_jis): Likewise.
2601         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2602         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2603
2604         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2605
2606 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2607
2608         * mule-charset.c (map_over_uint8_byte_table): New function.
2609         (map_over_uint16_byte_table): Likewise.
2610         (map_over_byte_table): Likewise.
2611         (map_char_id_table): Likewise.
2612         (slow_map_char_id_table_fun): Likewise.
2613         (Fmap_char_attribute): Likewise.
2614         (syms_of_mule_charset): Add new function `map-char-attribute'.
2615
2616 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2617
2618         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2619         (syms_of_mule_charset): Add new function `find-char'.
2620
2621 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2622
2623         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2624         XEmacs UTF-2000.
2625         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2626         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2627         XEmacs UTF-2000.
2628         (complex_vars_of_mule_charset): Add new coded-charset
2629         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2630         `ideograph-gt-pj-*'.
2631
2632         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2633
2634 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2635
2636         * mule-charset.c (encode_builtin_char_1): Purge codes about
2637         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2638         {MIN|MAX}_CHAR_HEBREW.
2639         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2640         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2641
2642         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2643         (MAX_CHAR_GREEK): Purged.
2644         (MIN_CHAR_CYRILLIC): Purged.
2645         (MAX_CHAR_CYRILLIC): Purged.
2646         (MIN_CHAR_HEBREW): Commented out.
2647         (MAX_CHAR_HEBREW): Likewise.
2648
2649 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2650
2651         * mule-charset.c (Qto_ucs): New variable.
2652         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2653         (Fdefine_char): Likewise.
2654         (syms_of_mule_charset): Add new symbol `=>ucs'.
2655
2656 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2657
2658         * mule-charset.c (Fdecode_char): Fixed.
2659
2660 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2661
2662         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2663         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2664         "tcvn5712-1".
2665
2666 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * mule-charset.c (Vcharset_ucs_big5): New variable.
2669         (Qucs_big5): Likewise.
2670         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2671         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2672
2673         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2674
2675 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2676
2677         * mule-charset.c (decode_builtin_char): Check Big5 code range
2678         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2679
2680 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2681
2682         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2683         (Qchinese_gb12345): Likewise.
2684         (Fdecode_builtin_char): Fixed.
2685         (syms_of_mule_charset): Add `chinese-gb12345'.
2686         (complex_vars_of_mule_charset): Add coded-charset
2687         `chinese-gb12345'.
2688
2689         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2690         (LEADING_BYTE_CHINESE_GB12345): New macro.
2691
2692 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2693
2694         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2695         and `latin-viscii-upper' for `latin-viscii'.
2696
2697 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * mule-charset.c (Fdecode_builtin_char): Comment out
2700         regularization code for ISO-IR GR representation.
2701
2702 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2703
2704         * mule-charset.c (decode_builtin_char): New function; renamed from
2705         `make_builtin_char'; return -1 instead of signal.
2706         (Fdecode_builtin_char): Use `decode_builtin_char'.
2707
2708         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2709         `make_builtin_char'.
2710         (DECODE_CHAR): Use `decode_builtin_char' instead of
2711         `make_builtin_char'; use mapping table of `chinese-big5' for
2712         `chinese-big5-{1,2}'.
2713
2714 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2715
2716         * text-coding.c (char_encode_big5): New function.
2717         (char_finish_big5): Likewise.
2718         (reset_encoding_stream): Use `char_encode_big5' and
2719         `char_finish_big5' for CODESYS_BIG5.
2720         (mule_encode): Don't use `encode_coding_big5'.
2721         (encode_coding_big5): Deleted.
2722
2723 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2724
2725         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2726         0x81- in XEmacs UTF-2000.
2727         (detect_coding_big5): Likewise.
2728
2729 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2730
2731         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2732         generate character-id if the CCS property does not have
2733         corresponding predefined character.
2734         (make_builtin_char): Return -1 if corresponding predefined
2735         character is not found.
2736         (Fdecode_char): Return nil if corresponding character is not
2737         found.
2738         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2739         don't map to builtin ucs space.
2740
2741 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2742
2743         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2744         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2745
2746 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2747
2748         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2749         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2750         (Qideograph_gt): Likewise.
2751         (Qideograph_gt_pj_{1..11}): Likewise.
2752         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2753         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2754         `ideograph-gt-pj-11'.
2755         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2756         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2757         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2758
2759         * char-ucs.h (LEADING_BYTE_GT): New macro.
2760         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2761         (MIN_CHAR_GT): Likewise.
2762         (MAX_CHAR_GT): Likewise.
2763
2764 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2765
2766         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2767         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2768
2769         * doprnt.c (unsigned_int_converters): Add `c'.
2770         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2771
2772         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2773         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2774         `MIN_CHAR_MOJIKYO'.
2775         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2776         (MAX_CHAR_MOJIKYO_0): New macro.
2777         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2778
2779 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2780
2781         * mule-charset.c (Fdefine_char): Delete cemented out code.
2782         (encode_builtin_char_1): Modify for new allocation of builtin
2783         Mojikyo characters.
2784
2785         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2786
2787 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2788
2789         * mule-charset.c (Vcharset_ucs_cns): New variable.
2790         (Qucs_cns): New variable.
2791         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2792         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2793
2794 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2795
2796         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2797
2798 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2799
2800         * search.c (search_buffer): Make `charset_base_code' as
2801         character-id >> 6 to eliminate the corresponding last byte in
2802         UTF-8 representation [I'm not sure it is right thing].
2803         (boyer_moore): Likewise.
2804
2805 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2806
2807         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2808         representation in MULE.
2809
2810 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2811
2812         * text-coding.c (Fmake_coding_system): Use
2813         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2814         `EXTERNAL_PROPERTY_LIST_LOOP'.
2815
2816 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2817
2818         * text-coding.c (decode_output_utf8_partial_char): New function.
2819         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2820
2821 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2822
2823         * text-coding.c (decode_coding_utf8): Output original byte
2824         sequence if it is broken; change order of conditions.
2825
2826         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2827         of conditions.
2828
2829         * mb-multibyte.h (BYTE_ASCII_P):
2830         Use bit ops for char-signedness safety.
2831         (BYTE_C0_P): Use bit ops for char-signedness safety.
2832         (BYTE_C1_P): Use bit ops for char-signedness safety.
2833
2834         * character.h: (XCHAR_OR_CHAR_INT):
2835         Always use inline function.
2836         Remove redundant type checking assert() - XINT will abort quite
2837         nicely.
2838
2839 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * text-coding.c: (Fencode_shift_jis_char):
2842         (Fencode_big5_char):
2843         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2844         Replace 0 with '\0' when working with bytes.
2845         Replace initial "(" with "\(" in docstrings.
2846
2847         (Fmake_coding_system):
2848         When type is ccl and value is vector, register it with a proper
2849         symbol.  And checks whether the given ccl program is valid.
2850         (mule_decode): When calling ccl_driver, if src indicates
2851         NULL pointer, set an empty string instead.
2852         (mule_encode): Likewise.
2853
2854         (detect_eol_type):
2855         (detect_coding_sjis):
2856         (decode_coding_sjis):
2857         (detect_coding_big5):
2858         (decode_coding_big5):
2859         (detect_coding_ucs4):
2860         (decode_coding_ucs4):
2861         (detect_coding_utf8):
2862         (decode_coding_utf8):
2863         (detect_coding_iso2022):
2864         (decode_coding_iso2022):
2865         (decode_coding_no_conversion):
2866         (mule_decode):
2867         Make all detecting and decoding functions take an Extbyte * arg.
2868         (text_encode_generic):
2869         (encode_coding_big5):
2870         (encode_coding_no_conversion):
2871         (mule_encode):
2872         Make all encoding functions take a Bufbyte * arg.
2873         Use size_t instead of unsigned int for memory sizes.
2874         Only cast to unsigned char whenever dereferencing Extbyte *.
2875
2876         (struct lrecord_description fcd_description_1): Use countof.
2877         (complex_vars_of_file_coding):
2878         Use countof instead of sizeof.
2879         Use CHECK_NATNUM instead of CHECK_INT.
2880
2881 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2882
2883         * mule-charset.c (Fget_char_attribute): Add new optional argument
2884         `default-value'.
2885         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2886         (remove_char_ccs): Likewise.
2887
2888 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2889
2890         * text-coding.c (char_encode_shift_jis): New implementation in
2891         UTF-2000.
2892         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2893         ...)'.
2894
2895         * mule-charset.c (Vcharset_chinese_big5): New variable in
2896         UTF-2000.
2897         (Qchinese_big5): New variable in UTF-2000.
2898         (BIG5_SAME_ROW): New macro in UTF-2000.
2899         (make_builtin_char): Use builtin characters of
2900         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2901         characters of `Vcharset_chinese_big5'.
2902         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2903         (complex_vars_of_mule_charset): Add new coded-charset
2904         `chinese-big5' in UTF-2000.
2905
2906         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2907         (Vcharset_chinese_big5): New external variable declaration.
2908         (Vcharset_japanese_jisx0208_1990): Likewise.
2909
2910 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2911
2912         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2913         function.
2914         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2915
2916 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2917
2918         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2919         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2920         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2921         `mojikyo-pj-*'.
2922
2923 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2924
2925         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2926
2927 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2928
2929         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2930         to 0.17.
2931
2932 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2933
2934         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2935         for `CHARSET_BY_ATTRIBUTES'.
2936         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2937         `CHARSET_BY_ATTRIBUTES'.
2938
2939         * text-coding.c (struct decoding_stream): Rename member `CH' to
2940         `CPOS'.
2941         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2942         (decode_coding_sjis): Likewise.
2943         (decode_coding_big5): Likewise.
2944         (decode_coding_ucs4): Likewise.
2945         (decode_coding_utf8): Likewise.
2946         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2947         `CHARSET_BY_ATTRIBUTES'.
2948         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2949         `str->counter'; decode 3, 4 bytes sets.
2950         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2951         sets.
2952         (decode_coding_no_conversion): Use `str->cpos' instead of
2953         `str->ch'.
2954
2955         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2956         (Qmojikyo_2022_1): New variable.
2957         (make_charset): Don't use `CHARSET_TYPE_*'.
2958         (range_charset_code_point): Support coded-charset
2959         `mojikyo-2022-1'.
2960         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2961         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2962         `CHARSET_BY_ATTRIBUTES'.
2963         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2964         `CHARSET_BY_ATTRIBUTES'.
2965         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2966         (complex_vars_of_mule_charset): Add new coded-charset
2967         `mojikyo-2022-1'.
2968
2969         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2970         interface; changed to inline function.
2971
2972         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2973         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2974         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2975         (CHARSET_TYPE_94): Deleted.
2976         (CHARSET_TYPE_94X94): Deleted.
2977         (CHARSET_TYPE_96): Deleted.
2978         (CHARSET_TYPE_96X96): Deleted.
2979         (CHARSET_TYPE_128): Deleted.
2980         (CHARSET_TYPE_128X128): Deleted.
2981         (CHARSET_TYPE_256): Deleted.
2982         (CHARSET_TYPE_256X256): Deleted.
2983         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2984         to inline function.
2985         (DECODE_MOJIKYO_2022): New inline function.
2986         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2987         `Vcharset_mojikyo_2022_1'.
2988
2989 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2990
2991         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2992         instead of `EQ'.
2993         (put_byte_table): Likewise.
2994         (char_id_table_equal): Use `get_byte_table' [new implementation].
2995
2996 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2997
2998         * mule-charset.c: Include <limits.h> in UTF-2000.
2999         (BT_UINT8_MIN): New macro in UTF-2000.
3000         (BT_UINT8_MAX): New macro in UTF-2000.
3001         (BT_UINT8_t): New macro in UTF-2000.
3002         (BT_UINT8_nil): New macro in UTF-2000.
3003         (BT_UINT8_unbound): New macro in UTF-2000.
3004         (INT_UINT8_P): New inline function in UTF-2000.
3005         (UINT8_VALUE_P): New inline function in UTF-2000.
3006         (UINT8_ENCODE): New inline function in UTF-2000.
3007         (UINT8_DECODE): New inline function in UTF-2000.
3008         (mark_uint8_byte_table): New function in UTF-2000.
3009         (print_uint8_byte_table): New function in UTF-2000.
3010         (uint8_byte_table_equal): New function in UTF-2000.
3011         (uint8_byte_table_hash): New function in UTF-2000.
3012         (make_uint8_byte_table): New function in UTF-2000.
3013         (uint8_byte_table_same_value_p): New function in UTF-2000.
3014         (BT_UINT16_MIN): New macro in UTF-2000.
3015         (BT_UINT16_MAX): New macro in UTF-2000.
3016         (BT_UINT16_t): New macro in UTF-2000.
3017         (BT_UINT16_nil): New macro in UTF-2000.
3018         (BT_UINT16_unbound): New macro in UTF-2000.
3019         (INT_UINT16_P): New inline function in UTF-2000.
3020         (UINT16_VALUE_P): New inline function in UTF-2000.
3021         (UINT16_ENCODE): New inline function in UTF-2000.
3022         (UINT16_DECODE): New inline function in UTF-2000.
3023         (UINT8_TO_UINT16): New inline function in UTF-2000.
3024         (mark_uint16_byte_table): New function in UTF-2000.
3025         (print_uint16_byte_table): New function in UTF-2000.
3026         (uint16_byte_table_equal): New function in UTF-2000.
3027         (uint16_byte_table_hash): New function in UTF-2000.
3028         (make_uint16_byte_table): New function in UTF-2000.
3029         (uint16_byte_table_same_value_p): New function in UTF-2000.
3030         (print_byte_table): New function in UTF-2000.
3031         (byte-table): Use `print_byte_table' as printer.
3032         (make_byte_table): Delete second argument `older'.
3033         (byte_table_same_value_p): New function in UTF-2000.
3034         (copy_byte_table): Deleted.
3035         (get_byte_table): New function in UTF-2000.
3036         (put_byte_table): New function in UTF-2000.
3037         (print_char_id_table): New function in UTF-2000.
3038         (char-id-table): Use `print_char_id_table' as printer.
3039         (make_char_id_table): Delete second argument `older'.
3040         (get_char_id_table): Use `get_byte_table [new implementation].
3041         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3042         implementation].
3043         (Ffind_char_attribute_table): New function in UTF-2000.
3044         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3045         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3046         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3047         (syms_of_mule_charset): Add new function
3048         `find-char-attribute-table' in UTF-2000.
3049
3050         * lrecord.h (enum lrecord_type): Add
3051         `lrecord_type_uint16_byte_table' and
3052         `lrecord_type_uint8_byte_table'.
3053
3054         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3055         (Lisp_Uint8_Byte_Table): New type.
3056         (XUINT8_BYTE_TABLE): New macro.
3057         (XSETUINT8_BYTE_TABLE): New macro.
3058         (UINT8_BYTE_TABLE_P): New macro.
3059         (GC_UINT8_BYTE_TABLE_P): New macro.
3060         (struct Lisp_Uint16_Byte_Table): New structure.
3061         (Lisp_Uint16_Byte_Table): New type.
3062         (XUINT16_BYTE_TABLE): New macro.
3063         (XSETUINT16_BYTE_TABLE): New macro.
3064         (UINT16_BYTE_TABLE_P): New macro.
3065         (GC_UINT16_BYTE_TABLE_P): New macro.
3066
3067 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3068
3069         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3070         (Vcharacter_ideographic_strokes_table): Deleted.
3071         (Vcharacter_total_strokes_table): Deleted.
3072         (Vcharacter_morohashi_daikanwa_table): Deleted.
3073         (Vcharacter_decomposition_table): Deleted.
3074         (Qname): Deleted because it is duplicated.
3075         (Qideographic_radical): Deleted.
3076         (Qideographic_strokes): Deleted.
3077         (Qtotal_strokes): Deleted.
3078         (Qmorohashi_daikanwa): Deleted.
3079         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3080         `ideographic-radical', `ideographic-strokes', `total-strokes',
3081         `morohashi-daikanwa' and `->decomposition'.
3082         (Fget_char_attribute): Likewise.
3083         (Fput_char_attribute): Likewise; use `make-vector' instead of
3084         `make_older_vector' for `->decomposition' value.
3085         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3086         `ideograph-daikanwa'.
3087         (syms_of_mule_charset): Delete builtin symbols `name',
3088         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3089         `morohashi-daikanwa'.
3090         (vars_of_mule_charset): Don't setup
3091         `Vcharacter_ideographic_radical_table',
3092         `Vcharacter_ideographic_strokes_table',
3093         `Vcharacter_total_strokes_table',
3094         `Vcharacter_morohashi_daikanwa_table' and
3095         `Vcharacter_decomposition_table'.
3096
3097 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3098
3099         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3100         `make_older_vector', `make_vector_newer_1' and
3101         `make_vector_newer'.
3102
3103         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3104         `make_older_vector' and `make_vector_newer'.
3105
3106         * config.h.in (HAVE_GGC): New macro.
3107
3108 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3109
3110         * mule-charset.c (struct char_attribute_list_closure): New
3111         structure in UTF-2000.
3112         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3113         (Fchar_attribute_list): Likewise.
3114         (Fset_charset_mapping_table): Use `make_vector_newer'.
3115         (Fdecode_builtin_char): New function in UTF-2000.
3116         (syms_of_mule_charset): Add new function `char-attribute-list' and
3117         `decode-builtin-char' in UTF-2000.
3118
3119         * lisp.h (make_vector_newer): New prototype.
3120
3121         * alloc.c (make_vector_newer_1): New function.
3122         (make_vector_newer): New function.
3123
3124 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3125
3126         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3127         50100)'.
3128
3129 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3130
3131         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3132         (Vcharacter_attribute_table): Deleted.
3133         (Vcharacter_name_table): Deleted.
3134         (put_char_attribute): Deleted.
3135         (remove_char_attribute): Deleted.
3136         (struct char_attribute_alist_closure): New structure.
3137         (add_char_attribute_alist_mapper): New function.
3138         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3139         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3140         (Fget_char_attribute): Likewise.
3141         (Fput_char_attribute): Likewise.
3142         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3143         of `remove_char_attribute'.
3144         (Fdefine_char): Return character.
3145         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3146         and `Vcharacter_name_table'.
3147         (complex_vars_of_mule_charset): Likewise
3148         `Vchar_attribute_hash_table'.
3149
3150 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3151
3152         * character.h (CHARC_CHARSET): New macro.
3153         (CHARC_CHARSET_ID): New macro.
3154         (CHARC_CODE_POINT): New macro.
3155         (CHARC_COLUMNS): New macro.
3156         (CHARC_TO_CHAR): New inline function.
3157         (CHARC_EQ): New inline function.
3158         (CHARC_ASCII_EQ): New inline function.
3159         (CHARC_IS_SPACE): New inline function.
3160         (ASCII_TO_CHARC): New inline function.
3161
3162         * char-ucs.h (encode_char_2): Deleted.
3163         (ENCODE_CHAR): Use `encode_char_1' again.
3164         (breakup_char_1): Likewise.
3165         (CHAR_TO_CHARC): New inline function.
3166
3167         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3168
3169 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3170
3171         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3172         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3173         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3174         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3175         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3176         `CHARC_IS_SPACE'.
3177         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3178
3179         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3180         `CHARC_CODE_POINT'.
3181         (x_output_display_block): Use `CHARC_CHARSET' and
3182         `CHARC_ASCII_EQ'.
3183
3184         * redisplay-tty.c (tty_output_display_block): Use
3185         `CHARC_ASCII_EQ'.
3186         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3187
3188         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3189
3190         * insdel.c (find_charsets_in_charc_string): Use
3191         `CHARC_CHARSET_ID'.
3192         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3193         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3194         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3195         (convert_charc_string_into_malloced_string): Likewise.
3196
3197 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3198
3199         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3200         instead of <Emchar_dynarr *> for buf; use
3201         `convert_bufbyte_string_into_charc_dynarr' instead of
3202         `convert_bufbyte_string_into_emchar_dynarr'; use
3203         `find_charsets_in_charc_string' instead of
3204         `find_charsets_in_emchar_string'.
3205
3206         * redisplay.h:
3207         - Include "character.h".
3208         (struct rune): New member `cglyph'; delete member `chr'.
3209
3210         * redisplay.c (redisplay_text_width_charc_string): New function;
3211         delete `redisplay_text_width_emchar_string'.
3212         (rtw_charc_dynarr): New variable; renamed from
3213         `rtw_emchar_dynarr'.
3214         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3215         `rtw_emchar_dynarr'; use
3216         `convert_bufbyte_string_into_charc_dynarr' instead of
3217         `convert_bufbyte_string_into_emchar_dynarr'; use
3218         `redisplay_text_width_charc_string' instead of
3219         `redisplay_text_width_emchar_string'.
3220         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3221         instead of `rtw_emchar_dynarr'; use
3222         `convert_bufbyte_string_into_charc_dynarr' instead of
3223         `convert_bufbyte_string_into_emchar_dynarr'.
3224         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3225         `redisplay_text_width_charc_string' instead of
3226         `redisplay_text_width_emchar_string'.
3227         (create_text_block): Modify for <struct rune> change.
3228         (generate_formatted_string_db): Likewise.
3229         (create_string_text_block): Likewise.
3230         (pixel_to_glyph_translation): Likewise.
3231
3232         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3233         instead of <const Emchar *>.
3234         (x_text_width): Likewise.
3235         (x_output_display_block): Use <Charc_dynarr *> instead
3236         <Emchar_dynarr *>; modify for <structure rune> change.
3237         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3238         *>.
3239
3240         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3241         <const Emchar *>; use `charc_string_displayed_columns' instead of
3242         `emchar_string_displayed_columns'.
3243         (tty_output_display_block): Use <Charc_dynarr *> instead of
3244         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3245         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3246         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3247         `tty_output_emchar_dynarr_dynarr'.
3248         (tty_output_charc_dynarr): New function; delete
3249         `tty_output_charc_dynarr'.
3250
3251         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3252         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3253         <Emchar_dynarr *> for buf; use
3254         `convert_bufbyte_string_into_charc_dynarr' instead of
3255         `convert_bufbyte_string_into_emchar_dynarr'.
3256
3257         * frame.c (title_string_charc_dynarr): New variable; renamed from
3258         `title_string_emchar_dynarr'.
3259         (generate_title_string): Use `title_string_charc_dynarr' instead
3260         of `title_string_emchar_dynarr'; use
3261         `convert_charc_string_into_malloced_string' instead of
3262         `convert_emchar_string_into_malloced_string'.
3263         (init_frame): Use `title_string_charc_dynarr' instead of
3264         `title_string_emchar_dynarr'.
3265
3266         * console.h:
3267         - Include "character.h".
3268         (struct console_methods): Use <const Charc *> instead of <const
3269         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3270         <Emchar_dynarr *> in output_string_method.
3271
3272         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3273         <Emchar_dynarr *>.
3274
3275         * console-stream.c (stream_text_width): Use <const Charc *>
3276         instead of <const Emchar *>.
3277
3278         * character.h (Charc_dynarr): New type.
3279
3280         * char-ucs.h (structure Charc): New structure; define new type
3281         `Charc'.
3282
3283         * char-lb.h (DECODE_CHAR): New inline function.
3284         (encode_char_1): New inline function.
3285         (ENCODE_CHAR): New macro.
3286         (structure Charc): New structure; define new type `Charc'.
3287
3288         * char-1byte.h (Vcharset_control_1): New macro.
3289         (Vcharset_latin_iso8859_1): New macro.
3290         (DECODE_CHAR): New inline function.
3291         (encode_char_1): New inline function.
3292         (ENCODE_CHAR): New macro.
3293         (structure Charc): New structure; define new type `Charc'.
3294
3295         * insdel.c (find_charsets_in_charc_string): New function; delete
3296         `find_charsets_in_emchar_string'.
3297         (charc_string_displayed_columns): New function; delete
3298         `emchar_string_displayed_columns'.
3299         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3300         `convert_bufbyte_string_into_emchar_dynarr'.
3301         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3302         `convert_charc_string_into_bufbyte_dynarr'.
3303         (convert_charc_string_into_malloced_string): New function; delete
3304         `convert_charc_string_into_malloced_string'.
3305
3306         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3307         `find_charsets_in_emchar_string'.
3308         (charc_string_displayed_columns): New prototype; delete
3309         `emchar_string_displayed_columns'.
3310         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3311         `convert_charc_string_into_bufbyte_dynarr'.
3312         (convert_charc_string_into_malloced_string): New prototype; delete
3313         `convert_charc_string_into_malloced_string'.
3314
3315 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3316
3317         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3318
3319 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3320
3321         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3322
3323         * char-ucs.h: Use <short> for <Charset_ID>.
3324
3325         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3326         <Charset_ID>.
3327
3328 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3329
3330         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3331         to 0.16.
3332
3333 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3334
3335         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3336         variable.
3337         (Qmorohashi_daikanwa): New variable.
3338         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3339         for `morohashi-daikanwa' attribute.
3340         (Fget_char_attribute): Likewise.
3341         (Fput_char_attribute): Likewise.
3342         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3343         has the same value of `ideograph-daikanwa'.
3344         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3345         (vars_of_mule_charset): Setup
3346         `Vcharacter_morohashi_daikanwa_table'.
3347
3348 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3351         attributes.
3352         (add_charset_to_list_mapper): Add `key' instead of
3353         `XCHARSET_NAME (value)' to return aliases.
3354
3355 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3356
3357         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3358         variable.
3359         (Vcharacter_ideographic_strokes_table): New variable.
3360         (Qideographic_radical): New variable.
3361         (Qideographic_strokes): New variable.
3362         (Fchar_attribute_alist): Use
3363         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3364         attribute; use `Vcharacter_ideographic_strokes_table' for
3365         `ideographic-strokes' attribute.
3366         (Fget_char_attribute): Likewise.
3367         (Fput_char_attribute): Likewise.
3368         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3369         `ideographic-strokes'.
3370         (vars_of_mule_charset): Setup
3371         `Vcharacter_ideographic_radical_table' and
3372         `Vcharacter_ideographic_strokes_table'.
3373
3374 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3375
3376         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3377         (Qtotal_strokes): New variable.
3378         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3379         `total-strokes' attribute.
3380         (Fget_char_attribute): Likewise.
3381         (Fput_char_attribute): Likewise.
3382         (syms_of_mule_charset): Add new symbol `total-strokes'.
3383         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3384
3385 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3386
3387         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3388         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3389         are found.
3390         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3391         `->decomposition' attribute.
3392         (Fput_char_attribute): Likewise.
3393         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3394
3395 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3396
3397         * mule-charset.c (decoding_table_check_elements): New function.
3398         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3399
3400 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3401
3402         * mule-charset.c (Fset_charset_mapping_table): Use
3403         `put_char_ccs_code_point'.
3404
3405 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3406
3407         * mule-charset.c (decoding_table_put_char): New inline function.
3408         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3409
3410 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3411
3412         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3413         (XCHARSET_BYTE_SIZE): New macro.
3414         (decoding_table_remove_char): New inline function.
3415         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3416         `decoding_table_remove_char'.
3417         (remove_char_ccs): Use `decoding_table_remove_char'.
3418         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3419
3420 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3421
3422         * mule-charset.c (Vcharacter_name_table): New variable.
3423         (Qname): New variable.
3424         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3425         attribute.
3426         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3427         `Vcharacter_name_table' for `name' attribute.
3428         (Fremove_char_attribute): Use function `remove_char_ccs'.
3429         (put_char_ccs_code_point): New function.
3430         (remove_char_ccs): New function.
3431         (syms_of_mule_charset): Add new symbol `name'.
3432         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3433
3434 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3435
3436         * mule-charset.c (make_byte_table): Add new argument `older'.
3437         (make_char_id_table): Likewise.
3438         (copy_char_id_table): Comment out because it is not used.
3439         (put_char_id_table): Modify for `make_byte_table'.
3440         (Fput_char_attribute): Make encoding_table as older object;
3441         inherit older bit of `Vcharacter_composition_table'.
3442         (mark_charset): Don't mark `cs->encoding_table'.
3443         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3444         normal object; make `Vcharacter_composition_table' as an older
3445         object; delete staticpro for `Vcharacter_composition_table'; make
3446         `Vcharacter_variant_table' as a normal object.
3447
3448         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3449         (mark_object): Don't check older object in UTF-2000.
3450
3451         * lrecord.h (struct lrecord_header): Add new member `older' in
3452         UTF-2000.
3453         (set_lheader_implementation): Setup `SLI_header->older' in
3454         UTF-2000.
3455         (set_lheader_older_implementation): New macro in UTF-2000.
3456         (OLDER_RECORD_P): New macro in UTF-2000.
3457         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3458         (alloc_older_lcrecord): New prototype in UTF-2000.
3459         (alloc_older_lcrecord_type): New macro in UTF-2000.
3460
3461 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3462
3463         * mule-charset.c (byte_table_description): Use
3464         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3465         (char_id_table_description): Delete bogus `, 1'.
3466         (Fget_char_attribute): Refer encoding_table of each coded-charset
3467         to get value of coded-charset attribute of a character.
3468         (Fput_char_attribute): Use `make_older_vector' instead of
3469         `make_vector'; use encoding_table of each coded-charset to store
3470         value of coded-charset attribute of a character.
3471         (Fremove_char_attribute): Use encoding_table of each coded-charset
3472         to store value of coded-charset attribute of a character.
3473         (mark_charset): Mark `cs->encoding_table'; don't mark
3474         `cs->decoding_table'.
3475         (charset_description): Add description of new member
3476         `encoding_table'.
3477         (make_charset): Initialize `encoding_table'.
3478
3479         * char-ucs.h (struct Lisp_Charset): Add new member
3480         `encoding_table'.
3481         (CHARSET_ENCODING_TABLE): New macro.
3482         (XCHARSET_ENCODING_TABLE): New macro.
3483         (charset_code_point): New implementation.
3484         (encode_char_1): Likewise.
3485
3486         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3487         (disksave_object_finalization_1): Call finalizers of
3488         `all_older_lcrecords' in UTF-2000.
3489         (make_older_vector): New function in UTF-2000.
3490         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3491         UTF-2000.
3492
3493         * lisp.h (make_older_vector): New prototype in UTF-2000.
3494
3495 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3496
3497         * lrecord.h (enum lrecord_type): Rename
3498         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3499
3500         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3501         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3502         `get_char_code_table'.
3503
3504         * mule-charset.c (mark_char_id_table): Renamed from
3505         `mark_char_code_table'.
3506         (char_id_table_equal): Renamed from `char_code_table_equal'.
3507         (char_id_table_hash): Renamed from `char_code_table_hash'.
3508         (make_char_id_table): Renamed from `make_char_code_table'.
3509         (copy_char_id_table): Renamed from `copy_char_code_table'.
3510         (get_char_id_table): Renamed from `get_char_code_table'.
3511         (put_char_id_table): Renamed from `put_char_code_table'.
3512         (to_char_id): Renamed from `to_char_code'.
3513
3514         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3515         `Lisp_Char_Code_Table'.
3516         (char_id_table): Renamed from `char_code_table'.
3517         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3518         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3519         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3520         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3521         (get_char_id_table): Renamed from `get_char_code_table'.
3522
3523 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3524
3525         * lrecord.h (enum lrecord_type): Rename
3526         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3527
3528         * mule-charset.c (mark_byte_table): Renamed from
3529         `mark_char_byte_table'.
3530         (byte_table_equal): Renamed from `char_byte_table_equal'.
3531         (byte_table_hash): Renamed from `byte_table_hash'.
3532         (make_byte_table): Renamed from `make_byte_table'.
3533         (copy_byte_table): Renamed from `copy_char_byte_table'.
3534
3535         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3536         `Lisp_Char_Byte_Table'.
3537         (byte_table): Renamed from `char_byte_table'.
3538         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3539         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3540         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3541         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3542
3543 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3544
3545         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3546         (dfc_convert_to_internal_format): Likewise.
3547         
3548         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3549         * text-coding.c (Fcoding_system_alias_p): New function.
3550         * text-coding.c (Fcoding_system_aliasee): New function.
3551         * text-coding.c (append_suffix_to_symbol): New function.
3552         * text-coding.c (dangling_coding_system_alias_p): New function.
3553         * text-coding.c (Ffind_coding_system):
3554         * text-coding.c (Fcopy_coding_system):
3555         * text-coding.c (encode_coding_no_conversion):
3556         * text-coding.c (syms_of_file_coding):
3557         * text-coding.c (vars_of_file_coding):
3558         Rewrite coding system alias code.
3559         Allow nested aliases, like symbolic links.
3560         Allow redefinition of coding system aliases.
3561         Prevent existence of dangling coding system aliases.
3562         Eliminate convert_to_external_format.
3563         Eliminate convert_to_internal_format.
3564         
3565         * text-coding.c: Change enum eol_type to eol_type_t.
3566
3567 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3568
3569         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3570         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3571
3572         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3573         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3574
3575 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3576
3577         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3578         `ideograph-daikanwa'.
3579
3580         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3581         (Vcharset_ucs_bmp): Likewise.
3582         (Vcharset_mojikyo): Add new extern variable definition.
3583         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3584         (Vcharset_latin_iso8859_3): Likewise.
3585         (Vcharset_latin_iso8859_4): Likewise.
3586         (Vcharset_latin_iso8859_9): Likewise.
3587         (Vcharset_latin_viscii_lower): Likewise.
3588         (Vcharset_latin_viscii_upper): Likewise.
3589         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3590         `mojikyo' code-point is used to decode.
3591         (encode_char_2): New function [to convert `mojikyo' code-point to
3592         Mojikyo font encoding].
3593         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3594         (breakup_char_1): Likewise.
3595         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3596
3597 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3598
3599         * text-coding.c (Fmake_coding_system): Add document about
3600         `disable-composition' property.
3601
3602 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3603
3604         * text-coding.c (Qdisable_composition): New variable; delete
3605         `Qcomposite'.
3606         (Fmake_coding_system): Add new property `disable-composite';
3607         delete property `composite'.
3608         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3609         instead of `!CODING_SYSTEM_COMPOSITE'.
3610         (syms_of_file_coding): Add new symbol `disable-composition';
3611         delete symbol `composite'.
3612
3613         * file-coding.h (struct Lisp_Coding_System): Add
3614         `disable_composition'; delete `enable_composition'.
3615         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3616         `CODING_SYSTEM_COMPOSITE'.
3617         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3618         `XCODING_SYSTEM_COMPOSITE'.
3619
3620 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3621
3622         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3623         to 0.15.
3624
3625 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3626
3627         * text-coding.c (Qcomposite): New variable.
3628         (Fmake_coding_system): Add new property `composite'.
3629         (struct decoding_stream): Add `combined_char_count',
3630         `combined_chars' and `combining_table' in UTF-2000.
3631         (COMPOSE_FLUSH_CHARS): New macro.
3632         (COMPOSE_ADD_CHAR): New macro.
3633         (reset_decoding_stream): Reset `str->combined_char_count' and
3634         `str->combining_table' in UTF-2000.
3635         (decode_coding_iso2022): Modify for character-decomposition.
3636         (syms_of_file_coding): Add new symbol `composite'.
3637
3638 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3639
3640         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3641         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3642         of `Vcharacter_composition_table' if `->decomposition' property
3643         has only 1 element.
3644         (Qlatin_tcvn5712): New variable.
3645         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3646         (complex_vars_of_mule_charset): Add new coded-charset
3647         `latin-tcvn5712'.
3648
3649         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3650
3651 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3652
3653         * file-coding.h (struct Lisp_Coding_System): Add
3654         `enable_composition'.
3655         (CODING_SYSTEM_COMPOSITE): New macro.
3656         (XCODING_SYSTEM_COMPOSITE): New macro.
3657
3658 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3659
3660         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3661
3662 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3663
3664         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3665         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3666
3667 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3668
3669         * mule-charset.c (Vcharset_mojikyo): New variable.
3670         (Fdefine_char): Don't use coded-charset which does not have
3671         non-builtin character range to allocate character-id.
3672         (Qmojikyo): New variable.
3673         (syms_of_mule_charset): Add new symbol `mojikyo'.
3674         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3675
3676         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3677         (LEADING_BYTE_MOJIKYO): New macro.
3678         (MIN_CHAR_MOJIKYO): New macro.
3679         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3680         (MAX_CHAR_MOJIKYO): New macro.
3681
3682 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3683
3684         * mule-charset.c (remove_char_attribute): Fixed.
3685
3686 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3687
3688         * mule-charset.c (remove_char_attribute): New function.
3689         (Fremove_char_attribute): New function.
3690         (encode_builtin_char_1): Comment out builtin-support for
3691         greek-iso8859-7 and cyrillic-iso8859-5.
3692         (Fdecode_char): Check `code' is an integer.
3693         (syms_of_mule_charset): Add `remove-char-attribute'.
3694         (MIN_CHAR_GREEK): Deleted.
3695         (MAX_CHAR_GREEK): Likewise.
3696         (MIN_CHAR_CYRILLIC): Likewise.
3697         (MAX_CHAR_CYRILLIC): Likewise.
3698         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3699         MAX_CHAR_GREEK for `greek-iso8859-7'.
3700
3701         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3702         (MAX_CHAR_GREEK): Likewise.
3703         (MIN_CHAR_CYRILLIC): Likewise.
3704         (MAX_CHAR_CYRILLIC): Likewise.
3705
3706 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3707
3708         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3709         format is used without `ucs' property.
3710         (Fdecode_char): Fix problem with GR representation.
3711         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3712         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3713
3714 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3715
3716         * mule-charset.c (make_builtin_char): New function.
3717         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3718         (Fset_charset_mapping_table): Modify for new representation of
3719         code-point.
3720         (Fdecode_char): New function.
3721         (syms_of_mule_charset): Add new builtin function `decode-char' in
3722         UTF-2000.
3723
3724         * char-ucs.h (make_builtin_char): New prototype.
3725         (DECODE_CHAR): New inline function.
3726         (MAKE_CHAR): Use `DECODE_CHAR'.
3727
3728 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3729
3730         * text-coding.c (parse_charset_conversion_specs): Use
3731         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3732         `XCHARSET_TYPE'.
3733         (iso2022_designate): Likewise.
3734
3735         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3736         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3737
3738         * mule-charset.c (Vcharset_ucs): New variable.
3739         (print_charset): Change design; use `CHARSET_CHARS' and
3740         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3741         (make_charset): Change signature to specify `chars' and
3742         `dimension' instead of `type'.
3743         (range_charset_code_point): Modify for 256^n-set.
3744         (encode_builtin_char_1): Encode as `ucs' in default.
3745         (Fmake_charset): Modify for `make_charset'.
3746         (Fmake_reverse_direction_charset): Likewise.
3747         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3748         UTF-2000.
3749         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3750         for `make_charset'.
3751
3752         * char-ucs.h (Vcharset_ucs): New variable.
3753         (LEADING_BYTE_UCS): New macro.
3754         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3755         and `chars' to `unsigned short' from `unsigned int'.
3756         (CHARSET_TYPE): Deleted.
3757         (XCHARSET_TYPE): Deleted.
3758
3759 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3760
3761         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3762
3763         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3764         (ENCODE_CHAR): New macro.
3765
3766 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3767
3768         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3769         to 0.14 (Kawachi-Katakami).
3770
3771 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3772
3773         * text-coding.c (char_encode_shift_jis): Modify for
3774         `charset_code_point'.
3775         (char_encode_iso2022): Likewise.
3776
3777         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3778         (integer) instead of list of <Lisp_Object>s (integers) as the
3779         format of code-point of a coded-charset.
3780         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3781         (encode_builtin_char_1): New function; delete
3782         `split_builtin_char'.
3783         (charset_code_point): Return <int> instead of <Lisp_Object>.
3784         (Fsplit_char): Don't use `SPLIT_CHAR'.
3785
3786         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3787         prototype for `split_builtin_char'.
3788         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3789         (charset_code_point): Likewise.
3790         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3791         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3792
3793 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3794
3795         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3796         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3797
3798 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3799
3800         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3801
3802         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3803         (MAX_CHAR_OBS_94x94): Deleted.
3804
3805 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3806
3807         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3808
3809         * char-ucs.h (MAX_CHAR_BMP): New macro.
3810
3811 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3812
3813         * text-coding.c: Sync with r21-2-24.
3814
3815 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3816
3817         * file-coding.c: Modify for UTF-2000.
3818
3819 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3820
3821         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3822         to 0.13 (Takaida).
3823
3824 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3825
3826         * mule-charset.c (split_builtin_char): Delete builtin support for
3827         `katakana-jisx0201'.
3828         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3829         BMP area in builtin representation.
3830
3831         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3832         `Vcharset_katakana_jisx0201'.
3833
3834 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3835
3836         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3837         (Qisolated): New variable.
3838         (Qinitial): New variable.
3839         (Qmedial): New variable.
3840         (Qfinal): New variable.
3841         (Qvertical): New variable.
3842         (Qsmall): New variable.
3843         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3844         `Qvertical' and `Qsmall'.
3845         (Qmojikyo_pj_[1 .. 21]): New variable.
3846         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3847         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3848         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3849         .. 21]'.
3850
3851 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3852
3853         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3854         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3855         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3856
3857 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3858
3859         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3860         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3861         BMP.
3862         (Qjapanese_jisx0208_1990): New variable.
3863         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3864         (complex_vars_of_mule_charset): Add new coded-charset
3865         `japanese-jisx0208-1990'.
3866
3867         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3868         (MIN_CHAR_JIS_X0208_1990): New macro.
3869         (MAX_CHAR_JIS_X0208_1990): New macro.
3870
3871 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3872
3873         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3874         coded-charset is not found.
3875
3876 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3877
3878         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3879         (Fdefine_char): Use `Fmake_char'.
3880
3881 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3882
3883         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3884         (Vcharset_hiragana_jisx0208): Deleted.
3885         (Vcharset_katakana_jisx0208): Deleted.
3886         (Qideograph_daikanwa): New variable.
3887         (Qhiragana_jisx0208): Deleted.
3888         (Qkatakana_jisx0208): Deleted.
3889         (split_builtin_char): Split `ideograph-daikanwa'.
3890         (Fsplit_char): New implementation for UTF-2000.
3891         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3892         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3893         (complex_vars_of_mule_charset): Add new coded-charset
3894         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3895         `katakana-jisx0208'.
3896
3897         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3898         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3899         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3900         (MIN_CHAR_DAIKANWA): New macro.
3901         (MAX_CHAR_DAIKANWA): New macro.
3902
3903 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3904
3905         * data.c (Fstring_to_number): Don't recognize floating point if
3906         base is not 10.
3907
3908 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3909
3910         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3911
3912 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3913
3914         * mule-charset.c (Qsquare): New variable.
3915         (to_char_code): Add `Qsquare'.
3916         (syms_of_mule_charset): Add new symbol `square'.
3917
3918 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3919
3920         * mule-charset.c (Qcircle): New variable.
3921         (to_char_code): Add `Qcircle'.
3922         (syms_of_mule_charset): Add new symbol `circle'.
3923
3924 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3925
3926         * mule-charset.c (Qfont): New variable.
3927         (to_char_code): Add `Qfont'.
3928         (syms_of_mule_charset): Add new symbol `font'.
3929
3930 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3931
3932         * mule-charset.c (Qsub): New variable.
3933         (to_char_code): Add `Qsub'.
3934         (syms_of_mule_charset): Add new symbol `sub'.
3935
3936 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3937
3938         * mule-charset.c (Fput_char_attribute): Convert each element of
3939         VALUE to GL position if ATTRIBUTE is a GR-set,
3940
3941 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3942
3943         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3944         coded-charset is a GR-set.
3945
3946 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3947
3948         * mule-charset.c (Fput_char_attribute): Check each element of
3949         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3950
3951 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3952
3953         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3954         UTF-2000.
3955         (Qethiopic_ucs): New variable in UTF-2000.
3956         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3957         (complex_vars_of_mule_charset): Add new coded-charset
3958         `ethiopic-ucs' in UTF-2000.
3959
3960         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3961         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3962         9)'.
3963         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3964         10)'.
3965         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3966
3967 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3968
3969         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3970         `ascii'.
3971
3972 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3973
3974         * mule-charset.c (Vcharacter_variant_table): New variable.
3975         (Q_ucs): New variable.
3976         (Fchar_variants): New function.
3977         (Fput_char_attribute): Register `->ucs' value to
3978         `Vcharacter_variant_table'.
3979         (syms_of_mule_charset): Add new function `char-variants' and new
3980         symbol `->ucs'.
3981         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3982
3983 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3984
3985         * mule-charset.c (get_char_code_table): Allow negative character
3986         code.
3987         (put_char_code_table): Likewise.
3988         (Vcharacter_composition_table): New variable.
3989         (Q_decomposition): New variable.
3990         (Qwide): New variable.
3991         (Qnarrow): New variable.
3992         (Qcompat): New variable.
3993         (QnoBreak): New variable.
3994         (Qsuper): New variable.
3995         (Qfraction): New variable.
3996         (to_char_code): New function.
3997         (Fget_composite_char): New function.
3998         (Fput_char_attribute): Register `->decomposition' value to
3999         `Vcharacter_composition_table'.
4000         (syms_of_mule_charset): Add new function `get-composite-char', new
4001         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4002         `super' and `fraction'.
4003         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4004
4005 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4006
4007         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4008         character; copy the return value.
4009
4010 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4011
4012         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4013
4014         * mule-charset.c (range_charset_code_point): Must use make_int.
4015         (split_builtin_char): New function.
4016
4017 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4018
4019         * mule-charset.c (char_byte_table): Change name from
4020         "char-code-table" to "char-byte-table".
4021         (mark_char_code_table): New function.
4022         (char_code_table_equal): New function.
4023         (char_code_table_hash): New function.
4024         (char_code_table_description): New constant.
4025         (char_code_table): New type.
4026         (make_char_code_table): New function.
4027         (copy_char_code_table): New function.
4028         (get_char_code_table): Modify for `char_code_table' type.
4029         (put_char_code_table): Likewise.
4030         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4031         (Kashiwara).
4032
4033         * char-ucs.h (char_code_table): New type.
4034         (XCHAR_CODE_TABLE): New macro.
4035         (XSETCHAR_CODE_TABLE): New macro.
4036         (CHAR_CODE_TABLE_P): New macro.
4037         (GC_CHAR_CODE_TABLE_P): New macro.
4038         (struct Lisp_Char_Code_Table): New structure.
4039
4040 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4041
4042         * mule-charset.c (Fmake_charset): Setup byte_offset for
4043         {94|96}^n-set.
4044
4045 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4046
4047         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4048         character.
4049
4050 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4051
4052         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4053         is found.
4054
4055 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4056
4057         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4058         charset, it is regarded as a charset.
4059         (put_char_attribute): New function in UTF-2000.
4060         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4061         charset, mapping-table of the charset is modified.
4062         (Fdefine_char): New function in UTF-2000.
4063         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4064         `Fput_char_attribute'.
4065         (syms_of_mule_charset): Add new function `define-char' and new
4066         symbol `ucs' in UTF-2000.
4067         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4068
4069 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4070
4071         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4072         non-UTF-2000 configuration.
4073
4074 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4075
4076         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4077         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4078
4079         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4080         deleted.
4081         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4082         (Fset_charset_mapping_table): Likewise.
4083
4084         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4085         (CHARSET_ENCODING_TABLE): Delete.
4086         (XCHARSET_ENCODING_TABLE): Delete.
4087         (charset_code_point): New interface.
4088
4089 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4090
4091         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4092         instead of `charset_get_byte1' and `charset_get_byte2'.
4093
4094         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4095         (charset_get_byte2): Deleted.
4096
4097 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4098
4099         * char-ucs.h (SPLIT_CHAR): New inline function.
4100         (breakup_char_1): Use `SPLIT_CHAR'.
4101
4102         * mule-charset.c (range_charset_code_point): New function.
4103         (charset_code_point): New function.
4104
4105         * char-ucs.h (range_charset_code_point): New interface.
4106         (breakup_char_1): Use `range_charset_code_point'.
4107
4108 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4109
4110         * mule-charset.c (Fmake_charset): Delete unused local variable
4111         `code_offset'.
4112
4113         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4114         (breakup_char_1): Find a charset and code-point in
4115         `Vcharacter_attribute_table'.
4116
4117 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4118
4119         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4120         to 0.10 (Yao).
4121
4122 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4123
4124         * mule-charset.c (Vcharacter_attribute_table): New variable.
4125         (Fchar_attribute_alist): New function.
4126         (Fget_char_attribute): New function.
4127         (Fput_char_attribute): New function.
4128         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4129         too.
4130         (syms_of_mule_charset): Add new function `char-attribute-alist',
4131         `get-char-attribute' and `put-char-attribute'.
4132         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4133
4134 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4135
4136         * mule-charset.c (Fmake_charset): Just use
4137         `get_unallocated_leading_byte'.
4138
4139         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4140         sets; don't use final-byte based number for private sets.
4141
4142 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4143
4144         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4145         integer.
4146
4147 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4148
4149         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4150         to 0.9.
4151
4152 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4153
4154         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4155         of `CHAR_LEADING_BYTE' in UTF-2000.
4156
4157         * insdel.c (find_charsets_in_bufbyte_string): Use
4158         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4159         (find_charsets_in_emchar_string): Likewise.
4160
4161         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4162         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4163
4164         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4165         (CHAR_CHARSET_ID): New macro.
4166
4167 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4168
4169         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4170         charset-id - MIN_LEADING_BYTE.
4171         (put_char_table): Likewise.
4172
4173 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4174
4175         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4176         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4177         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4178         (CHARSET_ID_OFFSET): New macro.
4179         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4180         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4181         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4182         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4183         4).
4184         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4185         5).
4186         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4187         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4188         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4189         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4190         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4191
4192 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4193
4194         * mule-charset.c (next_allocated_leading_byte): New variable in
4195         UTF-2000.
4196         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4197         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4198         (get_unallocated_leading_byte): Simply use
4199         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4200         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4201         UTF-2000.
4202
4203         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4204         (MAX_LEADING_BYTE_PRIVATE): New macro.
4205         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4206         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4207
4208 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4209
4210         * mule-charset.c (Fmake_charset): Allocate final-byte based
4211         charset-id for 94-set, 96-set and 94x94-set.
4212
4213 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4214
4215         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4216         ambiguous `else'.
4217         (Fmake_charset): Likewise.
4218         (complex_vars_of_mule_charset): Modify the font registry of
4219         `ucs-bmp' not to match `Ethiopic-Unicode'.
4220
4221 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4222
4223         * mule-charset.c (complex_vars_of_mule_charset): Add font
4224         registory of `ucs-bmp'.
4225
4226 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4227
4228         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4229         coded-charsets in `default-coded-charset-priority-list' when
4230         breaking up a character.
4231
4232         * mule-charset.c (Vcharset_latin_viscii): New variable.
4233         (Qlatin_viscii): New variable.
4234         (make_charset): Don't use `decoding_table'.
4235         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4236         byte_offset.
4237         (Fset_charset_mapping_table): New implementation.
4238         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4239         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4240         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4241         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4242         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4243         charset `latin_viscii'.
4244
4245         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4246         (CHARSET_TYPE_94X94): Change to 1 from 2.
4247         (CHARSET_TYPE_96): Change to 2 from 1.
4248         (CHARSET_TYPE_128): New macro.
4249         (CHARSET_TYPE_128X128): Change to 5 from 4.
4250         (CHARSET_TYPE_256): New macro.
4251         (CHARSET_TYPE_256X256): Change to 7 from 5.
4252         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4253
4254 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4255
4256         * text-coding.c (char_encode_shift_jis): Refer
4257         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4258         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4259
4260         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4261         (char_byte_table_equal): New function in UTF-2000.
4262         (char_byte_table_hash): New function in UTF-2000.
4263         (char_byte_table_description): New constant in UTF-2000.
4264         (char_byte_table): New type in UTF-2000.
4265         (make_char_byte_table): New function in UTF-2000.
4266         (copy_char_byte_table): New function in UTF-2000.
4267         (make_char_code_table): New macro in UTF-2000.
4268         (get_char_code_table): New function in UTF-2000.
4269         (put_char_code_table): New function in UTF-2000.
4270         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4271         (charset_description): Add setting in UTF-2000.
4272         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4273         `CHARSET_TO_BYTE1_TABLE(cs)'.
4274         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4275         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4276         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4277         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4278         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4279         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4280         `CHARSET_TO_BYTE2_TABLE(cs)'.
4281
4282         * char-ucs.h (char_byte_table): New type.
4283         (XCHAR_BYTE_TABLE): New macro.
4284         (XSETCHAR_BYTE_TABLE): New macro.
4285         (CHAR_BYTE_TABLE_P): New macro.
4286         (GC_CHAR_BYTE_TABLE_P): New macro.
4287         (struct Lisp_Char_Byte_Table): New structure.
4288         (get_char_code_table): New interface.
4289         (Emchar_to_byte_table): Deleted.
4290         (get_byte_from_character_table): Deleted.
4291         (struct Lisp_Charset): Add `encoding_table'; delete
4292         `to_byte1_table' and `to_byte2_table'.
4293         (CHARSET_ENCODING_TABLE): New macro.
4294         (CHARSET_TO_BYTE1_TABLE): Deleted.
4295         (CHARSET_TO_BYTE2_TABLE): Deleted.
4296         (XCHARSET_ENCODING_TABLE): New macro.
4297         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4298         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4299
4300 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4301
4302         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4303         `vietnamese-viscii-*'.
4304
4305 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4306
4307         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4308         (Qvietnamese_viscii_upper): New variable.
4309         (Fdefine_charset_alias): New function.
4310         (syms_of_mule_charset): Add new function `define-charset-alias'.
4311         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4312         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4313         `latin-viscii-*'.
4314
4315 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4316
4317         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4318         (MAX_CHAR_OBS_94x94): New macro.
4319         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4320         for 94x94 sets.
4321
4322         * mule-charset.c (put_byte_from_character_table): Change unit size
4323         from 128 to 256.
4324         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4325         not defined.
4326         (Fmake_reverse_direction_charset): Modify dummy argument of
4327         `make_charset' for non-UTF-2000 environment.
4328
4329 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4330
4331         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4332
4333         * mule-charset.c (destroy_byte_from_character_table): New macro.
4334         (latin_jisx0201_to_ucs): Deleted.
4335         (latin_iso8859_2_to_ucs): Deleted.
4336         (latin_iso8859_3_to_ucs): Deleted.
4337         (latin_iso8859_4_to_ucs): Deleted.
4338         (latin_iso8859_9_to_ucs): Deleted.
4339         (latin_viscii_lower_to_ucs): Deleted.
4340         (latin_viscii_upper_to_ucs): Deleted.
4341         (mark_charset): Mark `cs->decoding_table'.
4342         (Fcharset_mapping_table): Fix DOC-string.
4343         (Fset_charset_mapping_table): New function.
4344         (syms_of_mule_charset): Add nwe function
4345         `set-charset-mapping-table'.
4346         (complex_vars_of_mule_charset): Don't setup and use
4347         `latin_*_to_ucs'.
4348
4349 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4350
4351         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4352         charset.
4353
4354 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4355
4356         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4357         (Vcharset_katakana_jisx0208): New variable.
4358         (Qhiragana_jisx0208): New variable.
4359         (Qkatakana_jisx0208): New variable.
4360         (make_charset): Add new argument `byte_offset'.
4361         (charset_get_byte1): Modify for new coded-charset definition; use
4362         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4363         `XCHARSET_BYTE_OFFSET'.
4364         (Fmake_charset): Modify for `make_charset'.
4365         (Fmake_reverse_direction_charset): Likewise.
4366         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4367         `katakana-jisx0208'.
4368         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4369         `.'  in font registry of charset `katakana-jisx0201',
4370         `latin-jisx0201', `vietnamese-viscii-lower' and
4371         `vietnamese-viscii-upper'; modify DOC-string of charset
4372         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4373         registry of charset `japanese-jisx0208' not to use font for JIS
4374         X0208:1990; add new charset `hiragana-jisx0208' and
4375         `katakana-jisx0208'.
4376
4377         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4378         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4379         (struct Lisp_Charset): Add `byte_offset'.
4380         (CHARSET_BYTE_OFFSET): New macro.
4381         (XCHARSET_UCS_MIN): New macro.
4382         (XCHARSET_UCS_MAX): New macro.
4383         (XCHARSET_CODE_OFFSET): New macro.
4384         (XCHARSET_BYTE_OFFSET): New macro.
4385         (MIN_CHAR_HIRAGANA): New macro.
4386         (MAX_CHAR_HIRAGANA): New macro.
4387         (MIN_CHAR_KATAKANA): New macro.
4388         (MAX_CHAR_KATAKANA): New macro.
4389         (MAKE_CHAR): Modify for new coded-charset definition; use
4390         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4391         `XCHARSET_BYTE_OFFSET'.
4392
4393 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4394
4395         * mule-charset.c (CHAR96): Deleted.
4396         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4397         <Lisp_Object>.
4398         (latin_iso8859_2_to_ucs): Likewise.
4399         (latin_iso8859_3_to_ucs): Likewise.
4400         (latin_iso8859_4_to_ucs): Likewise.
4401         (latin_iso8859_9_to_ucs): Likewise.
4402         (latin_viscii_lower_to_ucs): Likewise.
4403         (latin_viscii_upper_to_ucs): Likewise.
4404         (latin_tcvn5712_to_ucs): Commented out.
4405         (make_charset): Change type of argument `decoding_table' from
4406         <Emchar*> to <Lisp_Object> [vector of characters].
4407         (Fmake_charset): Modify for `make_charset'.
4408         (Fmake_reverse_direction_charset): Likewise.
4409         (Fcharset_mapping_table): New function in UTF-2000.
4410         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4411         UTF-2000.
4412         (complex_vars_of_mule_charset): Modify for type change of
4413         `*_to_ucs'; modify for `make_charset'.
4414
4415         * char-ucs.h (struct Lisp_Charset): Change type of
4416         `decoding_table' from <Emchar*> to <Lisp_Object>.
4417         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4418
4419 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4420
4421         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4422         error with non-UTF-2000-Mule.
4423
4424 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4425
4426         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4427         in lisp again].
4428         (Vcharset_chinese_cns11643_4): Likewise.
4429         (Vcharset_chinese_cns11643_5): Likewise.
4430         (Vcharset_chinese_cns11643_6): Likewise.
4431         (Vcharset_chinese_cns11643_7): Likewise.
4432         (Qchinese_cns11643_3): Likewise.
4433         (Qchinese_cns11643_4): Likewise.
4434         (Qchinese_cns11643_5): Likewise.
4435         (Qchinese_cns11643_6): Likewise.
4436         (Qchinese_cns11643_7): Likewise.
4437         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4438         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4439         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4440         (complex_vars_of_mule_charset): Likewise.
4441
4442 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4443
4444         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4445         96-set.
4446         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4447         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4448
4449 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4450
4451         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4452         0xFF60.
4453         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4454         (breakup_char_1): Likewise.
4455
4456         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4457         one of them includes the specified character.
4458
4459 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4460
4461         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4462
4463 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4464
4465         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4466
4467 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4468
4469         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4470         definition for non-UTF-2000 Mule.
4471         (latin_iso8859_3_to_ucs): Likewise.
4472         (latin_iso8859_4_to_ucs): Likewise.
4473         (latin_iso8859_9_to_ucs): Likewise.
4474         (latin_jisx0201_to_ucs): Likewise.
4475         (MIN_CHAR_THAI): Likewise.
4476         (MAX_CHAR_THAI): Likewise.
4477         (MIN_CHAR_GREEK): Likewise.
4478         (MAX_CHAR_GREEK): Likewise.
4479         (MIN_CHAR_HEBREW): Likewise.
4480         (MAX_CHAR_HEBREW): Likewise.
4481         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4482         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4483         (MIN_CHAR_CYRILLIC): Likewise.
4484         (MAX_CHAR_CYRILLIC): Likewise.
4485
4486 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4487
4488         * char-ucs.h (breakup_char_1): Use
4489         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4490         thai-tis620 and katakana-jisx0201 area.
4491
4492 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4493
4494         * char-ucs.h (breakup_char_1): Use
4495         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4496         area.
4497
4498         * text-coding.c (reset_encoding_stream): Fixed.
4499         (char_encode_ucs4): Delete `& 255'.
4500
4501         * char-ucs.h (breakup_char_1): Use
4502         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4503
4504 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4505
4506         * file-coding.c (Fmake_coding_system): Don't set up
4507         `codesys->fixed.size'.
4508         (encode_coding_no_conversion): Don't refer
4509         `str->codesys->fixed.size'.
4510
4511 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4512
4513         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4514         (latin_a_char_to_byte1): Deleted.
4515         (latin_a_char_to_byte2): Deleted.
4516
4517 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4518
4519         * mule-charset.c (make_charset): Add new argument `ucs_min',
4520         `ucs_max' and `code_offset'.
4521         (charset_get_byte1): New implementation [delete specific charset
4522         depended implementations].
4523         (Fmake_charset): Modify for `make_charset'.
4524         (Fmake_reverse_direction_charset): Likewise.
4525         (complex_vars_of_mule_charset): Likewise.
4526
4527         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4528         `code_offset'.
4529         (CHARSET_UCS_MIN): New macro.
4530         (CHARSET_UCS_MAX): New macro.
4531         (CHARSET_CODE_OFFSET): New macro.
4532         (MAKE_CHAR): Delete charset depended definitions [except
4533         katakana-jisx0201].
4534
4535 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4536
4537         * char-ucs.h (breakup_char_1): Use
4538         `Vdefault_coded_charset_priority_list' for C0-Controls,
4539         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4540
4541 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4542
4543         * char-ucs.h (charset_get_byte1): New function.
4544         (XCHARSET_GET_BYTE1): Deleted.
4545         (charset_get_byte2): New function.
4546         (XCHARSET_GET_BYTE2): Deleted.
4547         (Vdefault_coded_charset_priority_list): New external variable.
4548         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4549         `Vdefault_preferred_coded_charset_list'.
4550
4551         * mule-charset.c (charset_get_byte1): New function.
4552         (charset_get_byte2): New function.
4553         (Vdefault_coded_charset_priority_list): New variable.
4554         (vars_of_mule_charset): Add new variable
4555         `default-coded-charset-priority-list'.
4556
4557 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4558
4559         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4560         (XCHARSET_GET_BYTE2): New inline function.
4561         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4562         `XCHARSET_GET_BYTE2'.
4563
4564 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4565
4566         * mule-charset.c (make_charset): Initialize
4567         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4568         NULL if table is not defined.
4569
4570 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4571
4572         * text-coding.c (char_encode_shift_jis): Use
4573         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4574         `ucs_to_latin_jisx0201'.
4575
4576         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4577         (ucs_to_latin_iso8859_2): Deleted.
4578         (ucs_to_latin_iso8859_3): Deleted.
4579         (ucs_to_latin_iso8859_4): Deleted.
4580         (ucs_to_latin_iso8859_9): Deleted.
4581         (ucs_to_latin_viscii_lower): Deleted.
4582         (ucs_to_latin_viscii_upper): Deleted.
4583         (ucs_to_latin_tcvn5712): Deleted.
4584         (make_charset): Add new argument `decoding_table'; set up
4585         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4586         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4587         `decoding_table' is defined in UTF-2000.
4588         (Fmake_charset): Modify for `make_charset'.
4589         (Fmake_reverse_direction_charset): Likewise.
4590         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4591         and `GENERATE_96_SET'.
4592
4593         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4594         (ucs_to_latin_jisx0201): Deleted.
4595         (latin_iso8859_2_to_ucs): Deleted.
4596         (ucs_to_latin_iso8859_2): Deleted.
4597         (latin_iso8859_3_to_ucs): Deleted.
4598         (ucs_to_latin_iso8859_3): Deleted.
4599         (latin_iso8859_4_to_ucs): Deleted.
4600         (ucs_to_latin_iso8859_4): Deleted.
4601         (latin_iso8859_9_to_ucs): Deleted.
4602         (ucs_to_latin_iso8859_9): Deleted.
4603         (latin_viscii_lower_to_ucs): Deleted.
4604         (ucs_to_latin_viscii_lower): Deleted.
4605         (latin_viscii_upper_to_ucs): Deleted.
4606         (ucs_to_latin_viscii_upper): Deleted.
4607         (struct Lisp_Charset): Renamed `encoding_table' to
4608         `to_byte1_table'; add `to_byte2_table'.
4609         (CHARSET_DECODING_TABLE): New macro.
4610         (CHARSET_TO_BYTE1_TABLE): New macro.
4611         (CHARSET_TO_BYTE2_TABLE): New macro.
4612         (XCHARSET_DECODING_TABLE): New macro.
4613         (XCHARSET_TO_BYTE1_TABLE): New macro.
4614         (XCHARSET_TO_BYTE2_TABLE): New macro.
4615         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4616         tables.
4617         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4618         don't use `ucs_to_*' tables.
4619
4620 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4621
4622         * text-coding.c (Fmake_coding_system): Don't set up
4623         `codesys->fixed.size'.
4624         (encode_coding_no_conversion): Use `if' instead of `switch'.
4625
4626         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4627
4628 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4629
4630         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4631         (Fmake_charset): Modify for `make_charset'.
4632         (Fmake_reverse_direction_charset): Likewise.
4633         (complex_vars_of_mule_charset): Likewise.
4634
4635 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4636
4637         * text-coding.c (char_encode_shift_jis): Use table
4638         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4639
4640 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4641
4642         * text-coding.c (text_encode_generic): Use `if' instead of
4643         `switch'.
4644         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4645         decode JIS-Latin.
4646
4647 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4648
4649         * text-coding.c (encode_coding_sjis): Deleted.
4650         (char_encode_shift_jis): New function.
4651         (char_finish_shift_jis): New function.
4652         (reset_encoding_stream): Set up `encode_char' and `finish' for
4653         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4654         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4655         (char_encode_utf8): Treat `eol_type'.
4656
4657 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4658
4659         * file-coding.c (decode_coding_iso2022): Use
4660         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4661
4662 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4663
4664         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4665         to 0.7 (Hirano).
4666
4667 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4668
4669         * char-lb.h (CHAR_COLUMNS): New macro.
4670
4671 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4672
4673         * text-coding.c (char_encode_ucs4): New function.
4674         (char_finish_ucs4): New function.
4675         (encode_coding_ucs4): Deleted.
4676         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4677         (text_encode_generic): Delete local variable `charset' and `half'.
4678         (ucs_to_mule_table): Deleted.
4679         (mule_to_ucs_table): Deleted.
4680         (Fset_ucs_char): Deleted.
4681         (ucs_to_char): Deleted.
4682         (Fucs_char): Deleted.
4683         (Fset_char_ucs): Deleted.
4684         (Fchar_ucs): Deleted.
4685         (decode_ucs4): Deleted.
4686         (mule_char_to_ucs4): Deleted.
4687         (encode_ucs4): Deleted.
4688         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4689         (decode_coding_utf8): Likewise.
4690         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4691         (char_encode_iso2022): Fixed.
4692         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4693         `Fset_char_ucs' and `Fchar_ucs'.
4694         (complex_vars_of_file_coding): Don't initialize
4695         `ucs_to_mule_table'.
4696
4697         * objects-tty.c (tty_initialize_font_instance): Don't use
4698         `XCHARSET_COLUMNS'.
4699
4700         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4701         UTF-2000.
4702
4703         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4704         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4705
4706         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4707         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4708         (emchar_string_displayed_columns): Likewise.
4709
4710         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4711         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4712         (string_column_at_point): Likewise.
4713         (Fmove_to_column): Likewise.
4714
4715         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4716         `encoding_table' and `decoding_table'.
4717         (CHARSET_REP_BYTES): Deleted.
4718         (XCHARSET_REP_BYTES): Deleted.
4719         (XCHARSET_COLUMNS): Deleted.
4720         (CHAR_COLUMNS): New macro.
4721         (lookup_composite_char): Deleted unconditionally.
4722         (composite_char_string): Likewise.
4723
4724 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4725
4726         * char-ucs.h (Emchar_to_byte_table): New type.
4727         (get_byte_from_character_table): New function interface.
4728         (Vcharset_latin_jisx0201): New variable.
4729         (latin_jisx0201_to_ucs): New variable.
4730         (ucs_to_latin_jisx0201): New variable.
4731         (Vcharset_latin_iso8859_2): New variable.
4732         (latin_iso8859_2_to_ucs): New variable.
4733         (ucs_to_latin_iso8859_2): New variable.
4734         (Vcharset_latin_iso8859_3): New variable.
4735         (latin_iso8859_3_to_ucs): New variable.
4736         (ucs_to_latin_iso8859_3): New variable.
4737         (Vcharset_latin_iso8859_4): New variable.
4738         (latin_iso8859_4_to_ucs): New variable.
4739         (ucs_to_latin_iso8859_4): New variable.
4740         (Vcharset_latin_iso8859_9): New variable.
4741         (latin_iso8859_9_to_ucs): New variable.
4742         (ucs_to_latin_iso8859_9): New variable.
4743         (Vcharset_latin_viscii_lower): New variable.
4744         (latin_viscii_lower_to_ucs): New variable.
4745         (ucs_to_latin_viscii_lower): New variable.
4746         (Vcharset_latin_viscii_upper): New variable.
4747         (latin_viscii_upper_to_ucs): New variable.
4748         (ucs_to_latin_viscii_upper): New variable.
4749         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4750         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4751         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4752         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4753         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4754         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4755         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4756         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4757         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4758         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4759
4760         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4761         (Vcharset_latin_viscii_upper): New variable.
4762         (make_byte_from_character_table): New function.
4763         (put_byte_from_character_table): New function.
4764         (get_byte_from_character_table): New function.
4765         (CHAR96): New macro.
4766         (ucs_to_latin_jisx0201): New variable.
4767         (latin_jisx0201_to_ucs): New variable.
4768         (ucs_to_latin_iso8859_2): New variable.
4769         (latin_iso8859_2_to_ucs): New variable.
4770         (ucs_to_latin_iso8859_3): New variable.
4771         (latin_iso8859_3_to_ucs): New variable.
4772         (ucs_to_latin_iso8859_4): New variable.
4773         (latin_iso8859_4_to_ucs): New variable.
4774         (ucs_to_latin_iso8859_9): New variable.
4775         (latin_iso8859_9_to_ucs): New variable.
4776         (ucs_to_latin_viscii_lower): New variable.
4777         (latin_viscii_lower_to_ucs): New variable.
4778         (ucs_to_latin_viscii_upper): New variable.
4779         (latin_viscii_upper_to_ucs): New variable.
4780         (ucs_to_latin_tcvn5712): New variable.
4781         (latin_tcvn5712_to_ucs): New variable.
4782         (Qlatin_viscii_lower): New variable.
4783         (Qlatin_viscii_upper): New variable.
4784         (syms_of_mule_charset): Set up new symbol
4785         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4786         (complex_vars_of_mule_charset): Set up new charset
4787         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4788         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4789         `ucs_to_<CHARSET>' tables.
4790
4791 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4792
4793         * text-coding.c: New file.
4794
4795 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4796
4797         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4798
4799         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4800         (MAKE_CHAR): Modify for `ucs-bmp'.
4801         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4802         non-MULE characters of BMP.
4803
4804 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4805
4806         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4807         to 0.6.
4808
4809 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4810
4811         * lstream.h:
4812         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4813         - Include character.h for `CHAR_ASCII_P'.
4814
4815         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4816
4817         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4818         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4819
4820         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4821         (BYTE_C0_P): Likewise.
4822         (BYTE_C1_P): Likewise.
4823         (Lstream_get_emchar_1): Likewise.
4824         (Lstream_fput_emchar): Likewise.
4825         (Lstream_funget_emchar): Likewise.
4826         (copy_internal_to_external): Likewise.
4827         (copy_external_to_internal): Likewise.
4828
4829         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4830         (BYTE_C0_P): Likewise.
4831         (BYTE_C1_P): Likewise.
4832         (Lstream_get_emchar_1): Likewise.
4833         (Lstream_fput_emchar): Likewise.
4834         (Lstream_funget_emchar): Likewise.
4835         (copy_internal_to_external): Likewise.
4836         (copy_external_to_internal): Likewise.
4837
4838         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4839         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4840
4841         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4842         (BYTE_ASCII_P): Moved to mb-1byte.h.
4843
4844 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4845
4846         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4847
4848         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4849         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4850         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4851         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4852         (VALIDATE_CHARPTR_FORWARD): Likewise.
4853         (simple_charptr_emchar): Moved to mb-multibyte.h.
4854         (simple_set_charptr_emchar): Likewise.
4855         (simple_charptr_copy_char): Likewise.
4856         (non_ascii_charptr_emchar): Likewise.
4857         (non_ascii_set_charptr_emchar): Likewise.
4858         (non_ascii_charptr_copy_char): Likewise.
4859         (charptr_emchar): Moved to mb-*byte.h.
4860         (set_charptr_emchar): Likewise.
4861         (charptr_copy_char): Likewise.
4862
4863         * mb-1byte.h, mb-multibyte.h: New files.
4864
4865 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4866
4867         * mb-utf-8.h (MULTIBYTE): New macro.
4868         (MAX_EMCHAR_LEN): Moved from buffer.h.
4869         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4870
4871         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4872
4873         * mb-lb.h, multibyte.h: New files.
4874
4875         * char-1byte.h (Charset_ID): Moved from buffer.h.
4876         (MIN_LEADING_BYTE): Likewise.
4877         (LEADING_BYTE_ASCII): Likewise.
4878         (NUM_LEADING_BYTES): Likewise.
4879         (CHARSETP): Likewise.
4880         (CHARSET_BY_LEADING_BYTE): Likewise.
4881         (XCHARSET_LEADING_BYTE): Likewise.
4882         (XCHARSET_GRAPHIC): Likewise.
4883         (XCHARSET_COLUMNS): Likewise.
4884         (XCHARSET_DIMENSION): Likewise.
4885         (CHAR_CHARSET): Likewise.
4886         (CHAR_LEADING_BYTE): Likewise.
4887         (BREAKUP_CHAR): Likewise.
4888         (Vcharset_ascii): Likewise.
4889
4890         * buffer.h: Include multibyte.h unconditionally.
4891         (VALID_CHARPTR_P): Moved to multibyte.h.
4892         (ASSERT_VALID_CHARPTR): Likewise.
4893         (REAL_INC_CHARPTR): Likewise.
4894         (REAL_INC_CHARBYTIND): Likewise.
4895         (REAL_DEC_CHARPTR): Likewise.
4896         (INC_CHARPTR): Likewise.
4897         (INC_CHARBYTIND): Likewise.
4898         (DEC_CHARPTR): Likewise.
4899         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4900         (VALIDATE_CHARPTR_FORWARD): Likewise.
4901         (charptr_n_addr): Likewise.
4902         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4903         (simple_charptr_emchar): Moved to multibyte.h.
4904         (simple_set_charptr_emchar): Likewise.
4905         (simple_charptr_copy_char): Likewise.
4906         (non_ascii_charptr_emchar): Likewise.
4907         (non_ascii_set_charptr_emchar): Likewise.
4908         (non_ascii_charptr_copy_char): Likewise.
4909         (charptr_emchar): Likewise.
4910         (set_charptr_emchar): Likewise.
4911         (charptr_copy_char): Likewise.
4912         (charptr_emchar_n): Likewise.
4913         (Charset_ID): Moved to char-1byte.h.
4914         (Vcharset_ascii): Likewise.
4915         (CHAR_CHARSET): Likewise.
4916         (CHAR_LEADING_BYTE): Likewise.
4917         (LEADING_BYTE_ASCII): Likewise.
4918         (NUM_LEADING_BYTES): Likewise.
4919         (MIN_LEADING_BYTE): Likewise.
4920         (CHARSETP): Likewise.
4921         (CHARSET_BY_LEADING_BYTE): Likewise.
4922         (XCHARSET_LEADING_BYTE): Likewise.
4923         (XCHARSET_GRAPHIC): Likewise.
4924         (XCHARSET_COLUMNS): Likewise.
4925         (XCHARSET_DIMENSION): Likewise.
4926         (BREAKUP_CHAR): Likewise.
4927
4928 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4929
4930         * character.h: Add document about interface for characters.
4931
4932         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4933         (MAKE_CHAR): Delete comment about
4934         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4935         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4936         (BREAKUP_CHAR): Modify name of arguments.
4937         (CHAR_CHARSET): Modify name of argument.
4938
4939         * buffer.h: Delete document about Emchar accessors.
4940
4941 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4942
4943         * character.h (CHAR_INTP): Moved from buffer.h
4944         (CHAR_OR_CHAR_INTP): Likewise.
4945         (XCHAR_OR_CHAR_INT): Likewise.
4946         (CHECK_CHAR_COERCE_INT): Likewise.
4947
4948         * buffer.h (CHAR_INTP): Moved to character.h
4949         (CHAR_OR_CHAR_INTP): Likewise.
4950         (XCHAR_OR_CHAR_INT): Likewise.
4951         (CHECK_CHAR_COERCE_INT): Likewise.
4952
4953 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4954
4955         * character.h:
4956         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4957         - Include char-1byte.h, char-lb.h or char-ucs.h.
4958
4959         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4960
4961         * buffer.h: Include character unconditionally.
4962         (valid_char_p): Moved to char-*.h.
4963         (non_ascii_valid_char_p): Moved to char-lb.h.
4964
4965         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4966
4967 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4968
4969         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4970         in UTF-2000 because it is not ported yet and not to use
4971         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4972         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4973         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4974
4975         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4976         (CHAR_ASCII_P): Moved from character.h.
4977
4978         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4979         (CHAR_ASCII_P): Likewise.
4980         (CHAR_FIELD1_MASK): Deleted.
4981         (CHAR_FIELD2_MASK): Deleted.
4982         (CHAR_FIELD3_MASK): Deleted.
4983         (MAX_CHAR_BASIC_LATIN): New macro.
4984         (CHAR_FIELD1): Deleted.
4985         (CHAR_FIELD2_INTERNAL): Deleted.
4986         (CHAR_FIELD3_INTERNAL): Deleted.
4987         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4988         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4989         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4990         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4991         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4992         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4993         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4994         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4995         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4996         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4997         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4998         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4999         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5000         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5001         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5002         (MIN_CHAR_COMPOSITION): Deleted.
5003         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5004         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5005
5006 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5007
5008         * buffer.h: Include mb-utf-8.h in UTF-2000.
5009
5010         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5011
5012         * mb-utf-8.h: New file.
5013
5014 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5015
5016         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5017         instead of `int'.
5018
5019         * mule-charset.h, buffer.h (Charset_ID): New type.
5020
5021 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5022
5023         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5024         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5025         instead of `MULE_CHAR_PRIVATE_OFFSET',
5026         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5027         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5028         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5029
5030         * character.h (Vcharset_japanese_jisx0212): New variable
5031         definition.
5032
5033 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5036         (charset_by_attributes): Delete array about direction.
5037         (latin_a_char_to_charset): New variable in UTF-2000.
5038         (latin_a_char_to_byte1): New variable in UTF-2000.
5039         (latin_a_char_to_byte2): New variable in UTF-2000.
5040         (Qucs_bmp): New variable.
5041         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5042         `Bufbyte'.
5043         (next_allocated_2_byte_leading_byte): Likewise.
5044         (non_ascii_set_charptr_emchar): Likewise.
5045         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5046         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5047         `charset_by_attributes'.
5048         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5049         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5050         and `CHARSET_BY_LEADING_BYTE'.
5051         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5052         `utf-2000-version' to `vars_of_mule_charset'.
5053         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5054         define `leading-code-private-11' in UTF-2000; move setting of
5055         `utf-2000-version' from `syms_of_mule_charset'.
5056         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5057         UTF-2000.
5058
5059         * character.h (Charset_ID): New type.
5060         (LEADING_BYTE_UCS_BMP): New macro.
5061         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5062         (CHARSET_ID_OFFSET_94): New macro.
5063         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5064         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5065         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5066         final-byte.
5067         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5068         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5069         (CHARSET_ID_OFFSET_96): New macro.
5070         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5071         CHARSET_ID_OFFSET_96 and final-byte.
5072         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5073         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5074         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5075         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5076         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5077         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5078         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5079         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5080         (LEADING_BYTE_THAI_TIS620): Likewise.
5081         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5082         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5083         (CHARSET_ID_OFFSET_94x94): New macro.
5084         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5085         CHARSET_ID_OFFSET_94x94 and final-byte.
5086         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5087         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5088         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5089         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5090         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5091         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5092         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5093         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5094         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5095         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5096         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5097         (CHARSET_TYPE_128X128): New macro.
5098         (CHARSET_TYPE_256X256): New macro.
5099         (XCHARSET_PRIVATE_P): Delete unconditionally.
5100         (charset_by_attributes): Delete array about direction.
5101         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5102         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5103         (MIN_CHAR_94): New macro.
5104         (MAX_CHAR_94): New macro.
5105         (MIN_CHAR_96): New macro.
5106         (MAX_CHAR_96): New macro.
5107         (MIN_CHAR_94x94): New macro.
5108         (MAX_CHAR_94x94): New macro.
5109         (MIN_CHAR_96x96): New macro.
5110         (MAX_CHAR_96x96): New macro.
5111         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5112         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5113         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5114         - 32)'.
5115         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5116         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5117         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5118         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5119         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5120         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5121         `XCHARSET_LEADING_BYTE' to make code-point.
5122         (latin_a_char_to_charset): New variable.
5123         (latin_a_char_to_byte1): New variable.
5124         (latin_a_char_to_byte2): New variable.
5125         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5126         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5127         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5128
5129         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5130         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5131         (find_charsets_in_emchar_string): Likewise.
5132         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5133
5134         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5135         `int'.
5136         (decode_coding_iso2022): Likewise.
5137
5138         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5139         of `unsigned char'.
5140
5141         * redisplay.c (redisplay_text_width_emchar_string): Use
5142         `Charset_ID' instead of `unsigned char'.
5143         (redisplay_frame_text_width_string): Likewise.
5144
5145         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5146         `unsigned char'.
5147
5148         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5149         instead of `unsigned char'.
5150         (face_cachel_charset_font_metric_info): Likewise.
5151
5152         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5153         (get_non_ascii_char_table_value): Likewise.
5154         (get_char_table): Likewise.
5155         (put_char_table): Likewise.
5156         (map_over_other_charset): Likewise.
5157         (map_char_table): Likewise.
5158
5159         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5160         instead of `unsigned char'.
5161
5162 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5163
5164         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5165         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5166
5167         * mule-charset.c (leading_code_private_11): Don't define in
5168         UTF-2000.
5169
5170         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5171         in UTF-2000 because it is not ported yet and not to use
5172         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5173
5174 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5175
5176         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5177
5178 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5179
5180         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5181         in UTF-2000.
5182
5183         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5184         of unsigned char to store leading-byte.
5185
5186         * chartab.c (get_non_ascii_char_table_value): Don't use
5187         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5188
5189         * file-coding.c (encode_coding_big5): Delete bogus implementation
5190         in UTF2000.
5191
5192         * character.h (LEADING_BYTE_*): Delete definition for
5193         non-UTF-2000.
5194         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5195         (LEADING_BYTE_PREFIX_P): Deleted.
5196         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5197         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5198         (BUFBYTE_LEADING_BYTE_P): Deleted.
5199         (CHARSET_PRIVATE_P): Deleted unconditionally.
5200         (rep_bytes_by_first_byte): Deleted unconditionally.
5201         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5202         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5203         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5204         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5205         (CHAR_FIELD2): Deleted.
5206         (CHAR_FIELD3): Deleted.
5207         (MAKE_CHAR): Delete definition for non-UTF-2000.
5208         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5209         (breakup_char_1): New implementation.
5210         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5211         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5212
5213 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5214
5215         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5216         condition.
5217
5218 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5219
5220         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5221         (CHARSET_PRIVATE_P): Likewise.
5222         (XCHARSET_PRIVATE_P): Likewise.
5223         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5224
5225         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5226         UTF2000.
5227         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5228
5229 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5230
5231         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5232         (NUM_LEADING_BYTES): Changed from 128 to 256.
5233         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5234         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5235         UTF2000.
5236         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5237
5238         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5239         UTF2000.
5240         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5241         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5242         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5243         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5244         (Qchinese_cns11643_3): New variable in UTF2000.
5245         (Qchinese_cns11643_4): New variable in UTF2000.
5246         (Qchinese_cns11643_5): New variable in UTF2000.
5247         (Qchinese_cns11643_6): New variable in UTF2000.
5248         (Qchinese_cns11643_7): New variable in UTF2000.
5249         (syms_of_mule_charset): Define `chinese-cns11643-3',
5250         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5251         and `chinese-cns11643-7' in UTF2000.
5252         (vars_of_mule_charset): Initialize
5253         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5254         + 1 in UTF2000.
5255         (complex_vars_of_mule_charset): Setup charset
5256         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5257         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5258
5259 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5260
5261         * mule-charset.c: Move setting for `leading-code-private-11' from
5262         `syms_of_mule_charset' to `vars_of_mule_charset'.
5263
5264 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5265
5266         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5267         and `NUM_LEADING_BYTES' in assert.
5268
5269 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5270
5271         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5272         instead of 128.
5273         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5274         `NUM_LEADING_BYTES' instead of 128.
5275
5276 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5277
5278         * mule-charset.h (charset_by_leading_byte): Use
5279         `NUM_LEADING_BYTES' instead of 128.
5280         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5281
5282         * mule-charset.c (charset_by_leading_byte): Use
5283         `NUM_LEADING_BYTES' instead of 128.
5284         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5285
5286         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5287         128.
5288
5289 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5290
5291         * mule-charset.c (syms_of_mule_charset): Update to
5292         0.4 (Shin-Imamiya).
5293
5294 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5295
5296         * file-coding.c (encode_coding_sjis): New implementation for
5297         UTF2000.  (decode_coding_sjis): Ditto.
5298
5299 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5300
5301         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5302         Don't define in UTF2000.
5303
5304         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5305         defined.
5306
5307         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5308         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5309         MULE.
5310
5311 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5312
5313         * config.h.in (CHAR_IS_UCS4): New macro.
5314
5315         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5316         conventional MULE representation.
5317         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5318
5319         * mule-charset.h: Reverted to original.
5320
5321         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5322         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5323         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5324
5325         * character.h: New file.
5326
5327         * file-coding.c (Fmake_coding_system): Set 1 to
5328         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5329         defined.
5330         (encode_coding_no_conversion): New implementation for UTF2000.
5331
5332         * file-coding.h (struct Lisp_Coding_System): Add new member
5333         `fixed.size'.
5334
5335 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5336
5337         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5338         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5339         (encode_coding_iso2022): New implementation for UTF2000.
5340
5341 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5342
5343         * mule-canna.c (c2mu): New implementation for UTF2000.
5344         (m2c): Likewise.
5345
5346 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5347
5348         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5349
5350 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5351
5352         * file-coding.c (reset_encoding_stream): Set 0 to
5353         `str->iso2022.current_char_boundary' in UTF2000.
5354         (encode_utf8): Don't define in UTF2000.
5355         (encode_coding_utf8): New implementation for UTF-8 representation
5356         of UTF2000.
5357         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5358
5359 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5360
5361         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5362
5363         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5364         UTF2000.
5365         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5366
5367         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5368
5369         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5370         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5371         as UTF-8 in UTF2000.
5372         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5373         (non_ascii_valid_char_p): Don't define in UTF2000.
5374         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5375         (Lstream_get_emchar_1): Likewise.
5376         (utf-2000-version): New variable in UTF2000.
5377
5378         * lread.c (read_escape): Add new reader `u'.
5379
5380         * insdel.c (three_to_one_table): Don't define in UTF2000.
5381         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5382         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5383         UTF2000.
5384         (bytind_to_bufpos_func): Likewise.
5385         (buffer_mule_signal_inserted_region): Likewise.
5386         (vars_of_insdel): Don't initialize `three_to_one_table'.
5387         (init_buffer_text): Use `buf->text->mule_size' instead of
5388         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5389         UTF2000.
5390
5391         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5392         UTF-8 representation in UTF2000.
5393         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5394         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5395         (decode_coding_iso2022): Don't define local variable `lb' in
5396         UTF2000; don't use LEADING_BYTE in UTF2000; use
5397         `DECODE_ADD_UCS_CHAR' in UTF2000.
5398         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5399
5400         * config.h.in (UTF2000): New macro.
5401
5402         * buffer.h (struct buffer_text): Add new member `mule_size' and
5403         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5404         (valid_char_p): Return always 1 in UTF2000.
5405         (MAX_EMCHAR_LEN): 6 in UTF2000.
5406         (three_to_one_table): Don't define in UTF2000.
5407         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5408         UTF2000.
5409         (real_bytind_to_bufpos): Likewise.
5410
5411         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5412
5413 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5414
5415         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5416         representation change.
5417         (Vutf_2000_version): New variable.
5418         (leading_code_private_11): New variable.
5419         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5420         `leading-code-private-11'.
5421
5422         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5423         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5424         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5425         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5426         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5427         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5428         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5429         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5430         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5431         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5432         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5433         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5434         (MIN_CHAR_GREEK): New macro.
5435         (MAX_CHAR_GREEK): New macro.
5436         (MIN_CHAR_CYRILLIC): New macro.
5437         (MAX_CHAR_CYRILLIC): New macro.
5438         (MIN_CHAR_HEBREW): New macro.
5439         (MAX_CHAR_HEBREW): New macro.
5440         (MIN_CHAR_THAI): New macro.
5441         (MAX_CHAR_THAI): New macro.
5442         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5443         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5444         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5445         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5446         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5447         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5448         (CHAR_FIELD2): New inline function.
5449         (CHAR_FIELD3): New inline function.
5450         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5451         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5452         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5453         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5454         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5455         (MIN_CHAR_COMPOSITION): Likewise.
5456         (CHAR_LEADING_BYTE): Modified for character representation change.
5457         (MAKE_CHAR): Likewise.
5458
5459         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5460         (Vcharset_greek_iso8859_7): Likewise.
5461         (Vcharset_cyrillic_iso8859_5): Likewise.
5462         (Vcharset_hebrew_iso8859_8): Likewise.
5463         (Vcharset_thai_tis620): Likewise.
5464         (Vcharset_katakana_jisx0201): Likewise.
5465
5466 2004-02-02  Vin Shelton <acs@xemacs.org>
5467
5468         * XEmacs 21.4.15 is released
5469
5470 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
5471
5472         * device-x.c (x_error_handler): Don't call stderr_out
5473
5474 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
5475
5476         * buffer.c (other-buffer): Clarify documentation of order of
5477         arguments for FSF Emacs.
5478
5479 2003-10-11  Olivier Galibert  <galibert@pobox.com>
5480
5481         * window.c (Fdelete_window): Dirty the mirror structure _before_
5482         marking the window deleted.
5483
5484 2003-09-15  Jerry James  <james@xemacs.org>
5485
5486         * event-msw.c (debug_mswin_messages): Conditionally compile
5487         messages missing from the Cygwin headers.
5488
5489 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
5490
5491         * data.c (eq_with_ebola_notice): Fix typo in comment.
5492         (Ftrue_list_p): Improve docstring.
5493
5494 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
5495
5496         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
5497
5498 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
5499
5500         * search.c (trivial_regexp_p): Regexps containing "\{" are
5501         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
5502         Stefan Monnier for suggesting a diagnosis.
5503
5504 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
5505
5506         * elhash.c (make-hash-table): Clarify use of :test #'equal.
5507
5508 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
5509
5510         * search.c (Fsearch_forward):
5511         (Fsearch_backward):
5512         Document negative count.
5513
5514 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
5515
5516         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
5517
5518 2003-09-13  Martin Buchholz  <martin@xemacs.org>
5519
5520         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
5521
5522 2003-09-15  Vin Shelton  <acs@xemacs.org>
5523
5524         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
5525         21.5.
5526
5527 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5528
5529         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
5530         (re_search_2): Match the first byte of Bufbyte, not Emchar.
5531         (re_match_2_internal): Use TRANSLATE instead of
5532         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
5533         non-ASCII char case conversion.
5534
5535 2003-09-08  Mike Sperber  <mike@xemacs.org>
5536
5537         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
5538         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
5539
5540 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
5541
5542        * .gdbinit (pobj): fix printing of symbol name.
5543
5544 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
5545
5546         * frame-x.c (x_layout_widgets): When resizing is about to cause
5547         frame size slip, mark it for redisplay.
5548
5549 2003-08-18  Jerry James  <james@xemacs.org>
5550
5551         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
5552
5553 2003-09-03  Vin Shelton <acs@xemacs.org>
5554
5555         * XEmacs 21.4.14 is released
5556
5557 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5558
5559         * config.h.in (REGEX_MALLOC): Make it configure'able.
5560
5561 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5562
5563         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5564         linking.
5565         * sysdll.c (dll_init):
5566         * sysdll.c (dll_open):
5567         * sysdll.c (dll_close):
5568         * sysdll.c (dll_function):
5569         * sysdll.c (dll_variable):
5570         * sysdll.c (dll_error):
5571         Add support for loading bundles using Darwin/MacOSX
5572         native API.
5573
5574 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5575
5576         * process.c (start-process-internal): Document coding systems.
5577
5578 2003-07-30  Jerry James  <james@xemacs.org>
5579
5580         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5581
5582 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5583
5584         * event-msw.c (mswindows_enqueue_mouse_button_event):
5585         * event-msw.c (mswindows_wnd_proc):
5586           enqueue button event when scrollwheel event isn't handled by 
5587           mswindows_handle_mousewheel_event, such as when the scrollbars
5588           are not showing.
5589
5590 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5591
5592         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5593
5594 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5595
5596         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5597
5598 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5599
5600         * regex.c (re_match_2_internal): Fix matching degenerate word
5601         boundaries.
5602
5603 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5604
5605         * XEmacs 21.4.13 is released
5606
5607 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5608
5609         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5610         * lisp.h (<inttypes.h>):
5611         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5612         the definition.
5613
5614 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5615
5616         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5617         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5618         Result: "temacs can only be run in -batch mode."
5619         Fix: Check xemacs executable candidate for directory-ness.
5620
5621 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5622
5623         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5624           they conflict with <sys/types.h>.
5625
5626 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5627
5628         * database.c: Berkeley DB wants __STDC__ to be defined.
5629
5630 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5631
5632         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5633
5634 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5635
5636         * process-unix.c (unix_send_process): Fix C++ compile error.
5637
5638 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5639
5640         * Added .dylib as an acceptable shared library file extension
5641         * to support MacOSX.
5642
5643 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5644
5645         * EmacsFrameP.h (EmacsFramePart):
5646         Kludge to allow compiling with Motif1, but linking with Motif2.
5647
5648 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5649
5650         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5651
5652
5653 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5654
5655         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5656
5657 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5658
5659         * sysdll.c: Included lisp.h to define needed alloca_array.
5660
5661 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5662
5663         Make XEmacs redisplay 10 times faster.
5664         If, that is, you're using a slow X connection and MoveOpaque.
5665         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5666         Use compress_motion = TRUE.
5667         * EmacsFrame.c (emacsFrameClassRec): 
5668         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5669         * EmacsManager.c (emacsManagerClassRec):
5670         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5671
5672 2003-01-30  Vin Shelton  <acs@xemacs.org>
5673
5674         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5675
5676 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5677
5678         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5679         Patch by Martin Buchholz.
5680
5681 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5682
5683         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5684         Thanks to icc for warning and Martin Buchholz for reporting.
5685
5686 2003-01-29  Vin Shelton <acs@xemacs.org>
5687
5688         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5689
5690         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5691         remember to multiply by the element size.
5692
5693 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5694
5695         * XEmacs 21.4.12 "Portable Code" is released.
5696
5697 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5698
5699         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5700         * s/cygwin.sc: new linker file.
5701
5702 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5703
5704         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5705
5706         * redisplay-x.c (x_output_string): Use X11-specified types.
5707         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5708         * emacs.c (__free_hook): Use typeof with Intel compiler.
5709         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5710
5711 2003-01-08  Andy Piper  <andy@xemacs.org>
5712
5713         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5714         reserve size during unexec().
5715
5716 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5717
5718         * process-unix.c (unix_create_process): Don't let outchannel block.
5719
5720 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5721
5722         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5723         Needed for IsBadReadPtr().
5724
5725 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5726
5727         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5728
5729 2002-12-14  Ben Wing  <ben@xemacs.org>
5730
5731         * callint.c: Declaration error.
5732         * dumper.c (pdump):
5733         * dumper.c (pdump_load): Warning fix.
5734         * process.c: GCPRO error.
5735         * glyphs.c (unmap_subwindow):
5736         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5737         * event-stream.c (maybe_kbd_translate): Wrong argument to
5738         character_to_event().
5739
5740         * alloc.c (garbage_collect_1):
5741         * emacs.c:
5742         * emacs.c (debug_can_access_memory):
5743         * emacs.c (fatal_error_signal):
5744         * emacs.c (mswindows_handle_hardware_exceptions):
5745         * emacs.c (main_1):
5746         * emacs.c (main):
5747         * emacs.c (assert_failed):
5748         * emacs.c (syms_of_emacs):
5749         * lisp.h:
5750         * print.c:
5751         * print.c (std_handle_out_va):
5752         * print.c (write_string_to_stdio_stream):
5753         * print.c (write_fmt_string):
5754         * print.c (printing_badness):
5755         * print.c (printing_major_badness):
5756         * print.c (print_internal):
5757         * print.c (debug_print_no_newline):
5758         * print.c (debug_backtrace):
5759         Be more defensive in handling bad values when printing.  Add code
5760         from trunk involving inhibit_non_essential_printing_operations.
5761         When going down or in debug_print(), don't do external conversion
5762         and such and try really, really hard when printing to avoid core
5763         dumping.  Add force-debugging-signal, debug_break().
5764
5765 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5766
5767         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5768         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5769
5770 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5771
5772         * database.c: Fix open_database. Berkeley DB API has changed in
5773         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5774
5775 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5776
5777         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5778
5779 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5780
5781         * event-Xt.c (Xt_timeout):
5782         (Xt_timeout_callback):
5783         (emacs_Xt_add_timeout):
5784         (emacs_Xt_remove_timeout):
5785         (Xt_timeout_to_emacs_event):
5786         Turn completed_timeouts from a stack into a queue.  Fixes
5787         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5788
5789 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5790
5791         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5792         * emacs.c (main): Assert that mmap'd allocation is disabled.
5793
5794 2002-10-14  Andy Piper  <andy@xemacs.org>
5795
5796         * glyphs-widget.c (layout_query_geometry): add in fiddle
5797         factor. Include border text in width layout calculation.
5798         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5799
5800 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5801
5802         * XEmacs 21.4.10 "Military Intelligence" is released.
5803
5804 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5805
5806         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5807         using the NAS private array SoundFileInfo that no longer exists in
5808         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5809         and earlier.  This is broken for some versions between 1.5a and
5810         1.5f.
5811
5812 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5813
5814         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5815
5816         * emacs.c (shut_down_emacs): Improve crash message.
5817
5818 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5819
5820         * file-coding.c (determine_real_coding_system): Check for coding
5821         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5822         shebangs and Python PEP 263.
5823
5824 2002-10-08  Andy Piper  <andy@xemacs.org>
5825
5826         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5827         if static sizes haven't been set.
5828
5829 2002-08-30  Mike Alexander  <mta@arbortext.com>
5830
5831         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5832         to close a socket.
5833
5834 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5835
5836         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5837
5838 2002-09-20  Mike Sperber <mike@xemacs.org>
5839
5840         (This partially gets back my patch from 2002-07-20 without the
5841         bug.)
5842         * callproc.c (child_setup): Remove Ben's comment noting confusion
5843         over the file descriptors >= 3: close_process_descs() doesn't
5844         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5845         * process-unix.c (unix_create_process): Call
5846         begin_dont_check_for_quit to inhibit unwanted interaction (and
5847         thus breaking of X event synchronicity) in the child.
5848
5849 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5850
5851         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5852         widget.
5853
5854 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5855
5856         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5857         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5858         the xemacs process did not exit, but looped infinitely here.  This
5859         fixes that problem.
5860
5861 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5862
5863         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5864         (find_context): Improve comments.
5865
5866         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5867         (re_match_2): An XCHAR_TABLE operation was missing.
5868
5869         Many of the following changes were inspired by Andy Piper's (now
5870         obsolete) patch to make syntax-table text property lookup optional.
5871
5872         [Documentation]
5873
5874         * syntax.h (top level): Document semantics of syntax flags.
5875         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5876         * syntax.c, syntax.h (top level): Document syntax cache better in
5877         comments.
5878
5879         [Instrument syntax caching (temporary change)]
5880
5881         * syntax.h (enum syntax_cache_statistics_functions, struct
5882         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5883         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5884         * syntax.c (scan_words, Fforward_comment, scan_lists,
5885         Fbackward_prefix_characters):
5886         * font-lock.c (find_context):
5887         Use them to instrument syntax caching. 
5888         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5889         syntax_cache_statistics_function_names): New type and variables.
5890         * syntax.c (update_syntax_cache): Update and report statistics.
5891
5892         [Major syntax cache optimizations]
5893
5894         syntax.c (lookup_syntax_properties): Default off.
5895
5896         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5897         * syntax.c (update_syntax_cache):
5898         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5899
5900         [Minor syntax cache optimizations and code clarifications]
5901
5902         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5903         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5904         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5905         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5906         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5907         (Code clarification.)
5908
5909         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5910         scan_lists): Compute code from syncode, use Boolean macros instead
5911         of redundant masking operations.  (Code clarification; any decent
5912         compiler can do this optimization.)
5913
5914         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5915         for clarity.
5916
5917         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5918         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5919         use F*_single_property_change instead of F*_extent_change.
5920         Currently F*_single_property_change is _much_ less efficient.
5921
5922         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5923         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5924         syntax_cache.object properly, don't leave Qt or Qnil.
5925         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5926         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5927         tests for Qt or Qnil.
5928
5929 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5930
5931         * redisplay.c (point_in_line_start_cache): 
5932         * extents.c (print_extent_1):
5933         Fix warnings.
5934
5935         * extents.c (Fset_extent_property): Document `syntax-table' property.
5936
5937         * extents.h (Fnext_single_property_change): EXFUN it.
5938
5939 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5940
5941         * search.c (clear_unused_search_regs): New static function.
5942         (search_buffer): 
5943         (simple_search): 
5944         (boyer_moore):
5945         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5946         Minor clarifications in comments.
5947
5948         * regex.c (re_match_2_internal): Ensure no stale submatches.
5949
5950 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5951
5952         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5953
5954 2002-08-29  Jerry James  <james@xemacs.org>
5955
5956         * lisp.h: structrures -> structures.
5957
5958 2002-06-03  Andy Piper  <andy@xemacs.org>
5959
5960         * frame.c (frame_conversion_internal): add conversion appropriate
5961         for setting frame dimensions in pixels.
5962
5963         * console.h (struct console_methods): add device-specific widget
5964         layout functions.
5965
5966         * emacs.c (main_1): initialize glyph vars.
5967
5968         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5969         (handle_focus_event_2): new function. Allow focus to
5970         be set to a particular window and widget.
5971         (enqueue_focus_event): new function. Create a
5972         synthetic focus event.
5973         (emacs_Xt_handle_magic_event): call
5974         handle_focus_event_2.
5975
5976         * frame.c (Fset_frame_pixel_height): new function. Allow
5977         pixel-based sizing. Does the right thing on character-oriented
5978         displays.
5979         (Fset_frame_pixel_width): ditto.
5980         (Fset_frame_pixel_size): ditto.
5981         (syms_of_frame): declare.
5982
5983         * general-slots.h: add :vertically-justify and
5984         :horizontally-justify.
5985
5986         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5987         (mswindows_widget_border_width): new function.
5988         (mswindows_combo_box_instantiate): set border widths.
5989         (console_type_create_glyphs_mswindows): declare.
5990
5991         * glyphs-widget.c:
5992         (check_valid_justification): allow vertical and horizontal
5993         justification.
5994         (widget_border_width): new function. Call device methods.
5995         (widget_instance_border_width): ditto.
5996         (logical_unit_height): new function. Determine the height of a
5997         logical-unit. Logical units are intended to provide grid-like
5998         layout for subcontrols in a layout. If the layout is
5999         :vertically-justify top then subcontrols will be positioned on
6000         logical-unit boundaries, thus allowing adjacent subcontrols to
6001         line up.
6002         (widget_logical_unit_height): ditto for widgets.
6003         (redisplay_widget): misc cleanup.
6004         (widget_spacing): new function. Call device specific
6005         methods. Intended to be the default gap between adjacent widgets.
6006         (widget_query_geometry): use new spacing functions to determine
6007         appropriate geometry.
6008         (initialize_widget_image_instance): initialize horizontal and
6009         vertical justification.
6010         (widget_instantiate): use logica-units where appropriate for
6011         sizing large widgets.
6012         (button_query_geometry): use widget_instance_border_width.
6013         (tree_view_query_geometry): ditto.
6014         (tab_control_query_geometry): ditto.
6015         (edit_field_query_geometry): new function.
6016         (layout_update): pick up :justify, :horizontally-justify and
6017         :vertically-justify none of which worked previously. :justify is
6018         used as a fallback for both horizontal and vertical justification.
6019         (layout_query_geometry): use logical units to size appropriately.
6020         (layout_layout): ditto.
6021         (Fwidget_logical_to_character_width): new function. Allow users to
6022         convert from logical units to characters so that frame sizes can
6023         be set appropriately.
6024         (Fwidget_logical_to_character_height): ditto.
6025         (syms_of_glyphs_widget): declare.
6026         (image_instantiator_edit_fields): add edit_field_query_geometry.
6027         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6028         :horizontally-justify.
6029         (specifier_vars_of_glyphs_widget): new function. Declare
6030         Vwidget_border_width which is not yet used.
6031
6032         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6033         (x_widget_border_width): new function.
6034         (x_widget_instantiate): create a sensible name for widgets.
6035         (console_type_create_glyphs_x): declare x_widget_border_width.
6036
6037         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6038         (struct Lisp_Image_Instance): add :vertically-justify and
6039         :horizontally-justify.
6040         (LAYOUT_JUSTIFY_TOP): new.
6041         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6042         (ROUND_UP): new macro. Round argument up to next integral
6043         interval.
6044
6045         * redisplay-output.c (redisplay_output_layout): misc formatting.
6046
6047         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6048
6049 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6050
6051         * XEmacs 21.4.9 "Informed Management" is released.
6052
6053 2002-08-19  Andy Piper  <andy@xemacs.org>
6054
6055         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6056         win32 format.
6057
6058         * realpath.c (xrealpath): normalize drive spec also so that dir
6059         sep chars are not mixed on cygwin.
6060
6061 2002-08-06  Jerry James  <james@xemacs.org>
6062
6063         * window.c (Fsplit_window): Count only half of the divider width
6064         against the left window when splitting horizontally. 
6065
6066 2002-06-24  Andy Piper  <andy@xemacs.org>
6067
6068         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6069         toolbar was cleared.
6070
6071         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6072         function. Split out from mswindows_output_frame_toolbars.
6073         (mswindows_output_frame_toolbars): move clear pieces to
6074         mswindows_output_frame_toolbars.
6075
6076         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6077         out from gtk_output_frame_toolbars.
6078         (gtk_output_frame_toolbars): move clear pieces to
6079         gtk_clear_frame_toolbars.
6080
6081         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6082         the frame is cleared. How this ever worked before is a mystery.
6083         (x_output_frame_toolbars): Only output toolbars.
6084         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6085
6086         * gutter.c (update_gutter_geometry):
6087         Mark frame layout changed.
6088         (update_frame_gutter_geometry, update_frame_gutters):
6089         Respect frame_layout_changed.
6090
6091         * console.h (struct console_methods): add
6092         clear_frame_toolbars_method.
6093
6094         * redisplay.c (redisplay_frame): call
6095         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6096
6097         * toolbar.h: declare update_frame_toolbars_geometry.
6098
6099         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6100         out from update_frame_toolbars.  Call clear_frame_toolbars.
6101         (update_frame_toolbars): only output, do not change geometry.
6102
6103         * redisplay.c: add frame_layout_changed.
6104
6105         * redisplay.h: add frame_layout_changed.
6106         (CLASS_RESET_CHANGED_FLAGS): set it.
6107         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6108         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6109         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6110
6111         * device.h (struct device): add frame_layout_changed.
6112         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6113
6114         * frame.h (struct frame): add frame_layout_changed.
6115         (MARK_FRAME_LAYOUT_CHANGED): new.
6116
6117 2002-06-30  Mike Alexander  <mta@arbortext.com>
6118
6119         * event-msw.c (mswindows_need_event): Don't wait for a new message
6120         if the queue is not empty.  Suggested by Paul Moore.
6121
6122 2002-06-12  Andy Piper  <andy@xemacs.org>
6123
6124         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6125         for printing on accurately.
6126
6127 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6128
6129         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6130         WM_ACTIVATE message. Make sure that the frame is visible if the
6131         window is visible. This seemss to fix the problem where XEmacs
6132         appears to freeze after switching desktops with certain virtual
6133         window managers.
6134         (debug_output_mswin_message): Added code to output message
6135         parameters for WM_WINDOWPOSCHANGED, 
6136         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6137
6138 2002-05-25  Andy Piper  <andy@xemacs.org>
6139
6140         * select-x.c (vars_of_select_x): Fix docstring of
6141         x-selection-strict-motif-ownership
6142
6143 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6144
6145         * keymap.c (get_keymap):
6146         Add comment about do_autoload GCPROs own args.
6147
6148 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6149
6150         * bytecode.c (execute_optimized_program): check_opcode ifdef
6151         ERROR_CHECK_BYTE_CODE.
6152
6153 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6154
6155         Thanks to Ben Wing and Michael Sperber.
6156
6157         * eval.c (Fcommand_execute):
6158         (Feval):
6159         (Ffuncall):
6160         (Fmacroexpand_internal):
6161         (function_argcount):
6162         callint.c (Fcall_interactively):
6163         Add comment about do_autoload GCPROs own args.
6164
6165         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6166
6167         * eval.c (Ffuncall): Extra braces to placate GCC.
6168
6169 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6170
6171         * backtrace.h (grow_specpdl):
6172         (SPECPDL_RESERVE):
6173         * EmacsFrame.c (EmacsFrameSetValues):
6174         * eval.c (grow_specpdl):
6175         * ExternalShell.c (hack_event_masks_1):
6176         * glyphs-x.c (convert_EImage_to_XImage): 
6177         (x_finalize_image_instance):
6178         * ralloc.c (page_size):
6179         (r_alloc_sbrk):
6180         * xgccache.c (gc_cache_hash):
6181         Fix unsigned comparison warnings.
6182
6183 2002-07-29  Jerry James  <james@xemacs.org>
6184
6185         * lread.c (locate_file): Any nonnegative return value indicates
6186         success if MODE is nonnegative.
6187
6188 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6189
6190         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6191         argument. 
6192
6193 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6194
6195         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6196
6197         * dumper.c (pdump_get_indirect_count):
6198         (pdump_scan_by_alignment):
6199         (pdump_dump_root_struct_ptrs):
6200         (pdump_dump_rtables):
6201         (pdump_dump_root_objects):
6202         (pdump):
6203         * nas.c (WaveOpenDataForReading):
6204         * fns.c (print_bit_vector):
6205         * font-lock.c (SINGLE_SYNTAX_STYLE):
6206         * glyphs.c (check_for_ignored_expose):
6207         (find_matching_subwindow):
6208         * glyphs-eimage.c:
6209         * imgproc.c (get_histogram):
6210         * redisplay.c (point_in_line_start_cache):
6211         * redisplay-output.c (redisplay_unmap_subwindows):
6212         * symbols.c (defsymbol_massage_name_1):
6213         (defkeyword_massage_name):
6214         (deferror_massage_name_and_message):
6215         * redisplay-x.c (x_output_string): 
6216         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6217         * frame.h (struct frame):
6218         * filelock.c (current_lock_owner):
6219         * doprnt.c (emacs_doprnt_1):
6220         * lisp.h (struct Lisp_Bit_Vector):
6221         (DO_REALLOC):
6222         Fix warnings.
6223
6224 2002-02-13  Ben Wing  <ben@xemacs.org>
6225
6226         * event-stream.c (reset_key_echo):
6227         * event-stream.c (reset_this_command_keys):
6228         * event-stream.c (execute_command_event):
6229         If console is dead as a result of C-x 5 0, then post-command stuff
6230         needs to be careful and do only non-console-specific stuff.
6231
6232 2002-07-01  Mike Sperber <mike@xemacs.org>
6233
6234         * process-unix.c (unix_send_process): Mark coding_outstream as
6235         non-open upon SIGPIPE.
6236
6237         * event-stream.c (Fnext_event): Reorder switch cases to something
6238         that makes sense.
6239
6240 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6241
6242         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6243         Don't bogusly reinitialize ascii_character property.
6244
6245 2002-07-08  Mike Sperber <mike@xemacs.org>
6246
6247         * process.c (Fstart_process_internal): Do error checking before we
6248         fork off the child, so the child can't muck with the state of the
6249         parent.
6250
6251 2002-07-08  Mike Sperber <mike@xemacs.org>
6252
6253         * ralloc.c (init_ralloc): Allocate properly for pdump.
6254
6255 2002-06-12  Andy Piper  <andy@xemacs.org>
6256
6257         * glyphs.c (query_string_geometry): check the string.
6258
6259         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6260         widget names.
6261
6262 2002-06-17  Jerry James  <james@xemacs.org>
6263
6264         * sysdll.c: Remove RTLD_GLOBAL initialization.
6265         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6266
6267 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6268
6269         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6270
6271 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6272
6273         * sysdep.c (sys_rename): Make sys_rename work for the case where
6274         Windows rename sets errno to EACCES if target file exists.
6275
6276 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6277
6278         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6279         Fix detection of metric units to work on Win95
6280
6281 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6282
6283         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6284
6285 2002-04-25  Andy Piper  <andy@xemacs.org>
6286
6287         * redisplay.c (create_text_block): Remove extra comment trailer.
6288
6289 2002-04-24  Andy Piper  <andy@xemacs.org>
6290
6291         * redisplay.c (create_text_block): Don't actually add propagation
6292         data if the line ends after we have added a glyph.
6293
6294 2002-04-22  Andy Piper  <andy@xemacs.org>
6295
6296         * extents.c (extent_fragment_update): check for glyphs we have
6297         previously displayed.
6298         * extents.c (print_extent_1): warning removal.
6299         * extents.h: change prototype.
6300         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6301         widths correctly for wide glyphs.
6302         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6303         * redisplay.c (prop_type): add PROP_GLYPH.
6304         * redisplay.c (struct prop_block): add glyph type
6305         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6306         to the propagation data.
6307         * redisplay.c (create_text_block): if there is a glyph in the
6308         propagation data use it to salt extent_fragment_update.
6309         * redisplay.c (create_string_text_block): ditto.
6310
6311 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6312
6313         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6314         * redisplay-output.c (compare_runes): Compare them.
6315         * redisplay.c: Update copyright date.
6316         * redisplay.c (pos_data): Add need_baseline_computation field.
6317         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6318         need_baseline_computation; zero yoffset. Set max_pixmap_height
6319         for all pixmaps, not just automatically positioned ones.
6320         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6321         * redisplay.c (calculate_baseline): New, compute textual baseline.
6322         * redisplay.c (add_glyph_rune): Call them.
6323         * redisplay.c (create_text_block): Likewise.
6324         * redisplay.c (create_overlay_glyph_block): Likewise.
6325         * redisplay.c (add_margin_runes): Likewise.
6326         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6327
6328         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6329         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6330         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6331         * redisplay-msw.c (mswindows_output_string): Likewise.
6332         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6333         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6334         * redisplay-x.c (x_output_display_block): Likewise.
6335
6336 2002-03-28  Ben Wing  <ben@xemacs.org>
6337
6338         * redisplay.c: Fixed bug in redisplay
6339         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6340         and down of the lines, since they're bigger than the line
6341         size. (It was seen most obviously when there's a horizontal scroll
6342         bar, e.g. do C-h a glyph or something like that.) The problem was
6343         that the glyph-contrib-p setting on glyphs was ignored even if it
6344         was set properly, which it wasn't until now.
6345
6346 2002-04-24  Andy Piper  <andy@xemacs.org>
6347
6348         * lisp.h (Dynarr_end): Fix definition.
6349
6350 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6351
6352         * redisplay.c (mark_redisplay): Remove call to
6353         update_frame_window_mirror.
6354
6355 2001-11-15  Andy Piper  <andy@xemacs.org>
6356
6357         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6358         cygwin (again).
6359
6360 2002-02-13  Andy Piper  <andy@xemacs.org>
6361
6362         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6363         we did in fact enqueue the XM_MAPFRAME event.
6364
6365 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6366
6367         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6368         to fix problem switching between virtual desktops under virtuawin
6369         virtual window manager.
6370
6371 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6372
6373         * event-msw.c: Typo fix.
6374         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6375         magic XM_MAPFRAME event has been sent.
6376
6377 2001-11-23  Andy Piper  <andy@xemacs.org>
6378
6379         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6380
6381 2001-11-21  Andy Piper  <andy@xemacs.org>
6382
6383         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6384         mouse events outside the frame.
6385
6386 2002-03-20  Andy Piper  <andy@xemacs.org>
6387
6388         * menubar-msw.c (mswindows_popup_menu): warning removal.
6389         * dialog-msw.c (dialog_popped_down): ditto.
6390
6391 2001-12-11  Andy Piper  <andy@xemacs.org>
6392
6393         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6394         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6395         popup_up_p.
6396         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6397         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6398         * menubar-msw.c (mswindows_popup_menu): ditto.
6399
6400 2001-10-29  Andy Piper  <andy@xemacs.org>
6401
6402         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6403         cancels.
6404
6405 2002-01-03  Andy Piper  <andy@xemacs.org>
6406
6407         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6408         letters.
6409         (xrealpath): ditto.
6410
6411 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6412
6413         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6414         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6415         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6416         Detect and handle case where machine is set up for metric units
6417
6418 2002-04-02  Andy Piper  <andy@xemacs.org>
6419
6420         * dired-msw.c (mswindows_get_files): 
6421         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6422         completely handled by XEmacs. Suggested by Thomas Vogler
6423         <mail@thomas-vogler.de>.
6424
6425 2001-11-14  Andy Piper  <andy@xemacs.org>
6426
6427         * nt.c (REG_ROOT): change registry key to XEmacs.
6428
6429 2002-04-27  Andy Piper  <andy@xemacs.org>
6430
6431         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6432
6433 2002-04-26  Andy Piper  <andy@xemacs.org>
6434
6435         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6436         behavior.
6437
6438 2002-03-14  Mike Alexander  <mta@arbortext.com>
6439
6440         * event-msw.c (mswindows_unwait_process): New, remove process from
6441         wait list
6442         * process-nt.c (nt_finalize_process_data): Call
6443         mswindows_unwait_process
6444         * console-msw.h: Declare mswindows_unwait_process
6445
6446 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6447
6448         * editfns.c (Fdecode_time):
6449         (Fformat_time_string):
6450         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6451         (make_time): Warning elimination (change arg name).
6452
6453 2001-11-24  Andy Piper  <andy@xemacs.org>
6454
6455         * window.c (Fsplit_window): Doc return type.
6456
6457 2002-04-01  Andy Piper  <andy@xemacs.org>
6458
6459         * emacs.c (Fkill_emacs): Only output message box in interactive
6460         mode.
6461
6462 2002-04-26  Andy Piper  <andy@xemacs.org>
6463  
6464         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6465         cygwin.
6466
6467 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6468
6469         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6470         bit platform.
6471
6472 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6473
6474         * XEmacs 21.4.8 "Honest Recruiter" is released.
6475
6476 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6477
6478         Supersedes 2002-04-17 patch.
6479
6480         * process.h (PROCESS_LIVE_P): Use the process status as
6481         evidence of health, not the state of the input stream.
6482         (PROCESS_READABLE_P): Say if the process is readable
6483         from. (It may be dead nonetheless.)
6484         (CHECK_READABLE_PROCESS): Test for that condition.
6485
6486         * process.c (create_process): Use PROCESS_READABLE_P.
6487         (read_process_output, set_process_filter): Likewise.
6488
6489         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6490         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6491
6492         This code is #if 0'd, this is not the time to add new functions:
6493
6494         * process.c (Fprocess_readable_p): Report readability status.
6495         * process.c (Qprocess_readable_p): New, associated symbol...
6496         * process.c (syms_of_process): ... initialize it.
6497
6498 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6499
6500         * XEmacs 21.4.7 "Economic Science" is released.
6501
6502 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6503
6504         * process.h (PROCESS_LIVE_P): Use the process status as
6505         evidence of health, not the state of the input stream.
6506
6507 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6508
6509         * sysdep.c (sys_siglist): change "signum" to "signal"
6510
6511 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6512
6513         * s/darwin.h: New file.
6514         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6515         
6516 2002-04-23  Andreas Jaeger  <aj@suse.de>
6517
6518         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6519         which use lib64 for 64-bit libs.
6520         (START_FILES): Likewise.
6521
6522 2002-02-11  Mike Sperber  <mike@xemacs.org>
6523
6524         * device-x.c: 
6525         (x_IO_error_handler):
6526         (x_init_device): Temporarily keep device in static variable
6527         `device_being_initialized' so we can recover gracefully from
6528         internal XOpenDevice failure.  (XOpenDevice is documented to
6529         return NULL on failure, but sometimes calls the IO error handler
6530         instead.)
6531
6532 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6533
6534         * dired.c (Ffile_name_all_completions): Change documentation --
6535         remove reference to completion-ignored-extensions.
6536         * dired.c (vars_of_dired): Change documentation for
6537         completion-ignored-extensions -- remove reference to
6538         file-name-all-completions.
6539
6540 2002-03-06  Jerry James  <james@xemacs.org>
6541
6542         * emodules.c (emodules_load): Fix multiple loading of same module.
6543
6544 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6545         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6546         RTLD_LAZY to avoid incorrect symbol binding when using nested
6547         shared libraries on Solaris.
6548
6549 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6550
6551         * fileio.c (Ffind_file_name_handler): Improve docstring.
6552
6553 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6554
6555         * fns.c (Fmapconcat): Improve docstring.
6556
6557 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6558
6559         * device-gtk.c: Add prototype for
6560         emacs_gtk_selection_clear_event_handle.
6561         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6562         selection.  Setup signal handler for "selection_clear_event"
6563         (emacs_gtk_selection_clear_event_handle).
6564
6565         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6566         other applications owning the clipboard (based on
6567         x_handle_selection_clear).
6568
6569 2001-12-23  William M. Perry  <wmperry@gnu.org>
6570
6571         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6572         
6573 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6574
6575         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6576
6577 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6578
6579         * XEmacs 21.4.6 "Common Lisp" is released.
6580
6581 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6582
6583         * search.c (Freplace_match): Add missing sub-expression functionality.
6584
6585         * buffer.c (decode_buffer): Add a check for pointer type to
6586         decode_buffer, before gcc's CSE optimization reorders a
6587         dereference in front of the allow_string test.
6588
6589 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6590
6591         * window.c (window_loop): Fix bug that sometimes prevented
6592         window_loop() from iterating across multiple devices.  Also, at
6593         Ben's request, changed infloop-detecting code to abort() instead
6594         of silently terminating window_loop().
6595
6596 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6597
6598         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6599         * editfns.c (make_time): New function.
6600         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6601         * lisp.h (make_time): Prototype and comment it.
6602         * dired.c (wasteful_word_to_lisp): Deprecate.
6603         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6604
6605 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6606
6607         * fileio.c (auto_save_1): Use current coding system, not
6608         escape-quoted.
6609
6610 2001-11-13  Ben Wing  <ben@xemacs.org>
6611
6612         * window.c:
6613         * window.c (window_truncation_on):
6614         * window.c (syms_of_window):
6615         truncate-partial-width-windows should respect the buffer being
6616         displayed, like other redisplay vars.
6617
6618 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6619
6620         * event-stream.c (Fread_key_sequence): save current buffer.
6621
6622 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6623
6624         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6625
6626 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6627
6628         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6629
6630 2001-10-26  Mike Alexander  <mta@arbortext.com>
6631
6632         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6633
6634 2001-10-25  Andy Piper  <andy@xemacs.org>
6635
6636         * ChangeLog:
6637         * dialog-msw.c (handle_directory_proc): new function.
6638          (handle_directory_dialog_box): new fucntion.
6639          (handle_file_dialog_box): use new directory dialog support.
6640          (mswindows_make_dialog_box_internal): ditto.
6641         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6642         handling.
6643         (mswindows_find_frame): make global.
6644         * fileio.c (Fexpand_file_name): build fix.
6645         * general-slots.h: add Qdirectory.
6646         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6647         handling.
6648         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6649         cygwin not leaving win32 paths unchanged.
6650         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6651         cygwin runtime to do path conversion.
6652         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6653         (syms_of_win32): add new function.
6654         * window.c (window_loop): build fix.
6655
6656 2001-10-15  Andy Piper  <andy@xemacs.org>
6657
6658         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6659
6660 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6661
6662         * XEmacs 21.4.5 "Civil Service" is released.
6663
6664 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6665
6666         * glyphs-x.c: Force buffer-tab highlight update when moving the
6667         buffer, avoiding an ugly black border, used for keyboard focus
6668         indication, on a widget that can never have keyboard focus, the
6669         buffer tab.
6670
6671 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6672
6673         * process-unix.c (unix_open_multicast_group): Remove too much
6674         conversion between host and network byte order.
6675
6676 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6677
6678         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6679         before replacing them.
6680
6681         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6682         operation.
6683
6684         * src/window.c (undedicate_windows): Use it.
6685         * src/window.h: Add prototype.
6686
6687 2001-09-17  Ben Wing  <ben@xemacs.org>
6688
6689         * fileio.c (normalize_filename):
6690         * fileio.c (Fexpand_file_name):
6691         Fix various C++ compile errors in Andy's recent code.
6692         
6693         * callint.c (Fcall_interactively):
6694         * editfns.c (Ftemp_directory):
6695         * editfns.c (Fuser_full_name):
6696         * emacs.c (argmatch):
6697         * lread.c (locate_file_map_suffixes):
6698         * redisplay-x.c (x_ring_bell):
6699         Fix sign-compare warnings.
6700         
6701 2001-09-08  Andy Piper  <andy@xemacs.org>
6702
6703         * fileio.c (normalize_filename): copied from nt.c
6704         * (Ffile_name_directory): enable win32 paths under cygwin.
6705         * (Ffile_name_nondirectory): ditto.
6706         * (directory_file_name): ditto.
6707         * (Fexpand_file_name): ditto.
6708         * (Ffile_truename): ditto.
6709         * (Fsubstitute_in_file_name): ditto.
6710         * (Ffile_name_absolute_p): ditto.
6711         * (Ffile_readable_p): ditto.
6712
6713 2001-09-08  Andy Piper  <andy@xemacs.org>
6714
6715         * device-msw.c (mswindows_finish_init_device): remove dde
6716         initialization.
6717         * device-msw.c (mswindows_init_dde): factor out from
6718         mswindows_finish_init_device()
6719         * device-msw.c (init_mswindows_very_early): new function
6720         initialize but don't enable dde.
6721         * emacs.c (main_1): call init_mswindows_very_early.
6722         * event-msw.c:
6723         * event-msw.c (mswindows_dde_callback): only execute when we are
6724         ready.
6725         * symsinit.h: declare init_mswindows_very_early.
6726
6727 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6728
6729         [sjt: This has been in 21.5 for months with no complaints.]
6730
6731         * console.h (struct console_methods): Added flags member.
6732         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6733         (CONMETH_IMPL_FLAG):
6734         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6735         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6736
6737         * device.c (window_system_pixelated_geometry): Use the above macros.
6738
6739         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6740         implememntation flag.
6741         * device.h (DEVICE_DISPLAY_P): Use it.
6742
6743         * frame.c (delete_frame_internal): Use the above macro.
6744
6745         * redisplay.c (redisplay_device): Use it.
6746         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6747         (redisplay_frame): Ditto.
6748
6749         * device-msw.c (mswindows_device_implementation_flags): Removed.
6750         (msprinter_device_implementation_flags): Removed.
6751         (console_type_create_device_mswindows): Removed references to
6752         implementation_flags methods, set implementation flags here.
6753         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6754
6755         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6756         (console_type_create_device_gtk): Removed method declaration.
6757         Added commented out statement which semantically matches the
6758         commented out statement in the above removed method.
6759
6760 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6761
6762         The attached patch fixes a few warnings. 
6763
6764         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6765         * src/frame-gtk.c: guard against GNOME calls in GTK only
6766         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6767         * src/select-gtk.c: prototype lisp_to_time
6768
6769 2001-06-08  Ben Wing  <ben@xemacs.org>
6770
6771         ------ gc-in-window-procedure fixes ------
6772         
6773         * alloc.c:
6774         * alloc.c (struct post_gc_action):
6775         * alloc.c (register_post_gc_action):
6776         * alloc.c (run_post_gc_actions):
6777         * alloc.c (garbage_collect_1):
6778         Create "post-gc actions", to avoid those dreaded "GC during window
6779         procedure" problems.
6780
6781         * event-msw.c:
6782         Abort, clean and simple, when GC in window procedure.  We want
6783         to flush these puppies out.
6784
6785         * glyphs-msw.c:
6786         * glyphs-msw.c (finalize_destroy_window):
6787         * glyphs-msw.c (mswindows_finalize_image_instance):
6788         Use a post-gc action when destroying subwindows.
6789
6790         * lisp.h:
6791         Declare register_post_gc_action().
6792
6793         * scrollbar-msw.c:
6794         * scrollbar-msw.c (unshow_that_mofo):
6795         Use a post-gc action when unshowing scrollbar windows, if in gc.
6796
6797         * redisplay.c (mark_redisplay):
6798         Add comment about the utter evilness of what's going down here.
6799
6800         ------ cygwin setitimer fixes ------
6801         
6802         * Makefile.in.in (sheap_objs):
6803         * Makefile.in.in (profile_objs):
6804         * Makefile.in.in (objs):
6805         Compile profile.c only when HAVE_SETITIMER.
6806         
6807         * nt.c (mswindows_sigset):
6808         * nt.c (mswindows_sighold):
6809         * nt.c (mswindows_sigrelse):
6810         * nt.c (mswindows_sigpause):
6811         * nt.c (mswindows_raise):
6812         * nt.c (close_file_data):
6813         Style fixes.
6814         
6815         * nt.c:
6816         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6817         
6818         * profile.c:
6819         * profile.c (Fstart_profiling):
6820         * profile.c (Fstop_profiling):
6821         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6822         instead of just plain setitimer().
6823         
6824         * signal.c:
6825         * signal.c (set_one_shot_timer):
6826         * signal.c (alarm):
6827         Define qxe_setitimer() as an encapsulation around setitimer() --
6828         call setitimer() directly unless Cygwin or MS Win, in which case
6829         we use our simulated version in win32.c.
6830         
6831         * systime.h:
6832         * systime.h (struct itimerval):
6833         * systime.h (ITIMER_REAL):
6834         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6835         comment about "qxe" and the policy regarding encapsulation.
6836
6837         * win32.c:
6838         * win32.c (setitimer_helper_proc):
6839         * win32.c (setitimer_helper_period):
6840         * win32.c (setitimer_helper):
6841         * win32.c (mswindows_setitimer):
6842         Move setitimer() emulation here, so Cygwin can use it.
6843         Rename a couple of functions and variables to be longer and more
6844         descriptive.  In setitimer_helper_proc(), send the signal
6845         using either mswindows_raise() or (on Cygwin) kill().  If for
6846         some reason we are still getting lockups, we'll change the kill()
6847         to directly invoke the signal handlers.
6848
6849         ------ windows shell fixes ------
6850         
6851         * callproc.c:
6852         * ntproc.c:
6853         Comments about how these two files must die.
6854
6855         * callproc.c (init_callproc):
6856         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6857         not just COMSPEC. (more correct and closer to FSF.) Don't
6858         force a value for SHELL into the environment. (Comments added
6859         to explain why not.)
6860         
6861         * nt.c (init_user_info):
6862         Don't shove a fabricated SHELL into the environment.  See above.
6863
6864 2001-06-01  Ben Wing  <ben@xemacs.org>
6865
6866         * Makefile.in.in (ldflags):
6867         eliminate that pesky "defaulting to 00401000" warning.
6868         * nt.h:
6869         eliminate warnings.
6870
6871 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6872
6873         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6874         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6875
6876 2001-04-24  Jerry James <james@xemacs.org>
6877
6878         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6879         correct order.
6880
6881 2001-06-01  Ben Wing  <ben@xemacs.org>
6882
6883         * event-msw.c (debug_mswin_messages):
6884         conditionalize the messages that were causing compile errors.
6885         (if only macros could generate #ifdef statements ...)
6886
6887 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6888
6889         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6890
6891 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6892
6893         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6894
6895 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6896
6897         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6898         * process-unix.c (unix_canonicalize_host_name):
6899         sysdep.c (init_system_name):
6900         Use it to conditionally support IPv6 canonicalization.
6901
6902 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6903
6904         * event-msw.c:
6905         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6906
6907 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6908
6909         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6910         attempt is made to scroll when no scroll bar is available.
6911
6912 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6913
6914         * input-method-motif.c (XIM_delete_frame): New callback.
6915         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6916         got deleted from 21.4.3.)
6917
6918 2001-06-01  Ben Wing  <ben@xemacs.org>
6919
6920         * nt.c (mswindows_utime):
6921         * nt.c (close_file_data):
6922         fix off-by-one-indirection error.
6923
6924 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6925
6926         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6927         because set_file_times() now takes Lisp_Object path, instead of
6928         char*.
6929         * nt.c: Include buffer.h.
6930         * nt.c (convert_from_time_t): New.
6931         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6932         not set mtime correctly.
6933         * nt.h: Declare mswindows_utime().
6934         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6935         path, instead of char*.
6936         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6937
6938 2001-05-30  Ben Wing  <ben@xemacs.org>
6939
6940         For 21.4:
6941
6942         (Stephen, just take all event-msw.c patches.  This includes
6943         the "iconify" fix below.)
6944
6945         * event-msw.c:
6946         * event-msw.c (mswindows_dequeue_dispatch_event):
6947         * event-msw.c (assert):
6948         * event-msw.c (emacs_mswindows_quit_p):
6949         * event-msw.c (debug_mswin_messages):
6950         * event-msw.c (debug_output_mswin_message):
6951         * event-msw.c (vars_of_event_mswindows):
6952         Fix yet more problems with C-g handling.
6953         Implement debug-mswindows-events.
6954         
6955 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6956
6957         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6958         
6959 2001-05-23  Ben Wing  <ben@xemacs.org>
6960
6961         * event-msw.c (winsock_writer):
6962         * event-msw.c (winsock_closer):
6963         prior kludgy code was clobbering the buffer, thinking it was
6964         "unused" space to store an unneeded return value; instead, use
6965         the variable we've already got staring us in the face.
6966
6967 2001-05-17  Andy Piper  <andy@xemacs.org>
6968
6969         * sysfile.h: don't assume that file attributes are boolean
6970
6971 2001-05-23  Ben Wing  <ben@xemacs.org>
6972
6973         * device-msw.c (msprinter_init_device):
6974         signal an error rather than crash with an unavailable network
6975         printer (from Mike Alexander).
6976         
6977         * event-msw.c:
6978         * event-msw.c (struct winsock_stream):
6979         * event-msw.c (winsock_writer):
6980         * event-msw.c (winsock_closer):
6981         * event-msw.c (make_winsock_stream_1):
6982         cleanup headers.  fix (hopefully) an error with data corruption
6983         when sending to a network connection.
6984
6985         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6986         to handle the ~user prefix by (a) always assuming we're referencing
6987         ourselves and not even verifying the user -- hence any file with
6988         a tilde as its first char is invalid! (b) if there wasn't a slash
6989         following the filename, the pointer was set *past* the end of
6990         file and we started reading from uninitialized memory.  Now we
6991         simply treat these as files, always.
6992
6993         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6994         
6995 2001-05-19  Ben Wing  <ben@xemacs.org>
6996
6997         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6998
6999         * process-nt.c:
7000         * process-nt.c (vars_of_process_nt):
7001         remove unused mswindows-quote-process-args.  rec for 21.4.
7002         
7003 2001-05-12  Ben Wing  <ben@xemacs.org>
7004
7005         * event-msw.c (mswindows_dde_callback):
7006         * event-msw.c (mswindows_wnd_proc):
7007         eliminate cygwin warnings.
7008
7009 2001-05-06  Ben Wing  <ben@xemacs.org>
7010
7011         * console-msw.h:
7012         * device-msw.c:
7013         * device-msw.c (print_dialog_worker):
7014         * device-msw.c (mswindows_handle_print_dialog_box):
7015         * device-msw.c (syms_of_device_mswindows):
7016         * dialog-msw.c (mswindows_make_dialog_box_internal):
7017         * general-slots.h:
7018         implement printing the selection when it's selected.
7019
7020 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7021
7022         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7023
7024 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7025
7026         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7027         EMACS_INT is signed.
7028
7029 2001-04-15  Michael Lausch  <mla@1012surf.net>
7030
7031         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7032         gtk_widget_request_size() to give scrollbar >0 width for
7033         GTK >1.2.8.
7034
7035 2001-05-30  William M. Perry  <wmperry@gnu.org>
7036
7037         * event-gtk.c: Check for buttons as modifier keys.
7038
7039 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7040
7041         * s\mingw32.h:
7042         Properly find MinGW's <process.h> inside Cygwin's restructured
7043         include directories.  Don't try to include <cygwin/version.h>
7044         since we are dropping support for MinGW in versions of Cygwin
7045         earlier than b21.
7046         * nt.c:
7047         Drop support for MinGW in versions of Cygwin before b21.
7048         * sysdep.c:
7049         Properly find MinGW's <process.h> inside Cygwin's restructured
7050         include directories.
7051         * syswindows.h:
7052         Drop support for MinGW in versions of Cygwin before b21.
7053         * unexcw.c:
7054         Even though a.out.h is no longer detected by configure, allow
7055         MinGW to use it until we figure out how to do the job with Win32.
7056
7057 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7058
7059         * syntax.c (find_start_of_comment):
7060         Fix `unbalanced parentheses' bug when dealing with mixed comment
7061         styles in c++/java/etc. mode
7062
7063 2001-05-29  Mike Alexander  <mta@arbortext.com>
7064
7065         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7066         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7067
7068 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7069
7070         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7071
7072 2001-03-31  Mike Sperber <mike@xemacs.org>
7073
7074         * search.c (Freplace_match): Support FSF-style specification of
7075         match subexpression when applied to a buffer.
7076
7077 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7078
7079         * event-stream.c (is_scrollbar_event): add missing semicolon
7080
7081 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7082
7083         * Makefile.in.in: Use TAR macro instead of hardcoding
7084           tar.  Allows use of GNU tar instead of system tar
7085
7086 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7087
7088         * event-stream.c (is_scrollbar_event): add missing semicolon
7089
7090 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7091
7092         * XEmacs 21.4.3 "Academic Rigor" is released.
7093
7094 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7095
7096         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7097
7098 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7099
7100         * buffer.c (Vcase_fold_search): Remove obsolete
7101           comment about non ASCII case-fold-search.  This
7102           bug has been fixed by case-table changes.
7103
7104 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7105
7106         * event-msw.c: Restore include of events-mod.h.
7107
7108 2001-04-22   zhaoway  <zw@debian.org>
7109
7110         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7111         !HAVE_SCROLLBARS.
7112
7113 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7114
7115         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7116
7117 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7118
7119         * mule-charset.c (Fmake_charset): Add missing else.
7120
7121 2001-04-23  Ben Wing  <ben@xemacs.org>
7122
7123         * event-msw.c (FAKE_MOD_QUIT):
7124         * event-msw.c (mswindows_dequeue_dispatch_event):
7125         * event-msw.c (mswindows_wnd_proc):
7126         * event-msw.c (emacs_mswindows_quit_p):
7127         Get critical quit working.
7128
7129 2001-05-05  Ben Wing  <ben@xemacs.org>
7130
7131         * console-msw.h:
7132         * device-msw.c:
7133         * device-msw.c (mswindows_get_default_margin):
7134         * frame-msw.c (mswindows_size_frame_internal):
7135         * frame-msw.c (msprinter_init_frame_1):
7136         * frame-msw.c (vars_of_frame_mswindows):
7137         Change top/bottom margin defaults to 0.5 inches.
7138
7139 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7140
7141         Fix link error with gcc 3.0 on Linux.
7142         * terminfo.c (UP): Remove.
7143         * terminfo.c (BC): Remove.
7144         * terminfo.c (PC): Remove.
7145         They weren't used, and in any case, these symbols should be
7146         defined in the *library*.
7147
7148 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7149
7150         * s/aix4.h: Fix crash with xlc -O3.
7151         Improve comment explaining how -O3 works.
7152
7153 2001-04-15  Ben Wing  <ben@xemacs.org>
7154
7155         * event-stream.c:
7156         * event-stream.c (Fnext_event):
7157         * event-stream.c (is_scrollbar_event):
7158         * event-stream.c (execute_command_event):
7159         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7160         crash' problem.  His fix introduces other problems.  We filter
7161         out scrollbar events specifically, making them somewhat invisible
7162         to command-building, and not appearing in `this-command-keys'.
7163         More work is still needed (see comments in event-stream.c), but
7164         this fixes all the major problems.
7165
7166 2001-04-20  Ben Wing  <ben@xemacs.org>
7167
7168         * .cvsignore: Added stuff for Windows.
7169
7170 2001-04-28  Ben Wing  <ben@xemacs.org>
7171
7172         * buffer.c (Ferase_buffer):
7173         * editfns.c (buffer_insert1):
7174         * editfns.c (Finsert_before_markers):
7175         * editfns.c (Finsert_string):
7176         * editfns.c (Finsert_char):
7177         * editfns.c (Fdelete_region):
7178         * editfns.c (Fwiden):
7179         * editfns.c (Fnarrow_to_region):
7180         remove bogus lines setting zmacs_region_stays to 0.
7181         
7182 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7183
7184         * process-unix.c (unix_open_network_stream): If connect() fails
7185         invalidate file descriptor after closing it.
7186
7187 2001-03-08  Mike Alexander  <mta@arbortext.com>
7188
7189         * event-msw.c (mswindows_need_event_in_modal_loop):
7190         Don't dispatch a message if we didn't get one.
7191         (mswindows_need_event):
7192         Terminate the correct process when one exits instead of the first
7193         one on Vprocess_list and look for process termination when in
7194         mswindows_protect_modal_loop.
7195
7196 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7197
7198         * XEmacs 21.4.1 "Copyleft" is released.
7199
7200 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7201
7202         * input-method-motif.c (XIM_delete_frame): New callback.
7203         (XIM_init_frame): Register it.
7204
7205 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7206
7207         * XEmacs 21.4.0 "Solid Vapor" is released.
7208
7209 2001-04-15  Ben Wing  <ben@xemacs.org>
7210
7211         * cmdloop.c (call_command_loop):
7212         Fix braino in bit-rotting code.
7213         
7214 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7215
7216         * extents.c (Fset_extent_endpoints): Force creation of extent info
7217         in buffer_or_string.
7218
7219         * extents.c (process_extents_for_insertion_mapper): Correctly
7220         check for open-open zero-length extents.
7221
7222 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7223
7224         * lisp.h: New typedefs Memory_count, Element_count.
7225         * regex.c:
7226         * regex.h:
7227         Sign-compare warning elimination: several unsigned -> signed.
7228         Based on work by Ben Wing <ben@xemacs.org>.
7229
7230 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7231
7232         * XEmacs 21.2.47 "Zephir" is released.
7233
7234 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7235
7236         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7237
7238 2001-04-03  Mike Sperber <mike@xemacs.org>
7239
7240         * search.c: Revert previous patch due because of release.
7241
7242 2001-03-30  Ben Wing  <ben@xemacs.org>
7243
7244         * s\cygwin32.h:
7245         Add missing killpg prototype.
7246
7247         * elhash.c:
7248         Add a comment about fixing problems when a new entry is added
7249         while mapping.
7250
7251         * frame-msw.c (mswindows_init_frame_1):
7252         Fix compile warnings.
7253
7254         * menubar.c (vars_of_menubar):
7255         Provide `menu-accelerator-support' to indicate that we properly
7256         support %_ in menu specifications, so that package code can
7257         conditionalize on this (and remove %_ from menu specifications
7258         on older versions).
7259
7260         * event-msw.c:
7261         * scrollbar-msw.c:
7262         * scrollbar-msw.c (can_scroll):
7263         * scrollbar-msw.h:
7264         Fix handling of mouse wheel under Windows to follow standards --
7265         now scrolls window under pointer, not selected window.
7266
7267 2001-03-31  Mike Sperber <mike@xemacs.org>
7268
7269         * search.c (Freplace_match): Support FSF-style specification of
7270         match subexpression when applied to a buffer.
7271
7272 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7273
7274         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7275         function to modify KEYMAP, so map over a copy of the hash table.
7276
7277 2001-03-21  Martin Buchholz <martin@xemacs.org>
7278
7279         * XEmacs 21.2.46 "Urania" is released.
7280
7281 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7282
7283         * realpath.c (xrealpath): Make file-truename work with symlinks to
7284         /cygdrive paths on cygwin. Always lowercase drive-letters on
7285         native windows.
7286         (cygwin_readlink): Don't try to find canonical filename unless
7287         file exists.
7288
7289 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7290
7291         * ChangeLog: Log GTK merge.
7292
7293         * dumper.c:
7294         * select-x.c:
7295         * specifier.c:
7296         * symeval.h:
7297         Revert gratuitous whitespace changes from GTK merge.
7298
7299         * emacs.c: Document end of complex #ifdef @ l. 1495.
7300
7301
7302 2001-03-12  Andy Piper  <andy@xemacs.org>
7303
7304         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7305         have to do likewise.
7306
7307 2001-03-12  Andy Piper  <andy@xemacs.org>
7308
7309         * sysdep.c: we only support mingw now.
7310
7311 2001-03-09  Andy Piper  <andy@xemacs.org>
7312
7313         * unexcw.c (copy_executable_and_dump_data_section): making approx
7314         overrun a warning only.
7315
7316 2001-03-10  William M. Perry  <wmperry@aventail.com>
7317
7318         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7319         satisfy Stephen's identical-after-cpp plea.
7320
7321 2001-03-02  Ben Wing  <ben@xemacs.org>
7322
7323         * cmds.c:
7324         * cmds.c (Fforward_char):
7325         * syntax.c:
7326         * window.c:
7327
7328         Augment documentation of the most common motion commands to make
7329         note of the shifted-motion support.
7330         
7331 2001-03-02  Ben Wing  <ben@xemacs.org>
7332
7333         * nt.c (mswindows_fstat):
7334         * nt.c (mswindows_stat):
7335         * search.c (boyer_moore):
7336         Fix compile warnings under Windows.
7337         
7338         * sysdep.c (sys_readdir):
7339         Fix buggy filename-conversion code under Mule.
7340
7341 2001-03-09  William M. Perry  <wmperry@aventail.com>
7342
7343         * Makefile.in.in:
7344         * config.h.in:
7345         * console.c:
7346         * console.h:
7347         * device.c:
7348         * device.h:
7349         * dragdrop.c:
7350         * emacs.c:
7351         * event-stream.c:
7352         * events.c:
7353         * events.h:
7354         * faces.c:
7355         * frame.h:
7356         * general-slots.h:
7357         * glyphs.c:
7358         * gutter.c:
7359         * inline.c:
7360         * lisp.h:
7361         * lrecord.h:
7362         * make-src-depend:
7363         * redisplay-output.c:
7364         * redisplay.c:
7365         * symsinit.h:
7366         * sysfile.h:
7367         * toolbar.c:
7368         * window.c:
7369         The Great GTK Merge.
7370
7371         * ChangeLog.GTK:
7372         * console-gtk.c:
7373         * console-gtk.h:
7374         * device-gtk.c:
7375         * emacs-marshals.c:
7376         * emacs-widget-accessors.c:
7377         * event-gtk.c:
7378         * frame-gtk.c:
7379         * gccache-gtk.c:
7380         * gccache-gtk.h:
7381         * glade.c:
7382         * glyphs-gtk.c:
7383         * glyphs-gtk.h:
7384         * gtk-glue.c:
7385         * gtk-xemacs.c:
7386         * gtk-xemacs.h:
7387         * gui-gtk.c:
7388         * gui-gtk.h:
7389         * menubar-gtk.c:
7390         * native-gtk-toolbar.c:
7391         * objects-gtk.c:
7392         * objects-gtk.h:
7393         * redisplay-gtk.c:
7394         * scrollbar-gtk.c:
7395         * scrollbar-gtk.h:
7396         * select-gtk.c:
7397         * toolbar-gtk.c:
7398         * ui-byhand.c:
7399         * ui-gtk.c:
7400         * ui-gtk.h:
7401         The Great GTK Merge: new files.
7402
7403 2001-02-26  Ben Wing  <ben@xemacs.org>
7404
7405         Reapplied Lstream change.
7406
7407 2001-02-26  Ben Wing  <ben@xemacs.org>
7408
7409         Undid the last change, since it is more controversial than I
7410         thought.  It should be back in at some point soon.
7411         
7412 2001-02-25  Ben Wing  <ben@xemacs.org>
7413
7414         * buffer.c:
7415         * callproc.c (Fold_call_process_internal):
7416         * event-msw.c (ntpipe_slurp_reader):
7417         * event-msw.c (ntpipe_shove_writer):
7418         * event-msw.c (winsock_reader):
7419         * event-msw.c (winsock_writer):
7420         * file-coding.c:
7421         * file-coding.c (detect_eol_type):
7422         * file-coding.c (detect_coding_type):
7423         * file-coding.c (determine_real_coding_system):
7424         * file-coding.c (Fdetect_coding_region):
7425         * file-coding.c (decoding_reader):
7426         * file-coding.c (decoding_writer):
7427         * file-coding.c (mule_decode):
7428         * file-coding.c (Fdecode_coding_region):
7429         * file-coding.c (encoding_reader):
7430         * file-coding.c (encoding_writer):
7431         * file-coding.c (mule_encode):
7432         * file-coding.c (Fencode_coding_region):
7433         * file-coding.c (detect_coding_sjis):
7434         * file-coding.c (decode_coding_sjis):
7435         * file-coding.c (encode_coding_sjis):
7436         * file-coding.c (detect_coding_big5):
7437         * file-coding.c (decode_coding_big5):
7438         * file-coding.c (encode_coding_big5):
7439         * file-coding.c (detect_coding_ucs4):
7440         * file-coding.c (decode_coding_ucs4):
7441         * file-coding.c (encode_coding_ucs4):
7442         * file-coding.c (detect_coding_utf8):
7443         * file-coding.c (decode_coding_utf8):
7444         * file-coding.c (encode_coding_utf8):
7445         * file-coding.c (detect_coding_iso2022):
7446         * file-coding.c (decode_coding_iso2022):
7447         * file-coding.c (encode_coding_iso2022):
7448         * file-coding.c (decode_coding_no_conversion):
7449         * file-coding.c (encode_coding_no_conversion):
7450         * glyphs-x.c (write_lisp_string_to_temp_file):
7451         * gpmevent.c (tty_get_foreign_selection):
7452         * lisp.h:
7453         * lstream.c:
7454         * lstream.c (Lstream_flush_out):
7455         * lstream.c (Lstream_adding):
7456         * lstream.c (Lstream_write_1):
7457         * lstream.c (Lstream_write):
7458         * lstream.c (Lstream_raw_read):
7459         * lstream.c (Lstream_read_more):
7460         * lstream.c (Lstream_read):
7461         * lstream.c (Lstream_unread):
7462         * lstream.c (Lstream_fputc):
7463         * lstream.c (stdio_reader):
7464         * lstream.c (stdio_writer):
7465         * lstream.c (filedesc_reader):
7466         * lstream.c (filedesc_writer):
7467         * lstream.c (lisp_string_reader):
7468         * lstream.c (struct fixed_buffer_stream):
7469         * lstream.c (make_fixed_buffer_input_stream):
7470         * lstream.c (make_fixed_buffer_output_stream):
7471         * lstream.c (fixed_buffer_reader):
7472         * lstream.c (fixed_buffer_writer):
7473         * lstream.c (struct resizing_buffer_stream):
7474         * lstream.c (resizing_buffer_writer):
7475         * lstream.c (dynarr_writer):
7476         * lstream.c (lisp_buffer_reader):
7477         * lstream.c (lisp_buffer_writer):
7478         * lstream.h:
7479         * lstream.h (lstream_implementation):
7480         * lstream.h (struct lstream):
7481         * md5.c (Fmd5):
7482         * process-nt.c (nt_send_process):
7483         * process-unix.c (unix_send_process):
7484         
7485         Correct Lstream lossage due to mixing of signed and unsigned
7486         quantities.  All Lstream uses of size_t and ssize_t are now a
7487         single signed data type Lstream_data_count.  This fixes problems
7488         under Windows with sending large quantities of data to a process,
7489         and may well fix other subtle bugs.
7490
7491 2001-02-23  Martin Buchholz <martin@xemacs.org>
7492
7493         * XEmacs 21.2.45 "Thelxepeia" is released.
7494
7495 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7496
7497         * lisp-union.h (XSETINT): 
7498         (XSETCHAR):
7499         (XSETOBJ): 
7500         Reverse previous change of 2001-02-06.
7501
7502 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7503
7504         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7505         buffers.
7506         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7507         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7508         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7509         * regex.c (POS_AS_IN_BUFFER): removed
7510         * regex.c (re_search_2):
7511         * regex.c (re_match_2):
7512         Don't use an offset of 1 when calculating buffer positions, since
7513         `BI_BUF_BEGV' does it already.
7514
7515 2001-02-18  Wim Dumon  <wim@easics.be>
7516
7517         * insdel.c (prepare_to_modify_buffer): Also check for
7518         supersession when clash-detection is enabled. 
7519
7520 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7521
7522         * regex.c (re_match_2_internal):
7523         Convert temp characters from 'const unsigned char' to 're_char'.
7524         Fix crashing bug with extended characters under mule.
7525         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7526         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7527         font-lock, pdump, and new syntax-table code.
7528         * syntax.c (find_start_of_comment):
7529         (find_end_of_comment):
7530         (forward-comment):
7531         Fix crashing bugs involving moving beyond end of buffer.
7532         * syntax.c (find_start_of_comment):
7533         Fixed logic to allow proper detection of cases where the same
7534         character is used to end both a two-char comment start and a
7535         two-char comment end sequence. Fixes `(forward-comment -1)'.
7536         * syntax.c (find_start_of_comment):
7537         Return position just past last comment-end character for all cases
7538         (previously was only done for two-char comment-end sequences).
7539         * syntax.c (forward-comment):
7540         Take value returned from `find_end_of_comment', rather than
7541         incrementing it.
7542         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7543         Properly deal with BUFFERP (syntax_cache.object)
7544
7545 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7546
7547         * alloc.c (Fgarbage_collect): 
7548         * alloc.c (make_bit_vector_from_byte_vector):
7549         -Wsign-compare-correctness.
7550
7551 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7552
7553         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7554         (XSETCHAR): Likewise.
7555         (XSETOBJ): Likewise.
7556
7557 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7558
7559         * mule-canna.c (canna-func-delete_previous): 
7560         Rename to canna-func-delete-previous.
7561
7562 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7563
7564         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7565
7566 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7567
7568         * font-lock.c (find_context): Fix C++ compile errors introduced by
7569         recent patch
7570
7571 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7572
7573         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7574         pragma, but earlier ones barf on the same pragma.
7575
7576 2001-02-06  Mike Sperber <mike@xemacs.org>
7577
7578         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7579         `configure-mule-lisp-directory'.
7580
7581 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7582
7583         Make sure dump-id.c is compiled in the same way as other .c's.
7584         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7585         * dump-id.h: Remove.
7586         * emacs.c: Move dump-id.h into dumper.h.
7587         * dumper.h: Move dump-id.h into dumper.h.
7588         * Makefile.in.in:
7589         Use standard .c.o rule for building dump-id.o.
7590         Remove preprocessor flags from link command.
7591         Add dump-id.o to ${otherobjs} if PDUMP.
7592
7593 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7594
7595         Port FSF 20.7 syntax table improvements.
7596         * syntax.c.
7597         * syntax.h.
7598
7599         Fixups for new syntax table stuff.
7600         * dired.c: Include syntax.c.
7601         (Fdirectory_files): Initialize regex_match_object and
7602         regex_emacs_buffer.
7603         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7604         and Fget_char_property.
7605
7606         Use ported FSF 20.7 syntax table improvements.
7607         * font-lock.c.
7608         * regex.c.
7609         * search.c.
7610         
7611 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7612
7613         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7614         Unixware's enum boolean from sys/types.h.
7615
7616 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7617
7618         Fix support for building with latest Purify.
7619         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7620         (PURIFY_FLAGS): Likewise.
7621
7622 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7623
7624         * fileio.c (lisp_string_set_file_times): New.
7625         * fileio.c (Fcopy_file): Use it.
7626         Fixes bug:
7627         (copy-file filename non-ascii-filename t t)
7628         ==> No such file or directory, non-ascii-filename
7629
7630 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7631
7632         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7633         USHRT_MAX seems clearer than ~0 anyways.
7634
7635 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7636
7637         dumper improvements.  Inspired by Olivier.
7638         * dumper.c (pdump_max_align): New.
7639         * dumper.c (pdump_add_entry): Use pdump_max_align.
7640         * dumper.c (pdump_get_entry_list): Likewise.
7641         * dumper.c (pdump_scan_by_alignment): Likewise.
7642         Don't iterate through unnecessary alignments.
7643         * dumper.c (pdump_file_get): No need to align result of malloc().
7644         * dumper.c (pdump_mallocadr): Remove.  
7645         The result of malloc() is guaranteed to be maximally aligned.
7646         * dumper.c: s/elmt/elt/g;
7647         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7648         * dumper.c (pdump_alert_undump_object): Likewise.
7649         * dumper.c (pdump_align_table): 
7650         Don't support alignments > 64.
7651         Store ALIGNOF's, not shift counts, in table.
7652
7653 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7654
7655         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7656         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7657         * systime.h: Use HAVE_UTIME.
7658         * sysdep.c (struct utimbuf): Remove.
7659         * sysdep.c (set_file_times): Prefer utime() to utimes().
7660         * config.h.in (HAVE_UTIME): New.
7661         * config.h.in (HAVE_UTIME_H): Remove.
7662         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7663
7664 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7665
7666         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7667
7668 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7669
7670         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7671
7672 2001-02-08  Martin Buchholz <martin@xemacs.org>
7673
7674         * XEmacs 21.2.44 "Thalia" is released.
7675
7676 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7677
7678         Fixes crashes in kill-emacs on some systems.
7679         * process-unix.c (unix_kill_child_process):
7680         It's OK for kill() to fail with ESRCH.
7681
7682 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7683
7684         Contortions to make .gdbinit tricks work on most systems.
7685         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7686         * alloc.c (dbg_valmask): Make non-const.
7687         * alloc.c (dbg_typemask): Make non-const.
7688         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7689         * alloc.c (dbg_valbits): Make non-const.
7690         * alloc.c (dbg_gctypebits): Make non-const.
7691         * .gdbinit (decode_object): Make it work with AIX cc.
7692
7693 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7694
7695         * elhash.c (make_general_lisp_hash_table):
7696         Use simpler and more efficient calloc to clear entries.
7697
7698 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7699
7700         * window.c (window_scroll): Work around an AIX C compiler bug.
7701         Fixes 'scroll-up' does nothing problem with xlC.
7702
7703 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7704
7705         * .gdbinit: Remove obsolete comment.
7706
7707 2001-01-31  Mike Alexander  <mta@arbortext.com>
7708
7709         * select.c (Fown_selection_internal): Set owned_p for device
7710         method correctly.
7711
7712 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7713
7714         Port to g++ 2.97.
7715         "not" cannot be used as a macro name as it is an operator in C++
7716         * config.h.in: Stop #defining `not'.
7717         * chartab.c (check_category_char): not ==> not_p
7718         * chartab.h: Likewise.
7719         * regex.c (re_match_2_internal): Likewise.
7720
7721 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7722
7723         * lisp-disunion.h: Fix up comments.
7724
7725 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7726
7727         * keymap.c (define_key_check_and_coerce_keysym):
7728         (syms_of_keymap):
7729         Support mouse-6 and mouse-7 bindings in the obvious way.
7730
7731 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7732
7733         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7734
7735 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7736
7737         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7738         Previous patch missed DEFVAR_INT_MAGIC.
7739         Make sure future DEFVAR_foo use correct types.
7740         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7741         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7742         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7743         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7744         * (DEFVAR_INT): Likewise.
7745         * redisplay.c (vertical_clip): Should be of type Fixnum.
7746         * redisplay.c (horizontal_clip): Likewise.
7747         * lisp.h (dump_add_opaque_int): New.
7748         (dump_add_opaque_fixnum): New.
7749
7750 2001-01-29  Andy Piper  <andy@xemacs.org>
7751
7752         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7753         since they can be eval'ed
7754
7755 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7756
7757         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7758         Oops, XEmacs redefines `class'.  Use `typename' instead.
7759
7760 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7761
7762         * dumper.c: Fix C++ compile errors.
7763
7764 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7765
7766         * tparam.c: Use correct prototypes.
7767
7768 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7769
7770         * sysproc.h: #include util.h for NetBSD's openpty.
7771
7772 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7773
7774         More 64-bit correctness.
7775         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7776         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7777         Fix up comments.
7778         This finally finishes the 64-bit SGI port.
7779         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7780         * symbols.c: Fix up comments and type casts.
7781         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7782         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7783         * symeval.h (Fixnum): New type.
7784         * symeval.h (symbol_value_type): Fix up comment.
7785
7786         * commands.h:
7787         * nt.c:
7788         * emacs.c:
7789         * data.c:
7790         * redisplay.c:
7791         * abbrev.c:
7792         * dired-msw.c:
7793         * event-Xt.c:
7794         * eldap.c:
7795         * window.c:
7796         * sound.c:
7797         * event-stream.c:
7798         * eval.c:
7799         * buffer.c:
7800         * mule-canna.c: A million DEFVAR_INTs here...
7801         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7802         * extents.c:
7803         * cmdloop.c:
7804         * lisp.h:
7805         * select-x.c:
7806         * console-x.h:
7807         * event-msw.c:
7808         * mule-wnnfns.c:
7809         * hpplay.c:
7810         * ralloc.c:
7811         * alloc.c:
7812         * keymap.c:
7813         * profile.c:
7814         s/int/Fixnum/g in DEFVAR_INT declarations.
7815
7816 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7817
7818         Port pdump to SGI alignment-sensitive environment.
7819         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7820         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7821         properly aligned.
7822         Define and use aligned reading and writing macros.
7823         Use buffered stdio instead of posix i/o for faster dumping.
7824         Eliminate kludgy 256 byte space for header.
7825         Read and write from dump file using structs for alignment safety.
7826         * dumper.c (pdump_align_stream): New.
7827         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7828         * dumper.c (PDUMP_READ_ALIGNED): New.
7829         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7830         * dumper.c (pdump_static_Lisp_Object): New struct.
7831         * dumper.c (pdump_static_pointer): New struct.
7832         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7833         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7834         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7835         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7836
7837         * dumper.c (pdump_backtrace):
7838         * dumper.c (pdump_get_indirect_count):
7839         * dumper.c (pdump_register_object):
7840         * dumper.c (pdump_register_struct):
7841         * dumper.c (pdump_reloc_one):
7842         * dumper.c (pdump_scan_by_alignment):
7843         * dumper.c (pdump_dump_from_root_struct_ptrs):
7844         * dumper.c (pdump_dump_opaques):
7845         * dumper.c (pdump_dump_rtables):
7846         * dumper.c (pdump_dump_from_root_objects):
7847         * dumper.c (pdump):
7848         * dumper.c (pdump_load_finish):
7849         Use aligned reading and writing.
7850
7851         * dumper.c (pdump_free): Make static.
7852         * dumper.c (pdump_hFile): Likewise.
7853         * dumper.c (pdump_hMap): Likewise.
7854
7855 2001-01-26  Martin Buchholz <martin@xemacs.org>
7856
7857         * XEmacs 21.2.43 "Terspichore" is released.
7858
7859 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7860
7861         Type fiddling for window_config.saved_windows_count
7862         * window.c (struct window_config): 
7863         Make saved_windows_count member unsigned.
7864         * window.c (sizeof_window_config_for_n_windows): 
7865         Make parameter unsigned.
7866         * window.c (mark_window_config):
7867         * window.c (window_config_equal):
7868         * window.c (free_window_configuration):
7869         * window.c (Fset_window_configuration):
7870         * window.c (count_windows):
7871         * window.c (Fcurrent_window_configuration):
7872         * window.c (reinit_vars_of_window):
7873         Update all callers and users.
7874
7875 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7876
7877         Alignment correctness for flexible arrays.
7878         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7879         Make alignment-correct. Add interesting comments.
7880         * alloc.c (size_vector):
7881         * alloc.c (make_vector_internal):
7882         * alloc.c (make_bit_vector_internal):
7883         * alloc.c (sweep_bit_vectors_1):
7884         * fns.c (size_bit_vector):
7885         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7886         * window.c (sizeof_window_config_for_n_windows): 
7887         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7888
7889 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7890
7891         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7892
7893 2001-01-23  Andy Piper  <andy@xemacs.org>
7894
7895         * select.c (Fown_selection_internal): pass owned_p
7896
7897         * select-msw.c (mswindows_own_selection): New Signature.
7898
7899         * console.h (struct console_methods): add owned_p to
7900         _own_selection.
7901
7902         * select-x.c (x_own_selection): pass owned_p
7903         (hack_motif_clipboard_selection): use owned_p
7904         (vars_of_select_x): new variable -
7905         x_selection_strict_motif_ownership.
7906
7907 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7908
7909         * specifier.h (specifier_data_offset): Remove pointless parens.
7910         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7911
7912 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7913
7914         Make Lisp_Object sizeof methods be alignment-correct.
7915         pdump must restore objects to the same alignment as the C compiler
7916         assumes.  It really matters on SGIs.
7917         * lstream.c (aligned_sizeof_lstream): New.
7918         (sizeof_lstream): Use aligned_sizeof_lstream.
7919         (Lstream_new): Likewise.
7920         * opaque.c (aligned_sizeof_opaque): New.
7921         (sizeof_opaque): Use aligned_sizeof_opaque.
7922         (make_opaque): Likewise.
7923         * specifier.c (aligned_sizeof_specifier): New.
7924         (sizeof_specifier): Use aligned_sizeof_specifier.
7925         (make_specifier_internal): Likewise.
7926
7927 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7928
7929         * lstream.h (struct lstream): Use max_align_t for trailing data.
7930         * specifier.h (struct Lisp_Specifier): Likewise.
7931
7932 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7933
7934         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7935         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7936         (CCL_SUSPEND): Likewise.
7937         (CCL_INVALID_CMD): Likewise.
7938         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7939         (ccl_driver): Likewise.
7940         (CCL_WRITE_CHAR): Macro hygiene.
7941         (CCL_WRITE_STRING): Macro hygiene.
7942
7943 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7944
7945         Port "portable" dumper to SunOS 4 and HP-UX.
7946         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7947         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7948         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7949
7950 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7951
7952         * lisp.h (ALIGNOF): A better definition for C++.
7953
7954 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7955
7956         Macro hygiene.
7957         Fix printf warnings: int format, long int arg.
7958         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7959         (PUSH_FAILURE_POINT): Use correct printf formats.
7960         (POP_FAILURE_POINT): Use correct printf formats.  
7961         Use do {...} while (0)
7962
7963 2001-01-20  Martin Buchholz <martin@xemacs.org>
7964
7965         * XEmacs 21.2.42 "Poseidon" is released.
7966
7967 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7968
7969         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7970
7971 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7972
7973         De-kludgify FIXED_TYPE free list frobbing.
7974         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7975         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7976         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7977         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7978         * alloc.c (LRECORD_FREE_P): New.
7979         * alloc.c (MARK_LRECORD_AS_FREE): New.
7980         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7981         * alloc.c (STRUCT_FREE_P): Deleted.
7982         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7983         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7984         * alloc.c (STRING_CHARS_FREE_P): New.
7985         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7986         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7987         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7988         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7989         * alloc.c (resize_string): Use new definitions.
7990         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7991         * alloc.c (verify_string_chars_integrity): Use new definitions.
7992         * alloc.c (compact_string_chars): Use new definitions.
7993         * alloc.c: Update monster comments.
7994         * lrecord.h (lrecord_type): Add some new lrecord types for
7995         alloc.c's use.
7996
7997 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7998
7999         Improve alignment hackery.
8000         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8001         (max_align_t): Moved from opaque.h - general purpose.
8002         (ALIGN_PTR): Use size_t, not long.
8003         * opaque.h (max_align_t): Move to lisp.h.
8004
8005 2001-01-18  Norbert Koch  <nk@LF.net>
8006
8007         * gui.h: Fix and add prototypes to fix build problems.
8008
8009 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8010
8011         temacs is going away, so `dump-temacs' is now a bad name.
8012         * .dbxrc (dump-temacs): Rename to `dmp'.
8013         * .gdbinit (dump-temacs): Rename to `dmp'.
8014
8015 2001-01-17  Andy Piper  <andy@xemacs.org>
8016
8017         * glyphs.c (print_image_instance): comment to make martin happy.
8018
8019         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8020         change.
8021
8022         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8023         activation.
8024         (mswindows_tab_control_redisplay): warning suppression.
8025
8026         * glyphs-widget.c (widget_update): re-write to cope with updated
8027         items.
8028         (widget_instantiate): use new gui_item functions.
8029         (tab_control_update): deleted.
8030         (progress_gauge_update): deleted.
8031         (image_instantiator_progress_guage): take out update reference.
8032         (image_instantiator_tree_view): ditto.
8033         (image_instantiator_tab_control): ditto.
8034
8035         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8036         Right the new way.
8037         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8038         return whether anything was changed.
8039         (update_gui_item_keywords): as it sounds.
8040
8041         * gui.h: declare widget_gui_parse_item_keywords.
8042
8043         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8044         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8045
8046 2001-01-17  Martin Buchholz <martin@xemacs.org>
8047
8048         * XEmacs 21.2.41 "Polyhymnia" is released.
8049
8050 2001-01-16  Didier Verna  <didier@xemacs.org>
8051
8052         * glyphs.c (image_instantiate): don't use fallbacks when
8053         instantiating a face's background pixmap by inheritance.
8054
8055 2001-01-14  Mike Sperber <mike@xemacs.org>
8056
8057         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8058         Conditionalize accordingly.
8059
8060 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8061
8062         * dumper.c (pdump_file_get): Fix a compiler warning.
8063
8064 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8065
8066         Make Purify happy when pdumping.
8067         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8068         iniitalizing all bits of new lisp object memory.
8069         * symbols.c (Fmake_local_variable): Likewise.
8070         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8071         * symbols.c (Fdefvaralias): Likewise.
8072         * mule-charset.c (vars_of_mule_charset): Likewise.
8073
8074 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8075         Add the `-nd' flag when running pre-dump operations under the debugger.
8076         * .dbxrc (run-temacs): Add `-nd'.
8077         * .dbxrc (update-elc): Likewise.
8078         * .dbxrc (dump-temacs): Likewise.
8079         * .gdbinit (run-temacs): Likewise.
8080         * .gdbinit (check-temacs): Likewise.
8081         * .gdbinit (update-elc): Likewise.
8082         * .gdbinit (dump-temacs): Likewise.
8083
8084 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8085
8086         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8087         export OBJECT_MODE=64
8088         configure --pdump --use-union-type=no
8089         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8090         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8091
8092         * miscplay.c (sndcnv8U_2mono):
8093         Avoid two uses of `++' in the same expression.
8094         Suppresses a GCC warning.
8095
8096 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8097
8098         Make sure future compilers don't miscompile alloc.c.
8099         * alloc.c:
8100         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8101         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8102
8103 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8104
8105         * dumper.c: A little post-pdump-rename comment fixup.
8106
8107 2001-01-09  Jerry James  <james@eecs.ku.edu>
8108
8109         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8110
8111 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8112
8113         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8114         script:
8115         #!/bin/sh
8116         replace_symbol () {
8117           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8118         }
8119
8120         replace_symbol pdump_wire_lists pdump_weak_object_chains
8121         replace_symbol pdump_wire_list dump_add_weak_object_chain
8122
8123         replace_symbol pdump_wires pdump_root_objects
8124         replace_symbol pdump_wire dump_add_root_object
8125
8126         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8127         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8128
8129         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8130         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8131         replace_symbol dumpstructinfo pdump_root_struct_ptr
8132         replace_symbol dumpstruct dump_add_root_struct_ptr
8133
8134         replace_symbol dumpopaque dump_add_opaque
8135         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8136         replace_symbol dumpopaqueinfos pdump_opaques
8137         replace_symbol dumpopaqueinfo pdump_opaque
8138
8139         replace_symbol nb_structdump nb_root_struct_ptrs
8140         replace_symbol nb_opaquedump nb_opaques
8141
8142         replace_symbol align_table pdump_align_table
8143         replace_symbol dump_header pdump_header
8144
8145         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8146         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8147
8148
8149 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8150
8151         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8152         optimizing bytecount_to_charcount().
8153
8154 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8155
8156         * config.h.in:
8157         (HAVE_DLFCN_H): Removed.
8158         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8159
8160 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8161
8162         Portable dumper maintainability improvements.
8163         * alloc.c (staticpro):
8164         * alloc.c (staticpro_nodump):
8165         * alloc.c (garbage_collect_1):
8166         * alloc.c (reinit_alloc_once_early):
8167         * alloc.c (init_alloc_once_early):
8168         * alloc.c: Move dumper functions to alloc.c.
8169         * dumper.c (pdump_backtrace):
8170         * dumper.c (pdump_dump_structs):
8171         * dumper.c (pdump_dump_opaques):
8172         * dumper.c (pdump_dump_rtables):
8173         * dumper.c (pdump_dump_wired):
8174         * dumper.c (pdump):
8175         * dumper.c (pdump_load_check):
8176         * dumper.c (pdump_load_finish):
8177         * dumper.c (pdump_file_unmap):
8178         * dumper.c (pdump_file_get):
8179         * dumper.c (pdump_resource_free):
8180         * dumper.c (pdump_resource_get):
8181         * dumper.c (pdump_file_free):
8182         * dumper.c (pdump_file_try):
8183         * dumper.c (pdump_load):
8184         Remove fixed size limits on staticpro(), staticpro_nodump(),
8185         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8186         Remove custom code for dumping lrecord_implementations_table - use
8187         dumpopaque instead.
8188         Remove (most of the) custom code for dumping staticpros - dump it
8189         like any other dynarr.
8190
8191         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8192         * dumper.c: Moved functions from alloc.c.
8193         * alloc.c (dumpstruct): Moved to dumper.c.
8194         * alloc.c (dumpopaque): Likewise.
8195         * alloc.c (pdump_wire): Likewise.
8196         * alloc.c (pdump_wire_list): Likewise.
8197
8198         * lisp.h (Dynarr_sizeof): New.
8199         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8200         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8201         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8202
8203         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8204         * lisp.h (dumpopaque): ditto.
8205         * lisp.h (pdump_wire): ditto.
8206         * lisp.h (pdump_wire_list): ditto.
8207
8208 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8209
8210         * make-src-depend (PrintPatternDeps):
8211         Use `sort' to make output independent of perl version.
8212
8213 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8214
8215         Port to Netbsd 1.5.
8216         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8217         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8218
8219 2001-01-03  Didier Verna  <didier@xemacs.org>
8220
8221         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8222         that `focus_frame' is alive before thinking of calling
8223         `redisplay_redraw_cursor' on it.
8224
8225 2001-01-08  Martin Buchholz <martin@xemacs.org>
8226
8227         * XEmacs 21.2.40 is released.
8228
8229 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8230
8231         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8232
8233 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8234
8235         * alloc.c (dbg_valmask): Make const.
8236         * alloc.c (dbg_typemask): Make const.
8237         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8238         * alloc.c (dbg_valbits): Make const.
8239         * alloc.c (dbg_gctypebits): Make const.
8240
8241 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8242
8243         * redisplay-x.c (x_bevel_area):
8244         redisplay.h (struct rune):
8245         Typo fixes in comments.
8246
8247 2001-01-05  Andy Piper  <andy@xemacs.org>
8248
8249         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8250         adjustment.
8251
8252         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8253
8254 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8255
8256         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8257
8258         * mule-ccl.c (stack_idx_of_map_multiple):
8259         Non const global data must not be initialized!
8260         Found by MIYASHITA Hisashi.
8261
8262 2001-01-02  Andy Piper  <andy@xemacs.org>
8263
8264         * frame.c (change_frame_size): make sure frame size is always
8265         marked as changed.
8266
8267         * glyphs.c (image_instance_layout): minor code reuse.
8268
8269         * window.c (Fcurrent_window_configuration): revert previous
8270         change.
8271
8272 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8273
8274         * glyphs.h:
8275         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8276
8277 2000-12-31  Andy Piper  <andy@xemacs.org>
8278
8279         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8280         when widget gets unmapped.
8281
8282         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8283         function. Make sure widgets losing focus don't just drop it.
8284         (handle_focus_event_1): record the widget with focus.
8285
8286 2000-12-31  Andy Piper  <andy@xemacs.org>
8287
8288         * window.c (allocate_window): use
8289         make_image_instance_cache_hash_table.
8290         (make_dummy_parent): ditto.
8291         (Fset_window_configuration): ditto.
8292
8293         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8294
8295         * glyphs.c (process_image_string_instantiator): use
8296         INSTANTIATOR_TYPE.
8297         (get_image_instantiator_governing_domain): ditto.
8298         (normalize_image_instantiator): ditto.
8299         (instantiate_image_instantiator): ditto.
8300         (make_image_instance_1): ditto.
8301         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8302         (instantiator_eq_equal): new function for use with instance hash
8303         tables.
8304         (instantiator_eq_hash): ditto.
8305         (make_image_instance_cache_hash_table): create a suitable hash
8306         table for storing image instances.
8307
8308         * elhash.h (hash_table_weakness): new internal weakness type
8309         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8310         declare new functions.
8311
8312         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8313         another weakness type for glyphs.
8314         (make_standard_lisp_hash_table): new function split out from
8315         make_general_lisp_hash_table.
8316         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8317         (hash_table_instantiate): ditto.
8318         (Fmake_hash_table): ditto.
8319
8320 2000-12-31  Martin Buchholz <martin@xemacs.org>
8321
8322         * XEmacs 21.2.39 is released.
8323
8324 2000-12-29  Andy Piper  <andy@xemacs.org>
8325
8326         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8327
8328         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8329         the frame has changed so that we pick up geometry changes such as
8330         menubar visibility.
8331
8332 2000-12-28  Andy Piper  <andy@xemacs.org>
8333
8334         * lastfile.c (my_ebss): make a char array so we can pad the
8335         bss. Fixes cygwin unexec.
8336
8337         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8338
8339 2000-12-26  Andy Piper  <andy@xemacs.org>
8340
8341         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8342         comments and try and be more precise about a non-/SIGIO world.
8343         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8344         SIGIO.
8345
8346         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8347         we don't normalize to zero width or height.
8348
8349 2000-12-24  Andy Piper  <andy@xemacs.org>
8350
8351         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8352
8353 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8354
8355         * s/sco5.h: SCO 5 has pty support.
8356
8357 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8358
8359         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8360         input-method-xlib.c contains whole contents of input-method-xfs.c,
8361         so we can use input-method-xlib.c's code for USE_XFONTSET
8362         using #ifdefs.
8363         * input-method-xfs.c: removed.
8364
8365 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8366
8367         * file-coding.h (enum coding_category_type): reorder enumerators to
8368         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8369         (now one greater than largest real coding_category_type enumerator).
8370         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8371         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8372         Fcoding_category_list, Fset_coding_priority_list,
8373         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8374         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8375
8376 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8377
8378         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8379         * redisplay-output.c (redisplay_output_window): Clear top of window
8380         when face is changed.
8381         * redisplay-x.c (x_redraw_exposed_window): Call
8382         redisplay_clear_top_of_window.
8383         * redisplay.h: Publish redisplay_clear_top_of_window.
8384
8385 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8386
8387         * buffer.c (Fkill_buffer): Map over all devices.
8388         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8389         (list_windows): New function.
8390         (list_all_windows): Ditto.
8391         (Freplace_buffer_in_windows): Use them.
8392
8393 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8394
8395         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8396         (Fopen_database): Use `db_create' instead of `db_open'.
8397         (syms_of_database): Initialize Qqueue.
8398
8399 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8400
8401         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8402         buffer_local_face_property.
8403         * buffer.h (struct buffer): New member buffer_local_face_property.
8404         * window.c (Fset_window_buffer):  Mark window's face as changed
8405         when buffer has buffer local face.
8406         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8407         * objects.c (color_after_change): Set buffer_local_face_property
8408         when locale of face specifier is buffer.
8409         * objects.c (font_after_change): Ditto.
8410         * objects.c (face_boolean_after_change): Ditto.
8411         * glyphs.c (image_after_change): Ditto.
8412
8413 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8414
8415         * nt.c (mswindows_fstat): Report file permissions, volume serial
8416         number, etc. Code adapted from FSF Emacs 20.7.
8417
8418 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8419
8420         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8421         of stat when we don't have symbolic links, to make sure
8422         mswindows_stat is called on mswindows.
8423
8424 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8425
8426         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8427
8428 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8429
8430         * doprnt.c (emacs_doprnt_1): More printing fixes.
8431         Make printing of numbers compatible with libc and FSF Emacs.
8432         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8433         Use the system printf to do most of the hard work of formatting,
8434         instead of doprnt_1().
8435         Calculate memory to allocate for format string.
8436         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8437         (doprnt_1): Cleaner code and documentation.
8438
8439 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8440
8441         * Makefile.in.in: Use the loop variable to install headers.
8442
8443 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8444
8445         * window.c (Fsplit_window): Don't invalidate face cache.
8446
8447 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8448
8449         * minibuf.c (Fall_completions): Undo the previous change
8450         which removed checking elements start with space.
8451
8452 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8453
8454         * mule-canna.c: Didier suppression.
8455
8456 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8457
8458         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8459         (warning suppression).  Add English comment translations.
8460
8461 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8462
8463         * unexelfsgi.c (unexec): Better test for mmap failure.
8464
8465 2000-12-05  Martin Buchholz <martin@xemacs.org>
8466
8467         * XEmacs 21.2.38 is released.
8468
8469 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8470
8471         * redisplay.c (bar-cursor): Make a user variable.
8472
8473         * symsinit.h: Add init_postgresql_from_environment.
8474
8475 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8476
8477         * regex.c: Convert to clean C.
8478
8479 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8480
8481         * realpath.c:
8482         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8483         initialization.
8484         (sys_readlink): renamed to system_readlink to avoid conflict with
8485         the other sys_readlink.
8486
8487 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8488
8489         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8490
8491 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8492
8493         * postgresql.c (init_postgresql_from_environment): new function.
8494         (vars_of_postgresql): Move code initializing Lisp variables out and
8495         into init_postgresql_from_environment.
8496         emacs.c (main_1): Call init_postgresql_from_environment if and only
8497         if running a dumped XEmacs.
8498
8499 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8500
8501         * buffer.c: Make find-file-compare-truenames default to true on
8502         windows.
8503
8504         * realpath.c (win32_abs_start):
8505         (cygwin_readlink):
8506         (win32_readlink): New functions.
8507         (xrealpath): Return really real filenames on windows.
8508
8509         * fileio.c (Ffile_truename): Make file-truename work on windows.
8510
8511 2000-11-29  Didier Verna  <didier@xemacs.org>
8512
8513         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8514         * faces.c (update_face_cachel_data): use it.
8515         * faces.c (add_face_cachel): use it. Complete background pixmap
8516         frobbing in face cache if `update_face_cachel_data' has not done so.
8517
8518 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8519
8520         * search.c (string_match_1): Don't set last_thing_searched
8521         when search failed.
8522
8523 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8524
8525         * buffer.c: Include casetab.h
8526         (common_init_complex_vars_of_buffer): Use new case-table object.
8527         * buffer.h: Include casetab.h
8528         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8529         (DOWNCASE_TABLE_OF): Ditto.
8530         * bufslots.h: Remove char-tables and add case-table.
8531         * casetab.c: Include casetab.h
8532         (CASE_TABLE_P): Removed.
8533         (mark_case_table): New function.
8534         (allocate_case_table): New function.
8535         (Fcase_table_p): Use new case-table.
8536         (case_table_char): New function.
8537         (Fget_case_table): Ditto.
8538         (Fput_case_table): Ditto.
8539         (Fput_case_table_pair): Ditto.
8540         (Fcopy_case_table): Ditto.
8541         (Fcurrent_case_table): Return case-table.
8542         (Fstandard_case_table): Return case-table.
8543         (Fset_case_table): Fix doc-string.
8544         (set_case_table): Use case-table
8545         (syms_of_casetab): DEFSUBR new functions.
8546         (complex_vars_of_casetab): Set up standard case-table.
8547         * casetab.h: New file.
8548         * editfns.c: Include casetab.h
8549         (Fcompare_buffer_substrings): Use case-table.
8550         * inline.c: Include casetab.h
8551         * lisp.h: Remove bogus extern.
8552         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8553         * search.c: Include casetab.h
8554         (TRANSLATE_ASCII): Removed.
8555         (TRANSLATE): Unconditionally translate character.
8556         (looking_at_1): Use case-table.
8557         (string_match_1): Ditto.
8558         (fast_string_match): Ditto.
8559         (search_command): Ditto.
8560         (search_buffer): Separate boyer_moore.  Check whether
8561         boyer_moore is possible.
8562         (simple_search): New function.
8563         (boyer_moore): Separated from search_buffer. Translate char.
8564
8565 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8566
8567         * regex.c (RE_TR_ASCII): Removed.
8568         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8569         (PATFETCH): Call PATFETCH_RAW.
8570         (PATFETCH_RAW): Fetch Emchar.
8571         (PATUNFETCH): Decrement charptr.
8572         (GET_BUFFER_SPACE): Rename b to buf_end.
8573         (BUF_PUSH): Ditto.
8574         (BUF_PUSH_2): Ditto.
8575         (BUF_PUSH_3): Ditto.
8576         (EXTEND_BUFFER): Ditto.
8577         (SET_LIST_BIT): Ditto.
8578         (regex_compile): Ditto.  Translate non ASCII char.
8579         (compile_range): Ditto.
8580         (re_search_2): Ditto.
8581         (re_match_2_internal): Compare Emchar.
8582         (bcmp_translate): Ditto.
8583
8584 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8585
8586         * lisp.h (basic char/int typedefs):  comment improvement.
8587
8588 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8589
8590         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8591         unstomp inhibit_site_lisp.  Improve comments.
8592
8593 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8594
8595         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8596
8597 2000-11-28  Andy Piper  <andy@xemacs.org>
8598
8599         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8600         clipped display for windows in the gutter also.
8601         (redisplay_display_boxes_in_window_p): change semantics of return
8602         codes to be more intuitive.
8603
8604         * gutter.h: declare display_boxes_in_gutter_p.
8605
8606         * gutter.c (display_boxes_in_gutter_p): new function for
8607         redisplay.
8608
8609 2000-11-22  Andy Piper  <andy@xemacs.org>
8610
8611         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8612         autodetect domain.
8613
8614 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8615
8616         * callproc.c (Fold_call_process_internal):
8617         * gpm.c (Freceive_gpm_event):
8618         (tty_get_foreign_selection): Might be just warning supression.
8619         * fileio.c (Fwrite_region_internal):
8620         (Fset_visited_file_modtime):
8621         * keymap.c (event_matches_key_specifier_p):
8622         Initialize GCPROed variable.
8623
8624         * menubar-x.c (command_builder_find_menu_accelerator):
8625         Initialize before use.
8626
8627 2000-11-23  Andy Piper  <andy@xemacs.org>
8628
8629         * unexcw.c (unexec): make the resulting executable executable.
8630
8631 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8632
8633         * doc.c (get_doc_string):
8634         Use size_t, not int, for result of XSTRING_LENGTH.
8635
8636         * cmds.c (Fdelete_char):
8637         * cmds.c (Fpoint_at_eol):
8638         * cmds.c (Fself_insert_command):
8639         Use EMACS_INT, not int, for result of XINT.
8640         Someday, someone will want to insert more than 2**31 identical characters.
8641
8642         * cmds.c (Fdelete_char):
8643         * cmds.c (Fdelete_backward_char):
8644         * syntax.c (Fforward_word):
8645         * syntax.c (Fforward_comment):
8646         Make COUNT argument optional, for consistency with forward-char et al.
8647
8648 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8649
8650         * lisp.h:
8651         * print.c (long_to_string):
8652         Return a useful value: the pointer at end of data written.
8653
8654         * doprnt.c:
8655         Use `static const char * const' for constant strings.
8656         (union printf_arg): Delete `i', `ui' members.
8657         (get_doprnt_args):
8658         (emacs_doprnt_1):
8659         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8660         Do all printf-ing via the `l' specifier.
8661         Use EMACS_INT instead of int.
8662         Optimize.
8663
8664 2000-11-20  Didier Verna  <didier@xemacs.org>
8665
8666         * faces.c (update_face_cachel_data): don't frob the background
8667         pixmap when the window is being created. The face is needed but
8668         does not exist yet.
8669
8670 2000-11-20  Andy Piper  <andy@xemacs.org>
8671
8672         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8673         messing with a debug environment.
8674
8675 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8676
8677         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8678
8679 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8680
8681         * casetab.c (Fcase_table_p): Fix compile error and crash.
8682
8683 2000-11-18  Philip Aston  <philipa@mail.com>
8684
8685         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8686
8687 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8688
8689         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8690         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8691
8692 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8693
8694         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8695         * unexelf.c: Use HAVE_ELF_H.
8696         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8697         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8698         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8699         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8700         for testing.
8701         So this is an unexelfsgi.c from a different line of development.
8702
8703 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8704
8705         * regex.c (RE_TR_ASCII): New function.
8706         (RE_TRANSLATE): Call it.
8707
8708 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8709
8710         * buffer.h (TRT_TABLE_OF): Remove assert.
8711         (IN_TRT_TABLE_DOMAIN): Removed.
8712
8713 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8714
8715         * free-hook.c (log_gcpro):
8716         (show_gcprohist): Add support for GCPRO5.
8717
8718 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8719
8720         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8721
8722 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8723
8724         * symeval.h: Declare flush_all_buffer_local_cache.
8725
8726         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8727         (flush_buffer_local_cache): Added.
8728         (flush_all_buffer_local_cache): Added.
8729
8730         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8731
8732         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8733         (pdump_dump_data): Ditto.
8734         (pdump_reloc_one): Ditto.
8735         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8736         before dumping.
8737
8738
8739 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8740
8741         * buffer.c: Remove if 0'ed entry.
8742         * buffer.h: Rewrite TRT to use char-table.
8743         * bufslots.h: Remove mirror tables.
8744         * casetab.c: Remove mirror tables.
8745         (CASE_TABLE_P): New macro.
8746         (Fcase_table_p): Element of a case table is string or char-table.
8747         (make_mirror_trt_table): Removed.
8748         (set_case_table): Setup char-table from strings for backward
8749         compatibility.
8750         * dired.c (Fdirectory_files):
8751         * dired-msw.c: (mswindows_get_files):
8752         * lisp.h: Change prototype of re_pattern_buffer.
8753         * regex.c: (RE_TRANSLATE): New macro.
8754         (TRANSLATE_P): Ditto.
8755         Change translate to type RE_TRANSLATE_TYPE.
8756         * regex.h: Define RE_TRANSLATE_TYPE
8757         * search.c (TRANSLATE): New macro.
8758         (TRANSLATE_ASCII): New macro.
8759         Translate table is changed to Lisp_Object.
8760         (signal_failure): Inhibit return.
8761
8762 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8763
8764         * device-msw.c:
8765         * eldap.c:
8766         * event-Xt.c:
8767         * event-stream.c:
8768         * print.c:
8769         Do UNGCPRO before return.
8770
8771 2000-11-14  Martin Buchholz <martin@xemacs.org>
8772
8773         * XEmacs 21.2.37 is released.
8774
8775 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8776
8777         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8778         Add comments about discarded return value.
8779
8780 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8781
8782         * callint.c:
8783         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8784
8785 2000-10-27  Andy Piper  <andy@xemacs.org>
8786
8787         * gutter.c (Fset_default_gutter_position): default left and right
8788         gutters to visible.
8789         (calculate_gutter_size): calculate resonable heuristic for left
8790         and right gutter sizes.
8791         (specifier_vars_of_gutter): change left and right gutter sizes to
8792         autodetect.
8793         (calculate_gutter_size_from_display_lines): new function.
8794         (output_gutter): check for resizing on left and right gutters.
8795         (clear_gutter): don't special case top and left gutters.
8796         (specifier_vars_of_gutter): use new signature for
8797         set_specifier_caching.
8798
8799         * glyphs-x.c (x_redisplay_widget): spelling fix.
8800         * glyphs.c (specifier_vars_of_glyphs):
8801         * menubar.c (specifier_vars_of_menubar):
8802         * redisplay.c (specifier_vars_of_redisplay):
8803         * toolbar.c (specifier_vars_of_toolbar):
8804         * window.c (specifier_vars_of_window):
8805         * scrollbar.c (specifier_vars_of_scrollbar):
8806         (complex_vars_of_scrollbar): use new signature for
8807         set_specifier_caching.
8808
8809         * specifier.c (set_specifier_caching): include recompute flag.
8810         (recompute_one_cached_specifier_in_window): always recompute if
8811         flag set.
8812         (recompute_one_cached_specifier_in_frame): ditto.
8813
8814         * specifier.h (struct specifier_caching): add recompute flag.
8815
8816 2000-10-24  Andy Piper  <andy@xemacs.org>
8817
8818         * unexcw.c (copy_executable_and_dump_data_section): add new
8819         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8820         5.0 happy.
8821
8822 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8823
8824         * console-x.h (x_device): New member modifier_release_time.
8825         * event-Xt.c (x_handle_sticky_modifiers):
8826         Bound interval modifier keys are sticky.
8827         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8828         * events.h: extern it.
8829
8830 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8831
8832         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8833
8834 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8835
8836         * event-stream.c (execute_command_event): Preserve current_events
8837         and the like when event is misc-user-event.
8838         Inhibit quit during the call to maybe_echo_keys.
8839
8840 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8841
8842         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8843         symlink when buffer is killed.
8844         (inhibit_clash_detection): New variable.
8845
8846 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8847
8848         * console.c (Fset_input_method): Trigger redisplay on tty.
8849
8850 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8851
8852         * process.c (Fprocess_status): Revert to previous behavior:
8853         (process-status "nosuchprocess") ==> nil
8854
8855 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8856
8857         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8858         Work around another GCC 2.95.2 optimizer bug.
8859
8860 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8861
8862         * process.c (Fget_process): Use LIST_LOOP_2.
8863         (kill_buffer_processes): Use LIST_LOOP_2.
8864
8865         * minibuf.c (Fall_completions):
8866         Delete old non-functional code for FSF fourth argument.
8867
8868         * frame.c (frame_matches_frame_spec):
8869         Renamed from `frame_matches_frametype'.  Update all callers.
8870         (device_matches_device_spec):
8871         Renamed from 'device_matches_console_spec'.  Update all callers.
8872
8873         * doc.c (Fsubstitute_command_keys):
8874         Remove buffer overflow crash.  Small code cleanups.
8875
8876         * casetab.c (check_case_table): Simpler code.
8877
8878         * window.c (Freplace_buffer_in_windows):
8879         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8880         (and similar implementation) as Fdelete_windows_on.
8881         Update all callers.
8882
8883         * alloc.c (Fmake_list):
8884         * alloc.c (make_vector):
8885         * alloc.c (Fmake_vector):
8886         * alloc.c (make_bit_vector):
8887         * alloc.c (Fmake_bit_vector):
8888         * alloc.c (Fbit_vector):
8889         * alloc.c (Fmake_string):
8890         * alloc.c (Fpurecopy):
8891         * alloc.c (Fmemory_limit):
8892         * buffer.c:
8893         * buffer.c (Fget_buffer):
8894         * buffer.c (Fkill_buffer):
8895         * buffer.c (complex_vars_of_buffer):
8896         * bytecode.c (Fcompiled_function_stack_depth):
8897         * callint.c (Fprefix_numeric_value):
8898         * event-stream.c:
8899         * event-stream.c (Fread_key_sequence):
8900         * casetab.c:
8901         * casetab.c (Fcase_table_p):
8902         * casetab.c (check_case_table):
8903         * casetab.c (Fset_case_table):
8904         * casetab.c (Fset_standard_case_table):
8905         * chartab.c:
8906         * chartab.c (Fchar_table_type):
8907         * chartab.c (Freset_char_table):
8908         * chartab.c (Fget_char_table):
8909         * chartab.c (Fget_range_char_table):
8910         * chartab.c (Fput_char_table):
8911         * chartab.c (Fmap_char_table):
8912         * chartab.c (Fcategory_table_p):
8913         * chartab.c (Fcheck_category_at):
8914         * chartab.c (Fchar_in_category_p):
8915         * chartab.c (Fcategory_table):
8916         * chartab.c (Fcopy_category_table):
8917         * chartab.c (Fset_category_table):
8918         * chartab.c (Fcategory_designator_p):
8919         * chartab.c (Fcategory_table_value_p):
8920         * cmds.c (Fdelete_char):
8921         * cmds.c (Fdelete_backward_char):
8922         * cmds.c (Fself_insert_command):
8923         * cmds.c (Fself_insert_internal):
8924         * console.c (Fvalid_console_type_p):
8925         * console.c (Fcdfw_console):
8926         * console.c (Fconsole_type):
8927         * console.c (Fconsole_name):
8928         * console.c (Fconsole_device_list):
8929         * console.c (Fconsole_on_window_system_p):
8930         * data.c:
8931         * data.c (Feq):
8932         * data.c (Fold_eq):
8933         * data.c (Fsubr_interactive):
8934         * data.c (Fchar_to_int):
8935         * data.c (Fint_to_char):
8936         * data.c (Fsetcar):
8937         * data.c (Fsetcdr):
8938         * data.c (Fnumber_to_string):
8939         * data.c (Fstring_to_number):
8940         * data.c (Frem):
8941         * database.c (mark_database):
8942         * database.c (finalize_database):
8943         * database.c (Fdatabase_live_p):
8944         * database.c (Fdatabasep):
8945         * device-x.c (Fx_get_resource):
8946         * device.c (Fdfw_device):
8947         * dired.c:
8948         * dired.c (Ffile_name_completion):
8949         * dired.c (Ffile_name_all_completions):
8950         * dired.c (Fuser_name_completion):
8951         * dired.c (Fuser_name_completion_1):
8952         * dired.c (Fuser_name_all_completions):
8953         * doc.c (Fdocumentation):
8954         * doc.c (Fdocumentation_property):
8955         * doc.c (Fsubstitute_command_keys):
8956         * editfns.c:
8957         * editfns.c (Fchar_to_string):
8958         * editfns.c (Fstring_to_char):
8959         * editfns.c (Ftemp_directory):
8960         * editfns.c (Finsert_char):
8961         * editfns.c (Fbuffer_substring_no_properties):
8962         * editfns.c (Fnarrow_to_region):
8963         * editfns.c (Fchar_equal):
8964         * editfns.c (Fchar_Equal):
8965         * editfns.c (Ftranspose_regions):
8966         * emacs.c (Fdump_emacs):
8967         * eval.c (Fthrow):
8968         * eval.c (Fcommand_execute):
8969         * eval.c (Fautoload):
8970         * eval.c (Fbacktrace):
8971         * eval.c (Fbacktrace_frame):
8972         * events.c:
8973         * events.c (Fcopy_event):
8974         * events.c (Fcharacter_to_event):
8975         * events.c (Fevent_button):
8976         * events.c (Fevent_process):
8977         * extents.c:
8978         * extents.c (Fnext_extent_change):
8979         * extents.c (Fextent_property):
8980         * faces.c (Ffacep):
8981         * faces.c (Fmake_face):
8982         * file-coding.c:
8983         * file-coding.c (Fencode_shift_jis_char):
8984         * file-coding.c (Fencode_big5_char):
8985         * fileio.c (Ffile_name_directory):
8986         * fileio.c (Ffile_name_nondirectory):
8987         * fileio.c (Ffile_name_as_directory):
8988         * fileio.c (Fdirectory_file_name):
8989         * fileio.c (Ffile_truename):
8990         * fileio.c (Fsubstitute_in_file_name):
8991         * fileio.c (Ffile_modes):
8992         * fileio.c (Fset_file_modes):
8993         * fileio.c (Fset_default_file_modes):
8994         * fileio.c (Fverify_visited_file_modtime):
8995         * floatfns.c (Facos):
8996         * floatfns.c (Fasin):
8997         * floatfns.c (Fatan):
8998         * floatfns.c (Fcos):
8999         * floatfns.c (Fsin):
9000         * floatfns.c (Ftan):
9001         * floatfns.c (Fbessel_j0):
9002         * floatfns.c (Fbessel_j1):
9003         * floatfns.c (Fbessel_jn):
9004         * floatfns.c (Fbessel_y0):
9005         * floatfns.c (Fbessel_y1):
9006         * floatfns.c (Fbessel_yn):
9007         * floatfns.c (Ferf):
9008         * floatfns.c (Ferfc):
9009         * floatfns.c (Flog_gamma):
9010         * floatfns.c (Fexp):
9011         * floatfns.c (Fexpt):
9012         * floatfns.c (Flog):
9013         * floatfns.c (Flog10):
9014         * floatfns.c (Fsqrt):
9015         * floatfns.c (Fcube_root):
9016         * floatfns.c (Facosh):
9017         * floatfns.c (Fasinh):
9018         * floatfns.c (Fatanh):
9019         * floatfns.c (Fcosh):
9020         * floatfns.c (Fsinh):
9021         * floatfns.c (Ftanh):
9022         * floatfns.c (Fabs):
9023         * floatfns.c (Ffloat):
9024         * floatfns.c (Flogb):
9025         * floatfns.c (Fceiling):
9026         * floatfns.c (Ffloor):
9027         * floatfns.c (Fround):
9028         * floatfns.c (Ftruncate):
9029         * floatfns.c (Ffceiling):
9030         * floatfns.c (Fffloor):
9031         * floatfns.c (Ffround):
9032         * floatfns.c (Fftruncate):
9033         * fns.c (Fstring_equal):
9034         * fns.c (Fstring_lessp):
9035         * fns.c (concat2):
9036         * fns.c (concat3):
9037         * fns.c (vconcat2):
9038         * fns.c (vconcat3):
9039         * fns.c (Fsubstring):
9040         * fns.c (Fassoc):
9041         * fns.c (Fold_assoc):
9042         * fns.c (assoc_no_quit):
9043         * fns.c (Fassq):
9044         * fns.c (Fold_assq):
9045         * fns.c (assq_no_quit):
9046         * fns.c (Frassoc):
9047         * fns.c (Fold_rassoc):
9048         * fns.c (Frassq):
9049         * fns.c (Fold_rassq):
9050         * fns.c (rassq_no_quit):
9051         * fns.c (Fremassoc):
9052         * fns.c (remassoc_no_quit):
9053         * fns.c (Fremassq):
9054         * fns.c (remassq_no_quit):
9055         * fns.c (Fremrassoc):
9056         * fns.c (Fremrassq):
9057         * fns.c (remrassq_no_quit):
9058         * fns.c (Fsort):
9059         * fns.c (Fplist_get):
9060         * fns.c (Fplist_put):
9061         * fns.c (Fplist_remprop):
9062         * fns.c (Fplist_member):
9063         * fns.c (Flax_plist_get):
9064         * fns.c (Flax_plist_put):
9065         * fns.c (Flax_plist_remprop):
9066         * fns.c (Flax_plist_member):
9067         * fns.c (Fequal):
9068         * fns.c (Fold_equal):
9069         * fns.c (Frequire):
9070         * fns.c (Fbase64_encode_region):
9071         * fns.c (Fbase64_encode_string):
9072         * fns.c (Fbase64_decode_region):
9073         * frame.c:
9074         * frame.c (frame_matches_frame_spec):
9075         * frame.c (device_matches_device_spec):
9076         * frame.c (next_frame):
9077         * frame.c (previous_frame):
9078         * frame.c (Fnext_frame):
9079         * frame.c (Fprevious_frame):
9080         * frame.c (Fframe_property):
9081         * frame.c (Fset_frame_height):
9082         * frame.c (Fset_frame_size):
9083         * frame.h:
9084         * glyphs.c:
9085         * glyphs.c (if):
9086         * glyphs.c (decode_error_behavior_flag):
9087         * glyphs.c (Fmake_image_instance):
9088         * indent.c (Findent_to):
9089         * intl.c (Fignore_defer_gettext):
9090         * keymap.c (Fkeymapp):
9091         * keymap.c (Flookup_key):
9092         * lread.c:
9093         * lread.c (Fload_internal):
9094         * lread.c (Feval_buffer):
9095         * lread.c (Feval_region):
9096         * macros.c (Fexecute_kbd_macro):
9097         * marker.c (set_marker_internal):
9098         * marker.c (Fset_marker):
9099         * marker.c (set_marker_restricted):
9100         * marker.c (Fcopy_marker):
9101         * marker.c (noseeum_copy_marker):
9102         * menubar.c:
9103         * menubar.c (Fpopup_menu):
9104         * minibuf.c:
9105         * mule-charset.c (Fcharset_name):
9106         * mule-charset.c (Fchar_charset):
9107         * mule-charset.c (Fchar_octet):
9108         * mule-charset.c (Fsplit_char):
9109         * mule-wnnfns.c (Fwnn_open):
9110         * mule-wnnfns.c (Fwnn_dict_comment):
9111         * mule-wnnfns.c (Fwnn_quit_henkan):
9112         * mule-wnnfns.c (Fwnn_word_toroku):
9113         * mule-wnnfns.c (Fwnn_word_sakujo):
9114         * mule-wnnfns.c (Fwnn_word_use):
9115         * mule-wnnfns.c (Fwnn_hindo_set):
9116         * objects.c:
9117         * objects.c (Fmake_color_instance):
9118         * objects.c (Fmake_font_instance):
9119         * print.c (Fwrite_char):
9120         * process.c:
9121         * process.c (mark_process):
9122         * process.c (print_process):
9123         * process.c (get_process_from_usid):
9124         * process.c (Fprocessp):
9125         * process.c (Fprocess_live_p):
9126         * process.c (Fget_process):
9127         * process.c (Fget_buffer_process):
9128         * process.c (get_process):
9129         * process.c (Fprocess_id):
9130         * process.c (Fprocess_name):
9131         * process.c (Fprocess_command):
9132         * process.c (init_process_io_handles):
9133         * process.c (start_process_unwind):
9134         * process.c (Fstart_process_internal):
9135         * process.c (Fopen_multicast_group_internal):
9136         * process.c (Fset_process_window_size):
9137         * process.c (read_process_output):
9138         * process.c (send_process):
9139         * process.c (Fprocess_tty_name):
9140         * process.c (Fset_process_buffer):
9141         * process.c (Fprocess_buffer):
9142         * process.c (Fprocess_mark):
9143         * process.c (set_process_filter):
9144         * process.c (Fset_process_filter):
9145         * process.c (Fprocess_filter):
9146         * process.c (Fprocess_send_region):
9147         * process.c (Fprocess_send_string):
9148         * process.c (exec_sentinel):
9149         * process.c (Fset_process_sentinel):
9150         * process.c (Fprocess_sentinel):
9151         * process.c (status_notify):
9152         * process.c (Fprocess_status):
9153         * process.c (Fprocess_exit_status):
9154         * process.c (process_send_signal):
9155         * process.c (Fprocess_send_eof):
9156         * process.c (deactivate_process):
9157         * process.c (remove_process):
9158         * process.c (Fdelete_process):
9159         * process.c (kill_buffer_processes):
9160         * process.c (Fprocess_kill_without_query):
9161         * process.c (Fprocess_kill_without_query_p):
9162         * rangetab.c:
9163         * rangetab.c (Fget_range_table):
9164         * rangetab.c (Fput_range_table):
9165         * rangetab.c (Fremove_range_table):
9166         * rangetab.c (Fclear_range_table):
9167         * search.c:
9168         * search.c (Fskip_chars_forward):
9169         * search.c (Fskip_chars_backward):
9170         * search.c (Fskip_syntax_forward):
9171         * search.c (Fskip_syntax_backward):
9172         * search.c (search_command):
9173         * search.c (Freplace_match):
9174         * search.c (Fregexp_quote):
9175         * select.c (Fown_selection_internal):
9176         * select.c (Fselection_owner_p):
9177         * select.c (Fselection_exists_p):
9178         * select.c (Fget_selection_internal):
9179         * specifier.c:
9180         * symbols.c:
9181         * symbols.c (Fintern):
9182         * symbols.c (Fintern_soft):
9183         * symbols.c (Funintern):
9184         * symbols.c (Fapropos_internal):
9185         * symbols.c (Fset_default):
9186         * syntax.c:
9187         * syntax.c (Fsyntax_table_p):
9188         * syntax.c (Fcopy_syntax_table):
9189         * syntax.c (Fset_syntax_table):
9190         * syntax.c (Fchar_syntax):
9191         * syntax.c (syntax_match):
9192         * syntax.c (Fmatching_paren):
9193         * syntax.c (Fforward_word):
9194         * syntax.c (scan_lists):
9195         * syntax.c (Fscan_lists):
9196         * syntax.c (Fscan_sexps):
9197         * syntax.c (Fparse_partial_sexp):
9198         * toolbar.c (Fcheck_toolbar_button_syntax):
9199         * tooltalk.doc:
9200         * window.c:
9201         * window.c (Fwindowp):
9202         * window.c (Fwindow_live_p):
9203         * window.c (Fwindow_point):
9204         * window.c (Fdelete_window):
9205         * window.c (Fnext_window):
9206         * window.c (Fprevious_window):
9207         * window.c (Fother_window):
9208         * window.c (window_loop):
9209         * window.c (Fget_lru_window):
9210         * window.c (Fsplit_window):
9211         * window.c (Fenlarge_window):
9212         * window.c (Fenlarge_window_pixels):
9213         * window.c (Fshrink_window):
9214         * window.c (Fshrink_window_pixels):
9215         * window.c (change_window_height):
9216         * window.c (Fwindow_configuration_p):
9217         * window.c (Fcurrent_window_configuration):
9218         * window.h:
9219         * casefiddle.c (casify_object):
9220         * casefiddle.c (Fupcase):
9221         * casefiddle.c (Fdowncase):
9222         * casefiddle.c (Fcapitalize):
9223         * casefiddle.c (Fupcase_initials):
9224         * casefiddle.c (casify_region_internal):
9225         * casefiddle.c (casify_region):
9226         * casefiddle.c (Fupcase_region):
9227         * casefiddle.c (Fdowncase_region):
9228         * casefiddle.c (Fcapitalize_region):
9229         * casefiddle.c (Fupcase_initials_region):
9230         * casefiddle.c (Fupcase_word):
9231         * casefiddle.c (Fdowncase_word):
9232         * casefiddle.c (Fcapitalize_word):
9233         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9234         Replace 0 with '\0' when working with bytes.
9235         Replace initial "(" with "\(" in docstrings.
9236
9237 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9238
9239         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9240
9241         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9242
9243 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9244
9245         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9246
9247 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9248
9249         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9250         correctly.
9251
9252 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9253
9254         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9255         (inhibit_auto_save_session): New variable.
9256         (vars_of_fileio): Declare and initialize them.
9257         * fileio.c (Fdo_auto_save): Don't create session file if
9258         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9259
9260 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9261
9262         * sgiplay.c (play_internal): C++ compilability.
9263         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9264         * callproc.c (Fold_call_process_internal):
9265         Remove unused vars `env', `first'.
9266         * scrollbar.c (update_scrollbar_instance):
9267         #### unused var `current_window'.
9268         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9269         etc. within #ifdef NOT_YET.
9270         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9271         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9272         * specifier.c (specifier_instance):
9273         #### unused var `tag'.
9274         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9275
9276 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9277
9278         * fns.c (Fbutlast):
9279         * fns.c (list_sort):
9280         * fns.c (Ffillarray):
9281         * fns.c (bytecode_nconc2):
9282         * fns.c (Fnconc):
9283         * fns.c (mapcar1):
9284         * fns.c (Fmapconcat):
9285         Be pedantically 64-bit correct.  For the time when someone will
9286         want to have a list with length > 2**32.
9287
9288         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9289         Work around MIPSpro compiler bug.
9290
9291         * process-unix.c (unix_kill_child_process): Add snarky comment.
9292         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9293
9294         * config.h.in: Oops, _getpt ==> _getpty
9295
9296 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9297
9298         * config.h.in:
9299         * regex.c:
9300         Use void*, not char*, as return type of alloca().
9301
9302         * alloc.c (free_marker): Side effect inside assert expression!
9303
9304 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9305
9306         * mule-charset.c (Fset_charset_ccl_program): To check
9307         if the given ccl program is valid, use setup_ccl_program()
9308         instead of CHECK_VECTOR().
9309         (Fmake_charset): Likewise.
9310
9311 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9312
9313         * faces.c (get_extent_fragment_face_cache_index):
9314         Fix cachel.merged_faces memory leak.
9315
9316 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9317
9318         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9319         Reset MSB of octets obtained by DECODE_SJIS
9320         because of the incompatibility with Emacs.
9321         (ccl_driver)<CCL_ENCODE_SJIS>:
9322         Set MSB of octets before passing them to
9323         ENCODE_SJIS because of the incompatibility
9324         with Emacs.
9325
9326 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9327
9328         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9329         (DECLARE_LRECORD): Undo the last change.
9330         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9331
9332 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9333
9334         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9335         the implementation to lrecord_implementations_table.
9336
9337 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9338
9339         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9340         initial value of `lrecord_type_##c_name' and
9341         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9342         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9343         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9344         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9345         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9346
9347 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9348
9349         * miscplay.c (sndcnv8S_2mono):
9350         (sndcnv2monounsigned):
9351         (sndcnvULaw_2linear):
9352         (sndcnv16swap):
9353         Remove implementation-defined behavior.
9354
9355 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9356
9357         * input-method-xlib.c: Warning suppression.
9358
9359 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9360
9361         * mule-ccl.c: Sync up with Emacs 21.0.90.
9362         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9363         Do nothing.
9364         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9365         Likewise.
9366         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9367         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9368         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9369         leading char belongs to official 2-dimensional charset.
9370         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9371         write the given character as is.  Otherwise,
9372         if it is a multibyte char, convert it by
9373         non_ascii_set_charptr_emchar, then write it.
9374         (CCL_WRITE_STRING): Likewise.
9375         (ccl_get_compiled_code): New function.
9376         (setup_ccl_program): When ccl_prog is invalid,
9377         return -1.
9378         (Fregister_code_conversion_map): New function.
9379         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9380
9381         * mule-ccl.h: Sync up with Emacs 21.0.90.
9382         (Fregister_ccl_program): export it.
9383
9384         * redisplay-msw.c (separate_textual_runs):
9385         If ccl program is not valid, don't do ccl conversion.
9386
9387         * redisplay-x.c (separate_textual_runs): Ditto.
9388
9389         * file-coding.c (Fmake_coding_system):
9390         When type is ccl and value is vector, register it
9391         with a proper symbol.  And checks whether the
9392         given ccl program is valid.
9393         (mule_decode): When calling ccl_driver, if src indicates
9394         NULL pointer, set an empty string instead.
9395         (mule_encode): Likewise.
9396
9397 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9398
9399         The following large batch of changes gets us back to a state of
9400         C++ compilability.  Extbyte is now a char, which means that
9401         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9402
9403         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9404
9405         * sound.c (Fplay_sound): Type correctness.
9406
9407         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9408         (x_get_window_property): Type correctness.
9409         (receive_incremental_selection): unsigned char ==> Extbyte
9410         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9411         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9412         (Fx_store_cutbuffer_internal): Type correctness.
9413
9414         * process-unix.c (try_to_initialize_subtty): Type correctness.
9415
9416         * objects-x.c (x_print_color_instance): Type correctness.
9417         (x_print_font_instance): Type correctness.
9418         (x_list_fonts): SExtbyte ==> Extbyte.
9419         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9420         (x_find_charset_font): SExtbyte ==> Extbyte.
9421         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9422         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9423         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9424         Use bufbyte_strcmp.
9425
9426         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9427         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9428         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9429         (BYTE_C0_P): Use bit ops for char-signedness safety.
9430         (BYTE_C1_P): Use bit ops for char-signedness safety.
9431         (CHARSET_BY_LEADING_BYTE):
9432         (CHARSET_BY_ATTRIBUTES):
9433         Always use inline function.
9434         Use type_checking_assert.
9435         Hide chlook.
9436
9437         * mule-charset.c (non_ascii_charptr_copy_char):
9438         Modify to work with both ASCII and non-ASCII characters.
9439         Improve docs and variable names.
9440         Replace over-clever fall-through switch with a simple loop.
9441         (Lstream_get_emchar_1):
9442         Replace over-clever fall-through switch with a simple loop.
9443
9444         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9445         Warning suppression.
9446
9447         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9448         the return value of Lstream_getc, which could be EOF as well.
9449
9450         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9451
9452         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9453         APIs can be used on Extbytes without casts.  Risky!
9454         (SExtbyte): Remove.
9455         (UExtbyte): Remove.
9456
9457         * input-method-xlib.c (XIM_init_device):
9458         Use Xlib.h instead of IntrinsicP.h.
9459         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9460         which will break in X11R7.
9461         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9462         to call XRegisterIMInstantiateCallback with correct types.
9463
9464         * gui-x.c (button_item_to_widget_value): Type correctness.
9465
9466         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9467
9468         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9469         (xbm_instantiate_1): Type correctness.
9470         (BUILD_GLYPH_INST):  Type correctness.
9471
9472         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9473
9474         * file-coding.c:
9475         (decode_coding_sjis):
9476         (decode_coding_big5):
9477         (decode_coding_ucs4):
9478         (decode_coding_utf8):
9479         (decode_coding_iso2022):
9480         (decode_coding_no_conversion):
9481         Make all decoding functions take an Extbyte * arg.
9482         (encode_coding_sjis):
9483         (encode_coding_big5):
9484         (encode_coding_ucs4):
9485         (encode_coding_utf8):
9486         (encode_coding_iso2022):
9487         (encode_coding_no_conversion):
9488         Make all encoding functions take a Bufbyte * arg.
9489         Use size_t instead of unsigned int for memory sizes.
9490         Only cast to unsigned char whenever dereferencing Extbyte *.
9491
9492         * doc.c (unparesseuxify_doc_string): Type correctness.
9493
9494         * console-x.c (split_up_display_spec):
9495         Rewrite without using details of internal string representation.
9496         (x_semi_canonicalize_device_connection): Type correctness.
9497
9498         * config.h.in:
9499         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9500         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9501         (HAVE_XFREE386): Removed.
9502
9503         * buffer.h (DEC_CHARPTR): `const' correctness.
9504         (bufbyte_strcmp): New.
9505         (bufbyte_memcmp): New.
9506
9507         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9508
9509         * buffer.h (XCHAR_OR_CHAR_INT):
9510         Always use inline function.
9511         Remove redundant type checking assert() - XINT will abort quite nicely.
9512
9513 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9514
9515         * search.c (Freplace_match): Set newtext to an empty string.
9516
9517 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9518
9519         * s/decosf1-3.h: Remove #include of stropts.h
9520         * s/ptx.h: Remove #include of stropts.h
9521         * s/usg5-4.h: Remove #include of stropts.h
9522         * sysproc.h:
9523         * config.h.in:
9524         Use stropts.h, not sys/stropts.h.
9525         Use strtio.h, not sys/strtio.h.
9526
9527 2000-10-04  Martin Buchholz <martin@xemacs.org>
9528
9529         * XEmacs 21.2.36 is released.
9530
9531 2000-09-21  Andy Piper  <andy@xemacs.org>
9532
9533         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9534         changes still involve copying the widget tree.
9535         (update_widget_face): make sure a change is register in the widget
9536         tree. Call update_tab_widget_face appropriately.
9537         (update_tab_widget_face): ditto.
9538         (x_tab_control_redisplay): make sure non-structural changes still
9539         involve copying the widget tree.
9540
9541 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9542
9543         * lread.c (locate_file): Check the path element is non-nil.
9544
9545 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9546
9547         * lisp.h: Warning suppression for SCO compilers.
9548
9549         * redisplay-tty.c (reset_tty_modes): Fix crash.
9550         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9551
9552 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9553
9554         Big signal/process handling overhaul.  Bugs fixed:
9555         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9556         M-x comint-kill-subjob should work for both values nil and t of
9557         process-connection-type. It was broken on most platforms.
9558         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9559         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9560         * process-unix.c: Signal/Process handling overhaul.
9561         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9562         (allocate_pty): Use all available modern methods of allocating
9563         ptys, falling back to old style BSD allocation as a last resort.
9564         Use allegedly more secure Unix98 pty allocation by default.
9565         (allocate_pty_the_old_fashioned_way): New. the last resort.
9566         (unix_create_process): Push ptem, ldterm, ttcompat where
9567         available.  Autoconfiscate.
9568         (try_to_initialize_subtty): New.
9569         (unix_kill_child_process): Proper signal handling for ptys on most
9570         platforms, using special knowledge of AIX, BSD, etc...
9571         (unix_create_process): Always disconnect_controlling_terminal() for
9572         subprocesses, whether using ptys or not.
9573         * process.h: Remove old getpt-dependent PTY code.
9574         * process.c (Fprocess_send_signal): New, obvious generic function.
9575         (decode_signal): New.
9576         (Finterrupt_process):
9577         (Fkill_process):
9578         (Fquit_process):
9579         (Fstop_process):
9580         (Fcontinue_process):
9581         (Fsignal_process): Use decode_signal.
9582         (process_send_signal):
9583         Many docstring corrections.
9584         Allow any signal to be sent to a process object.
9585         * config.h.in: Add symbols for big signal/process overhaul.
9586         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9587         * sysproc.h: Include process-related headers, where available:
9588         sys/stropts.h sys/strtio.h pty.h libutil.h
9589         * s/irix4-0.h:
9590         * s/irix5-0.h:
9591         * s/cygwin32.h:
9592         * s/gnu.h:
9593         * s/linux.h:
9594         * s/hpux.h:
9595         * s/aix3-1.h:
9596         Remove old S&M pty stuff.
9597         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9598         * systty.h: Simplify cpp hackery, improve comments.
9599         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9600
9601         * editfns.c (Fformat_time_string):
9602         Be a little more paranoid with the return value of ctime.
9603
9604         * fileio.c (check_executable):
9605         (check_writable):
9606         Use symbolic constants X_OK, W_OK.
9607
9608         * console-x.c (split_up_display_spec): Fix a warning.
9609
9610 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9611
9612         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9613         * ntproc.c (sys_spawnve): make_string ==> build_string
9614         Small clarity improvements.
9615
9616 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9617
9618         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9619
9620         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9621
9622         * config.h.in (HAVE_STRCASECMP): Remove.
9623
9624 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9625
9626         * redisplay-output.c (redisplay_output_pixmap):
9627         Cleaner and possibly more 64-bit correct code.
9628
9629 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9630
9631         * dumper.c (pdump_load_finish): move restoration of
9632         `noninteractive1' to emacs.c (main_1).
9633         * emacs.c (main_1): protect LISP-visible command-line flags
9634         from pdump_load().
9635
9636 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9637
9638         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9639         DUMP_TARGET instead of literal program names.
9640
9641 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9642
9643         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9644
9645 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9646
9647         * *: Spelling mega-patch
9648
9649 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9650
9651         * fns.c (bad_bad_turtle):
9652         Delete "Eek!" comment, since we fixed the bug to which it refers.
9653
9654 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9655
9656         * alloca.c: Replace REGISTER with register.
9657
9658 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9659
9660         * file-coding.c (ucs_to_char): Use countof.
9661
9662 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9663
9664         * file-coding.c: (ucs_to_char):
9665         (complex_vars_of_file_coding):
9666         Use countof instead of sizeof.
9667         Use CHECK_NATNUM instead of CHECK_INT.
9668
9669         * sysdep.c (strcasecmp): Remove.
9670         * device-x.c (ascii_strcasecmp): New.
9671         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9672         Avoid using non-standard non-portable strcasecmp.
9673
9674 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9675
9676         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9677         * font-lock.c: remove reference to emacsfns.h.
9678         * search.c: small doc improvement.
9679         * event-Xt.c: correct file names in comments.
9680         * console-x.h Correct file names in comments.
9681         * frame.c: Correct file names in comments.
9682         * event-stream.c: remove Energize from comments.
9683
9684 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9685
9686         * symeval.h (DEFERROR_STANDARD):
9687         (DEFERROR):
9688         (DEFSYMBOL):
9689         (DEFSYMBOL_NO_DUMP):
9690         (DEFSYMBOL_MULTIWORD_PREDICATE):
9691         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9692         (DEFKEYWORD):
9693         The construct &##name is not sensible C.
9694         Fixes compilation errors with Unixware native compiler.
9695
9696 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9697
9698         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9699         (next_frame_internal): Removed.  We now just have next_frame.
9700         (next_frame):
9701         Write a simpler and cleaner one-pass algorithm.
9702         Remove called_from_delete_device arg and #ifdefed-out code.
9703         (previous_frame):
9704         Renamed from prev_frame.  Update callers.
9705         Cleaned up to have an analogous implementation to next_frame.
9706         (other_visible_frames_internal): Remove the
9707         called_from_delete_device bogus arg, and hence, remove this
9708         function.  Just use other_visible_frames().
9709
9710         * window.c (Fnext_window):
9711         Prettify docstring.
9712         Since next_frame() is guaranteed to return a frame, remove check
9713         for nil inserted in previous patch.
9714         (Fprevious_window):
9715         Prettify docstring.
9716         Make code look more like Fnext_window.
9717         (window_loop):
9718         Respect the `console' arg when iterating through windows.
9719         Fixes bug: (get-buffer-window buffer t device) not respecting
9720         the `device' arg.
9721         This function needs more work, as others have pointed out.
9722
9723         * frame.h: Rename prev_frame to previous_frame.
9724         device_matches_console_spec no longer takes a `frame' arg.
9725
9726         * s/gnu.h:
9727         * s/linux.h:
9728         * s/hpux.h:
9729         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9730         From "Golubev I. N." <gin@mo.msk.ru>.
9731
9732         * make-src-depend: Fix typo.
9733
9734 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9735
9736         * window.c (Fnext_window):
9737         next_frame() might return nil, not a frame.
9738         Fixes this crash:
9739         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9740
9741         * frame.c (next_frame_internal):
9742         We've passed a frame if we've passed its device.
9743         Fixes this crash:
9744         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9745 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9746
9747 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9748
9749         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9750         Allow option to suppress accelerators in menu/dialog items.
9751         (populate_or_checksum_helper): Pass dialog title through above.
9752
9753 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9754
9755         * event-msw.c (mswindows_key_to_emacs_keysym):
9756         Add "pause" key, fix "menu" key.
9757
9758 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9759
9760         * eval.c (reinit_vars_of_eval):
9761         Increase max_lisp_eval_depth to 1000,
9762         required for thai-xtis.el to byte-compile under some circumstances.
9763
9764 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9765
9766         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9767         From Kenichi Handa.
9768
9769 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9770
9771         * make-src-depend: Make the generated Makefiles smaller.
9772
9773         * s/hpux.h (SETUP_SLAVE_PTY):
9774         Provide a %d in the format string for the errno argument.
9775
9776         * editfns.c (Ftemp_directory):
9777         Warning fix.
9778         Avoid buffer overrun on very long file name.
9779
9780         * input-method-xlib.c (XIM_init_device):
9781         6th parameter of XRegisterIMInstantiateCallback has different
9782         pointer types on different OSes, so simply cast to (void *).
9783
9784         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9785
9786         * sysdll.c (dll_open):
9787         shl_load will hang hard if passed a NULL filename.
9788         Simply return NULL for compatibility with dlopen.
9789         * sysdll.c: Conform to XEmacs coding standards.
9790
9791         * sysdep.c (get_pty_max_bytes):
9792         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9793
9794 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9795
9796         * tooltalk.c: Add #include <syssignal.h>
9797
9798 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9799
9800         * s/hpux.h: Don't use undefined function sigunblock().
9801
9802 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9803
9804         * config.h.in: Add HAVE_BALLOON_HELP.
9805         * emacs.c: Use HAVE_BALLOON_HELP.
9806         * Makefile.in.in (x_objs):
9807         Make Balloon Help conditional on finding shape.h.
9808
9809 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9810
9811         * syntax.c (regex_emacs_buffer_p): New variable.
9812         * syntax.h (regex_emacs_buffer_p): extern.
9813         * search.c (looking_at_1):
9814         (string_match_1):
9815         (fast_string_match):
9816         (search_buffer): Set regex_emacs_buffer_p.
9817         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9818         when before_dot, at_dot, after_dot.
9819
9820 2000-08-23  Andy Piper  <andy@xemacs.org>
9821
9822         * gui-x.c (popup_selection_callback): Only set action_occurred
9823         when we really have an image instance.
9824         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9825
9826 2000-08-23  Andy Piper  <andy@xemacs.org>
9827
9828         * gui-msw.c (mswindows_handle_gui_wm_command): set
9829         action_occurred.
9830         * gui-x.c (popup_selection_callback): ditto.
9831
9832         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9833         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9834         (struct Lisp_Image_Instance): add action_occurred flag.
9835
9836         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9837         (image_instance_changed): ditto.
9838         (reset_frame_subwindow_instance_cache): only unmap windows - do
9839         not remove them from the cache also.
9840
9841         * glyphs-widget.c (tab_control_update): better debug.
9842         (progress_gauge_update): ditto.
9843         (layout_update): ditto.
9844         (layout_instantiate): ditto.
9845         (tab_control_order_only_changed): cope with null pending items.
9846
9847         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9848         debug. Force selection of an item when an action occurred. Cope
9849         with null pending_items.
9850         (mswindows_progress_gauge_redisplay): better debug.
9851         * glyphs-x.c (x_tab_control_redisplay): ditto.
9852
9853         * redisplay.c (redisplay_frame): reset the frame cache if the
9854         frame is garbaged.
9855
9856         * window.c (Fset_window_configuration): potentially re-enable
9857         frame cache reset.
9858         (window_unmap_subwindows): need to finalize instances here since
9859         it is only used in mark_window_as_deleted.
9860
9861 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9862
9863         * nas.c (SndOpenDataForReading):
9864         nas.c (WaveOpenDataForReading):
9865         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9866         Somehow escaped from the 2000-08-14 patch.
9867
9868 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9869
9870         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9871         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9872
9873 2000-08-21  Andy Piper  <andy@xemacs.org>
9874
9875         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9876         window if it is not already displayed.
9877
9878         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9879         it is not already displayed.
9880
9881         * window.c (Fset_window_configuration): don't reset the frame
9882         cache.
9883
9884         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9885         instances from the frame cache if we are actually finalizing them.
9886         (reset_frame_subwindow_instance_cache): reset frame cache only
9887         after unmapping everything.
9888         (map_subwindow): set displayed flag after mapping.
9889
9890 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9891
9892         * data.c (indirect_function):
9893         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9894
9895         * eval.c (function_argcount):
9896         Use original function when signaling errors.
9897
9898 2000-08-18  Andy Piper  <andy@xemacs.org>
9899
9900         * frame.c (delete_frame_internal): use new
9901         free_frame_subwindow_instances name.
9902
9903         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9904         (add_tab_item): make return type correct.
9905         (mswindows_tab_control_instantiate): assert index of tab.
9906         (mswindows_tab_control_redisplay): Re-code to use
9907         gui_item_equal_sans_selected and gui_item_list_find_selected.
9908
9909         * glyphs-widget.c (tab_control_update): Correct comment.
9910
9911         * window.c (window_unmap_subwindows): use new
9912         unmap_subwindow_instance_cache_mapper.
9913         (window_unmap_subwindows_cache_mapper): deleted.
9914         (Fset_window_configuration): comparisons should now be with
9915         EQ. Preserve the subwindow instance cache across configuration
9916         changes.
9917         (allocate_window): ditto.
9918         (make_dummy_parent): ditto.
9919
9920         * glyphs.c (free_frame_subwindow_instances): rename from
9921         free_frame_subwindow_instance_cache. finalize all instances rather
9922         than just those in the display cache.
9923         (finalize_all_subwindow_instances): walk windows unmapping and
9924         finalizing subwindows.
9925         (unmap_subwindow_instance_cache_mapper): moved from
9926         window.c. Allow finalization as well as unmapping.
9927
9928         * gui.c (gui_item_list_find_selected): new function.
9929
9930         * gui.h (gui_item_list_find_selected): declare.
9931
9932         * glyphs-x.c (x_tab_control_redisplay): pick tab
9933         explicitly. Re-code to use gui_item_equal_sans_selected and
9934         gui_item_list_find_selected.
9935
9936         * glyphs-x.h: add lwlib-utils.h
9937
9938         * buffer.c (Frecord_buffer): undo previous change.
9939
9940 2000-08-09  Vin Shelton  <acs@xemacs.org>
9941
9942         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9943         possible.  Create temporary files more securely.  The patch was
9944         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9945         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9946         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9947         for details.
9948
9949 2000-08-07  Ben Wing  <ben@xemacs.org>
9950
9951         * getloadavg.c: remove duplicate (and windows-breaking)
9952         includes of fcntl.h and sys/file.h.
9953
9954         * nt.c: remove duplicate getloadavg() definition.
9955
9956         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9957         encodings.
9958
9959 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9960
9961         * eval.c (function_argcount): If function needs to be autoloaded
9962         actually use the loaded definition.
9963         GCPRO function.
9964
9965 2000-08-05  Ben Wing  <ben@xemacs.org>
9966
9967         * getloadavg.c: add prototype for getloadavg().  remove
9968         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9969         of the code).  remove duplicate header includes.
9970
9971         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9972
9973         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9974         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9975         useful load average.
9976
9977         * alloc.c (reinit_alloc_once_early): removed references to
9978         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9979         the lisp vars are the only things referencing the malloc_sbrk_*
9980         vars, and they were already if 0'd out.  these vars only exist
9981         in the older malloc.c, which is basically unused, and they're
9982         only for informational purposes.
9983
9984         * m\*.h: removed useless VIRT_ADDR_VARIES.
9985
9986         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9987
9988 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9989
9990         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9991         color if the image is a mono pixmap.
9992
9993 2000-07-30  Ben Wing  <ben@xemacs.org>
9994
9995         * Makefile.in.in (release):
9996         Remove stray @.
9997
9998         * buffer.c (directory_is_current_directory):
9999         * dired-msw.c (mswindows_get_files):
10000         * dired.c:
10001         * dired.c (Fdirectory_files):
10002         * dired.c (file_name_completion_stat):
10003         * dired.c (Ffile_attributes):
10004         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10005         preprocessor tricks, to avoid problems on some machines
10006         (e.g. SCO).
10007
10008         * callproc.c (egetenv): GC docs.
10009
10010         * console-msw.h:
10011         * console-msw.h (struct mswindows_dialog_id):
10012         * lrecord.h (lrecord_type):
10013         New object for use with MSW dialogs.
10014
10015         * console.h (struct console_methods):
10016         New enable/disable frame methods, for proper modal dialogs.
10017
10018         * device-msw.c (msprinter_default_printer): Fix to follow
10019         proper Mule conventions.
10020
10021         * device-msw.c:
10022         * device-msw.c (signal_open_printer_error):
10023         * device-msw.c (msprinter_init_device):
10024         * device-msw.c (ensure_not_printing):
10025         * device-msw.c (plist_get_margin):
10026         * device-msw.c (Fmsprinter_select_settings):
10027         * device-msw.c (finalize_devmode):
10028         * device-msw.c (Fmsprinter_settings_despecialize):
10029         * device-msw.c (signal_enum_priner_error):
10030         * extents.c (decode_extent):
10031         * extents.c (decode_map_extents_flags):
10032         * extents.c (decode_extent_at_flag):
10033         * extents.c (Fextent_at):
10034         * extents.c (Fextents_at):
10035         * extents.c (symbol_to_glyph_layout):
10036         [[[[2]]]] Use structured errors.
10037
10038         * dialog-msw.c:
10039         * dialog-msw.c (mswindows_is_dialog_msg):
10040         * dialog-msw.c (mark_mswindows_dialog_id):
10041         * dialog-msw.c (dialog_proc):
10042         * dialog-msw.c (handle_question_dialog_box):
10043         * dialog-msw.c (syms_of_dialog_mswindows):
10044         Define new object to clean up marking; use it as a dialog identifier.
10045         Call new delete-dialog-box-hook.
10046
10047         * dialog-x.c (dbox_selection_callback):
10048         * dialog-x.c (dbox_descriptor_to_widget_value):
10049         * dialog-x.c (x_make_dialog_box_internal):
10050         Call new delete-dialog-box-hook.
10051         Return an id.
10052
10053         * dialog.c:
10054         * dialog.c (syms_of_dialog):
10055         * dialog.c (vars_of_dialog):
10056         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10057
10058         * eval.c:
10059         * eval.c (signal_call_debugger):
10060         when noninteractive, output stack traces on the console instead
10061         of in a (never-seen) buffer.
10062
10063         * eval.c (signal_type_error):
10064         * eval.c (invalid_argument_2):
10065         * lisp.h:
10066         new funs for use w/structured errors.
10067
10068         * event-Xt.c:
10069         * event-Xt.c (x_to_emacs_keysym):
10070         * event-Xt.c (describe_event):
10071         * event-Xt.c (emacs_Xt_event_handler):
10072         * event-Xt.c (vars_of_event_Xt):
10073         * event-msw.c:
10074         * event-msw.c (mswindows_wnd_proc):
10075         * event-msw.c (vars_of_event_mswindows):
10076         rename {x,mswindows}-debug-events to debug-{}-events for
10077         consistency with other debug-foo variables.
10078
10079         * event-stream.c:
10080         document next-event more clearly.
10081
10082         * fileio.c (Ffile_name_directory):
10083         * fileio.c (Ffile_name_nondirectory):
10084         * fileio.c (Funhandled_file_name_directory):
10085         * fileio.c (file_name_as_directory):
10086         * fileio.c (Ffile_name_as_directory):
10087         * fileio.c (directory_file_name):
10088         * fileio.c (Fdirectory_file_name):
10089         * fileio.c (Fmake_temp_name):
10090         * fileio.c (Ffile_truename):
10091         * fileio.c (Fsubstitute_in_file_name):
10092         * fileio.c (expand_and_dir_to_file):
10093         * fileio.c (barf_or_query_if_file_exists):
10094         * fileio.c (check_executable):
10095         * fileio.c (Ffile_exists_p):
10096         * fileio.c (Ffile_writable_p):
10097         * fileio.c (Ffile_directory_p):
10098         * fileio.c (Ffile_regular_p):
10099         * fileio.c (Ffile_modes):
10100         * fileio.c (Ffile_newer_than_file_p):
10101         * fileio.c (Fverify_visited_file_modtime):
10102         * fileio.c (Fset_visited_file_modtime):
10103         * fileio.c (auto_save_1):
10104         (1). (2).
10105         fix up gcpro's.
10106
10107         * frame-msw.c:
10108         * frame-msw.c (mswindows_init_frame_1):
10109         * frame-msw.c (mswindows_enable_frame):
10110         * frame-msw.c (error_frame_unsizable):
10111         * frame-msw.c (msprinter_init_frame_1):
10112         * frame-msw.c (msprinter_init_frame_3):
10113         * frame-msw.c (console_type_create_frame_mswindows):
10114         (2).
10115         implement new enable/disable frame methods.
10116
10117         * frame-x.c:
10118         * frame-x.c (x_enable_frame):
10119         * frame-x.c (console_type_create_frame_x):
10120         implement new enable/disable frame methods.
10121
10122         * frame.c:
10123         * frame.c (Fdisable_frame):
10124         * frame.c (syms_of_frame):
10125         * frame.h (struct frame):
10126         implement new enable/disable frame methods/functions.
10127
10128         * general-slots.h:
10129         add initial-focus.
10130
10131         * glyphs-msw.c (mswindows_widget_instantiate):
10132         comment that initial-focus should be implemented.
10133
10134         * glyphs-widget.c:
10135         * glyphs-widget.c (check_valid_instantiator):
10136         * glyphs-widget.c (check_valid_orientation):
10137         * glyphs-widget.c (check_valid_tab_orientation):
10138         * glyphs-widget.c (check_valid_justification):
10139         * glyphs-widget.c (check_valid_border):
10140         * glyphs-widget.c (check_valid_callback):
10141         * glyphs-widget.c (check_valid_int_or_function):
10142         * glyphs-widget.c (check_valid_string_or_vector):
10143         * glyphs-widget.c (check_valid_item_list_1):
10144         * glyphs-widget.c (widget_validate):
10145         * glyphs-widget.c (combo_box_validate):
10146         * glyphs-widget.c (widget_instantiate):
10147         * glyphs-widget.c (syms_of_glyphs_widget):
10148         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10149         * glyphs-widget.c (image_instantiator_combo_box):
10150         * glyphs-widget.c (image_instantiator_scrollbar):
10151         * glyphs-widget.c (image_instantiator_tab_control):
10152         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10153         (2).
10154         support (unimplemented) keyword initial-focus.
10155         reindent long macros.
10156
10157         * glyphs-x.c (x_redisplay_widget):
10158         * glyphs-x.c (x_button_instantiate):
10159         * glyphs-x.c (x_button_redisplay):
10160         * glyphs-x.c (x_progress_gauge_instantiate):
10161         * glyphs-x.c (x_edit_field_instantiate):
10162         * glyphs-x.c (x_combo_box_instantiate):
10163         * glyphs-x.c (x_tab_control_instantiate):
10164         * glyphs-x.c (x_label_instantiate):
10165         * gui-x.c:
10166         * gui-x.c (button_item_to_widget_value):
10167         * gui-x.c (gui_items_to_widget_values_1):
10168         * gui-x.c (gui_item_children_to_widget_values):
10169         * gui-x.c (gui_items_to_widget_values):
10170         * gui-x.h:
10171         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10172         add new flag to gui-parsing routines to indicate whether
10173         accelerator specs should be supported.
10174
10175         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10176
10177         * glyphs.h (struct Lisp_Image_Instance):
10178         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10179         add initial-focus flag.
10180
10181         * gui.c:
10182         * gui.c (syms_of_gui):
10183         * gui.c (vars_of_gui):
10184         clean up menu-no-selection-hook.
10185
10186         * gui.h:
10187         support delete-dialog-box-hook.
10188
10189         * lread.c (Fload_internal):
10190         * lread.c (locate_file_in_directory_mapper):
10191         (1).
10192
10193         * lrecord.h:
10194         * lrecord.h (struct toolbar_button):
10195         * lrecord.h (syms_of_toolbar):
10196         document how to create a new object.
10197
10198         * menubar-msw.c (mswindows_char_is_accelerator):
10199         may be called on frames w/o menus.
10200
10201         * menubar.c (vars_of_menubar):
10202         clean up :filter docs.
10203
10204         * nt.c (readdir):
10205         * ntproc.c:
10206         (1).
10207
10208         * process-nt.c:
10209         * process-nt.c (validate_signal_number):
10210         * process-nt.c (signal_cannot_launch):
10211         * process-nt.c (nt_create_process):
10212         * process-nt.c (nt_send_process):
10213         * process-nt.c (nt_kill_child_process):
10214         * process-nt.c (nt_open_network_stream):
10215         * process-nt.c (syms_of_process_nt):
10216         (2).
10217         delete quote-handling.  call new lisp code that does it better.
10218
10219         * process-unix.c (connect_to_file_descriptor):
10220         * process-unix.c (allocate_pty):
10221         * process-unix.c (unix_send_process):
10222         * process-unix.c (unix_kill_child_process):
10223         * process-unix.c (unix_open_network_stream):
10224         * process-unix.c (unix_open_multicast_group):
10225         (1). (2).
10226
10227         * process.c:
10228         * process.c (Fstart_process_internal):
10229         (2).  need to canonicalize process path even if absolute.
10230
10231         * select-msw.c (symbol_to_ms_cf):
10232         * select-msw.c (ms_cf_to_symbol):
10233         * select-msw.c (cf_is_autofreed):
10234         * select-msw.c (mswindows_destroy_selection):
10235         * select.c:
10236         * select.c (syms_of_select):
10237         * select.h:
10238         support dibv5, fix bugs. (from Mike Alexander)
10239
10240         * select.c (Fget_selection_internal):
10241         * select.c (select_convert_out):
10242
10243         * sysdep.c:
10244         * sysdep.c (xemacs_stat):
10245         renamed.
10246
10247         * sysdep.c (mkdir):
10248         * sysdep.c (rmdir):
10249         but keep original stat() here because we provide encapsulation
10250         around these funs.
10251
10252         * sysfile.h:
10253         * sysfile.h (fstat):
10254         remove stat garbage.
10255
10256         * syswindows.h:
10257         fix X/MSW conflict.
10258         don't include tchar.h.  it's inappropriate because it makes
10259         compile-time distinctions when we want runtime distinctions.
10260         (we provide our own tchar replacements)
10261
10262         * toolbar.c:
10263         use default object printer for toolbar-button.
10264
10265         * unexcw.c:
10266         make sure we don't encapsulate.
10267
10268         * window.c (vars_of_window):
10269         emphasize that temp-buffer-show-hook is obsolete.
10270
10271 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10272
10273         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10274         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10275
10276         * events.c (Fevent_timestamp_lessp):
10277         Not 64-bit clean.  Use EMACS_INT, not int.
10278
10279 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10280
10281         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10282         unsigned int and changed the last enum to
10283         lrecord_type_last_built_in_type.
10284         (lrecord_implementations_table): changed prototype to know how
10285         long the array is supposed to be.
10286         (lrecord_type_count): new unsigned int to keep track of the
10287         current number of lisp lrecord types.
10288         (DEFINE_EXTERNAL_LRECORD):
10289         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10290         dynamic-modules to declare new lisp types. They are the same
10291         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10292         int for each new type, and increment lrecord_type_count by 1.
10293
10294         * alloc.c (lrecord_implementations_table): Changed to reference
10295         lrecord_type_last_built_in_type for the size of the array.
10296         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10297
10298 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10299
10300         * glyphs.h (check_valid_item_list): Renamed from
10301         check_valid_item_list_1.
10302
10303 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10304
10305         * select.c (Qselect_coerce): New.
10306         * select.c (Vselection_coercion_alist): New.
10307         * select.c (syms_of_select): Declare.
10308         * select.c (get-selection-internal): Use it.
10309         Use the new select-coerce functionality.
10310
10311         * select.c (select_coerce): New.
10312         * select.h (select_coerce): Declare.
10313         New function to coerce one type of data into another.
10314
10315 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10316
10317         * callproc.c (Fcall_process_internal):
10318         (Fcall_process_internal):
10319         * process-unix.c (unix_create_process):
10320         Save and restore the value of errno, so that error messages are accurate.
10321
10322 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10323
10324         * elhash.c (print_hash_table):
10325         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10326         Prettify docstrings and indentation.
10327
10328 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10329
10330         * window.c (Fwindow_pixel_edges): Subtract frame border and
10331         gutter size.
10332
10333 2000-07-31  Andy Piper  <andy@xemacs.org>
10334
10335         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10336         will acknowledge the change.
10337
10338         * glyphs.h: declare tab_control_order_only_changed.
10339
10340         * glyphs-x.c (x_tab_control_redisplay): use
10341         tab_control_order_only_changed.
10342
10343         * glyphs-widget.c (tab_control_order_only_changed): new function.
10344
10345         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10346         tab_control_order_only_changed.
10347
10348         * gui.c (gui_item_equal_sans_selected): new function.
10349         (gui_item_equal): use it.
10350
10351         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10352         :properties in favor of :items..
10353
10354         * glyphs-widget.c (check_valid_item_list): rename from
10355         check_valid_item_list_1.
10356         (check_valid_item_list_1): renamed.
10357         (combo_box_validate): deprecate :properties in favor of :items.
10358         (widget_instantiate): ditto.
10359         (tab_control_update): ditto.
10360         (image_instantiator_combo_box): ditto.
10361         (image_instantiator_tree_view): ditto.
10362         (image_instantiator_tab_control): ditto.
10363         (layout_post_instantiate): remove dead code.
10364
10365         * print.c (debug_print_no_newline): only write to debugger if in
10366         WIN32_NATIVE.
10367
10368         * elhash.c (Fmake_hash_table): update doc string.
10369
10370         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10371         messages whilst in GC. This at least stops XEmacs crashing but has
10372         the potential for wierd behaviour.
10373
10374 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10375
10376         * config.h.in:
10377         Make existence of s&m files optional.
10378
10379         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10380         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10381         * s/gnu.h: Remove HAVE_GETLOADAVG.
10382         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10383         * s/sol2.h: Remove HAVE_GETLOADAVG.
10384         * lisp.h: Remove getloadavg() declaration.
10385         * fns.c:
10386         Include <sys/loadavg.h> if available.
10387         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10388         * config.h.in:  Group together getloadavg()-related macros.
10389         Use only configure-time tests to detect getloadavg().
10390
10391 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10392
10393         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10394
10395 2000-07-25  Andy Piper  <andy@xemacs.org>
10396
10397         * syswindows.h: add tchar.h for native builds.
10398
10399         * frame.c (syms_of_frame): remove set-glyph-image.
10400
10401         * general-slots.h: add Qset_glyph_image.
10402
10403         * glyphs-widget.c (layout_update): add domain arg to
10404         set-glyph-image.
10405         (syms_of_glyphs_widget): remove set-glyph-image.
10406
10407 2000-07-23  Ben Wing  <ben@xemacs.org>
10408
10409         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10410         Vpopup_frame_list.
10411
10412 2000-07-22  Andy Piper  <andy@xemacs.org>
10413
10414         * symsinit.h: add syms_of_win32().
10415
10416         * gui-msw.c (syms_of_gui_mswindows): remove
10417         Fmswindows_shell_execute.
10418         (Fmswindows_shell_execute): moved to win32.c.
10419
10420         * emacs.c (main_1): add syms_of_win32 ().
10421
10422         * win32.c (init_potentially_nonexistent_functions): rewrite in
10423         compiler-friendly terms.
10424         (Fmswindows_shell_execute): move here from gui-msw.c.
10425         (syms_of_win32): new.
10426
10427         * device-msw.c (Fmswindows_printer_list): clean up args to
10428         EnumPrinters.
10429         Don't include tchar under cygwin or mingw.
10430         (msprinter_default_printer): make cygwin-friendly.
10431
10432 2000-07-21  Andy Piper  <andy@xemacs.org>
10433
10434         * glyphs-widget.c (image_instantiator_tree_view): use tab
10435         control's update function.
10436         (layout_property): new function. Retrieve items.
10437
10438         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10439         function. Re-populate the tree view from the pending items.
10440
10441         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10442         is designated the parent if the domain is an image instance. This
10443         is needed so that dirtiness can be cascade up the hierarchy and
10444         thus for layout children to be redisplayed correctly.
10445         (allocate_image_instance): rename glyph -> parent.
10446
10447         * redisplay.h: change redisplay_output_layout signature.
10448
10449         * redisplay-msw.c (mswindows_output_display_block): use domain
10450         arg.
10451
10452         * redisplay-x.c (x_output_display_block): use domain arg.
10453
10454 2000-07-10  Andy Piper  <andy@xemacs.org>
10455
10456         * window.c (Fset_window_configuration): add comment.
10457
10458         * redisplay-output.c (compare_runes):
10459         (redisplay_output_subwindow): redisplay rather than update subwindow.
10460         (redisplay_output_layout): ditto.
10461
10462         * redisplay-msw.c (mswindows_frame_output_end):
10463         (mswindows_frame_output_end): make defer window pos optional.
10464
10465         * lisp.h: add Flast.
10466
10467         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10468         normalize method. Change update method to be for changed
10469         instantiators. Add redisplay method. Change signature of layout
10470         method.
10471         (struct Lisp_Image_Instance): add instantiator.
10472         (IMAGE_INSTANCE_INSTANTIATOR): new.
10473         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10474         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10475         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10476
10477         * glyphs.c:
10478         (find_instantiator_differences): new function.
10479         (Fset_instantiator_property): new convenience function.
10480         (check_image_instance_structure): strictly check for vector
10481         instantiators.
10482         (normalize_image_instantiator): make non-static.
10483         (instantiate_image_instantiator): pass on dest_mask and use new
10484         signatures for image_instance_layout and friends.
10485         (mark_image_instance): mark the instantiator. Mark the subwindow
10486         face not the widget face.
10487         (image_instance_equal): add instantiator.
10488         (image_instance_hash): ditto.
10489         (allocate_image_instance): ditto.
10490         (Fset_image_instance_property): removed.
10491         (Fimage_instance_file_name): ditto.
10492         (Fcolorize_image_instance): ditto.
10493         (image_instance_layout): add offsets to be set.
10494         (update_image_instance): new function. update an image instance
10495         from its changed instantiator.
10496         (inherit_normalize): add dest_mask.
10497         (xbm_normalize): ditto.
10498         (xface_normalize): ditto.
10499         (xpm_normalize): ditto.
10500         (text_update): set_property -> update.
10501         (image_instantiate): use the glyph identity as a hash key, not the
10502         instantiator.
10503         (glyph_width): use new image_instance_layout signature.
10504         (glyph_ascent): ditto.
10505         (glyph_descent): ditto.
10506         (glyph_height): ditto.
10507         (glyph_query_geometry): ressurrect.
10508         (glyph_layout): ditto.
10509         (redisplay_subwindow): update -> redisplay.
10510         (syms_of_glyphs): add Fset_instantiator_property.
10511         (image_instantiator_format_create): set_property -> update.
10512
10513         * glyphs-x.c:
10514         (autodetect_normalize): add dest_maks to signature.
10515         (x_redisplay_subwindow): update -> redisplay.
10516         (x_redisplay_widget): ditto.
10517         (x_button_redisplay): ditto.
10518         (x_progress_gauge_redisplay): ditto.
10519         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10520         stacking order.
10521         (console_type_create_glyphs_x): update -> redisplay.
10522         (image_instantiator_format_create_glyphs_x): ditto.
10523
10524         * glyphs-widget.c:
10525         (check_valid_instantiator): disallow glyphs in the instantiator,
10526         they must now be vectors.
10527         (check_valid_instantiator_list): ditto.
10528         (glyph_instantiator_to_glyph): use internal symbol rather than
10529         intern.
10530         (widget_update): renamed from widget_set_property. Call cascaded
10531         update methods.
10532         (redisplay_widget): renamed from update_widget.
10533         (widget_layout): image_instance_layout now takes position as well
10534         as size.
10535         (widget_normalize): ditto.
10536         (widget_instantiate): ditto.
10537         (tab_control_query_geometry) ditto.:
10538         (tab_control_update): renamed from tab_control_set_property.
10539         (progress_gauge_update): set_property -> update.
10540         (layout_normalize): rewrite so that child instantiators are
10541         normalized also.
10542         (layout_update): new function. Create glyphs from the normalized
10543         children and cope with any other layout keywords. We do not
10544         instantiate children here that will be take care of by
10545         redisplay_output_layout.
10546         (layout_instantiate): call layout_update and not much else.
10547         (layout_post_instantiate): not sure whether this is needed
10548         anymore.
10549         (layout_query_geometry): query glyph geometry rather than
10550         image_instance geometry.
10551         (layout_layout): set offsets from pass in parameters. Use glyph
10552         geometry and layout functions rather than image instance ones.
10553         (native_layout_layout): ditto.
10554         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10555         (image_instantiator_widget): set_property -> update.
10556         (image_instantiator_buttons): ditto.
10557         (image_instantiator_progress_guage): ditto.
10558         (image_instantiator_tab_control): ditto.
10559         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10560         (image_instantiator_layout): add update method.
10561
10562         * glyphs-msw.c (bmp_normalize):
10563         (mswindows_resource_normalize): add dest_mask so that it can be
10564         proprogated by layout_normalize.
10565         (begin_defer_window_pos): make optional because it may not be the
10566         right thing to do and it introduces differences with X.
10567         (mswindows_unmap_subwindow): ditto.
10568         (mswindows_map_subwindow): ditto.
10569         (mswindows_redisplay_subwindow): renamed from
10570         mswindows_update_subwindow.
10571         (mswindows_redisplay_widget): ditto.
10572         (mswindows_button_redisplay): renamed from
10573         mswindows_button_update. Update is now what the instantiation
10574         function does for a changed instantiator.
10575         (mswindows_progress_gauge_instantiate): set the progress value
10576         here if appropriate.
10577         (mswindows_tab_control_redisplay): cope with re-ordering of the
10578         members of the tab widget by simply selecting the new top
10579         widget. This makes things appear ok if you click on a tab.
10580         (mswindows_combo_box_instantiate): image_instance_layout now takes
10581         position as well as size.
10582         (mswindows_progress_gauge_redisplay): renamed from
10583         mswindows_progress_gauge_update.
10584         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10585         (image_instantiator_format_create_glyphs_mswindows): ditto.
10586
10587         * glyphs-eimage.c (jpeg_normalize):
10588         (gif_normalize):
10589         (png_normalize):
10590         (tiff_normalize): add dest_mask so that it can be proprogated by
10591         layout_normalize.
10592
10593         * elhash.c:
10594         (print_hash_table):
10595         (hash_table_weakness_validate):
10596         (decode_hash_table_weakness):
10597         (Fhash_table_weakness):
10598         (Fhash_table_type):
10599         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10600
10601         * console.h (struct console_methods): move update_* to
10602         redisplay_*.
10603
10604 2000-07-20  Ben Wing  <ben@xemacs.org>
10605
10606         * *.[ch] (XSETOBJ): remove unused middle argument.
10607         lisp-disunion.h: correct wrap_object() to one argument.
10608
10609 2000-07-15  Ben Wing  <ben@xemacs.org>
10610
10611         * s/cygwin32.h:
10612         * s/cygwin32.h (CYGWIN_CONV_PATH):
10613         Add missing logb prototype for v1.1.
10614         Use post-b20 names and alias to pre-b20 names when pre-b20.
10615
10616         * s/windowsnt.h: [5].
10617
10618 2000-07-15  Ben Wing  <ben@xemacs.org>
10619
10620         * Makefile.in.in (x_objs):
10621         * Makefile.in.in (sheap_objs):
10622         * Makefile.in.in (objs):
10623         added win32.o, cosmetic cleanups.
10624
10625         * alloc.c (Fmake_byte_code):
10626         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10627         etc. macros which declare their own args now.
10628
10629         * alloc.c (syms_of_alloc):
10630         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10631
10632         * buffer.c:
10633         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10634
10635         * buffer.c (Fget_file_buffer):
10636         Fixed GCPRO problem.
10637
10638         * buffer.c (get_truename_buffer):
10639         Fixed comment about GC checking.
10640
10641         * buffer.c (syms_of_buffer):
10642         Undeclared those dedicated frame funs.
10643         [2].
10644
10645         * buffer.h:
10646         Define convenience macros for internal/external conversions.
10647         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10648         and Qenvironment_variable_encoding for cleaner code.
10649
10650         * bufslots.h:
10651         Remove dedicated-frame; in lisp.
10652
10653         * bytecode.c (funcall_compiled_function):
10654         [1].
10655
10656         * bytecode.c (syms_of_bytecode):
10657         [2].
10658
10659         * console-msw.c:
10660         * console-msw.c (mswindows_show_console): Rewrote.
10661
10662         * console-msw.c (Fmswindows_debugging_output): New.
10663         Sends to OutputDebugString (special MSWin debugger interface).
10664
10665         * console-msw.c (Fmswindows_message_box):
10666         Fixed stupid bugs so it works when called from kill-emacs.
10667
10668         * console-msw.c (syms_of_console_mswindows):
10669         Declare Fmswindows_debugging_output.
10670
10671         * console-msw.h:
10672         New MSWin prototypes.
10673
10674         * console-msw.h (struct mswindows_frame):
10675         New entry last-click-mods for improved button-modifier support.
10676
10677         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10678         New struct entry `popup' with corresponding accessor.
10679
10680         * console-x.c:
10681         * console-x.c (split_up_display_spec):
10682         * console-x.c (get_display_arg_connection):
10683         * console-x.c (x_semi_canonicalize_console_connection):
10684         * console-x.c (x_canonicalize_device_connection):
10685         [[[6]]]: Change char to more specific type.
10686         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10687
10688         * console-x.c (x_semi_canonicalize_console_connection):
10689         * console-x.c (x_canonicalize_device_connection):
10690         [[[9]]]: Fix up error signalling to use new structured error system.
10691
10692         * console-x.h:
10693         [[[4]]]: Define codesys aliases:
10694         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10695         Qx_color_name_encoding, Qx_display_name_encoding.
10696
10697         * console.h (struct console_methods):
10698         New method make_dialog_box_internal supersedes older
10699         popup_dialog_box method.
10700
10701         * data.c:
10702         Define many new errors, part of new structured errors.
10703
10704         * data.c (init_errors_once_early):
10705         * data.c (syms_of_data):
10706         [2].
10707
10708         * device-msw.c (mswindows_init_device):
10709         [[[5]]]: Cleanup to support NT 3.51.
10710
10711         * device-msw.c (decode_devmode): Cleanup.
10712
10713         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10714         * device-msw.c (mswindows_handle_print_dialog_box):
10715         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10716         * device-msw.c (syms_of_device_mswindows):
10717         Delete the dialog box primitives recently introduced by Kirill and
10718         instead interface to general dialog box interface.
10719
10720         * device-x.c:
10721         * device-x.c (compute_x_app_name):
10722         * device-x.c (x_init_device):
10723         * device-x.c (Fx_valid_keysym_name_p):
10724         * device-x.c (Fx_set_font_path):
10725         [6].
10726         [7].
10727
10728         * device.h (wrap_device): New.
10729         First of its kind; meant to replace XSETDEVICE.
10730
10731         * dialog-msw.c: Many file-dialog symbols.
10732
10733         * dialog-msw.c (mswindows_register_popup_frame): New.
10734         * dialog-msw.c (mswindows_is_dialog_msg): New.
10735         For supporting kbd traversal in dialog boxes.
10736
10737         * dialog-msw.c (dialog_proc):
10738         Support hitting ESC in dialogs.
10739
10740         * dialog-msw.c (struct):
10741         Common dialog box errors.
10742
10743         * dialog-msw.c (handle_file_dialog_box): New.
10744         Add file dialog code.
10745
10746         * dialog-msw.c (handle_question_dialog_box):
10747         Redo existing code to support new question dialog syntax.
10748
10749         * dialog-msw.c (console_type_create_dialog_mswindows):
10750         We support new dialog console method.
10751
10752         * dialog-msw.c (syms_of_dialog_mswindows):
10753         * dialog-msw.c (vars_of_dialog_mswindows):
10754         New file dialog symbols, vars.
10755
10756         * dialog-x.c:
10757         * dialog-x.c (maybe_run_dbox_text_callback):
10758         * dialog-x.c (dbox_descriptor_to_widget_value):
10759         * dialog-x.c (x_make_dialog_box_internal):
10760         * dialog-x.c (console_type_create_dialog_x):
10761         Mule-ize entire file.
10762         Redo to support question dialog syntax.
10763         [6].
10764
10765         * dialog.c:
10766         * dialog.c (Fmake_dialog_box_internal):
10767         * dialog.c (syms_of_dialog):
10768         Kill old popup-dialog-box, replace with new primitive.
10769         Just call device method or signal error.
10770
10771         * eldap.c (Fldap_open):
10772         * eldap.c (Fldap_search_basic):
10773         * eldap.c (Fldap_add):
10774         * eldap.c (Fldap_modify):
10775         [1].
10776         [7].
10777
10778         * emacs.c:
10779         * emacs.c (make_arg_list_1):
10780         * emacs.c (make_arg_list):
10781         Mule-ize call to dll_init().
10782         [6].
10783         [8].
10784
10785         * emacs.c (make_argc_argv):
10786         * emacs.c (free_argc_argv):
10787         * emacs.c (init_cmdargs):
10788         * emacs.c (main_1):
10789         * emacs.c (Fkill_emacs):
10790         * emacs.c (Fdump_emacs):
10791         Update comments about what can be used in syms_* etc.
10792         Call init_win32() when necessary.
10793         Fix up MS Win dialog box in kill-buffer to actually work right.
10794         [7].
10795
10796         * eval.c:
10797         * eval.c (For):
10798         * eval.c (Fand):
10799         * eval.c (Fprogn):
10800         * eval.c (Fprog1):
10801         * eval.c (Fprog2):
10802         * eval.c (FletX):
10803         * eval.c (Flet):
10804         * eval.c (condition_case_3):
10805         * eval.c (Feval):
10806         * eval.c (function_argcount):
10807         * eval.c (funcall_lambda):
10808         [1].
10809
10810         * eval.c (type_error): New.
10811         * eval.c (maybe_type_error): New.
10812         * eval.c (continuable_type_error): New.
10813         * eval.c (maybe_continuable_type_error): New.
10814         * eval.c (type_error_with_frob): New.
10815         * eval.c (maybe_type_error_with_frob): New.
10816         * eval.c (continuable_type_error_with_frob): New.
10817         * eval.c (maybe_continuable_type_error_with_frob): New.
10818         New functions for use with structured errors.
10819
10820         * event-Xt.c:
10821         * event-Xt.c (x_event_to_emacs_event):
10822         Buttons are now modifiers too.
10823
10824         * event-Xt.c (emacs_Xt_current_event_timestamp):
10825         Implement new event method.
10826         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10827
10828         * event-msw.c:
10829         * event-msw.c (ntpipe_shove_writer): [5].
10830         * event-msw.c (mswindows_enqueue_mouse_button_event):
10831         * event-msw.c (mswindows_drain_windows_queue):
10832         * event-msw.c (mswindows_wnd_proc): [7].
10833         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10834         * event-msw.c (mswindows_modifier_state):
10835         Throughout: support new button modifiers.
10836
10837         * event-msw.c (emacs_mswindows_current_event_timestamp):
10838         Implement new event method.
10839         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10840
10841         * event-stream.c:
10842         * event-stream.c (event_stream_current_event_timestamp): New.
10843         * event-stream.c (maybe_kbd_translate): New functionality.
10844         * event-stream.c (vars_of_event_stream):
10845         Document new kbd-translate-table functionality.
10846
10847         * event-stream.c (Fcurrent_event_timestamp): New.
10848         New primitive for use in fabricated events.
10849         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10850
10851         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10852
10853         * events.c:
10854         * events.c (Fmake_event):
10855         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10856         [1].
10857         [9].
10858
10859         * events.c (format_event_object): fix gcc warnings.
10860
10861         * events.c (Fevent_timestamp): Document new primitives.
10862
10863         * events.c (TIMESTAMP_HALFSPACE): New.
10864
10865         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10866         comparing timestamps correctly (half-space algorithm).
10867
10868         * events.c (Fevent_modifier_bits): Doc fix.
10869
10870         * events.c (Fevent_modifiers): Major doc addition.
10871         * events.c (event_x_y_pixel_internal): Typo fix.
10872         * events.c (syms_of_events): Declare new primitives.
10873
10874         * events.h:
10875         Update long comment for button modifiers, timestamps.
10876
10877         * events.h (struct event_stream):
10878         New current_event_timestamp method.
10879
10880         * extents.c:
10881         * extents.c (extent_in_region_p):
10882         * extents.c (decode_extent):
10883         * extents.c (Fset_extent_parent):
10884         * extents.c (decode_map_extents_flags):
10885         Fix gcc warnings.
10886         [9].
10887
10888         * extents.c (struct extent_at_arg):
10889         * extents.c (decode_extent_at_flag):
10890         * extents.c (extent_at_mapper):
10891         * extents.c (extent_at_bytind):
10892         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10893         * extents.c (Fextents_at): New primitive. [9].
10894         * extents.c (symbol_to_glyph_layout): [9].
10895         Support new primitive `extents-at'.
10896
10897
10898         * extents.c (get_text_property_bytind):
10899         extent_at_bytind has another arg.
10900         [9].
10901
10902         * extents.c (syms_of_extents): New primitive.
10903
10904         * file-coding.c (Fmake_coding_system): [1].
10905         * file-coding.c (subsidiary_coding_system): fix gcc warning
10906         * file-coding.c (syms_of_file_coding): [2].
10907
10908         * fileio.c (Fexpand_file_name):
10909         * fileio.c (Fsysnetunam):
10910         * fileio.c (Ffile_exists_p):
10911         * fileio.c (Ffile_executable_p):
10912         * fileio.c (Fverify_visited_file_modtime):
10913         Clean up GCPROing.
10914
10915         * fileio.c (syms_of_fileio): [2].
10916
10917         * filelock.c (lock_file_1):
10918         * filelock.c (current_lock_owner):
10919         * filelock.c (lock_if_free):
10920         * filelock.c (lock_file):
10921         * filelock.c (unlock_file):
10922         Clean up GCPROing.
10923
10924         * fns.c (concat): Fix gcc warning.
10925
10926         * fns.c (Fmember):
10927         * fns.c (Fold_member):
10928         * fns.c (Fmemq):
10929         * fns.c (Fold_memq):
10930         * fns.c (memq_no_quit):
10931         * fns.c (Fassoc):
10932         * fns.c (Fold_assoc):
10933         * fns.c (Fassq):
10934         * fns.c (Fold_assq):
10935         * fns.c (assq_no_quit):
10936         * fns.c (Frassoc):
10937         * fns.c (Fold_rassoc):
10938         * fns.c (Frassq):
10939         * fns.c (Fold_rassq):
10940         * fns.c (rassq_no_quit):
10941         * fns.c (Fdelete):
10942         * fns.c (Fold_delete):
10943         * fns.c (Fdelq):
10944         * fns.c (Fold_delq):
10945         * fns.c (delq_no_quit):
10946         * fns.c (Fremassoc):
10947         * fns.c (Fremassq):
10948         * fns.c (remassq_no_quit):
10949         * fns.c (Fremrassoc):
10950         * fns.c (Fremrassq):
10951         * fns.c (remrassq_no_quit):
10952         * fns.c (Freverse):
10953         * fns.c (mapcar1):
10954         [1].
10955
10956         * frame-msw.c (mswindows_init_frame_1):
10957         * frame-msw.c (mswindows_delete_frame):
10958         Register popups with dialog code so keyboard traversing works.
10959
10960         * frame-tty.c (tty_raise_frame_no_select): [1].
10961
10962         * frame-x.c:
10963         * frame-x.c (x_set_frame_text_value):
10964         * frame-x.c (x_set_frame_properties):
10965         * frame-x.c (x_create_widgets):
10966         [7].
10967
10968         * frame.c:
10969         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10970
10971         * frame.h (wrap_frame): New.
10972         Macro like wrap_device.
10973
10974         * general.c:
10975         * general.c (SYMBOL):
10976         * general.c (syms_of_general):
10977         Major reorg.  This is now just a wrapper and symbols themselves
10978         are listed in general-slots.h.
10979
10980         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10981         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10982
10983         * glyphs-msw.c (mswindows_native_layout_instantiate):
10984         Add DS_CONTROL so keyboard traversal will work.
10985
10986         * glyphs-widget.c:
10987         * glyphs-widget.c (syms_of_glyphs_widget):
10988         Move some symbols to general-slots.h.
10989
10990         * glyphs-x.c:
10991         * glyphs-x.c (xbm_instantiate_1):
10992         * glyphs-x.c (x_xbm_instantiate):
10993         * glyphs-x.c (x_xface_instantiate):
10994         * glyphs-x.c (autodetect_instantiate):
10995         * glyphs-x.c (cursor_font_instantiate):
10996         * glyphs-x.c (x_update_widget):
10997         * glyphs-x.c (x_widget_instantiate):
10998         * glyphs.c (bitmap_to_lisp_data):
10999         * glyphs.c (pixmap_to_lisp_data):
11000         [7].
11001
11002         * glyphs.c (syms_of_glyphs):
11003         [2].
11004
11005         * gui-x.c:
11006         * gui-x.c (print_widget_value):
11007         * gui-x.c (menu_separator_style_and_to_external):
11008         * gui-x.c (add_accel_and_to_external):
11009         * gui-x.c (button_item_to_widget_value):
11010         * gui-x.c (gui_items_to_widget_values_1):
11011         * gui-x.c (gui_items_to_widget_values):
11012         * gui-x.c (syms_of_gui_x):
11013         * gui-x.c (vars_of_gui_x):
11014         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11015         [9].
11016
11017         * gui-x.h:
11018         Muleize, prototype changes matching gui-x.c.
11019
11020         * gui.c:
11021         * gui.c (separator_string_p):
11022         * gui.c (gui_item_add_keyval_pair):
11023         * gui.c (make_gui_item_from_keywords_internal):
11024         * gui.c (signal_too_long_error):
11025         * gui.c (parse_gui_item_tree_item):
11026         * gui.c (syms_of_gui):
11027         * gui.c (vars_of_gui):
11028         * gui.h:
11029         menu-no-selection-hook moved here (used by MSWin).
11030         Move some symbols to general-slots.h.
11031         [6].
11032         [9].
11033
11034         * insdel.c (get_buffer_pos_char):
11035         * insdel.c (get_buffer_range_char):
11036         Add GC comments.
11037
11038         * keymap.c (keymap_lookup_directly):
11039         * keymap.c (keymap_store):
11040         * keymap.c (ensure_meta_prefix_char_keymapp):
11041         * keymap.c (describe_map):
11042         * keymap.h:
11043         Support new button modifiers.
11044
11045         * lisp-disunion.h (wrap_object):
11046         * lisp-disunion.h (XSETOBJ):
11047         Rename make_obj to wrap_object.
11048
11049         * lisp-union.h:
11050         * lisp-union.h (make_int):
11051         * lisp-union.h (make_char):
11052         Support wrap_object.
11053
11054         * lisp.h:
11055         * lisp.h (LIST_LOOP):
11056         * lisp.h (EXTERNAL_LIST_LOOP):
11057         * lisp.h (LIST_LOOP_2):
11058         * lisp.h (EXTERNAL_LIST_LOOP_1):
11059         * lisp.h (EXTERNAL_LIST_LOOP_2):
11060         * lisp.h (EXTERNAL_LIST_LOOP_3):
11061         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11062         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11063         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11064         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11065         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11066         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11067         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11068         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11069         * lisp.h (struct Lisp_Symbol):
11070         * lisp.h (maybe_continuable_error_with_frob):
11071         Fix up section comments.
11072         Add new types for char to indicate usage.
11073         Delete symbols auto-generated from general-slots.h.
11074         Add prototypes for structured error functions.
11075         Add long comments describing looping macros and change interface
11076         so that lvalues are automatically declared.
11077         Add NO_DECLARE macro in case callers want to declare lvalues
11078         themselves.
11079
11080         * lread.c (read_syntax_error):
11081         * lread.c (continuable_read_syntax_error):
11082         * lread.c (read_structure):
11083         * lread.c (sequence_reader):
11084         * lread.c (read_list_conser):
11085         * lread.c (read_compiled_function):
11086         Rename syntax_error and continuable_syntax_error to avoid clash
11087         with same-named structured error functions.
11088
11089         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11090         * menubar-msw.c (populate_menu_add_item):
11091         * menubar-msw.c (populate_or_checksum_helper):
11092         [5].
11093         [9].
11094
11095         * menubar-x.c:
11096         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11097         Mule-ize whole file.
11098
11099         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11100
11101         * mule-charset.c (Fmake_charset):
11102         * mule-wnnfns.c (Fwnn_set_param):
11103         [1].
11104
11105         * ntproc.c (create_child):
11106         * ntproc.c (Fwin32_set_current_locale):
11107         Add comments portending doom.
11108
11109         * objects-msw.c:
11110         * objects-msw.c (old_font_enum_callback_2):
11111         * objects-msw.c (font_enum_callback_1):
11112         * objects-msw.c (mswindows_enumerate_fonts):
11113         [5].
11114
11115         * objects-x.c:
11116         * objects-x.c (allocate_nearest_color):
11117         * objects-x.c (x_parse_nearest_color):
11118         * objects-x.c (x_initialize_color_instance):
11119         * objects-x.c (x_print_color_instance):
11120         * objects-x.c (x_finalize_color_instance):
11121         * objects-x.c (x_valid_color_name_p):
11122         * objects-x.c (x_initialize_font_instance):
11123         * objects-x.c (x_print_font_instance):
11124         * objects-x.c (valid_x_font_name_p):
11125         * objects-x.c (truename_via_FONT_prop):
11126         * objects-x.c (truename_via_random_props):
11127         * objects-x.c (truename_via_XListFonts):
11128         * objects-x.c (x_font_truename):
11129         * objects-x.c (x_font_instance_truename):
11130         * objects-x.c (x_font_instance_properties):
11131         * objects-x.c (x_list_fonts):
11132         * objects-x.c (x_find_charset_font):
11133         Mule-ize entire file.
11134         [7].
11135
11136         * objects-x.h:
11137         Mule-verify.
11138
11139         * print.c:
11140         * print.c (std_handle_out_external):
11141         * print.c (debug_print_no_newline):
11142         * print.c (syms_of_print):
11143         Output to all debugger kinds in debug-print.
11144         Fix console-output code under MSWin to actually work.
11145
11146         * process-nt.c (send_signal):
11147         * process-nt.c (nt_create_process):
11148         Use newer Unicode macros.
11149
11150         * process-unix.c (unix_create_process):
11151         * process-unix.c (unix_canonicalize_host_name):
11152         * process-unix.c (unix_open_network_stream):
11153         [7].
11154
11155         * scrollbar-x.c:
11156         Mule-verify.
11157
11158         * search.c (syms_of_search):
11159         [2].
11160
11161         * select-msw.c (mswindows_destroy_selection):
11162         Use LIST_LOOP_2.
11163
11164         * select-x.c (symbol_to_x_atom):
11165         [7].
11166
11167         * select.c (syms_of_select):
11168         [2].
11169
11170         * sound.c (Fplay_sound_file):
11171         [7].
11172
11173         * specifier.c:
11174         * specifier.c (decode_specifier_type):
11175         * specifier.c (Fvalid_specifier_locale_type_p):
11176         * specifier.c (check_valid_locale_or_locale_type):
11177         * specifier.c (decode_locale):
11178         * specifier.c (decode_locale_type):
11179         * specifier.c (decode_locale_list):
11180         * specifier.c (check_valid_domain):
11181         * specifier.c (decode_specifier_tag_set):
11182         * specifier.c (Fcanonicalize_tag_set):
11183         * specifier.c (Fdefine_specifier_tag):
11184         * specifier.c (Fspecifier_tag_predicate):
11185         * specifier.c (check_valid_inst_list):
11186         * specifier.c (check_valid_spec_list):
11187         * specifier.c (decode_how_to_add_specification):
11188         * specifier.c (check_modifiable_specifier):
11189         * specifier.c (specifier_add_spec):
11190         * specifier.c (boolean_validate):
11191         * specifier.c (display_table_validate):
11192         [9].
11193
11194         * specifier.c (syms_of_specifier):
11195         Move some symbols to general-slots.h.
11196         [2].
11197
11198         * symbols.c:
11199         * symbols.c (Fmapatoms):
11200         * symbols.c (Fapropos_internal):
11201         Add GCPROs.
11202
11203         * symbols.c (set_default_buffer_slot_variable):
11204         * symbols.c (set_default_console_slot_variable):
11205         [1].
11206
11207         * symbols.c (defsymbol_massage_name_1):
11208         * symbols.c (defkeyword_massage_name):
11209         * symbols.c (deferror_1):
11210         * symbols.c (deferror):
11211         * symbols.c (deferror_massage_name_and_message):
11212         * symeval.h:
11213         * symeval.h (DEFSYMBOL):
11214         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11215
11216         * symbols.c (syms_of_symbols):
11217         [2].
11218
11219         * symsinit.h:
11220         * symsinit.h (init_win32): New.
11221         Also new is syms_of_dialog_mswindows.
11222
11223         * syswindows.h:
11224         Add new Unicode macros, missing Cygwin wide-char functions,
11225         convenience conversion macros for Qmswindows_tstr, macros for
11226         encapsulating required MSWin <-> Cygwin filename conversions,
11227         prototype for dynamically-extracted (not in NT 3.51) functions.
11228
11229         * toolbar-x.c:
11230         Mule-verify.
11231
11232         * tooltalk.c (Fadd_tooltalk_message_arg):
11233         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11234         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11235         [7].
11236
11237         * tooltalk.c (syms_of_tooltalk):
11238         [2].
11239
11240         * unexnt.c:
11241         * unexnt.c (unexec):
11242         Fix up headers, declaration of unexec() to be more standard.
11243
11244 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11245
11246         * offix.h: Revert change to guard macros - they're used in offix.c!
11247
11248 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11249
11250         * lisp.h: Defsubred Fdelete.
11251
11252         * console-msw.h:  (msprinter_default_printer): Added.
11253
11254         * console-msw.c (msprinter_canonicalize_console_connection):
11255         (msprinter_canonicalize_device_connection): Added.
11256
11257         * device-msw.c (msprinter_default_printer):
11258         (Fmswingows_get_default_printer):
11259         (signal_enum_priner_error):
11260         (Fmswingows_printer_list): Added.
11261
11262 2000-07-19  Martin Buchholz <martin@xemacs.org>
11263
11264         * XEmacs 21.2.35 is released.
11265
11266 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11267
11268         * select-x.c (x_handle_selection_request):
11269         Text selected in xemacs and pasted into xterm failed to appear.
11270         Spelling fixes and cosmetic changes.
11271
11272 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11273
11274         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11275         XEmacs frame (fix for doubling chars in dialog boxes).
11276
11277 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11278
11279         * select.c (select_convert_in, select_convert_out):
11280         Don't call intern() every time.
11281
11282         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11283         * select.c (vars_of_select): Initialise them.
11284
11285 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11286
11287         * select.c (selection-coercible-types): New.
11288
11289         * select.c (own-selection-internal):
11290         * select.c (get-selection-internal):
11291         MULE bug fix - these should default to COMPOUND_TEXT and not
11292         STRING for MULE. I think.
11293
11294         * select.c (select_convert_out): Use selection-coercible-types
11295         to find types that we can attempt to perform coercions on.
11296
11297 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11298
11299         * mule-wnnfns.c:
11300         * mule-canna.c:
11301         Add coding: cookie to identify encoding.
11302
11303         * mule-canna.c (CANNA_mode_keys): make static.
11304         Use proper prototypes, even for functions of no arguments.
11305         Remove external prototype for Fding().
11306
11307         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11308
11309         * select.c (syms_of_select): Add missing DEFSUBR.
11310
11311 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11312
11313         * select.c (get_selection_internal, own_selection_internal):
11314         Make the type default to STRING, rather than placing a nil type
11315         into Vselection_alist.
11316
11317 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11318
11319         * gpmevent.c (tty_selection_exists_p):
11320         * gpmevent.c (tty_own_selection):
11321         Updated parameter lists.
11322
11323 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11324
11325         * select.h (selection-alist): Removed declaration.
11326
11327         * select.h (get_local_selection):
11328         * select.c (get_local_selection):
11329         Made static.
11330
11331         * select.h (convert_selection): Removed declaration.
11332         * select.c (convert_selection): Removed.
11333         This function belongs in Lisp.
11334
11335         * select.h (select_convert_in): Declare.
11336         * select.h (select_convert_out): Declare.
11337         * select.c (select_convert_in): New.
11338         * select.c (select_convert_out): New.
11339         New conversion functions for other files to call.
11340
11341         * select.h (select_notify_buffer_kill): Declare.
11342         * select.c (select_notify_buffer_kill): New.
11343         New functions that get called from kill-buffer.
11344
11345         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11346         X-specific lisp code.
11347
11348         * select.h: Declare some of the lisp-visible functions for
11349         external use.
11350
11351         * select.c (clean_local_selection_data): Removed. This was
11352         a disgusting function, and previously should have been in
11353         select-x.c in any case. The functionality is now provided
11354         in select-convert-from-integer (select.el).
11355
11356         * select.c (available-selection-types): Fixed stupidity where
11357         INTEGER and ATOM got added twice. Also add STRING when we see an
11358         extent.
11359
11360         * select.c (get-selection-internal): Removed symbol stripping. No
11361         longer causes conversion when data comes from the internal cache.
11362
11363         * select.c (syms_of_select): Added new functions.
11364
11365         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11366         error checking - previously this called abort!
11367
11368         * select-x.c (x_own_selection): Changed comment.
11369
11370         * select-x.c (x_handle_selection_request): Use select_convert_out.
11371         Don't mess with selection-alist; it's an internal variable of select.c.
11372
11373         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11374
11375         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11376         rather than messing with selection-alist.
11377
11378         * select-msw.c (mswindows_get_foreign_selection):
11379         Use TO_INTERNAL_FORMAT rather than hacking.
11380
11381 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11382
11383         * process-unix.c (unix_open_multicast_group):
11384         (unix_open_multicast_group): Remove useless casts.
11385
11386 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11387
11388         * sound.c (Fplay_sound): Fix `unused variable' warning.
11389
11390         * emacs.c (main): Use correct type for _environ on SCO5.
11391
11392 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11393
11394         * console.h (own_selection_method):
11395         * console.h (selection_exists_p_method):
11396         * console.h (available_selection_types_method): New.
11397         * console.h (register_selection_data_type_method): New.
11398         * console.h (selection_data_type_name): New.
11399
11400         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11401         function & alist to track GlobalAlloc()'d handles that need
11402         releasing when the clipboard data gets replaced or emptied.
11403
11404         * event-msw.c (mswindows_wnd_proc): Call it.
11405
11406         * lisp.h, general.c (Qappend): New symbol representing a
11407         `how-to-add' mode.
11408
11409         * select.c (own-selection-internal):
11410         * select.c (selection-exists-p):
11411         * select.c (available-selection-types): New.
11412         * select.c (register-selection-data-type): New.
11413         * select.c (selection-data-type-name): New.  New functions to deal
11414         with device-specific selection data formats.
11415         * select.c (selection-converter-out-alist): Renamed.
11416         * select.c (selection-converter-in-alist): New.
11417         * select.c (selection-appender-alist): New.  Added new alists.
11418         * select.c (syms_of_select, vars_of_select): Added new symbols &
11419         variables.
11420         * select.c (get_local_selection): Split.
11421         * select.c: Removed spurious type checking - selections may now be
11422         of any type, not just strings.
11423         * select.c (own-selection-internal):
11424
11425         * select.h, select.c (convert_selection): New. Created
11426         convert_selection() function based on get_local_selection().
11427         * select.h, select.c (QCF_*): New symbols representing mswindows
11428         clipboard formats.
11429         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11430         symbols representing `how-to-add' modes.
11431
11432         * select-msw.c (x_sym_p): New.
11433         * select-msw.c (symbol_to_ms_cf): New.
11434         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11435         symbols & clipboard formats. Can also handle string names.
11436         * select-msw.c (mswindows_own_selection):
11437         * select-msw.c (mswindows_selection_exists_p):
11438         Added `data-type' parameter. Use it.
11439         * select-msw.c (mswindows_available_selection_types): New.
11440         * select-msw.c (mswindows_register_selection_data_type): New.
11441         * select-msw.c (mswindows_selection_data_type_name): New.
11442         * select-msw.c (mswindows_own_selection):
11443         * select-msw.c (mswindows_get_foreign_selection):
11444         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11445         * select-msw.c (console_create_select_mswindows): Added new methods.
11446         * select-msw.c (mswindows_destroy_selection): New.
11447         * select-msw.c (Vhandle_alist): New list.
11448         * select-msw.c (mswindows_own_selection):
11449
11450         * select-x.c (x_own_selection):
11451         * select-x.c (x_selection_exists_p):
11452         * select-x.c: Added some comments about maybe using new
11453         functionality.
11454         * select-x.c (x_own_selection):
11455
11456         * specifier.c: Remove definition of Qappend (now in general.c)
11457         * specifier.c (syms_of_specifier): Remove Qappend.
11458
11459 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11460
11461         * config.h.in: Add socklen_t.
11462
11463         * s/decosf4-0.h: No special compiler flags needed or desired.
11464         In particular, undefine _BSD for DEC OSF 4.0.
11465
11466 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11467
11468         * redisplay-msw.c (msprinter_frame_output_end): Added.
11469         (console_type_create_redisplay_mswindows): Referred the above.
11470
11471         * frame.c (setup_frame_without_minibuffer): Do not create a
11472         default minibuffer frame on a printer device.
11473
11474         * frame-msw.c (apply_dc_geometry): Added.
11475         (msprinter_start_page):
11476         (msprinter_init_frame_3):
11477         (msprinter_eject_page): Use it.
11478
11479         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11480         and removed residual duplex and orientation properties.
11481
11482 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11483
11484         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11485
11486         * unexalpha.c: Remove system prototypes from C sources!
11487
11488 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11489
11490         * eval.c: Remove references to M-x edit-options in DEFUNs for
11491         `defvar' and `defconst'.
11492
11493 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11494
11495         * config.h.in: Remove SMART_INCLUDE hackery.
11496
11497         PostgreSQL hacking:
11498         * config.h.in: Don't use SMART_INCLUDE.
11499
11500         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11501         * inline.c: Simply #include "postgresql.h"
11502         * postgresql.c:
11503         - Don't use SMART_INCLUDE
11504         - Use simply "const".
11505         - Use standard doc string conventions.
11506         - Use correct type for result of PQstatus.
11507
11508 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11509
11510         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11511
11512         C++ compilation changes.
11513         * config.h.in (EXTERN_C): Define.
11514         * config.h.in (not): This is also a C++ keyword.
11515         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11516         * cm.c: Use EXTERN_C.
11517         * redisplay-tty.c: Use EXTERN_C.
11518         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11519
11520 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11521
11522         * general.c: Remove duplicate definition for Qfunction.
11523
11524 2000-07-08  Ben Wing  <ben@xemacs.org>
11525
11526         * device-msw.c (msprinter_init_device):
11527         * device-msw.c (sync_printer_with_devmode):
11528         * device-msw.c (handle_devmode_changes):
11529         * device-msw.c (print_dialog_worker):
11530         * device-msw.c (Fmsprinter_apply_settings):
11531         * device-msw.c (hash_devmode):
11532         * device-msw.c (Fmsprinter_settings_despecialize):
11533         use Qmswindows_tstr, not Qctext.
11534
11535         * vm-limit.c (check_memory_limits):
11536         avoid infinite loop printing warning messages.
11537
11538 2000-07-05  Craig Lanning  <lanning@scra.org>
11539
11540         * Makefile.in.in: Add support for including the Windows resources
11541         when building with the cygwin and mingw targets.
11542
11543         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11544         not set or not correct.
11545         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11546         (init_initial_directory): Don't try to use $PWD on the
11547         WIN32_NATIVE target.
11548
11549         * s\cygwin32.h:
11550         [[Add -mwindows to eliminate console window.]] not required --ben
11551         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11552         (MAIL_USE_POP): removed; now handled by configure.
11553
11554         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11555         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11556         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11557         (MAIL_USE_POP): removed; now handled by configure.
11558         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11559         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11560         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11561         constant string.
11562         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11563         up from <winsock.h> via systime.h.
11564         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11565         (getpagesize): from Dan Holmsand, added.
11566         Added #endif which was left dangling by Ben's mega patch; added
11567         comment to help prevent this in the future.
11568
11569         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11570
11571 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11572
11573         * console-msw.h (struct mswindows_device): Removed unnecessary
11574         cached device geometry values.
11575         Added update_tick and an accessor macro.
11576         (Lisp_Devmode): Added lrecord declaration.
11577         (struct msprinter_device): Contain devmode as a Lisp object.
11578         Added mswindows_get_selected_frame_hwnd();
11579
11580         * console.h (struct console_methods): Indentation nitpicking.
11581
11582         * device-msw.c (mswindows_init_device): Do not initialize geometry
11583         cache. Initialize update tick.
11584         (mswindows_device_system_metrics): Ask the device for its geometry.
11585         (global_free_2_maybe):
11586         (devmode_to_hglobal):
11587         (handle_printer_changes):
11588         (ensure_not_printing):
11589         (print_dialog_worker):
11590         (Fmsprinter_print_setup_dialog):
11591         (Fmsprinter_print_dialog):
11592         (plist_get_margin):
11593         (plist_set_margin):
11594         (Fmsprinter_page_setup_dialog): Added functions.
11595         (sync_printer_with_devmode):
11596         (handle_devmode_changes):
11597         (Fmsprinter_get_settings):
11598         (Fmsprinter_select_settings):
11599         (Fmsprinter_apply_settings):
11600         (allocate_devmode):
11601         (Fmsprinter_settings_copy):
11602         (Fmsprinter_settings_despecialize):
11603         (print_devmode):
11604         (finalize_devmode):
11605         (equal_devmode):
11606         (hash_devmode): Added functions
11607         (syms_of_device_mswindows): Init devmode lrecord class.
11608
11609         * device.h: Added an exfun for find-device.
11610
11611         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11612         geometry; although, recreate the device compatible DC.
11613
11614         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11615         (msprinter_init_frame_3):
11616         (msprinter_frame_property):
11617         (msprinter_internal_frame_property_p):
11618         (msprinter_frame_properties):
11619         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11620         print job properties (will move to device settings).
11621
11622         * lisp.h: Added symbols.
11623
11624         * general.c (syms_of_general): Declared them.
11625
11626         * hash.c (string_hash): Added.
11627
11628         * lrecord.h (lrecord_type): Added devmode lrecord type.
11629
11630 2000-07-02  Mike Sperber <mike@xemacs.org>
11631
11632         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11633         FreeBSD 4.0.
11634
11635 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11636
11637         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11638         integer.
11639
11640 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11641
11642         * data.c (Fstring_to_number): Don't recognize floating point if
11643         base is not 10.
11644
11645 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11646
11647         * glyphs-widget.c (tab_control_query_geometry):
11648         (widget_query_geometry):
11649         (button_query_geometry):
11650         * glyphs.c (text_query_geometry):
11651         Enforce type correctness.
11652
11653 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11654
11655         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11656         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11657
11658 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11659
11660         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11661         conflicts with gcc's fixincluded version of FOO.h.
11662
11663         * glyphs.h (image_instance_geometry): Remove trailing `,'
11664
11665 2000-06-08  Mike Alexander  <mta@arbortext.com>
11666
11667         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11668         (shove_thread): Don't write the same output twice
11669         (make_ntpipe_output_stream): Increase priority of shove thread
11670         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11671         chance to run
11672         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11673         it.
11674
11675 2000-06-12  Ben Wing  <ben@xemacs.org>
11676
11677         * s\mingw32.h (sigset):
11678         * s\windowsnt.h (sigset):
11679         rename msw_ to mswindows_ for consistency with general convention.
11680
11681 2000-06-12  Ben Wing  <ben@xemacs.org>
11682
11683         * console-msw.c:
11684         * console-msw.c (mswindows_get_console_hwnd):
11685         * console-msw.c (mswindows_ensure_console_allocated):
11686         * console-msw.c (mswindows_hide_console):
11687         * console-msw.c (mswindows_show_console):
11688         * console-msw.c (mswindows_ensure_console_buffered):
11689         * console-msw.c (mswindows_output_console_string):
11690         * console-msw.c (mswindows_windows9x_p):
11691         * console-msw.h:
11692         * device-msw.c (mswindows_get_workspace_coords):
11693         * device-msw.c (mswindows_device_system_metrics):
11694         * dialog-msw.c (mswindows_popup_dialog_box):
11695         * event-msw.c (mswindows_wnd_proc):
11696         * frame-msw.c (mswindows_size_frame_internal):
11697         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11698         * menubar-msw.c (displayable_menu_item):
11699         * menubar-msw.c (mswindows_char_is_accelerator):
11700         * nt.c:
11701         * nt.c (mswindows_sigset):
11702         * nt.c (mswindows_sigrelse):
11703         * nt.c (mswindows_sigpause):
11704         * nt.c (mswindows_raise):
11705         * nt.c (timer_proc):
11706         * ntproc.c:
11707         * ntproc.c (find_child_console):
11708         * ntproc.c (sys_kill):
11709         * print.c:
11710         * print.c (std_handle_out_external):
11711         * process-nt.c (find_child_console):
11712         * process-nt.c (send_signal_the_95_way):
11713         * process-nt.c (ensure_console_window_exists):
11714         * process-nt.c (nt_create_process):
11715         * syssignal.h:
11716         rename msw_ to mswindows_ for consistency with general convention.
11717
11718         * emacs.c:
11719         * dumper.c:
11720         include nt.h, not syswindows.h.
11721
11722         * nt.c (mswindows_fstat):
11723         * nt.c (mswindows_stat):
11724         prefix mswindows_ instead of attempting to directly override the
11725         library functions.  fix declarations.
11726
11727         * nt.h:
11728         include syswindows.h.  move some sysdep.h stuff here.
11729
11730         * ntheap.h:
11731         include syswindows.h, not <windows.h>.
11732
11733         * ntplay.c:
11734         clean up headers.
11735
11736         * sysdep.c:
11737         clean up headers.
11738
11739         * sysdep.c (sys_fstat):
11740         * sysdep.c (sys_stat):
11741         call mswindows versions when appropriate.
11742
11743         * sysdep.h:
11744         move mswin decls to nt.h.
11745
11746         * syswindows.h:
11747         add long comment describing appropriate use of the various windows
11748         headers.
11749
11750 2000-06-11  Ben Wing  <ben@xemacs.org>
11751
11752         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11753
11754 2000-06-10  Ben Wing  <ben@xemacs.org>
11755
11756         * Makefile.in.in (release):
11757         Correction to make sure xemacs.exe always dumped when correct.
11758
11759         * alloca.c:
11760         * balloon_help.c:
11761         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11762
11763         * buffer.c (set_buffer_internal):
11764         [[[[2]]]]: Remove HAVE_FEP code.
11765
11766         * buffer.c (init_initial_directory):
11767         [3].
11768
11769         * bytecode.c:
11770         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11771         individual files.
11772
11773         * callproc.c:
11774         * callproc.c (call_process_cleanup):
11775         * callproc.c (Fold_call_process_internal):
11776         * callproc.c (child_setup):
11777         * callproc.c (getenv_internal):
11778         * callproc.c (init_callproc):
11779         * callproc.c (vars_of_callproc):
11780         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11781         __CYGWIN32__ -> CYGWIN.
11782         DOS_NT -> WIN32_NATIVE.
11783         Remove MSDOS support/references, converting to WIN32_NATIVE
11784           where correct.
11785         __MINGW32__ -> MINGW.
11786         Fix windows.h includes.
11787         Remove bogus HAVE_NTGUI.
11788
11789         * config.h.in:
11790         [2].
11791
11792         * console-msw.c:
11793         mswindows_message_outputted added for use in allowing startup
11794         errors on the console to be seen.
11795
11796         * console-msw.c (msw_ensure_console_allocated):
11797         * console-msw.c (msw_output_console_string):
11798         * console-msw.c (DHEADER):
11799         * console-msw.c (DOPAQUE_DATA):
11800         * console-msw.c (DEVENT):
11801         * console-msw.c (DCONS):
11802         * console-msw.c (DCONSCDR):
11803         * console-msw.c (DSTRING):
11804         * console-msw.c (DVECTOR):
11805         * console-msw.c (DSYMBOL):
11806         * console-msw.c (DSYMNAME):
11807         Fix warnings.
11808
11809         * console-stream.c (stream_init_console):
11810         Fix text/binary problems.
11811
11812         * device-msw.c:
11813         * device-msw.c (mswindows_finish_init_device):
11814         * device-msw.c (mswindows_delete_device):
11815         [1].
11816
11817         * device.c (handle_asynch_device_change):
11818         [3].
11819
11820         * dgif_lib.c:
11821         * dgif_lib.c (DGifOpenFileName):
11822         * dgif_lib.c (DGifOpenFileHandle):
11823         * dgif_lib.c (DGifGetLine):
11824         * dgif_lib.c (DGifGetPixel):
11825         Added config.h/lisp.h, fix up includes.
11826         [1].
11827
11828         * dired-msw.c:
11829         [4].
11830
11831         * dired.c:
11832         * dired.c (file_name_completion):
11833         * dired.c (Ffile_attributes):
11834         * dired.c (syms_of_dired):
11835         [1].
11836
11837         * dumper.c:
11838         * dumper.c (pdump_file_unmap):
11839         * dumper.c (pdump_load):
11840         [1].
11841
11842         * editfns.c:
11843         * editfns.c (Ftemp_directory):
11844         * editfns.c (user_login_name):
11845         * editfns.c (Fuser_real_login_name):
11846         * editfns.c (get_home_directory):
11847         [1].
11848
11849         * elhash.c (finish_marking_weak_hash_tables):
11850         [[[[5]]]]: Fix GCC warnings.
11851
11852         * emacs.c:
11853         * emacs.c (mswindows_handle_hardware_exceptions):
11854         * emacs.c (make_arg_list_1):
11855         * emacs.c (main_1):
11856         * emacs.c (Fkill_emacs):
11857         * emacs.c (Fdump_emacs):
11858         [1].
11859         Fix problems with nested crashes, add long comment.
11860
11861         * event-Xt.c (init_event_Xt_late):
11862         [1].
11863
11864         * event-msw.c:
11865         * event-msw.c (mswindows_dde_callback):
11866         * event-msw.c (mswindows_handle_sticky_modifiers):
11867         * event-msw.c (mswindows_wnd_proc):
11868         [1].
11869         [5].
11870
11871         * events.c (character_to_event):
11872         [1].
11873
11874         * fileio.c:
11875         * fileio.c (Ffile_name_directory):
11876         * fileio.c (Ffile_name_nondirectory):
11877         * fileio.c (directory_file_name):
11878         * fileio.c (Fexpand_file_name):
11879         * fileio.c (Fsubstitute_in_file_name):
11880         * fileio.c (Ffile_name_absolute_p):
11881         * fileio.c (check_executable):
11882         * fileio.c (Ffile_readable_p):
11883         * fileio.c (Ffile_accessible_directory_p):
11884         * fileio.c (Ffile_modes):
11885         * fileio.c (Funix_sync):
11886         * fileio.c (vars_of_fileio):
11887         [1]. [4].
11888
11889         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11890
11891         Expand getdefdir defn.
11892         Fix bogus rename() comment.
11893
11894         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11895         to use standard XEmacs include files, e.g. sysfile.h, rather
11896         than system-specific includes.
11897
11898         * fns.c:
11899         * fns.c (Fsubseq):
11900         [5]. [6].
11901
11902         * frame.c (vars_of_frame):
11903         [1].
11904
11905         * getloadavg.c:
11906         * getloadavg.c (getloadavg):
11907         [1]. [6].
11908         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11909         (We don't use it elsewhere in the code; just add a comment.)
11910
11911         * gif_io.c:
11912         [6].
11913         Add config.h.
11914
11915         * glyphs-msw.c:
11916         * glyphs-msw.c (mswindows_resource_instantiate):
11917         [1].
11918
11919         * glyphs-x.c (x_native_layout_instantiate):
11920         [5].
11921
11922         * gui-msw.c (Fmswindows_shell_execute):
11923         [1].
11924
11925         * insdel.c:
11926         [4].
11927
11928         * lisp.h:
11929         [4]. [5].
11930
11931         * lread.c (locate_file_in_directory_mapper):
11932         [1].
11933
11934         * lstream.c:
11935         [4].
11936
11937         * mem-limits.h:
11938         * mem-limits.h (get_lim_data):
11939         [1].
11940
11941         * menubar-msw.c:
11942         [4].
11943
11944         * ndir.h:
11945         [1].
11946
11947         * nt.c:
11948         * nt.c (getwd):
11949         * nt.c (closedir):
11950         * nt.c (rva_to_section):
11951         * nt.c (mswindows_executable_type):
11952         [1]. [6].
11953         Fix closedir() defn.
11954
11955         * nt.h:
11956         [[[[8]]]]: *_OK defs moved to sysfile.h.
11957
11958         * ntproc.c:
11959         [6]. [7].
11960
11961         * objects-x.c:
11962         [4].
11963
11964         * print.c:
11965         * print.c (std_handle_out_external):
11966         [1]. [4].
11967
11968         * process-nt.c:
11969         * process-nt.c (nt_create_process):
11970         [6].
11971         try to fix process quoting somewhat.
11972
11973         * process-unix.c (unix_create_process):
11974         [1].
11975
11976         * process.c:
11977         * process.c (vars_of_process):
11978         Add Vnull_device.
11979
11980         * process.h:
11981         [1].
11982
11983         * realpath.c:
11984         * realpath.c (xrealpath):
11985         [1].
11986
11987         * redisplay-tty.c (init_tty_for_redisplay):
11988         [3].
11989
11990         * redisplay.c:
11991         [4]. [6].
11992
11993         * scrollbar-msw.c:
11994         [4].
11995
11996         * sheap.c:
11997         * sheap.c (more_static_core):
11998         * sheap.c (report_sheap_usage):
11999         [5]. [6].
12000
12001         * signal.c:
12002         * signal.c (alarm_signal):
12003         [1]. [6].
12004
12005         * sound.c:
12006         [6].
12007
12008         * strftime.c:
12009         * strftime.c (zone_name):
12010         [1]. [5].
12011
12012         * symsinit.h (init_sunpro):
12013         [1].
12014
12015         * syscommctrl.h:
12016         commctrl.h not in Cygwin b20.1.
12017
12018         * sysdep.c:
12019         * sysdep.c (endif):
12020         * sysdep.c (sys_subshell):
12021         * sysdep.c (init_baud_rate):
12022         * sysdep.c (emacs_get_tty):
12023         * sysdep.c (emacs_set_tty):
12024         * sysdep.c (tty_init_sys_modes_on_device):
12025         * sysdep.c (init_system_name):
12026         * sysdep.c (sys_open):
12027         * sysdep.c (interruptible_open):
12028         * sysdep.c (sys_fopen):
12029         * sysdep.c (sys_mkdir):
12030         * sysdep.c (sys_rename):
12031         * sysdep.c (get_process_times_1):
12032         [1]. [6].
12033
12034         * sysdep.h:
12035         [1].
12036
12037         * sysdir.h:
12038         * sysdir.h (DIRENTRY_NONEMPTY):
12039         [1]. [6].
12040
12041         * sysdll.c (dll_init):
12042         * sysdll.h:
12043         [1].
12044
12045         * sysfile.h:
12046         [1]. [6]. [8].
12047         added text/binary defs.
12048
12049         * sysfloat.h:
12050         [1].
12051
12052         * sysproc.h:
12053         * sysproc.h (EDESTADDRREQ):
12054         * sysproc.h (poll_fds_for_input):
12055         [1]. [6].
12056
12057         * syspwd.h:
12058         [6].
12059
12060         * syssignal.h:
12061         [1].
12062
12063         * systime.h:
12064         [1]. [6].
12065
12066         * systty.h:
12067         [1].
12068
12069         * syswindows.h:
12070         [1].
12071         Always define WIN32_LEAN_AND_MEAN.
12072
12073         * unexcw.c (unexec):
12074         [5].
12075
12076         * unexec.c:
12077         * unexec.c (copy_text_and_data):
12078         * unexec.c (adjust_lnnoptrs):
12079         [1].
12080
12081         * unexnt.c:
12082         * unexnt.c (_start):
12083         [1].
12084
12085 2000-06-07  Ben Wing  <ben@xemacs.org>
12086
12087         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12088         was used only as a model.  We've long since extracted any useful
12089         logic or code out of this. (I just did an exhaustive search.)
12090
12091         * s\msdos.h: Removed.
12092
12093         * s\windows95.h: Removed.
12094
12095 2000-06-10  Ben Wing  <ben@xemacs.org>
12096
12097         * s\cygwin32.h:
12098         [1]. [5].
12099         Don't use extern with fun defs.
12100
12101         * s\mingw32.h:
12102         [1]. [7].
12103         Remove nt\inc include.
12104         Remove getdisk, getdefdir. (The former is unused, the latter
12105         expanded in fileio.h.)
12106
12107         * s\windowsnt.h:
12108         * s\windowsnt.h (WIN32_NATIVE):
12109         * s\windowsnt.h (HAVE_STRCASECMP):
12110         [1]. [7].
12111         Add long comment about preprocessor changes.
12112         Remove getdisk, getdefdir. (The former is unused, the latter
12113         expanded in fileio.h.)
12114
12115 2000-06-10  Ben Wing  <ben@xemacs.org>
12116
12117         * m\arm.h:
12118         * m\delta.h:
12119         * m\intel386.h:
12120         * m\sequent.h:
12121         * m\template.h:
12122         * m\windowsnt.h:
12123         [1].
12124         Remove bogus/unused NO_SOCK_SIGIO.
12125
12126 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12127
12128         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12129         not an Emchar.
12130
12131 2000-06-04  Mike Sperber <mike@xemacs.org>
12132
12133         * casetab.c (set_case_table): For `set-standard-case-table',
12134         actually deposit the new case tables where the rest of XEmacs can
12135         see them.
12136
12137 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12138
12139         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12140
12141 2000-06-05  Ben Wing  <ben@xemacs.org>
12142
12143         * callproc.c (child_setup): Don't do close_load_descs() under
12144         MS Windows.  Put in a comment explaining why.
12145
12146 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12147
12148         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12149         Toolkit shell" which breaks `kill-compilation' on Windows NT
12150         native, retaining STDERR handling improvements.
12151
12152 2000-06-01  Andreas Jaeger  <aj@suse.de>
12153
12154         * s/s390.h: Support for S390, based on a patch by Martin
12155         Schwidefsky <schwidefsky@de.ibm.com>.
12156
12157 2000-05-30  Andy Piper  <andy@xemacs.org>
12158
12159         * window.c (allocate_window):
12160         (make_dummy_parent):
12161         (Fset_window_configuration): use new hashtable type.
12162
12163         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12164         (struct image_instantiator_methods):
12165         (struct Lisp_Image_Instance): make instance geometry signed.
12166
12167         * glyphs.c (instantiate_image_instantiator):
12168         (image_instance_query_geometry):
12169         (image_instance_layout):
12170         (image_instance_layout):
12171         (query_string_geometry):
12172         (text_query_geometry):
12173         (image_instantiate):
12174         (image_instantiate):
12175         (cache_subwindow_instance_in_frame_maybe):
12176         (subwindow_query_geometry): make instance geometry signed.
12177
12178         * glyphs-widget.c (widget_query_geometry):
12179         (widget_layout):
12180         (button_query_geometry):
12181         (tree_view_query_geometry):
12182         (tab_control_query_geometry):
12183         (layout_query_geometry):
12184         (layout_layout):
12185         (native_layout_layout): make instance geometry signed.
12186
12187 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12188
12189         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12190         constant.
12191
12192         * general.c (syms_of_general): Add Qfull_assoc symbol.
12193
12194         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12195         correctly.
12196         (decode_weak_list_type): Decode full-assoc type.
12197         (encode_weak_list_type): Encode full-assoc type.
12198         (Fmake_weak_list): Update doc string.
12199
12200 2000-05-30  Andy Piper  <andy@xemacs.org>
12201
12202         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12203
12204         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12205         (decode_hash_table_weakness): ditto.
12206         (Fhash_table_weakness): ditto.
12207         (Fhash_table_type): ditto.
12208         (finish_marking_weak_hash_tables): ditto.
12209         (hash_table_weakness_validate): ditto.
12210         (syms_of_elhash): ditto.
12211
12212 2000-05-28  Martin Buchholz <martin@xemacs.org>
12213
12214         * XEmacs 21.2.34 is released.
12215
12216 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12217
12218         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12219         start cache.
12220         (updating_line_start_cache): Gone.
12221         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12222         generic code to force a minimum of 1 line laid out in the
12223         CMOTION_DISP case.
12224
12225 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12226
12227         * glyphs.c (instantiate_image_instantiator): Check for initialized
12228         height & width no longer special cases IMAGE_NOTHING.
12229         (nothing_instantiate): Set height and width of instance.
12230
12231 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12232
12233         * unexelf.c (unexec): Search for ".data" section.
12234         Initialize new_data2_offset from old_data_index.
12235         Remove redundant check for ElfW.
12236
12237 2000-05-23  Andy Piper  <andy@xemacs.org>
12238
12239         * glyphs.c (get_image_instantiator_governing_domain): allow more
12240         specific domains as the governing domain rather than expecting an
12241         exact match. This fixes problems with layouts.
12242
12243 2000-05-22  Andy Piper  <andy@xemacs.org>
12244
12245         * redisplay-output.c (compare_runes): check for non-images
12246
12247         * glyphs.c (set_glyph_dirty_p): ditto.
12248         (update_glyph_cachel_data): ditto.
12249
12250         * glyphs-widget.c (layout_post_instantiate): ditto.
12251         (layout_post_instantiate): ditto.
12252
12253         * event-msw.c (mswindows_wnd_proc): warning removal.
12254
12255 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12256
12257         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12258
12259         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12260
12261         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12262
12263         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12264         (mswindows_executable_type): mingw32 now has enough headers for
12265         this to work.
12266
12267 2000-05-20  Andy Piper  <andy@xemacs.org>
12268
12269         * console-msw.c (mswindows_output_last_error): ; -> ,
12270
12271 2000-05-12  Andy Piper  <andy@xemacs.org>
12272
12273         * console-msw.c (FROB): compare ints with ints.
12274
12275 2000-05-11  Andy Piper  <andy@xemacs.org>
12276
12277         * glyphs-x.c (x_finalize_image_instance): make minimal build
12278         happy.
12279
12280 2000-05-20  Ben Wing  <ben@xemacs.org>
12281
12282         * event-Xt.c:
12283         * event-Xt.c (vars_of_event_Xt):
12284         move modifier-keys-are-sticky to event-stream.c.
12285
12286         * event-msw.c:
12287         * event-msw.c (mswindows_enqueue_mouse_button_event):
12288         * event-msw.c (key_needs_default_processing_p):
12289         * event-msw.c (XEMSW_LCONTROL):
12290         * event-msw.c (mswindows_handle_sticky_modifiers):
12291         * event-msw.c (FROB):
12292         * event-msw.c (clear_sticky_modifiers):
12293         * event-msw.c (output_modifier_keyboard_state):
12294         * event-msw.c (output_alt_keyboard_state):
12295         * event-msw.c (mswindows_wnd_proc):
12296         * event-msw.c (mswindows_modifier_state):
12297         * event-msw.c (emacs_mswindows_handle_magic_event):
12298         implement sticky modifiers.
12299
12300         * event-stream.c:
12301         * event-stream.c (vars_of_event_stream):
12302         move modifier-keys-are-sticky here.
12303
12304         * lisp.h:
12305         add CHECK_FUNCTION.
12306
12307         * rangetab.c:
12308         implement map-range-table.
12309
12310
12311 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12312
12313         * redisplay-tty.c (reset_tty_modes):
12314         (tty_redisplay_shutdown): Adjust argument type to
12315         tty_frame_output_end.
12316
12317 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12318
12319         * eval.c (Fbacktrace): Don't output a line with only right
12320         parenthesis.
12321
12322 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12323
12324         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12325         (Fpq_reset_poll): Ditto.
12326
12327 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12328
12329         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12330
12331 2000-05-16  Ben Wing  <ben@xemacs.org>
12332
12333         * buffer.c:
12334         * buffer.c (dfc_convert_to/from_internal_format):
12335         * buffer.c (reinit_vars_of_buffer):
12336         Fix conversion functions to allow reentrancy.
12337
12338         * console-msw.c:
12339         * console-msw.c (mswindows_output_last_error):
12340         New fun, generally useful -- output a human-readable
12341         version of GetLastError() on the console.
12342
12343         * console-msw.h:
12344         * console-msw.h (struct mswindows_frame):
12345         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12346
12347         * console-stream.c (stream_output_begin):
12348         * console-stream.c (stream_output_end):
12349         * console-stream.c (stream_output_vertical_divider):
12350         * console-stream.c (stream_clear_region):
12351         * console-stream.c (stream_flash):
12352         * console-stream.c (console_type_create_stream):
12353         Delete blank stream methods, not needed.
12354
12355         * console.h (struct console_methods):
12356         Split begin/end methods into window and frame.
12357
12358         * event-msw.c:
12359         * event-msw.c (mswindows_handle_paint):
12360         * event-msw.c (output_alt_keyboard_state):
12361         * event-msw.c (mswindows_wnd_proc):
12362         * event-msw.c (vars_of_event_mswindows):
12363         Comment about problems with ignored-expose.
12364         Define mswindows-debug-events; not really implemented.
12365
12366         * frame-msw.c (mswindows_init_frame_1):
12367         random cleanups.
12368
12369         * glyphs-msw.c:
12370         * glyphs-msw.c (begin_defer_window_pos):
12371         * glyphs-msw.c (mswindows_unmap_subwindow):
12372         * glyphs-msw.c (mswindows_map_subwindow):
12373         * glyphs-msw.c (mswindows_resize_subwindow):
12374         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12375
12376         * glyphs.c (make_image_instance_1):
12377         Fix crash.
12378
12379         * gutter.c (Fredisplay_gutter_area):
12380         Use new begin/end methods.
12381
12382         * lisp.h (Dynarr_new2):
12383         New creation fun.
12384
12385         * redisplay-msw.c:
12386         * redisplay-msw.c (mswindows_frame_output_begin):
12387         * redisplay-msw.c (mswindows_frame_output_end):
12388         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12389         New begin/end methods -- handle DeferWindowPos.
12390
12391         * redisplay-output.c (redisplay_move_cursor):
12392         * redisplay-output.c (redraw_cursor_in_window):
12393         * redisplay-output.c (redisplay_update_line):
12394         * redisplay-output.c (redisplay_output_window):
12395         New begin/end methods.
12396
12397         * redisplay-tty.c:
12398         * redisplay-tty.c (tty_frame_output_begin):
12399         * redisplay-tty.c (tty_frame_output_end):
12400         * redisplay-tty.c (console_type_create_redisplay_tty):
12401         New begin/end methods.
12402
12403         * redisplay-x.c:
12404         * redisplay-x.c (x_window_output_begin):
12405         * redisplay-x.c (x_window_output_end):
12406         * redisplay-x.c (console_type_create_redisplay_x):
12407         New begin/end methods.
12408
12409         * redisplay.c (redisplay_frame):
12410         * redisplay.c (Fredisplay_echo_area):
12411         New begin/end methods.
12412         use MAYBE_DEVMETH for clear_frame; it may not exist.
12413
12414         * window.h (WINDOW_XFRAME):
12415         WINDOW_XFOO macros -- get locale and decode struct pointer.
12416
12417
12418 2000-05-12  Ben Wing  <ben@xemacs.org>
12419
12420         * emacs.c:
12421         * emacs.c (ensure_no_quitting_from_now_on):
12422         * emacs.c (fatal_error_signal):
12423         * emacs.c (mswindows_handle_hardware_exceptions):
12424         * emacs.c (main):
12425         * emacs.c (Fkill_emacs):
12426         * emacs.c (shut_down_emacs):
12427         * emacs.c (assert_failed):
12428         various improvements in fatal error handling.
12429
12430         * eval.c:
12431         move preparing_for_armageddon to emacs.c.
12432
12433         * lisp.h:
12434         declare fatal_error_in_progress.
12435
12436         * print.c:
12437         * print.c (std_handle_out_external):
12438         * print.c (std_handle_out_va):
12439         * print.c (stderr_out):
12440         * print.c (stdout_out):
12441         use console under mswin when no standard output.
12442         don't do code conversion during fatal error.
12443
12444         * scrollbar.c (Fscrollbar_page_up):
12445         * scrollbar.c (Fscrollbar_page_down):
12446         fix missing else.  reindent.
12447
12448 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12449
12450         Emergency fix.
12451
12452         * glyphs.h (GLYPH_CACHEL_DESCENT):
12453         (GLYPH_CACHEL_DESCENT):
12454         (GLYPH_CACHEL_DESCENT):
12455         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12456         used in case these are inline functions.
12457         Use more absurd values to error check.
12458
12459         include window.h for error check functions.
12460
12461 2000-05-11  Ben Wing  <ben@xemacs.org>
12462
12463         * cmdloop.c (Freally_early_error_handler):
12464         Display message box under windows; otherwise, message will disappear
12465         before it can be viewed.
12466
12467         * console-msw.c:
12468         * console-msw.c (Fmswindows_message_box):
12469         * console-msw.c (FROB):
12470         * console-msw.c (syms_of_console_mswindows):
12471         Define new fun `mswindows-message-box'.
12472         #### I will merge this into `popup-dialog-box'; just give me
12473         a bit of time.
12474
12475         * general.c:
12476         * general.c (syms_of_general):
12477         Some new symbols used in `mswindows-message-box'.
12478
12479         * glyphs.c:
12480         * glyphs.c (Fset_image_instance_property):
12481         put warning in this fun.
12482
12483         * glyphs.h:
12484         * glyphs.h (GLYPH_CACHEL_WIDTH):
12485         * glyphs.h (GLYPH_CACHEL_ASCENT):
12486         * glyphs.h (GLYPH_CACHEL):
12487         * glyphs.h (GLYPH_CACHEL_GLYPH):
12488         define error-checking versions to try to catch a bug i've seen --
12489         redisplay gets in an infinite loop because the glyph width of the
12490         continuation glyph is 65535.
12491
12492         * lisp.h:
12493         Extern message-box stuff.
12494
12495         * window.c (allocate_window):
12496         * window.c (make_dummy_parent):
12497         * window.c (Fset_window_configuration):
12498         Use EQUAL not EQ for subwindow caches to make them work a bit
12499         better. (Something is still very broken.)
12500
12501
12502 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12503
12504         * glyphs.c (image_instantiate): Suppress gcc warnings.
12505         (Fmake_image_instance): Fix doc string.
12506         * specifier.c (Fmake_specifier): Ditto.
12507
12508 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12509
12510         * paths.h.in (PATH_LOCK): Removed.
12511         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12512         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12513
12514 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12515
12516         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12517         Document (featurep '(and xemacs 21.02)).
12518
12519 2000-05-09  Ben Wing  <ben@xemacs.org>
12520
12521         * buffer.c (complex_vars_of_buffer):
12522         update modeline-format doc.
12523
12524         * device.h:
12525         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12526
12527         * emacs.c:
12528         timeline of all released versions of Emacs, for use in creating
12529         authorship comments and in synching up.
12530
12531         * glyphs-widget.c (image_instantiator_buttons):
12532         * glyphs-widget.c (image_instantiator_edit_fields):
12533         * glyphs-widget.c (image_instantiator_combo_box):
12534         * glyphs-widget.c (image_instantiator_scrollbar):
12535         * glyphs-widget.c (image_instantiator_progress_guage):
12536         * glyphs-widget.c (image_instantiator_tree_view):
12537         * glyphs-widget.c (image_instantiator_tab_control):
12538         * glyphs-widget.c (image_instantiator_labels):
12539         * glyphs-widget.c (image_instantiator_layout):
12540         * glyphs-widget.c (image_instantiator_native_layout):
12541         rename decode_domain method to governing_domain.
12542
12543         * glyphs.c:
12544         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12545         * glyphs.c (add_entry_to_device_ii_format_list):
12546         make sure we don't put an entry more than once into the list.
12547         * glyphs.c (check_instance_cache_mapper):
12548         *************************************************************
12549         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12550         HAVE BEEN GETTING.
12551         *************************************************************
12552         * glyphs.c (get_image_instantiator_governing_domain):
12553         clean up, expand on new concept of governing domain.
12554         * glyphs.c (instantiate_image_instantiator):
12555         * glyphs.c (allocate_image_instance):
12556         use governing_domain instead of cache_domain in naming.
12557         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12558         * glyphs.c (make_image_instance_1):
12559         * glyphs.c (Fmake_image_instance):
12560         allow for any domain (not just device), and process the
12561         governing domain correctly.  very big doc fix.
12562         * glyphs.c (Fimage_instance_domain):
12563         new primitive, to retrieve the governing domain of an image instance.
12564         * glyphs.c (image_instantiate):
12565         use new governing_domain stuff.  this fixes a crash you could get
12566         by instantiating certain widget glyphs in frame locales. (should
12567         signal an error instead of crashing.)
12568         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12569         * glyphs.c (Fglyphp): clean up doc.
12570         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12571         * glyphs.c (syms_of_glyphs):
12572         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12573         * glyphs.c (image_instantiator_format_create): add some comments about
12574         bogus code.
12575         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12576         for current-display-table. (Apparently Hrjove implemented in 1998 a
12577         design I wrote up in 1996, but didn't update the doc string.)
12578
12579         * glyphs.h: clean up a doc string.
12580         * glyphs.h (governing_domain):
12581         * glyphs.h (struct image_instantiator_methods):
12582         changes for governing_domain stuff.
12583
12584         * gutter.c:
12585         * gutter.c (Fgutter_specifier_p):
12586         * gutter.c (Fgutter_size_specifier_p):
12587         * gutter.c (Fgutter_visible_specifier_p):
12588         * objects.c:
12589         * objects.c (Fcolor_specifier_p):
12590         * objects.c (Ffont_specifier_p):
12591         * objects.c (Fface_boolean_specifier_p):
12592         doc strings moved to make-*-specifier.
12593
12594         * redisplay.c (add_disp_table_entry_runes_1):
12595         * redisplay.c (generate_fstring_runes):
12596         * redisplay.c (screen):
12597         add random comments and doc strings.
12598
12599         * specifier.c:
12600         * specifier.c (Fmake_specifier):
12601         major overhaul of this doc string.
12602
12603         * specifier.c (Fvalid_specifier_domain_p):
12604         comment about the bogosity of image instances being domains.
12605         * specifier.c (decode_domain):
12606         now non-static, used in glyphs.c.
12607         * specifier.c (specifier_instance):
12608         comment about the bogosity of image instances being domains.
12609         * specifier.c (Fgeneric_specifier_p):
12610         move doc string to make-generic-specifier.
12611         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12612         rebackslashify.
12613
12614         * specifier.h:
12615         * specifier.h (DOMAIN_FRAME):
12616         * specifier.h (DOMAIN_LIVE_P):
12617         * specifier.h (DOMAIN_XDEVICE):
12618         rebackslashify.
12619         add comments about problems with these macros.
12620         prototype for decode_domain.
12621
12622         * toolbar.c:
12623         * toolbar.c (Ftoolbar_specifier_p):
12624         move doc string to `make-toolbar-specifier'.
12625
12626         * window.c (window_unmap_subwindows_cache_mapper):
12627         *************************************************************
12628         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12629         HAVE BEEN GETTING.
12630         *************************************************************
12631
12632 2000-05-09  Andy Piper  <andy@xemacs.org>
12633
12634         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12635
12636         * window.c (Fset_window_configuration): reset the frame subwindow
12637         cache and re-initialize the window subwindow caches.
12638
12639         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12640
12641 2000-05-09  Ben Wing  <ben@xemacs.org>
12642
12643         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12644         DWORD.
12645
12646 2000-04-26  Mike Woolley  <mike@bulsara.com>
12647
12648         * ntheap.c: Changed recreate_heap to limit the amount reserved
12649         for the heap to that which is actually available. Also now
12650         displays a message box (with some dignostics) in the event that
12651         it still can't start.
12652
12653 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12654
12655         * callproc.c (Fold_call_process_internal): GCPRO path
12656
12657 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12658
12659         Patch by Bill Perry.
12660
12661         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12662         back data instead of #ifdef.
12663         (Fscrollbar_page_down): ditto.
12664
12665 2000-05-07  Ben Wing  <ben@xemacs.org>
12666
12667         * buffer.h:
12668         Kludge for defining Qmswindows_tstr.
12669
12670         * nt.c:
12671         * nt.c (open_input_file):
12672         * nt.c (open_output_file):
12673         * nt.c (rva_to_section):
12674         * nt.c (mswindows_executable_type):
12675         Move all memory-mapped-file routines here (some were in unexnt.c,
12676         which is bad because they are used by process-nt.c, and unexnt
12677         won't be around when portable dumping).  Synched the above routines
12678         with FSF 20.6.
12679
12680         * nt.h:
12681         Removed ifdef'd out bogus code.
12682         Fixed some prototypes.
12683
12684         * nt.h (file_data):
12685         * nt.h (OFFSET_TO_RVA):
12686         * nt.h (RVA_TO_OFFSET):
12687         * nt.h (RVA_TO_PTR):
12688         Moved the memory-mapped-file structures, macros and prototypes
12689         here, to parallel nt.c.  ntheap.h should really be removed
12690         entirely, and it's a non-portable-dumper specific file.
12691
12692         * ntheap.h (round_to_next):
12693         Moved the memory-mapped-file structures, macros and prototypes
12694         to nt.h.
12695
12696         * ntproc.c (compare_env):
12697         Moved rva_to_section and mswindows_executable_type to nt.c.
12698         Moved compare_env to process-nt.c.
12699         ntproc.c will die, one day.
12700
12701         * ntproc.c (sys_spawnve):
12702         Account for win32_ -> mswindows_.
12703
12704         * process-nt.c:
12705         * process-nt.c (struct nt_process_data):
12706         * process-nt.c (ensure_console_window_exists):
12707         * process-nt.c (compare_env):
12708         * process-nt.c (nt_create_process):
12709         * process-nt.c (nt_kill_process_by_pid):
12710         * process-nt.c (syms_of_process_nt):
12711         * process-nt.c (vars_of_process_nt):
12712         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12713         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12714         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12715         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12716         Move compare_env here from ntproc.c.
12717
12718         * process.c (Fprocess_send_region):
12719         Takes an optional fourth argument, BUFFER, which should fix some
12720         problems with call-process.
12721
12722         * syscommctrl.h:
12723         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12724
12725         * syswindows.h:
12726         Move ICC_BAR_CLASSES to syscommctrl.h.
12727         Add preliminary macros for MSWindows/Mule.  More to come.
12728
12729         * unexnt.c:
12730         * unexnt.c (unexec):
12731         open_output_file moved to nt.c.
12732
12733
12734 2000-05-05  Andy Piper  <andy@xemacs.org>
12735
12736         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12737         instance from the frame cache also since GC may catch up too late
12738         to make frame deletion sane.
12739
12740 2000-05-04  Andy Piper  <andy@xemacs.org>
12741
12742         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12743         (x_finalize_image_instance): ungcpro on deletion.
12744
12745         * glyphs.c (image_instantiator_format_create): give pointers a
12746         query geometry method so that the geometry is at least set.
12747
12748         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12749         initialize layouts if using widgets.
12750
12751 2000-05-03  Andy Piper  <andy@xemacs.org>
12752
12753         * nt.c: remove bogus reference to sysmmsystem.h
12754
12755         * gui-x.c (popup_selection_callback): fix no selection abort.
12756
12757 2000-05-02  Andy Piper  <andy@xemacs.org>
12758
12759         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12760         (mswindows_widget_instantiate): ditto.
12761
12762         * glyphs-widget.c (initialize_widget_image_instance): initialize
12763         children correctly.
12764         (widget_instantiate): cope with children and items in the same
12765         instance.
12766
12767         * glyphs.c (mark_image_instance): cope with children as a first
12768         class member.
12769         (image_instance_equal): ditto.
12770         (image_instance_hash): ditto.
12771         (image_instance_changed): ditto.
12772
12773 2000-04-30  Andy Piper  <andy@xemacs.org>
12774
12775         * glyphs.c (subwindow_query_geometry): new function. Return some
12776         defaults.
12777         (subwindow_instantiate): don't assign dimensions if none have been
12778         given.
12779         (image_instantiator_format_create): add subwindow_query_geometry.
12780         (print_image_instance): cope with layouts as widgets.
12781
12782 2000-04-29  Andy Piper  <andy@xemacs.org>
12783
12784         * frame.c (delete_frame_internal): call
12785         free_frame_subwindow_instance_cache so that all subwindows are
12786         finalized before their parent.
12787         (mark_frame): remove subwindow_cachels.
12788         (Fmake_frame): remove subwindow_cachel manipulation.
12789         (allocate_frame_core): subwindow_instance_cache is a weak list.
12790         (delete_frame_internal): set subwindow_instance_cache to nil.
12791
12792         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12793         finalization safe.
12794         (mswindows_finalize_image_instance): use the device
12795         not the domain as the domain may have died already.
12796
12797         * glyphs-x.c (x_finalize_image_instance): ditto.
12798         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12799         HEIGHT.
12800
12801         * redisplay-output.c (redisplay_unmap_subwindows): update for
12802         subwindow instance cache as a weak list.
12803         (redisplay_unmap_subwindows_maybe): ditto.
12804         (redisplay_unmap_subwindows_except_us): ditto.
12805
12806         * glyphs.c (unmap_subwindow): error checking will check the domain
12807         so don't deal with it here. Don't use cachels anymore.
12808         (map_subwindow): ditto.
12809         (update_subwindow_cachel_data): remove old accessor names.
12810         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12811         (Fresize_subwindow): don't update cachel.
12812         (mark_subwindow_cachels):
12813         (update_subwindow_cachel_data):
12814         (add_subwindow_cachel):
12815         (get_subwindow_cachel_index):
12816         (update_subwindow_cachel):
12817         (reset_subwindow_cachels):
12818         (mark_subwindow_cachels_as_not_updated): deleted.
12819         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12820         subwindow instance to the frame cache.
12821         (find_matching_subwindow): update for subwindow instance cache as
12822         a weak list.
12823         (update_widget_instances): ditto.
12824         (image_instance_type_to_mask):inlined.
12825         (free_frame_subwindow_instance_cache): new function. finalize all
12826         subwindows that are instantiated.
12827
12828         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12829         of cachel information.
12830         (IMAGE_INSTANCE_DISPLAY_X):
12831         (IMAGE_INSTANCE_DISPLAY_Y):
12832         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12833         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12834         (XIMAGE_INSTANCE_DISPLAY_X):
12835         (XIMAGE_INSTANCE_DISPLAY_Y):
12836         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12837         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12838         remove subwindow_cachel structure and function references.
12839         (image_instance_type_to_mask): inline from glyphs.c
12840
12841         * redisplay.c (redisplay_frame): remove subwindow_cachel
12842         references.
12843
12844         * frame.h (struct frame): remove subwindow_cachels.
12845         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12846
12847         * frameslots.h: add subwindow_instance_cache.
12848
12849         * window.c (replace_window): check subwindow cache of replacement.
12850         (window_unmap_subwindows_cache_mapper):
12851         (window_unmap_subwindows): new functions. Unmap all subwindows
12852         cached on this window.
12853         (mark_window_as_deleted): unmap all subwindows.
12854
12855 2000-04-27  Andy Piper  <andy@xemacs.org>
12856
12857         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12858
12859         * glyphs-widget.c (widget_layout): return something.
12860         (layout_layout): return something. Fail if not initialized.
12861         (layout_query_geometry): ditto.
12862         (image_instantiator_native_layout): new function. Initialized the
12863         native layout type.
12864         (widget_instantiate): don't do layout stuff here.
12865
12866         * glyphs.c (instantiate_image_instantiator): reorded calling or
12867         instantiate and post_instantiate with layout in between.
12868         (image_instance_layout): be more selective about deciding whether
12869         the layout has been done or not.
12870
12871         * glyphs.h (struct image_instantiator_methods): return a value
12872         from layout_method.
12873
12874 2000-04-26  Andy Piper  <andy@xemacs.org>
12875
12876         * glyphs.c (allocate_image_instance): make initial width and
12877         height unspecified. Set initialized to 0.
12878
12879         * syscommctrl.h new file. Encapsulates commctrl.h.
12880
12881         * syswindows.h new file. Encapsulates windows.h.
12882
12883         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12884         * nt.c: ditto.
12885         * console-msw.h: ditto.
12886
12887         * redisplay-tty.c (tty_output_display_block): remove layout references.
12888
12889         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12890         window handle rather than just the frame.
12891
12892         * glyphs.c (mark_image_instance): remove layout references.
12893         (print_image_instance): ditto.
12894         (image_instance_equal): ditto.
12895         (image_instance_hash): ditto.
12896         (decode_image_instance_type): ditto.
12897         (encode_image_instance_type): ditto.
12898         (image_instantiate): ditto.
12899         (allocate_glyph): ditto.
12900         (Fimage_instance_height): ditto.
12901         (Fimage_instance_width): ditto.
12902         (update_subwindow): ditto.
12903
12904         * redisplay-x.c (x_output_display_block): recode for layouts as
12905         widgets.
12906
12907         * redisplay-output.c (redisplay_output_layout): recode for layouts
12908         as widgets.
12909         (compare_runes): remove layout references.
12910
12911         * redisplay-msw.c (mswindows_output_display_block): recode for
12912         layouts as widgets.
12913
12914         * glyphs-widget.c (image_instantiator_layout): remove
12915         layout_possible_dest_types.
12916         (layout_possible_dest_types): deleted.
12917
12918         * glyphs.h (image_instance_type): remove layout references.
12919         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12920         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12921         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12922
12923 2000-04-25  Andy Piper  <andy@xemacs.org>
12924
12925         * glyphs-widget.c (image_instantiator_buttons):
12926         (image_instantiator_edit_fields):
12927         (image_instantiator_combo_box):
12928         (image_instantiator_scrollbar):
12929         (image_instantiator_progress_guage):
12930         (image_instantiator_tree_view):
12931         (image_instantiator_tab_control):
12932         (image_instantiator_labels):
12933         (image_instantiator_layout): call default post_instantiate method.
12934         (widget_post_instantiate): new function. Simply lays out the
12935         widgets.
12936
12937         * glyphs.h (struct image_instantiator_methods): add
12938         post_instantiate method.
12939
12940         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12941         method calls.
12942
12943 2000-04-23  Andy Piper  <andy@xemacs.org>
12944
12945         * glyphs.h (struct image_instantiator_methods): add
12946         decode_domain_method.
12947         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12948         derived from the domain.
12949         (IMAGE_INSTANCE_FRAME): new accessor.
12950         (XIMAGE_INSTANCE_FRAME): ditto.
12951
12952         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12953         instead of _SUBWINDOW_FRAME.
12954         (finalize_image_instance): ditto.
12955         (Fimage_instance_foreground): ditto.
12956         (Fimage_instance_background): ditto.
12957         (image_instantiate): ditto.
12958         (update_subwindow_cachel): ditto.
12959         (update_subwindow): ditto.
12960         (unmap_subwindow): ditto.
12961         (map_subwindow): ditto
12962         (subwindow_instantiate): ditto.
12963         * glyphs-msw.c (mswindows_update_widget): ditto.
12964         (mswindows_progress_gauge_instantiate): ditto.
12965         (mswindows_tab_control_update): ditto.
12966         * glyphs-x.c (x_update_widget): ditto.
12967         (x_widget_instantiate): ditto.
12968         (x_tab_control_instantiate): ditto.
12969         (x_tab_control_update): ditto.
12970         * event-msw.c (mswindows_wnd_proc): ditto
12971
12972         * glyphs-widget.c (image_instantiator_layout): use
12973         subwindow_decode_domain.
12974         (image_instantiator_buttons): ditto.
12975         (image_instantiator_edit_fields): ditto.
12976         (image_instantiator_combo_box): ditto.
12977         (image_instantiator_scrollbar): ditto.
12978         (image_instantiator_progress_guage): ditto.
12979         (image_instantiator_tree_view): ditto.
12980         (image_instantiator_tab_control): ditto.
12981         (image_instantiator_labels): ditto.
12982         (image_instantiator_layout): ditto.
12983
12984         * glyphs.c: add instance error checking to many functions.
12985         (instantiate_image_instantiator): decode device from cache_domain.
12986         (image_instantiate): partially rewrite by using
12987         decode_image_instantiator_domain to determine what domain the
12988         instance needs to be cached in.
12989         (decode_image_instantiator_domain): new function. Determine what
12990         domain the image needs to be cached in.
12991         (check_window_subwindow_cache): new error checking function.
12992         (check_instance_cache_mapper): ditto.
12993         (check_image_instance_structure): ditto.
12994         (subwindow_decode_domain): new function. Encodes a window as a
12995         subwindow's cache domain.
12996         (image_instantiator_format_create): use it for text and
12997         subwindows.
12998
12999 2000-04-21  Andy Piper  <andy@xemacs.org>
13000
13001         * glyphs.c (image_instance_device): new function.
13002         (image_instance_frame): new function.
13003         (image_instance_window): new function.
13004         (image_instance_live_p): new function.
13005
13006         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13007         cache to nil.
13008
13009         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13010         (IMAGE_INSTANCE_DOMAIN): new accessor.
13011         (XIMAGE_INSTANCE_DOMAIN): ditto.
13012
13013         * glyphs-x.c (x_finalize_image_instance): device->domain.
13014
13015         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13016         (mswindows_finalize_image_instance): ditto.
13017
13018         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13019         (gif_instantiate): ditto.
13020         (png_instantiate): ditto.
13021         (tiff_instantiate): ditto.
13022
13023         * glyphs.c (instantiate_image_instantiator): use domain rather
13024         than device.
13025         (mark_image_instance): device -> domain.
13026         (print_image_instance): ditto.
13027         (finalize_image_instance): ditto.
13028         (image_instance_equal): ditto.
13029         (allocate_image_instance): ditto.
13030         (Fcolorize_image_instance): ditto.
13031         (query_string_geometry): ditto.
13032         (image_instantiate): ditto
13033         (query_string_font): ditto.
13034         (image_instantiate): ditto.
13035         (update_subwindow): ditto.
13036         (unmap_subwindow): ditto.
13037         (map_subwindow): ditto.
13038         (subwindow_instantiate): ditto.
13039
13040         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13041         (DOMAIN_FRAME): ditto.
13042         (DOMAIN_WINDOW): ditto.
13043         (DOMAIN_LIVE_P): ditto.
13044         (XDOMAIN_DEVICE): ditto.
13045         (XDOMAIN_FRAME): ditto.
13046         (XDOMAIN_WINDOW): ditto.
13047
13048         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13049         a valid specifier domain.
13050
13051 2000-04-19  Andy Piper  <andy@xemacs.org>
13052
13053         * glyphs-widget.c (syms_of_glyphs_widget): remove
13054         widget-callback-current-channel.
13055         (vars_of_glyphs_widget): ditto.
13056         * glyphs.h: ditto
13057
13058         * gui.c (get_gui_callback): revert to previous behaviour.
13059
13060 2000-04-18  Andy Piper  <andy@xemacs.org>
13061
13062         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13063         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13064         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13065
13066         * glyphs.c (image_instance_equal): add margin_width.
13067         (image_instance_hash): ditto.
13068
13069         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13070         (layout_query_geometry): ditto.
13071         (layout_layout): ditto.
13072         (syms_of_glyphs_widget): add margin-width.
13073         (image_instantiator_layout): allow margin-width.
13074
13075         * glyphs.c (update_widget_instances): make a normal function.
13076         (syms_of_glyphs): remove Qupdate_widget_instances.
13077         * glyphs.h: ditto.
13078
13079         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13080         so that we don't corrupt ideas about the last event or
13081         command. Remove widget-callback-current-channel fiddling.
13082         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13083
13084 2000-05-01  Martin Buchholz <martin@xemacs.org>
13085
13086         * XEmacs 21.2.33 is released.
13087
13088 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13089
13090         * make-src-depend: Allow dots in header file name.
13091
13092 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13093
13094         * mule-charset.h (struct charset_lookup): Add
13095         next_allocated_1_byte_leading_byte and
13096         next_allocated_2_byte_leading_byte.
13097         * mule-charset.c: Move above two variables so that those values
13098         will be dumped.
13099
13100 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13101
13102         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13103         when string length is zero.
13104         (find_charsets_in_emchar_string): Ditto.
13105
13106 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13107
13108         * lisp.h: extern Qdialog and Qmenubar.
13109
13110         * gui-x.c: added events.h.
13111                 also fixed typo which made the file uncompilable.
13112
13113         * general.c: Added Qmenubar and Qdialog
13114
13115 2000-04-28  Ben Wing  <ben@xemacs.org>
13116
13117         * frame-msw.c (mswindows_init_frame_1):
13118         * frame-msw.c (mswindows_mark_frame):
13119         * event-msw.c (mswindows_enqueue_dispatch_event):
13120         * console-msw.h:
13121         * console-msw.h (struct mswindows_frame):
13122         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13123         there are now three hash tables for callbacks.
13124         mswindows_enqueue_dispatch_event is no longer static.
13125
13126         * dialog-x.c (maybe_run_dbox_text_callback):
13127         * dialog-x.c (dbox_descriptor_to_widget_value):
13128         switch to new cons3 form for callbacks.
13129
13130         * glyphs-msw.c (mswindows_register_gui_item):
13131         * glyphs-msw.c (mswindows_widget_instantiate):
13132         * glyphs-msw.c (add_tree_item):
13133         * glyphs-msw.c (add_tab_item):
13134         new image instance parameter, so it can be passed to callback-ex.
13135         respect :callback-ex as well as :callback.
13136
13137         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13138         add :callback-ex.
13139
13140         * glyphs.c (print_image_instance):
13141         prettify, e.g. now prints widget type.
13142
13143         * gui-x.h:
13144         certain funs have new image instance parameter.
13145
13146         * gui.c:
13147         * gui.c (get_gui_callback):
13148         * gui.c (gui_item_add_keyval_pair):
13149         * gui.c (gui_item_init):
13150         * gui.c (gui_add_item_keywords_to_plist):
13151         * gui.c (mark_gui_item):
13152         * gui.c (gui_item_hash):
13153         * gui.c (gui_item_equal):
13154         * gui.c (copy_gui_item):
13155         * gui.c (syms_of_gui):
13156         recognize callback-ex in a number of places.
13157         also, fix the annoying "can't get out of yes-no dialog" bug.
13158
13159         * gui.h:
13160         * gui.h (struct Lisp_Gui_Item):
13161         recognize callback-ex in a number of places.
13162
13163         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13164         new parameter in button_item_to_widget_value.
13165
13166         * glyphs-x.c (x_update_widget):
13167         * glyphs-x.c (x_button_instantiate):
13168         * glyphs-x.c (x_button_update):
13169         * glyphs-x.c (x_progress_gauge_instantiate):
13170         * glyphs-x.c (x_edit_field_instantiate):
13171         * glyphs-x.c (x_combo_box_instantiate):
13172         * glyphs-x.c (x_tab_control_instantiate):
13173         * glyphs-x.c (x_label_instantiate):
13174         new image instance parameter in various places.
13175
13176         * event-Xt.c:
13177         * event-Xt.c (enqueue_Xt_dispatch_event):
13178         this fun gets exported.
13179
13180         * gui-msw.c:
13181         * gui-msw.c (mswindows_handle_gui_wm_command):
13182         handle both :callback and :callback-ex, and generate our own
13183         event because it's one of the callback-ex arguments.
13184
13185         * gui-x.c:
13186         * gui-x.c (popup_selection_callback):
13187         handle both :callback and :callback-ex, and generate our own
13188         event because it's one of the callback-ex arguments.
13189         * gui-x.c (button_item_to_widget_value):
13190         * gui-x.c (gui_items_to_widget_values_1):
13191         * gui-x.c (gui_item_children_to_widget_values):
13192         * gui-x.c (gui_items_to_widget_values):
13193         new image instance parameter in various places.
13194
13195         * fns.c (Freplace_list):
13196         fix small typo in doc string.
13197
13198         * lisp.h:
13199         declare enqueue_Xt_dispatch_event.
13200
13201 2000-04-28  Ben Wing  <ben@xemacs.org>
13202
13203         * buffer.c:
13204         * buffer.c (Frecord_buffer):
13205         * buffer.c (syms_of_buffer):
13206         delete record-buffer-hook.
13207
13208         * fns.c:
13209         * fns.c (Freplace_list):
13210         * fns.c (syms_of_fns):
13211         new primitive replace-list.
13212
13213         * frameslots.h:
13214         slot for old buffer-alist.
13215
13216         * lisp.h:
13217         exfun replace-list.
13218
13219         * redisplay.c:
13220         * redisplay.c (redisplay_frame):
13221         * redisplay.c (syms_of_redisplay):
13222         * redisplay.c (vars_of_redisplay):
13223         new hook buffer-list-changed-hook.
13224         call it.
13225
13226 2000-04-27  Ben Wing  <ben@xemacs.org>
13227
13228         * extents.h: extern in_modeline_generation.
13229
13230         * redisplay.c (generate_formatted_string_db): set
13231         in_modeline_generation.
13232
13233         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13234         flags if in modeline generation.  otherwise frame-modified-tick
13235         is ticked far too often.
13236         Declare in_modeline_generation.
13237
13238 2000-04-26  Ben Wing  <ben@xemacs.org>
13239
13240         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13241         option.
13242         (vars_of_emacs): add quick-build as an error-checking option.
13243         A bit kludgy, but there doesn't seem much point in creating
13244         a real var for this.
13245
13246         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13247
13248 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13249
13250         * redisplay.h (struct display_line): Add a new variable,
13251         line_continuation.
13252
13253         * redisplay.c (create_text_block): Set dl->line_continuation if
13254         the line continues.
13255         (create_string_text_block): Ditto.
13256         (regenerate_window_incrementally): Use line_continuation instead
13257         of searching continuation glyph.
13258         (add_margin_runes): Call add_glyph_rune.
13259         (add_glyph_rune): Handle margin glyph.
13260
13261 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13262
13263         * filelock.c (fill_in_lock_file_name):
13264         ANSIfy.
13265         Check for IS_ANY_SEP instead of '/'.
13266         (lock_file_1):
13267         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13268         Never check errno without first seeing that system call failed.
13269         (unlock_file): Add GCPRO.
13270         (Flock_buffer): Fix docstring.
13271         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13272
13273 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13274
13275         * sysdep.c (get_pty_max_bytes):
13276         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13277         strings longer than 252 bytes.
13278
13279         * md5.c: Unconditionally include ANSI header <limits.h>
13280
13281         * glyphs-x.c (convert_EImage_to_XImage):
13282         * lisp-union.h (union Lisp_Object):
13283         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13284
13285 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13286
13287         * filelock.c (current_lock_owner): Remove unused variable o, p.
13288
13289 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13290
13291         * callint.c: Remove multiply defined symbol Qlet
13292         (syms_of_callint): ditto.
13293
13294 2000-04-14  Andy Piper  <andy@xemacs.org>
13295
13296         * general.c (syms_of_general): add last-command, this-command, let
13297         and funcall.
13298
13299         * lisp.h: declare various symbols.
13300
13301         * glyphs.h: declare Qwidget_callback_current_channel;
13302
13303         * glyphs-widget.c (syms_of_glyphs_widget): add
13304         Qgui_callback_current_channel.
13305         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13306
13307         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13308         widget-callback-current-channel when invoking the interactive
13309         arg. Also bind last-command and next-command when invoking the
13310         widget updates.
13311         * gui-x.c (popup_selection_callback): ditto.
13312
13313         * gui.c (get_gui_callback): massage args so that we are always
13314         calling eval. This allows us to add our own variable bindings
13315         outside.
13316
13317         * glyphs-x.c (x_button_instantiate): use
13318         gui_items_to_widget_values since this is GC safe.
13319         (x_progress_gauge_instantiate): ditto.
13320         (x_edit_field_instantiate): ditto.
13321         (x_label_instantiate): ditto.
13322
13323         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13324         (emacs_Xt_event_widget_focus_out): new function
13325         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13326         focus.
13327         (emacs_Xt_event_add_widget_actions): new function. add focus
13328         functions as actions.
13329         (init_event_Xt_late): use it.
13330
13331 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13332
13333         * event-stream.c (Fdispatch_event): Doc fix.
13334
13335 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13336
13337         * postgresql.c: Remove all references to PQsetenv*.
13338
13339         * postgresql.h: Remove references to PGsetenvHandler object.
13340         * lrecord.h (lrecord_type): Ditto.
13341
13342 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13343
13344         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13345         real_heigh and real_width members, and accessor macros for these.
13346
13347         * glyphs-msw.c (init_image_instance_geometry): New function.
13348         (init_image_instance_from_dibitmap): Use it.
13349         (mswindows_resource_instantiate): Use it.
13350         (init_image_instance_from_xbm_inline): Use it.
13351         (mswindows_initialize_image_instance_mask): Use real bitmap
13352         geometry.
13353         (mswindows_create_resized_bitmap): Ditto.
13354         (mswindows_create_resized_mask): Ditto.
13355
13356         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13357         and bitmap to their surface size.
13358
13359 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13360
13361         * process-unix.c (unix_send_process): Guard against process MIA
13362         after Faccept_process_output.
13363
13364 2000-04-11  Ben Wing  <ben@xemacs.org>
13365
13366         * eval.c (unbind_to_hairy): fix brokenness introduced by
13367         nanosecond speed improvements.
13368
13369 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13370
13371         * sunplay.c (init_device): To play sounds correctly, the device
13372         apparently needs to be initialized at least once by XEmacs.  Make
13373         it so.
13374
13375 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13376
13377         * redisplay.c (add_margin_runes): Add text image glyph
13378           handling.
13379
13380 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13381
13382         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13383         gcc is newer than 2.5.
13384
13385 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13386
13387         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13388
13389         * fns.c (size_bit_vector):
13390         * alloc.c (size_vector):
13391         (make_vector_internal):
13392         (make_bit_vector_internal):
13393         (sweep_bit_vectors_1):
13394         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13395
13396 2000-04-06  Andy Piper  <andy@xemacs.org>
13397
13398         * gmalloc.c (malloc): undo previous change.
13399         (malloc): ditto.
13400         (free): ditto.
13401         (realloc): ditto.
13402
13403 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13404
13405         * line-number.c (buffer_line_number): Revert to former version.
13406
13407 2000-04-06  Andy Piper  <andy@xemacs.org>
13408
13409         * gmalloc.c (malloc): add error checking.
13410         (malloc): ditto.
13411         (free): ditto.
13412         (realloc): ditto.
13413
13414         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13415         button_item_to_widget_value arg.
13416
13417         * glyphs-x.c (x_button_instantiate): add extra
13418         button_item_to_widget_value arg.
13419         (x_progress_gauge_instantiate): ditto.
13420         (x_edit_field_instantiate): ditto.
13421         (x_label_instantiate): ditto.
13422
13423         * gui-x.c (gui_items_to_widget_values_1): add extra
13424         button_item_to_widget_value arg.
13425         (button_item_to_widget_value): add extra menu_item_p arg.
13426
13427         * gui-x.h: change signature of button_item_to_widget_value.
13428
13429         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13430         button_item_to_widget_value arg.
13431
13432 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13433
13434         * buffer.h (struct buffer): auto_save_modified should be long.
13435
13436 2000-04-05  Andy Piper  <andy@xemacs.org>
13437
13438         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13439         type.
13440         (button_query_geometry): give a little more room so that athena
13441         buttons fit.
13442
13443 2000-04-05  Andy Piper  <andy@xemacs.org>
13444
13445         * faces.c (complex_vars_of_faces): The widget face should inherit
13446         the font of the gui-element face.
13447
13448 2000-04-04  Andy Piper  <andy@xemacs.org>
13449
13450         * glyphs-x.c (x_button_update): new function. unconditionally
13451         update a button's state when the instance is dirty.
13452         (image_instantiator_format_create_glyphs_x): add x_button_update.
13453         (x_widget_instantiate): remove old resize cruft.
13454
13455 2000-04-02  Andy Piper  <andy@xemacs.org>
13456
13457         * frame.c (change_frame_size_1): The introduction of gutters means
13458         that we need to allow 0 as a potential frame dimension.
13459
13460 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13461
13462         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13463         image glyph if allow_cursor.
13464         (add_hscroll_rune): Don't allow cursor to border glyph.
13465         (create_text_block): Ditto.
13466
13467         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13468         text not in buffer.
13469         (redisplay_output_layout): Call ensure_face_cachel_complete for
13470         text image glyph.
13471
13472
13473 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13474
13475         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13476
13477         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13478         not in buffer
13479
13480         * redisplay-tty.c (tty_output_display_block): Delete the routine
13481         for text image glyph
13482         * redisplay-x.c (x_output_display_block): ditto
13483         * redisplay-msw.c (mswindows_output_display_block): ditto
13484
13485 2000-02-02  Mike Alexander  <mta@arbortext.com>
13486
13487         Note: Some of these were committed by accident as part of other
13488         patches.
13489
13490         * regex.c (regex_compile): Avoid compiler warnings.
13491
13492         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13493
13494         * nt.h: Declare term_ntproc correctly.
13495
13496         * nt.c: Remove incorrect declaration of get_home_directory which
13497         is declared correctly in lisp.h.
13498
13499         * keymap.c (get_keyelt): Avoid compiler warnings.
13500         (raw_lookup_key_mapper): Avoid compiler warnings.
13501
13502         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13503
13504         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13505
13506         * filemode.c (mode_string): Avoid compiler warnings.
13507
13508         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13509         avoid warning.
13510
13511         * events-mod.h: Undef some things that winuser.h defines differently.
13512
13513         * data.c (Faset): Avoid compiler warnings.
13514
13515         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13516
13517 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13518
13519         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13520         Fall through to simple beep on error.
13521         Replace "extern" by real header file.
13522
13523         * linuxplay.c: Use nativesound.h
13524         (play_sound_data): Return error code. Be less verbose on error.
13525
13526         * sunplay.c: Use nativesound.h
13527         (play_sound_data): Return error code. Be less verbose on error.
13528
13529         * ntplay.c: Use nativesound.h
13530         (play_sound_data): Return fake error code
13531
13532         * sgiplay.c: Use nativesound.h
13533         (play_sound_data): Return error code
13534
13535         * hpplay.c: Use nativesound.h, partially implement
13536         new error code. Break compilation until finished.
13537         (play_sound_data): error code.
13538
13539         * nativesound.h (play_sound_file):
13540           (play_sound_data): Prototype in new header.
13541
13542 2000-03-31  Andy Piper  <andy@xemacs.org>
13543
13544         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13545         for toggle and radio buttons.
13546         (image_instantiator_buttons): use it.
13547
13548 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13549
13550         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13551         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13552         found. Scrollbar event probably belonged to some old config.
13553
13554 2000-03-31  Andy Piper  <andy@xemacs.org>
13555
13556         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13557         than 1.
13558         (initialize_widget_image_instance): default layout to
13559         LAYOUT_HORIZONTAL rather than 0.
13560         (widget_instantiate): reverse the item list at the end rather than
13561         every iteration.
13562         (layout_layout): re-code for the border text at the front of the
13563         item list rather than at the end.
13564         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13565         provided by the user.
13566         (widget_query_geometry): comment.
13567
13568 2000-03-30  Andy Piper  <andy@xemacs.org>
13569
13570         * glyphs-widget.c (image_instantiator_layout): allow standard
13571         widget keywords in layouts.
13572
13573         * gutter.c (output_gutter): cope with nil gutter contents.
13574
13575         * frame.c (Fset_frame_properties): add gutter docs.
13576
13577 2000-03-29  Andy Piper  <andy@xemacs.org>
13578
13579         * toolbar-msw.c (TBSTYLE_FLAT): add.
13580         (mswindows_output_toolbar): minor fiddling.
13581
13582 2000-03-29  Andy Piper  <andy@xemacs.org>
13583
13584         * gutter.c (output_gutter): force gutter size recalculation if
13585         what we are trying to display won't fit.
13586         (update_gutter_geometry): new function. A per-gutter version of
13587         update_frame_gutter_geometry.
13588         (update_frame_gutter_geometry): use it.
13589         (redraw_exposed_gutter): add extra debugging output.
13590
13591 2000-03-28  Mike Alexander  <mta@arbortext.com>
13592
13593         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13594         (pdump_file_unmap): Implement it on Windows
13595         (pdump_file_get): Save alocated handles for pdump_file_unmap
13596
13597 2000-03-28  Andy Piper  <andy@xemacs.org>
13598
13599         * gui.c (get_gui_callback): treat Quit specially.
13600
13601 2000-03-27  Andy Piper  <andy@xemacs.org>
13602
13603         * glyphs.c (image_instantiate): be careful to check in the same
13604         way we assigned.
13605
13606 2000-03-27  Didier Verna  <didier@xemacs.org>
13607
13608         * config.h.in: define the proper SMART_INCLUDE macro.
13609         handle renaming of `foo_h_path' to `foo_h_file'.
13610
13611         * database.c: ditto.
13612
13613         * emacs.c: ditto.
13614
13615         * linuxplay.c: ditto.
13616
13617         * terminfo.c: ditto.
13618
13619         * tooltalk.h: ditto.
13620
13621 2000-03-27  Andy Piper  <andy@xemacs.org>
13622
13623         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13624         gets updated whenever the face might have changed.
13625
13626 2000-03-26  Mike Alexander  <mta@arbortext.com>
13627
13628         * dumper.c (pdump_resource_free): Fix the comment.
13629
13630 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13631
13632         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13633
13634 2000-03-22  Mike Alexander  <mta@arbortext.com>
13635
13636         * dumper.c: Include Windows headers on Windows
13637         (pdump_resource_free): Add a body to the function
13638         (pdump_load): exe_name -> exe_path and add some comments.
13639
13640 2000-03-25  Mike Alexander  <mta@arbortext.com>
13641
13642         * gui.c (copy_gui_item_tree): Return a value in all cases
13643
13644 2000-03-21  Didier Verna  <didier@xemacs.org>
13645
13646         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13647         lwlib/config.h.in.
13648         (SMART_INCLUDE): new macro.
13649         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13650         the proper location.
13651
13652         * postgresql.c: use it.
13653
13654         * inline.c: ditto.
13655
13656 2000-03-24  Andy Piper  <andy@xemacs.org>
13657
13658         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13659         do this.
13660
13661 2000-03-24  Andy Piper  <andy@xemacs.org>
13662
13663         * redisplay-output.c (compare_runes): use image_instance_changed
13664         to detect changes. Do not depend on glyphs_changed, only depend on
13665         dirtiness.
13666          (redisplay_output_layout): add debug messages.
13667         (compare_runes): ditto.
13668
13669         * glyphs.h: declare new functions.
13670         (struct Lisp_Image_Instance): remove percent and associated
13671         accessors.
13672
13673         * gui.h: declare new copying functions.
13674
13675         * gui.c (copy_gui_item_tree): new function.
13676         (copy_gui_item): new function.
13677         (gui_item_id_hash): revert to standard hash.
13678         (gui_item_hash): ditto.
13679         (gui_item_hash_internal): deleted.
13680         (mark_gui_item): mark value.
13681         (gui_item_add_keyval_pair): add value.
13682         (gui_item_init): ditto.
13683         (gui_add_item_keywords_to_plist): ditto.
13684         (gui_item_equal): ditto.
13685         (syms_of_gui): add Q_value.
13686
13687         * glyphs-x.c (x_progress_gauge_update): use pending items and
13688         value for setting the state.
13689         (x_update_widget): don't set items from pending here.
13690
13691         * glyphs-widget.c (update_widget): update items here.
13692         (progress_gauge_set_property): use items for storing value. Put
13693         new value in pending items.
13694
13695         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13696         items for new value. Convert percent -> value.
13697         (mswindows_tab_control_update): don't update items here.
13698
13699         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13700         (update_subwindow): ditto.
13701         (image_instance_changed): new function. Compare hash values and
13702         past and present widget items.
13703         (image_instantiate): We more careful about where we instantiate
13704         things.
13705         (image_instantiate): add error checking.
13706
13707         * gutter.c (syms_of_gutter): use -hook.
13708
13709 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13710
13711         * console-tty.c (Fset_console_tty_input_coding_system): Use
13712         Qkeyboard.
13713         (Fset_console_tty_output_coding_system): Use Qterminal.
13714         (tty_init_console): Use Qkeyboard and Qterminal.
13715
13716 2000-03-21  Ben Wing  <ben@xemacs.org>
13717
13718         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13719         From Mike Alexander <mta@arbortext.com>.
13720
13721 2000-03-21  Ben Wing  <ben@xemacs.org>
13722
13723         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13724         process brokenness.  Proper implementation to come.
13725         * callproc.c:
13726         Rename call-process-internal to old-call-process-internal.
13727         New impl. in process.el.
13728
13729 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13730
13731         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13732
13733 2000-03-20  Andy Piper  <andy@xemacs.org>
13734
13735         * glyphs.c (full_list_hash): make hashes of the same elements in
13736         different orders return different values.
13737
13738 2000-03-20  Martin Buchholz <martin@xemacs.org>
13739
13740         * XEmacs 21.2.32 is released.
13741
13742 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13743
13744         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13745         (DFC_MALLOC_USE_CONVERTED_DATA):
13746         Add aliasing-safe casts to allow use with char* or unsigned char*
13747         lvalues.
13748
13749         * eldap.c (Fldap_open):
13750         (Fldap_search_basic):
13751         (Fldap_add):
13752         (Fldap_modify):
13753         Make C++-compilable.
13754         Make sure GCPRO'ed variables are initialized.
13755         Use temp variables to avoid repeated calls to Flength.
13756
13757 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13758
13759         * sysfile.h:
13760         Make sure PATH_MAX is always defined.
13761         Include limits.h for PATH_MAX.
13762         Deprecate use of MAXPATHLEN.
13763
13764 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13765
13766         * emacs.c: Add reinit_vars_of_fileio.
13767         * symsinit.h: Add reinit_vars_of_fileio.
13768         * fileio.c (reinit_vars_of_fileio): New.
13769         * fileio.c (Fmake_temp_name):
13770         Initialize temp_name random number from microseconds to make
13771         collisions even less likely.  Initialize always at process startup
13772         time.  (make-temp-name) used to return the same file name twice in
13773         a row when PDUMP.
13774         Random stylistic fiddling.
13775         Comment fixes.
13776
13777 2000-03-20  Andy Piper  <andy@xemacs.org>
13778
13779         * glyphs.c (image_instantiate): allow text glyphs to be
13780         instantiated in the minibuffer window.
13781
13782 2000-03-19  Andy Piper  <andy@xemacs.org>
13783
13784         * glyphs.c (image_instance_hash): be careful about which items we
13785         hash on.
13786
13787         * glyphs-widget.c (tab_control_set_property): record into pending
13788         items rather than the actual items.
13789
13790         * glyphs-x.c (x_update_widget): use pending items to update with.
13791
13792         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13793         to update with.
13794
13795         * glyphs.c (mark_image_instance): mark pending items.
13796
13797         * window.c (Fset_window_configuration): record the buffer.
13798         (Fselect_window): totally revert previous change which breaks many
13799         things.
13800
13801 2000-03-18  Andy Piper  <andy@xemacs.org>
13802
13803         * glyphs-msw.c (mswindows_tab_control_update): force selected
13804         item.
13805
13806         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13807         window domain cache, otherwise we get inconsistencies at
13808         startup. There is something fishy at startup which can lead to the
13809         minibuffer being the selected window when the gutter content is
13810         instantiated.
13811
13812         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13813         gcpros.
13814         (parse_gui_item_tree_children): ditto.
13815         (parse_gui_item_tree_item): ditto.
13816
13817         * glyphs.c (Fupdate_widget_instances): return something.
13818
13819 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13820
13821         * window.c (Fselect_window): Undo 2000-03-17 change.
13822
13823 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13824
13825         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13826         against v7.0 libraries.  Insta-coredump city until the postgres
13827         folks fix it.
13828
13829 2000-03-17  Andy Piper  <andy@xemacs.org>
13830
13831         * faces.c (complex_vars_of_faces): don't give the widget face an
13832         inherited background pixmap.
13833
13834         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13835         selected item.
13836
13837         * event-stream.c (Fdispatch_non_command_events): return something.
13838
13839         * gutter.c (output_gutter): use widget face.
13840         (clear_gutter): ditto.
13841
13842         * NEWS: adjust again.
13843
13844         * window.c (Fselect_window): make sure this runs to completion to
13845         avoid oddities with Fset_window_configuration.
13846         (Fcurrent_window_configuration): in general do not save the
13847         minibuffer as the selected window.
13848
13849         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13850
13851 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13852
13853         * emacs.c (Frunning_temacs_p): Revert previous patch.
13854         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13855
13856 2000-03-16  Andy Piper  <andy@xemacs.org>
13857
13858         * glyphs-x.c (x_tab_control_update): if no widget values then
13859         return.
13860
13861         * NEWS: update for new features.
13862
13863         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13864         synthetic event to the native system.
13865         (reinit_vars_of_event_Xt): set force_event_pending to
13866         emacs_Xt_force_event_pending.
13867
13868         * events.h (struct event_stream): add force_event_pending.
13869
13870         * specifier.c (recompute_one_cached_specifier_in_window): add
13871         comment.
13872
13873         * redisplay.c (redisplay_frame): don't call
13874         update_frame_subwindows. Reset subwindow cachels when
13875         subwindows_changed, removing this was an optimization too far.
13876
13877         * redisplay-output.c (compare_runes): reorganize so that we catch
13878         glyph changes when we want them. Set optimize_output when this
13879         would help layouts.
13880         (redisplay_output_layout): remove frame_really_changed, use
13881         optimize_output instead.
13882
13883         * redisplay-msw.c (mswindows_output_display_block): reset
13884         optimize_output after outputting a glyph.
13885         * redisplay-x.c (x_output_display_block): ditto.
13886         * redisplay-tty.c (tty_output_display_block): ditto.
13887
13888         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13889         functions.
13890         (gutter_specs_changed): do specific gutter positions.
13891         (top_gutter_specs_changed): new function. Only update the
13892         specified gutter specs.
13893         (bottom_gutter_specs_changed): ditto.
13894         (left_gutter_specs_changed): ditto.
13895         (right_gutter_specs_changed): ditto.
13896
13897         * gui.c (gui_item_hash_internal): new function, does a real hash.
13898         (gui_item_id_hash): use it.
13899         (gui_item_hash): hash the eval'ed gui_item.
13900
13901         * gui-x.c (popup_selection_callback): send an eval event to call
13902         Fupdate_widget_instances.
13903
13904         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13905         to call Fupdate_widget_instances.
13906
13907         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13908         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13909
13910         * glyphs.c: (update_frame_subwindows): deleted.
13911         (Fupdate_widget_instances): new function for updating the dirty
13912         state of widgets that might have changed.
13913         (syms_of_glyphs): add Qupdate_widget_instances.
13914         (full_list_hash): hash a list completely.
13915         (image_instance_hash): use it for items and properties.
13916
13917         * frame-msw.c (mswindows_size_frame_internal): remove unused
13918         variable.
13919
13920         * faces.h (struct face_cachel): fix comment.
13921
13922         * event-stream.c (Fdispatch_non_command_events): new
13923         function. Process non-command events, forcing an event cycle
13924         beforehand.
13925         (syms_of_event_stream): declare.
13926         (event_stream_force_event_pending): new function. Force an event
13927         on the native event queue so that an event cycle will occur next
13928         time we check.
13929
13930         * event-msw.c:
13931         (struct ntpipe_shove_stream):
13932         (mswindows_enqueue_dispatch_event):
13933         (mswindows_dequeue_dispatch_event):
13934         (mswindows_cancel_dispatch_event):
13935         (mswindows_pump_outstanding_events):
13936         (mswindows_drain_windows_queue):
13937         (mswindows_handle_paint):
13938         (mswindows_wnd_proc):
13939         (mswindows_key_to_emacs_keysym):
13940         (get_process_input_waitable):
13941         (emacs_mswindows_delete_stream_pair): re-indent file.
13942         (mswindows_need_event): do not process further fds if the windows
13943         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13944         fixes the 100% cpu problem.
13945         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13946
13947 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13948
13949         * alloc.h: New.
13950         * dumper.h: New.
13951         * dumper.c: New.
13952
13953         * emacs.c: Moved dump file searching to dumper.c.
13954         (Frunning_temacs_p): Fixed.
13955
13956         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13957         last_lrecord_type_index_assigned.
13958
13959 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13960
13961         * symsinit.h: Added reinit parameter to init_console_stream
13962         declaration.
13963
13964         * lisp.h: Added file parameter to pdump_load declaration.
13965
13966         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13967         support.  Added dump file searching.
13968
13969         * config.h.in: Added EMACS_PROGNAME.
13970
13971         * console-stream.c (init_console_stream): Fix reinitialisation
13972         when running from temacs.
13973
13974         * alloc.c (pdump): Add id support.
13975         (pdump_load): Add file parameter and signature/id support.
13976
13977         * Makefile.in.in: Add full pdump support.
13978
13979 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13980
13981         * postgresql.c: Update documentation to reflect latest code
13982         status.
13983         (print_result): Show tuple counts in printed representation when
13984         appropriate.
13985         (Fpq_put_nbytes): MULE-ize.
13986         (Fpq_get_line_async): Ditto.
13987
13988 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13989
13990         * postgresql.c (Fpq_lo_import): Fix return value.
13991         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13992
13993 2000-03-13  Ben Wing  <ben@xemacs.org>
13994
13995         * alloc.c (pdump_load):
13996         Fix compile warning under mswin.
13997
13998 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13999
14000         * postgresql.c: Mule-ization, bug fixes.
14001         Use PG_CODING to encapsulate coding system name changes.
14002         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14003         (pg-coding-system): Create.
14004
14005         (Fpq_conn_defaults): Mule-ize.
14006         (Fpq_connectdb): Mule-ize & bug fix.
14007         (Fpq_connect_start): Mule-ize.
14008         (Fpq_set_client_encoding): Mule-ize.
14009         (Fpq_finish): Document `DEAD' connection status.
14010         (Fpq_clear): Ditto.
14011         (Fpq_pgconn): Mule-ize.
14012         (Fpq_exec): Mule-ize & bug fix.
14013         (Fpq_send_query): Ditto.
14014         (Fpq_get_result): Ditto.
14015         (Fpq_res_status): Mule-ize.
14016         (Fpq_result_error_message): Mule-ize.
14017         (Fpq_ntuples): fix comments.
14018         (Fpq_fname): Mule-ize.
14019         (Fpq_fnumber): Mule-ize.
14020         (Fpq_ftype): fix comments.
14021         (Fpq_get_value): Mule-ize.
14022         (Fpq_cmd_status): Ditto.
14023         (Fpq_cmd_tuples): Ditto.
14024         (Fpq_oid_value): Ditto.
14025         (Fpq_notifies): Ditto.
14026         (Fpq_lo_import): Ditto.
14027         (Fpq_lo_export): Ditto.
14028         (Fpq_get_line): Ditto.
14029         (Fpq_put_line): Mule-ize and bug fix.
14030         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14031
14032 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14033
14034         * postgresql.c (vars_of_postgresql): Mule-ize.
14035         (Fpq_conn_defaults): Ditto.
14036
14037 2000-03-12  Ben Wing  <ben@xemacs.org>
14038
14039         * alloc.c (Fmake_byte_code):
14040         * alloc.c (debug_string_purity_print):
14041         * alloc.c (pdump_backtrace):
14042         * alloc.c (pdump_get_indirect_count):
14043         * alloc.c (pdump_register_sub):
14044         * alloc.c (pdump_register_object):
14045         * alloc.c (pdump_register_struct):
14046         * alloc.c (pdump_dump_data):
14047         * alloc.c (pdump_reloc_one):
14048         Minor cleanups.
14049
14050         * console-msw.c:
14051         * console-msw.c (GetConsoleHwnd):
14052         * console-msw.c (msw_hide_console):
14053         * console-msw.c (msw_show_console):
14054         * console-msw.c (msw_ensure_console_buffered):
14055         * console-msw.c (msw_output_console_string):
14056         * console-msw.c (console_type_create_mswindows):
14057
14058         a) Added functions to manipulate the console window for use with
14059         shell support.
14060
14061         b) Added support for writing text to the console, which is now
14062         used under Windows when xemacs is not being run non-interactively,
14063         to write text that would otherwise be destined for stdout because
14064         under these circumstances, text written to stdout tends to
14065         disappear and not be seen.
14066
14067         * console-msw.h:
14068         * event-Xt.c:
14069         * event-Xt.c (x_event_to_emacs_event):
14070         * event-Xt.c (describe_event_window):
14071         * events-mod.h (XEMACS_MOD_CONTROL):
14072         * events.c:
14073         * events.c (Fmake_event):
14074         * events.c (character_to_event):
14075         * events.c (event_to_character):
14076         * events.c (format_event_object):
14077         * events.c (Fevent_modifiers):
14078         * events.h:
14079         * events.h (struct key_data):
14080         * events.h (struct button_data):
14081         * events.h (struct misc_user_data):
14082         * frame-x.c (Fcde_start_drag_internal):
14083         * frame-x.c (Foffix_start_drag_internal):
14084         * gpmevent.c (Freceive_gpm_event):
14085         * keymap.c:
14086         * keymap.c (bucky_sym_to_bucky_bit):
14087         * keymap.c (control_meta_superify):
14088         * keymap.c (make_key_description):
14089         * keymap.c (keymap_lookup_directly):
14090         * keymap.c (create_bucky_submap):
14091         * keymap.c (keymap_store):
14092         * keymap.c (define_key_check_and_coerce_keysym):
14093         * keymap.c (define_key_parser):
14094         * keymap.c (define_key_alternate_name):
14095         * keymap.c (Fdefine_key):
14096         * keymap.c (raw_lookup_key_mapper):
14097         * keymap.c (struct map_keymap_unsorted_closure):
14098         * keymap.c (map_keymap_unsorted_mapper):
14099         * keymap.c (map_keymap_sort_predicate):
14100         * keymap.c (map_keymap_sorted):
14101         * keymap.c (accessible_keymaps_mapper_1):
14102         * keymap.c (where_is_recursive_mapper):
14103         * keymap.c (describe_map_mapper):
14104         * keymap.c (describe_map_sort_predicate):
14105         * keymap.c (describe_map):
14106         * keymap.c (complex_vars_of_keymap):
14107         And a number of other files, the key modifier preprocessor
14108         constants that xemacs uses have names that conflict with constants
14109         defined under MS Windows for other purposes, so they were renamed
14110         to begin with the prefix XEMACS_. The variables that hold such
14111         modifiers were changed to consistently be of type int to fix
14112         various compile warnings.
14113
14114         * console.c (complex_vars_of_console):
14115         * device.c:
14116         * device-msw.c:
14117         * device-msw.c (mswindows_finish_init_device):
14118         * device-msw.c (msw_get_workspace_coords):
14119         * device-msw.c (mswindows_device_system_metrics):
14120         and various other files, added support for a new
14121         device property called offset-workspace which returns the position
14122         of the upper left corner of the workspace area and goes along with
14123         the existing size-workspace property.
14124
14125         * dialog-msw.c:
14126         * dialog-msw.c (push_bufbyte_string_as_unicode):
14127         * dialog-msw.c (mswindows_popup_dialog_box):
14128         Added support for XEmacs-style accelerator specifications in
14129         button text.  Note: I didn't add support for this under X Windows,
14130         and somebody needs to do this.
14131
14132         * dialog.c:
14133         * dialog.c (Fpopup_dialog_box):
14134         Documented the support for accelerators that was just mentioned.
14135
14136         editfns.c (get_home_directory): Changed behavior under Windows
14137         when HOME not defined; former behavior was irretrievably broken.
14138
14139         * emacs.c:
14140         * emacs.c (main_1):
14141         * emacs.c (main):
14142         * minibuf.c (clear_echo_area_internal):
14143         * minibuf.c (echo_area_append):
14144         * print.c:
14145         * print.c (std_handle_out_external):
14146         * print.c (std_handle_out_va):
14147         * print.c (fatal):
14148         * print.c (write_string_to_stdio_stream):
14149         * print.c (output_string):
14150         * print.c (debug_print):
14151         * print.c (debug_backtrace):
14152         * print.c (debug_short_backtrace):
14153         Cleaned up the code that prints text to stdout so that this can be
14154         changed to output into a console window instead under MS Windows,
14155         as described above.
14156
14157         * eval.c:
14158         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14159         * eval.c (internal_catch):
14160         * eval.c (unwind_to_catch):
14161         * eval.c (throw_or_bomb_out):
14162         * eval.c (condition_case_1):
14163         * eval.c (signal_1):
14164         * eval.c (check_error_state_sanity):
14165         * eval.c (call_with_suspended_errors_1):
14166         * eval.c (call_with_suspended_errors):
14167         * eval.c (reinit_vars_of_eval):
14168         Added code to catch throw loops and check for a pesky bug that may
14169         be gone now.
14170
14171         * event-msw.c:
14172         * event-msw.c (key_needs_default_processing_p):
14173         * event-msw.c (mswindows_wnd_proc):
14174         * event-msw.c (mswindows_modifier_state):
14175         * event-msw.c (emacs_mswindows_quit_p):
14176         * event-msw.c (vars_of_event_mswindows):
14177         a) Added support for using the alt key to select menu items as is
14178         standard under MS Windows.  This is controlled using the variable
14179         menu-accelerator-enabled, just like under X Windows.  There is an
14180         option on the options menu to turn this support on.  I really
14181         think that it should be on by default under Windows, but I'm not
14182         going to make this change yet.
14183
14184         b)  Added support for dynamic display size changes under Windows.
14185
14186         * event-stream.c:
14187         * event-stream.c (maybe_echo_keys):
14188         * event-stream.c (Fnext_event):
14189         * event-stream.c (command_builder_find_leaf):
14190         * event-stream.c (lookup_command_event):
14191         * event-stream.c (execute_command_event):
14192         * event-stream.c (pre_command_hook):
14193         * event-stream.c (post_command_hook):
14194         * event-stream.c (syms_of_event_stream):
14195         * event-stream.c (vars_of_event_stream):
14196         * event-stream.c (complex_vars_of_event_stream):
14197         * events.h (struct command_builder):
14198
14199         a) Tried to clean up a little bit the horribly written x-specific
14200         accelerator code that crept into this file.  I moved this code
14201         into menubar-x.c where it belongs. I also needed to move the
14202         command builder structure into the file events.h because it is
14203         accessed directly by this accelerator code.  What I didn't do, but
14204         which should be done at some point, is to properly abstract this
14205         code using device methods instead of the kludgy way that it
14206         currently hooks into the event code.
14207
14208         b) Added the lisp variables this-command-properties and
14209         last-command- properties, which should be used to synchronize two
14210         adjacent commands in preference to playing games with the variable
14211         this-command, which is typically what happens.
14212
14213         c) Added some slightly nasty code to hook into the lisp support
14214         for shifted- motion-key selection.  This is actually necessary for
14215         somewhat complicated reasons, which are described in
14216         simple.el. (NB: I think the proper thing would be to have the code
14217         that calls the pre and post command hooks also call out to generic
14218         lisp functions in simple.el, where all built-in stuff could be
14219         added.  I will think about this more.)
14220
14221         * event-unixoid.c (poll_fds_for_input):
14222         * lread.c (readchar):
14223         * redisplay-tty.c (tty_clear_frame):
14224         * redisplay-x.c (x_get_gc):
14225         * signal.c (interrupt_signal):
14226         And a whole bunch of other files: fixed up places that printed
14227         directly to stderr to instead call the function stderr_out so that
14228         the changes I made under Windows work correctly.
14229
14230         * filemode.c (mode_string):
14231         Warning fixes.
14232
14233         * frame-msw.c:
14234         * frame-msw.c (mswindows_size_frame_internal):
14235         Fixed the computation of frame size and position to keep the frame
14236         within the workspace area, rather than within the physical
14237         dimensions of the screen, so that the frame doesn't overlap window
14238         manager decorations, such as the start menu and toolbar, typically
14239         at the bottom of the screen.
14240
14241         * frame.c (vars_of_frame):
14242         Changed the default frame title format under MS Windows to consist
14243         of buffername-XEmacs, which is standard under MS Windows.  I think
14244         it might be a good idea to change this everywhere because I think
14245         it is superior to the current frame title format, but this is the
14246         kind of change that is likely to cause some people to get annoyed,
14247         so I'm not making it.
14248
14249         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14250
14251         * gui-msw.c (mswindows_handle_gui_wm_command):
14252         Fixed compile warnings.
14253
14254         * gui-x.c:
14255         * gui-x.c (strdup_and_add_accel):
14256         * gui-x.c (button_item_to_widget_value):
14257         * gui-x.h:
14258         Added code to automatically put an accelerator onto the beginning
14259         of menu items that don't have one as is now the standard, and is
14260         described more later.  Also fixed things so that the menu item
14261         name can be an evaluated expression, again a new standard.
14262
14263         * gui.c:
14264         * gui.c (gui_item_add_keyval_pair):
14265         * gui.c (make_gui_item_from_keywords_internal):
14266         * gui.c (gui_add_item_keywords_to_plist):
14267         * gui.c (gui_item_accelerator):
14268         * gui.c (gui_name_accelerator):
14269         * gui.c (gui_item_included_p):
14270         * gui.c (gui_item_display_flush_left):
14271         * gui.c (gui_item_display_flush_right):
14272         * gui.c (parse_gui_item_tree_item):
14273         * gui.c (parse_gui_item_tree_children):
14274         * gui.c (parse_gui_item_tree_list):
14275         Mule-ized.  Cleanup.  GCPRO addition.
14276
14277         * line-number.c (buffer_line_number):
14278         * lisp.h:
14279         * lisp.h (EMACS_INT_MAX):
14280         Added the manifest constant EMACS_INT_MIN corresponding to the
14281         existing constant EMACS_INT_MAX.  This is partially to fix compile
14282         warnings under Windows, and partly for cleanliness.
14283
14284         * menubar-msw.c:
14285         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14286         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14287         * menubar-msw.c (displayable_menu_item):
14288         * menubar-msw.c (populate_menu_add_item):
14289         * menubar-msw.c (populate_or_checksum_helper):
14290         * menubar-msw.c (populate_menu):
14291         * menubar-msw.c (update_frame_menubar_maybe):
14292         * menubar-msw.c (prune_menubar):
14293         * menubar-msw.c (msw_char_is_accelerator):
14294         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14295         * menubar-msw.c (mswindows_handle_wm_command):
14296         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14297         * menubar-msw.c (mswindows_handle_wm_initmenu):
14298         * menubar-msw.c (mswindows_update_frame_menubars):
14299         * menubar-msw.c (mswindows_free_frame_menubars):
14300         * menubar-msw.c (mswindows_popup_menu):
14301         Fixed a bug in handling accelerators where an extra character
14302         would be displayed in the menu item.  Also generalized the
14303         function displayable_menu_item because it is now used by the
14304         dialog box code as well.  And finally, added code in the functions
14305         that create the menubar to extract a list of accelerators for the
14306         top level menubar, which is used in the event code to determine
14307         whether a particular alt-key combination should be used to invoke
14308         a menu item, or should be passed through to access the standard
14309         XEmacs keymap binding for this key combination.
14310
14311         Much needed GCPROing.
14312
14313         * menubar-x.c:
14314         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14315         * menubar-x.c (menu_item_descriptor_to_widget_value):
14316         * menubar-x.c (restore_in_menu_callback):
14317         * menubar-x.c (x_popup_menu):
14318         * menubar-x.c (menu_move_up):
14319         * menubar-x.c (menu_move_down):
14320         * menubar-x.c (menu_move_left):
14321         * menubar-x.c (menu_move_right):
14322         * menubar-x.c (menu_select_item):
14323         * menubar-x.c (command_builder_operate_menu_accelerator):
14324         * menubar-x.c (menu_accelerator_junk_on_error):
14325         * menubar-x.c (command_builder_find_menu_accelerator):
14326         * menubar-x.c (Faccelerate_menu):
14327         * menubar.h:
14328         Moved a whole bunch of code here that was previously in
14329         event-stream.c as described above.  There is also code connected
14330         to the new standard of adding an accelerator to the beginning of
14331         menu items that don't have one as described above and below.
14332
14333         * menubar.c:
14334         * menubar.c (menu_parse_submenu_keywords):
14335         * menubar.c (Fmenu_find_real_submenu):
14336         * menubar.c (Fnormalize_menu_item_name):
14337         * menubar.c (syms_of_menubar):
14338         * menubar.c (vars_of_menubar):
14339         * menubar.c (complex_vars_of_menubar):
14340
14341         a) Cleaned up a bunch of documentation and improved it.
14342
14343         b) XEmacs now automatically adds an accelerator onto the beginning
14344         of any menu items that don't have one.  I did this because there
14345         will inevitably be some menu items on the main menubar that don't
14346         have accelerators on them because the package that adds that
14347         particular menu item hasn't yet been fixed up to have accelerators
14348         in them and it looked rather strange to have some items with and
14349         some items without accelerators, especially since even in items
14350         without accelerators, you can, at least under windows, still
14351         access the item through an accelerator corresponding to the first
14352         character in the item's name.  If people don't like this behavior,
14353         I can add a variable to turn it off optionally, but I'm not sure
14354         this is a good idea because we really do need to have accelerators
14355         on all of the menu items, and if a package doesn't like the
14356         accelerators being put on the first character, then it should put
14357         the accelerators where they belong.
14358
14359         c) I made a behavior change, which is that the descriptor that
14360         specifies the text of the menu item, which formerly was just a
14361         string, can now also be an evaluated expression.  This makes this
14362         descriptor parallel with all of the others, which could also be
14363         evaluated expressions.  This also obviates the need for the
14364         keyword :label, which was previously listed in the documentation
14365         as unimplemented, and which was for the same purpose.
14366
14367         d) GCPROing.
14368
14369         * ntproc.c:
14370         * ntproc.c (new_child):
14371         * ntproc.c (sys_spawnve):
14372         * ntproc.c (find_child_console):
14373         * ntproc.c (sys_kill):
14374         Fixed compile warnings.  By the way, this file should really go
14375         away entirely, and this will happen as soon as Kirill makes his
14376         final round of process cleanups, which affect the function
14377         call-process.
14378
14379         * process-nt.c:
14380         * process-nt.c (struct nt_process_data):
14381         * process-nt.c (find_process_from_pid):
14382         * process-nt.c (send_signal_the_nt_way):
14383         * process-nt.c (enable_child_signals):
14384         * process-nt.c (find_child_console):
14385         * process-nt.c (send_signal_the_95_way):
14386         * process-nt.c (nt_finalize_process_data):
14387         * process-nt.c (ensure_console_window_exists):
14388         * process-nt.c (nt_create_process):
14389         * process-nt.c (nt_kill_child_process):
14390         * process-nt.c (nt_kill_process_by_pid):
14391         * process-nt.c (nt_open_network_stream):
14392         * process-nt.c (vars_of_process_nt):
14393         Copied over code from Emacs 20.5 to correctly send signals to sub-
14394         processes under Windows 95.  Also added code to automatically
14395         create and hide console window when a sub-process is created under
14396         Windows 95, which obviates the need for the separate runemacs.exe
14397         executable, and finally implemented some variables that were
14398         implemented in Emacs 20.5, but previously not in XEmacs.  These
14399         include mswindows- start-process-share-console and
14400         mswindows-start-process-inherit-error-mode. (Both of these only
14401         apply to Windows 95.)
14402
14403         * regex.c (regex_compile): Fixed a compile warning.
14404
14405         * select-msw.c:
14406         * select-msw.c (mswindows_own_selection):
14407         * select-msw.c (mswindows_get_foreign_selection):
14408         * select-msw.c (mswindows_disown_selection):
14409         * select-msw.c (console_type_create_select_mswindows):
14410         * select-msw.c (syms_of_select_mswindows):
14411         Cleaned up the file and implemented the device method
14412         selection_exists_p, which had accidentally been left out.  Also
14413         removed four lisp functions that were remnants from before the
14414         time when the selection code was properly device abstracted.
14415         These functions are no longer needed because there are generic
14416         equivalents, and because they were added recently and don't exist
14417         in FSF Emacs, I don't think there's any problem with just deleting
14418         them.
14419
14420         * sysdep.c:
14421         * sysdep.c (sys_subshell):
14422         Fixed a compile warning, although in this case there's probably
14423         something wrong with this code, and it ought to be looked into
14424         more thoroughly by somebody who understands it.
14425
14426         * window.c:
14427         * window.c (Fwindow_text_area_height):
14428         * window.c (Fwindow_width):
14429         * window.c (Fwindow_full_width):
14430         * window.c (Fwindow_pixel_width):
14431         * window.c (debug_print_window):
14432         * window.c (syms_of_window):
14433         Added functions window-text-area-height and window-full-width,
14434         which are functions for returning various width and height
14435         characteristics of a window. (One of these functions is necessary
14436         for making the file dialog box work correctly, and the other one
14437         was added for completeness.)  Also added a table to the
14438         documentation for window-height which describes the entire scheme
14439         for accessing width and height characteristics of a window.
14440
14441 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14442
14443         * nt.c (fstat): Added a comment for another problem with
14444         non-encapsulated [f]stat(), reported by Adrian Aichner
14445         <aichner@ecf.teradyne.com>.
14446
14447 2000-03-11  Andy Piper  <andy@xemacs.org>
14448
14449         * window.c (make_dummy_parent): initialize subwindow instance
14450         cache.
14451         (Fset_window_configuration): zero extent_modiff.
14452
14453 2000-03-10  Andy Piper  <andy@xemacs.org>
14454
14455         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14456         more changes can be triggered.
14457         (Fredisplay_frame): ditto.
14458         (Fredraw_device): ditto.
14459         (Fredisplay_device): ditto.
14460         (redisplay_frame): make non-static.
14461         (redisplay_frame): call update_frame_gutter_geometry outside of
14462         display proper.
14463
14464         * gutter.h: declare update_frame_gutter_geometry.
14465
14466         * redisplay.h: declare redisplay_frame.
14467
14468         * gutter.c (update_frame_gutter_geometry): move geometry changes
14469         in update_frame_gutters here. Geometry changes can only occur
14470         outside of redisplay.
14471         (update_frame_gutters): remove geometry change code.
14472         (Fredisplay_gutter_area): make sure that we are in display when we
14473         update and that we have flushed any size changes.
14474
14475 2000-03-11  Andy Piper  <andy@xemacs.org>
14476
14477         * alloc.c (pdump_dump_data): remove i & count shadows.
14478
14479 2000-02-27  Mike Alexander  <mta@arbortext.com>
14480
14481         * sysdep.h: Declare pdump_read_file
14482
14483         * sysdep.c (pdump_read_file): New function
14484
14485         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14486         dump data
14487
14488 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14489
14490         * lrecord.h: add `lrecord_type_pgsetenv'.
14491
14492 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14493
14494         * symsinit.h: declare (vars|syms)_of* functions.
14495         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14496
14497 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14498
14499         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14500
14501         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14502         GCCs.
14503
14504         * emacs.c (main_1): Call postgres initialization code.
14505
14506         * postgresql.h: New file.  PostgreSQL RDBMS support.
14507         * postgresql.c: New file.
14508
14509 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14510
14511         * redisplay-output.c (redisplay_output_display_block): Disable
14512         redundant code.
14513
14514 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14515
14516         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14517         (Fcanna_henkan_next): Ditto.
14518         (Fcanna_bunsetu_henkou): Ditto.
14519         (Fcanna_henkan_kakutei): Ditto.
14520         (Fcanna_henkan_end): Ditto.
14521         (Fcanna_henkan_quit): Ditto.
14522         (Fcanna_henkan_next): Set retun value correctly.
14523         (c2mu): Use unsigned char instead of signed char.
14524
14525 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14526
14527         * emacs.c (main_1): Always call syms_of_gui.
14528         * inline.c: include gui.h
14529
14530 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14531
14532         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14533         converted to Lisp_Object.
14534         (Qtop_bottom): New variable.
14535         (syms_of_redisplay): Initialize it.
14536         * redisplay.h (Vvisible_bell): Ditto.
14537         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14538         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14539         only flash top and bottom.
14540
14541 2000-03-08  Andy Piper  <andy@xemacs.org>
14542
14543         * buffer.c (Frename_buffer): record new buffer name the right way.
14544
14545 2000-03-08  Andy Piper  <andy@xemacs.org>
14546
14547         * glyphs.c (update_subwindow): increase hash depth so that widget
14548         items get picked up properly.
14549
14550         * redisplay-output.c (compare_runes): increase hash depth so that
14551         widget items get picked up properly.
14552
14553 2000-03-08  Andy Piper  <andy@xemacs.org>
14554
14555         * gutter.c (output_gutter): add some debug.
14556
14557         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14558         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14559         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14560
14561         * redisplay-output.c (compare_runes): use display_hash to
14562         determine if glyphs really are not the same.
14563
14564         * glyphs.c (update_subwindow): check display_hash to see if
14565         anything really needs to be updated. If not then do
14566         nothing. Record the display_hash after updating.
14567         (image_instance_equal): compare the image_instance face also.
14568
14569 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14570
14571         * redisplay.h: Fix comment style.
14572
14573 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14574
14575         * consle-msw.h (struct mswindows_frame):
14576         Added new member paint_pending to indicate whether a WM_PAINT
14577         magic event has been queued for this frame.
14578
14579         * event-msw.c (mswindows_drain_windows_queue):
14580         Don't queue a WM_PAINT magic event if one is already queued.
14581         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14582
14583         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14584
14585 2000-03-07  Didier Verna  <didier@xemacs.org>
14586
14587         * dired.c: #include `regex.h' after `sysfile.h'.
14588
14589 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14590
14591         * sound.c (init_nas_sound): Fix compiler warning.
14592
14593         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14594         (FREE_STRUCT_P):
14595         (MARK_STRUCT_AS_FREE):
14596         (MARK_STRUCT_AS_NOT_FREE):
14597         Make `gcc -fstrict-aliasing' work properly.
14598
14599 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14600
14601         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14602         (mswindows_delete_device): Call CoUnnitialize().
14603
14604         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14605
14606 2000-02-25    <CraigL@DyCon.com>
14607
14608         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14609         <errno.h>.
14610
14611         * sysdep.c: This extern declaration for environ prevents MinGW
14612         from finding the variable in CRTDLL.DLL.
14613
14614         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14615         windows headers.
14616         (SHGFI_EXETYPE): ..
14617         (WM_MOUSEWHEEL): ..
14618         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14619         definitions.
14620         (MMRESULT): Removed, now defined in cygwin's windows headers.
14621         (TIMECAPS): ..
14622         (uid_t,gid_t,pid_t,ssize_t): ..
14623         (_timeb): Removed, MinGW defines both _timeb and timeb.
14624         (HAVE_H_ERRNO): Added.
14625         (HAVE_TZNAME): Added, configure is not detecting this.
14626
14627 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14628
14629         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14630         * syntax.c (syntax_match): Use it.
14631
14632         * cmds.c: Import auto-fill-chars from FSF Emacs.
14633         (Vauto_fill_chars): New variables.
14634         (internal_self_insert): Check Vauto_fill_chars.
14635         (vars_of_cmds):
14636         Declare auto-fill-chars as a Lisp variable and initialize it.
14637
14638 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14639
14640         * fileio.c (Fmake_symbolic_link):
14641         (Ffile_symlink_p):
14642         Run handlers even if local machine doesn't have symlinks.
14643
14644 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14645
14646         * event-msw.c (mswindows_drain_windows_queue):
14647         Don't generate paint magic events for non-XEmacs frames.
14648
14649 2000-03-05  Andy Piper  <andy@xemacs.org>
14650
14651         * redisplay.c (redisplay_frame): generate_displayable_area and
14652         friends assumes that we are not in GC, we therefore have to make
14653         sure that this doesn't happen.
14654
14655         * gutter.c (calculate_gutter_size): generate_displayable_area
14656         assumes that we are not in GC, we therefore have to make sure that
14657         this doesn't happen.
14658
14659 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14660
14661         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14662
14663 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14664
14665         * redisplay.c (regenerate_window): Make sure we set a sane value
14666         for end_pos even if we jump out of the loop.
14667         (regenerate_window): Answer Ben's question :-).
14668         (start_end_of_last_line): Add may_error argument.
14669         (start_of_last_line):
14670         (end_of_last_line): Pass may_error = 0.
14671         (end_of_last_line_may_error): New function.
14672         (pixel_to_glyph_translation): Use it, so we don't crash in
14673         event_to_glyph.
14674
14675 2000-03-04  Andy Piper  <andy@xemacs.org>
14676
14677         * window.h (struct window): add gutter_extent_modiff.
14678
14679         * window.c (allocate_window): zero out gutter_extent_modiff.
14680
14681         * redisplay.h: declare sync_display_line_structs.
14682
14683         * redisplay.c (add_glyph_rune): add a better comment.
14684
14685         * redisplay-output.c (sync_display_line_structs): made non-static.
14686         (compare_runes): remove unneccesary glyph cachel access.
14687
14688         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14689
14690         * gutter.c (output_gutter): don't output the gutter if extent
14691         changes only involve extents in buffers. use 4 sets of display
14692         lines.
14693         (gutter_extent_signal_changed_region_maybe): new function. Mark
14694         extents in gutters as changed.
14695         (update_frame_gutters): use 4 sets of display lines.
14696         (reset_gutter_display_lines): ditto.
14697         (free_frame_gutters): ditto.
14698         (redraw_exposed_gutter): force output of gutters.
14699
14700         * frame.h (struct frame): add 4 sets of gutter display lines.
14701
14702         * extents.c: (extent_changed_for_redisplay): signal changes to
14703         extents in strings in the gutter as well as extents in buffers.
14704
14705 2000-03-02  Andy Piper  <andy@xemacs.org>
14706
14707         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14708
14709         * frame.c (Fmake_frame): make sure the gutters get initialized
14710         after the frame is visible.
14711         (set_frame_selected_window): re-arrange compilation macros a
14712         little.
14713         (change_frame_size_1): mark gutters changed.
14714
14715         * device.c (Fset_device_class): mark gutters changed.
14716
14717 2000-03-01  Andy Piper  <andy@xemacs.org>
14718
14719         * window.c (window_top_frame_gutter_height): deleted.
14720         (window_bottom_frame_gutter_height): ditto.
14721         (window_left_frame_gutter_height): ditto.
14722         (window_right_frame_gutter_height): ditto.
14723         (window_top_gutter_height): don't use them.
14724         (window_bottom_gutter_height): ditto.
14725         (window_left_gutter_width): ditto.
14726         (window_right_gutter_width): ditto.
14727         (Fsplit_window): ditto.
14728         (Fwindow_pixel_edges): don't use border dimensions here.
14729
14730         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14731         (update_scrollbar_instance): ditto.
14732
14733         * redisplay.c (generate_modeline): don't take gutters into account.
14734         (generate_modeline): ditto.
14735         (redisplay_frame): small gutter display optimization.
14736
14737         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14738
14739         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14740         gutters into account.
14741
14742         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14743         for window position and type.
14744
14745         * gutter.c (get_gutter_coords): fix for frame gutters.
14746         (update_frame_gutters): update frame geometry if the gutters have
14747         changed.
14748         (init_frame_gutters): record current gutter geometries.
14749
14750         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14751         var.
14752         (mswindows_widget_instantiate): ditto.
14753
14754         * frame.h (struct frame): add current_gutter_bounds.
14755
14756         * frame.c (change_frame_size_1): position window and minibuffer
14757         appropriately taking into account the frame gutters.
14758
14759         * frame-x.c: (x_initialize_frame_size): take into account the
14760         frame gutters.
14761
14762 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14763
14764         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14765
14766 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14767
14768         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14769
14770 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14771
14772         * file-coding.c (reset_decoding_stream): Clear previous
14773         detection state when autodetect.
14774
14775 2000-02-29  Didier Verna  <didier@xemacs.org>
14776
14777         * extents.c (set_extent_glyph_1): don't require extents to be
14778         attached.
14779
14780 2000-02-27  Andy Piper  <andy@xemacs.org>
14781
14782         * gutter.c (Fset_default_gutter_position): don't default left and
14783         right gutter visibility to t.
14784         (Fset_default_gutter_position): run
14785         default-gutter-position-changed-hook.
14786         (syms_of_gutter): add default-gutter-position-changed-hook.
14787
14788 2000-02-26  Andy Piper  <andy@xemacs.org>
14789
14790         * specifier.c (Fmake_specifier): add gutter references.
14791
14792         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14793
14794         * lisp.h: declare Fvalid_plist_p.
14795
14796         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14797         as changed.
14798         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14799         well as its visibility so that it gets reconstructed.
14800         (construct_window_gutter_spec): new function. Construct a string
14801         to be displayed in the gutter from a plist of strings. Take care
14802         to only use elements that are declared as visible.
14803         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14804         WINDOW_GUTTER.
14805         (gutter_validate): allow plists of strings in the specifier.
14806         (gutter_specs_changed): construct the real_gutter from the gutter
14807         specs using construct_window_gutter_spec.
14808         (gutter_visible_validate): gutter-visible is a new specifier type.
14809         (Fgutter_visible_specifier_p): new function for the new specifier.
14810         (syms_of_gutter): declare gutter-visible and
14811         Fgutter_visible_specifier_p.
14812         (specifier_type_create_gutter): intitalize new gutter-visible
14813         specifier.
14814         (reinit_specifier_type_create_gutter): ditto.
14815         (specifier_vars_of_gutter): use new specifier type for gutter
14816         visibility.
14817         (init_frame_gutters): construct real_gutter correctly.
14818         (Fgutter_specifier_p): beef up documentation.
14819         (Fgutter_size_specifier_p): ditto.
14820
14821         * winslots.h: add real_gutter slots.
14822
14823 2000-02-25  Andy Piper  <andy@xemacs.org>
14824
14825         * device-msw.c: Be kind to older cygwin versions. From Raymond
14826         Toy <toy@rtp.ericsson.se>.
14827
14828         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14829         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14830
14831 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14832
14833         * elhash.c (MARK_OBJ): Practice macro hygiene.
14834
14835 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14836
14837         * miscplay.c: s/__inline__/inline/g;
14838         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14839         (get_device_compdc): INLINE ==> static inline
14840         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14841         find -name '*.h' | \
14842         xargs global-replace \
14843         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14844
14845 2000-02-25  Andy Piper  <andy@xemacs.org>
14846
14847         * window.c (window_top_frame_gutter_height): new function.
14848         (window_top_window_gutter_height): ditto.
14849         (window_top_gutter_height): use them.
14850         (window_bottom_frame_gutter_height): new function.
14851         (window_bottom_window_gutter_height): ditto.
14852         (window_bottom_gutter_height): use them.
14853         (window_left_window_gutter_width): new function.
14854         (window_left_frame_gutter_width): ditto.
14855         (window_left_gutter_width): use them.
14856         (window_right_window_gutter_width): new function.
14857         (window_right_frame_gutter_width): ditto.
14858         (window_right_gutter_width): use them.
14859         (window_pixel_height): new function. calulate window pixel height
14860         with frame gutter involvement.
14861         (Fsplit_window): calculate new sizes taking frame gutters into
14862         account.
14863         (window_char_height_to_pixel_height): don't include frame gutters.
14864         (window_char_height): use window_pixel_height.
14865         (window_pixheight): rename from window_pixel_height.
14866         (change_window_height): use it.
14867         (window_pixel_height_to_char_height): don't include frame gutters.
14868         (window_char_width_to_pixel_width): ditto.
14869
14870 2000-02-25  Andy Piper  <andy@xemacs.org>
14871
14872         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14873         if it is.
14874
14875 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14876
14877         * alloc.c (staticpro):
14878         (staticpro_nodump):
14879         (dumpstruct):
14880         (dumpopaque):
14881         (pdump_wire):
14882         (pdump_wire_list):
14883         (compact_string_chars):
14884         (pdump_dump_wired):
14885         Convert:  if (foo) abort();  ==>  assert (! foo);
14886
14887         * eldap.c (Fldap_search_basic):
14888         (Fldap_add):
14889         (Fldap_modify):
14890         (Fldap_delete):
14891         Fix compiler warnings, and possible crashes if (random) return
14892         value were to be used.
14893
14894 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14895
14896         * device-msw.c: Workaround ResetDC failure.
14897
14898         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14899         applying a devmode.
14900
14901         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14902         (mswindows_text_width): Do not start printer page.
14903
14904         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14905
14906         * glyphs-msw.c: Added image methods to msprinter console and
14907         msprinter-specific image instantiation.
14908
14909 2000-02-20  Mike Alexander  <mta@arbortext.com>
14910
14911         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14912         to avoid crashes when selection-sets-clipboard is on
14913         (mswindows_own_selection): ditto
14914
14915 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14916
14917         * glyphs-msw.c:
14918         * redisplay-msw.c (get_frame_dc):
14919         (get_frame_compdc):
14920         * console-msw.h:
14921         * device-msw.c (mswindows_init_device):
14922         (mswindows_delete_device):
14923         (msprinter_init_device):
14924         (msprinter_delete_device):
14925         * frame-msw.c (mswindows_init_frame_1):
14926         (mswindows_delete_frame):
14927         (msprinter_init_frame_3):
14928         (msprinter_delete_frame): Move compatible DC to device object from
14929         frame object, for both mswindows and msprinter. Only one at a time
14930         is needed, it is a real waste to have one per frame!
14931
14932 2000-02-23  Andy Piper  <andy@xemacs.org>
14933
14934         * glyphs.c: add dynamic width and height elements.
14935         (image_instance_equal): ditto.
14936
14937         * glyphs-widget.c (widget_query_geometry): calculate width and
14938         height dynamically if required.
14939         (initialize_widget_image_instance): initialize dynamic dimensions.
14940         (widget_instantiate): pick-up dynamic dimensions.
14941
14942         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14943         dynamic determination. Add appropriate macros.
14944
14945         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14946         dimensions safe.
14947         (WINDOW_GUTTER_SIZE): ditto.
14948         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14949
14950         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14951         inline.
14952         (get_frame_dc): ditto.
14953
14954         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14955         here.
14956
14957 2000-02-23  Martin Buchholz <martin@xemacs.org>
14958
14959         * XEmacs 21.2.31 is released.
14960
14961 2000-02-22  Ben Wing <ben@xemacs.org>
14962
14963         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14964
14965 2000-02-22  Andy Piper  <andy@xemacs.org>
14966
14967         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14968
14969 2000-02-21  Mike Sperber <mike@xemacs.org>
14970
14971         * .dbxrc:
14972         * .gdbinit:
14973         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14974         variables.
14975
14976 2000-02-21  Mike Sperber <mike@xemacs.org>
14977
14978         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14979
14980 2000-02-21  Martin Buchholz <martin@xemacs.org>
14981
14982         * XEmacs 21.2.30 is released.
14983
14984 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14985
14986         Performance hacking.
14987         * *.c (syms_of_*):
14988         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14989         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14990         * emacs.c (main_1):
14991         * lisp.h (DEFUN):
14992         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14993         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14994         * symeval.h (DEFVAR_SYMVAL_FWD):
14995         * symbols.c (guts_of_unbound_marker):
14996         Make all c_readonly objects also lisp_readonly and marked for life.
14997         * lrecord.h (struct lrecord_implementation):
14998         Document flags better.
14999         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15000         * lrecord.h (DECLARE_LRECORD):
15001         * lrecord.h (XSETRECORD):
15002         * lrecord.h (RECORDP):
15003         * lrecord.h (RECORD_TYPEP):
15004         * lrecord.h (RECORD_MARKER): New.
15005         * lrecord.h (error_check_*):
15006         * lrecord.h (CONCHECK_NONRECORD):
15007         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15008         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15009         * lrecord.h (set_lheader_implementation):
15010         * lrecord.h (enum lrecord_type): New.
15011         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15012         * alloc.c (disksave_object_finalization_1):
15013         * alloc.c (mark_object):
15014         * alloc.c (lrecord_type_index):
15015         * alloc.c (tick_lcrecord_stats):
15016         * alloc.c (Fgarbage_collect):
15017         * alloc.c (init_alloc_once_early):
15018         * alloc.c (pdump_load):
15019         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15020         * alloc.c (lrecord_type_index): Delete.
15021         Make lisp object type indexes be constant.
15022           Makes (byte-compile) 5% faster.
15023         Put all marker functions into their own array.
15024           Makes (garbage-collect) 5% faster.
15025         Optimize SYMBOL_VALUE_MAGIC_P.
15026           Makes (byte-compile) 2-3% faster.
15027         * config.h.in (gc_checking_assert): New.
15028         * alloc.c: Use gc_checking_assert().
15029         * .dbxrc: Make compatible with new object type implementation.
15030         * .gdbinit: Make compatible with new object type implementation.
15031         * alloc.c: Delete all symbols defined only for debugging, such as
15032         Lisp_Type_Vector and lrecord_charset.
15033
15034 2000-02-21  Andy Piper  <andy@xemacs.org>
15035
15036         * gui-msw.c (Fmswindows_shell_execute): fix file location
15037         problems.
15038
15039         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15040         unshowing so that set_window_buffer doesn't undo
15041         kill_buffer_hook's hard work.
15042
15043         * glyphs-widget.c (tab_control_query_geometry): don't count the
15044         first item when calculating geometry.
15045
15046         * glyphs.c (map_subwindow): remove redundant code.
15047         (update_frame_subwindows): be more circumspect about when to
15048         update subwindows.
15049
15050         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15051         when items haven't changed. Update faces if faces have changed as
15052         well as just the widget face.
15053         (x_tab_control_update): Update faces if faces have changed as well
15054         as just the widget face.
15055
15056 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15057
15058         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15059         registration.
15060         (build_syscolor_string): Use mswindows_color_to_string to try to
15061         get a named color.
15062         (mswindows_device_system_metrics): Reverse the foreground and
15063         background colors so that they match the documentation.
15064
15065         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15066         they match the default Windows palette.
15067         (mswindows_color_to_string): New function.
15068
15069 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15070
15071         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15072
15073 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15074
15075         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15076         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15077
15078         * symbols.c (init_symbols_once_early): Removed obsolete
15079         DATA_SEG_BITS related kludge.
15080         (defvar_magic): Ditto.
15081
15082         * malloc.c: Removed obsolete DATA_SEG_BITS
15083         * ralloc.c: Ditto.
15084         * mem-limits.h: Ditto.
15085
15086         * Makefile.in.in: Removed obsolete HAVE_SHM
15087         * emacs.c: Ditto.
15088
15089 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15090
15091         *  device-msw.c (mswindows_delete_device): Free DDE string
15092         handles.
15093
15094 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15095
15096         * keymap.c (get_keyelt):
15097         * unexnt.c (unexec):
15098         * vm-limit.c (memory_warnings):
15099         * ntheap.c (recreate_heap):
15100         * ntheap.h (UNINIT_PTR):
15101         * select-msw.c (Fmswindows_get_clipboard):
15102         (Fmswindows_set_clipboard):
15103         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15104         * objects-msw.c:
15105         * menubar-msw.c (displayable_menu_item):
15106         * glyphs-msw.c:
15107         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15108         * sysdep.c (sys_subshell):
15109         * process-nt.c (nt_create_process):
15110         * nt.c (normalize_filename):
15111         (dostounix_filename):
15112         (unixtodos_filename):
15113         * ntproc.c (win32_executable_type):
15114         * ntplay.c (play_sound_data_1):
15115         (play_sound_file):
15116         * editfns.c (get_home_directory):
15117         * event-msw.c (struct winsock_stream):
15118         (mswindows_dde_callback):
15119         * device-msw.c (msprinter_init_device):
15120         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15121
15122         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15123         mswindows_clear_toolbar were swapped!
15124
15125         * objects-msw.c:(colormap_t):
15126         (fontmap_t):
15127         * emacs.c (struct standard_args): Fixed const jumble.
15128
15129         * glyphs-widget.c (update_widget): Fixed comparison notation.
15130
15131         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15132
15133         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15134         __declspec(noreturn) syntax.
15135
15136 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15137
15138         * eldap.c (Fldap_open):
15139         (Fldap_search_basic):
15140         (Fldap_add):
15141         (Fldap_modify):
15142         Use new coding system conversion macros.
15143
15144 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15145
15146         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15147
15148 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15149
15150         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15151         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15152
15153         * eldap.c (Qadd, Qreplace): New constant symbols
15154         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15155         interruptions by XEmacs signals
15156         Remove unnecessary calls to slow_down_interrupts and
15157         speed_up_interrupts
15158         (Fldap_search_basic): Renamed from Fldap_search_internal
15159         Added new optional parameter VERBOSE that triggers the
15160         display of progress messages
15161         Remove unnecessary calls to slow_down_interrupts and
15162         speed_up_interrupts
15163         LDAP result code analysis rewritten
15164         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15165         (syms_of_eldap): Define the new symbols and functions
15166
15167
15168 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15169
15170         * realpath.c: Determine PATH_MAX maximally portably.
15171
15172         * insdel.c (bytecount_to_charcount): Optimize.
15173         The function used to be optimized for entirely ASCII sequences.
15174         Now it is optimized for successive characters from the same
15175         charset.  This also wins big for _mostly_ ASCII sequences.
15176
15177         * fileio.c (Ffile_truename): convert return from realpath() using
15178         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15179         - Rewrite GCPROing slightly.
15180
15181         * sysdep.c (sys_open): Do filename conversion, like all other
15182         sys_* functions.  Fixes bug:
15183         (let ((file-name-coding-system 'iso-8859-2))
15184            (write-region x y latin2-name))
15185         ==> writes filename using internal encoding.
15186
15187 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15188
15189         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15190         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15191         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15192         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15193         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15194         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15195         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15196         (CONST_IF_NOT_DEBUG): Delete.
15197         * alloc.c (this_one_is_unmarkable): Delete.
15198         (mark_object): Don't check for this_one_is_unmarkable. Use the
15199         c_readonly flag instead.
15200         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15201
15202 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15203
15204         * event-msw.c (mswindows_drain_windows_queue):
15205         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15206         away redundant repaint events.
15207
15208 2000-02-17  Andy Piper  <andy@xemacs.org>
15209
15210         * redisplay.h: declare mark_redisplay_structs.
15211
15212         * redisplay.c (redisplay_window):
15213         (redisplay_frame): don't check subwindows_state_changed.
15214         (mark_redisplay): mark gutters here.
15215
15216         * glyphs.c: (instantiate_image_instantiator): always layout if we
15217         haven't done so already.
15218         (allocate_image_instance): don't mark as dirty.
15219         (update_subwindow): bind inhibit_quit.
15220
15221         * gutter.c (mark_gutters): new function.
15222
15223         * glyphs-x.c (x_update_widget): Always resize to get round a
15224         widget bug.
15225
15226         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15227         breaking absolutely everything.
15228
15229         * gutter.h: declare mark_gutters.
15230
15231 2000-02-16  Martin Buchholz <martin@xemacs.org>
15232
15233         * XEmacs 21.2.29 is released.
15234
15235 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15236
15237         * fns.c (size_bit_vector): Fix computation of the size.
15238
15239 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15240
15241         * *.[ch]: Change CONST to const globally.
15242         find -name '*.[ch]' | \
15243         xargs global-replace \
15244         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15245         - Remove vestigial references to CONST_IS_LOSING
15246
15247 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15248
15249         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15250         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15251         events instead of dispatching them directly.
15252         (mswindows_handle_paint): New function to do repainting.
15253         (mswindows_wnd_proc):
15254         (emacs_mswindows_handle_magic_event): Call above function.
15255
15256 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15257
15258         * objects-msw.c (mswindows_create_font_variant): Return the new
15259         font handle.
15260         (initialize_font_instance): Get font metrics from the underlined
15261         variant of the font to cope with the case where the underlined
15262         font has a bigger descent.
15263
15264 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15265
15266         * gui.c (gui_item_accelerator): Return the first underlined
15267         character in item name.
15268
15269 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15270
15271         * lisp.h: Added Qprinter.
15272
15273         * general.c (syms_of_general): Initialized it.
15274
15275         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15276         (get_frame_dc):
15277         (get_frame_compdc): Made inline.
15278
15279         * console.h (struct console_methods): Added eject_page method.
15280
15281         * frame.h: Added FRAME_DISPLAY_P and friends.
15282         Aligned backslahes in many macros in more readable fashion.
15283         Added page_number to struct frame, and an accessor macro
15284         for it.
15285
15286         * defice.h: Added DEVICE_DISPLAY_P and friends.
15287
15288         * device.c (Fdevice_printer_p): Used these.
15289
15290         * frame.c (allocate_frame_core): Initialize page number.
15291         (Fprint_job_page_number):
15292         (Fprint_job_eject_page): Implemented.
15293
15294         * frame-msw.c (msprinter_eject_page): Added method.
15295         (msprinter_start_page): Added.
15296
15297         * window.c (Fwindow_truncated_p): Fixed docstring.
15298         (Fwindow_last_line_visible_height): Implemented.
15299
15300 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15301
15302         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15303
15304 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15305
15306         * syntax.c (scan_words): Always advance at least one character.
15307
15308 2000-02-13  Andy Piper  <andy@xemacs.org>
15309
15310         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15311         to make sure the glyph is in the cachels.
15312
15313         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15314         global image instance flag.
15315         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15316         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15317
15318         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15319         (Fset_image_instance_property): mark layout as changed.
15320         (invalidate_glyph_geometry_maybe): mark layout as changed.
15321         (glyph_width): use new NEEDS_LAYOUT macro.
15322         (glyph_ascent): ditto.
15323         (glyph_descent): ditto.
15324         (glyph_height): ditto.
15325         (image_instance_layout): mark layout as clean after laying out.
15326         (update_subwindow): don't mark layout as clean here.
15327
15328         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15329         should no longer be needed.
15330
15331         * glyphs-x.c (x_update_widget): sanitize asserts.
15332         (x_finalize_image_instance): sanitize assignment to widgets.
15333
15334         * glyphs-widget.c (widget_instantiate): don't need to clear the
15335         layout flag here.
15336
15337 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15338
15339         * sysdep.c (getcwd): Use standard prototype.
15340         * sysdep.h (getcwd): Use standard prototype.
15341
15342         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15343         (sequence, start, end).
15344         Remove redundant type checking.
15345         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15346         view of `caller-protects') to avoid a crash where the real fix was
15347         found elsewhere.
15348
15349 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15350
15351         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15352
15353         * s/sol2.h: Remove feature macro initialization.
15354
15355         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15356         (vector_hash): New.  Code from internal_hash.
15357         * lrecord.h:
15358         Fix up allocation subsystem comments.
15359
15360         * config.h.in: Add __EXTENSIONS__ for Solaris.
15361
15362         * systime.h (EMACS_GETTIMEOFDAY): New.
15363         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15364         Remove Solaris-specific code.
15365         Use void* for the (ignored) second arg for gettimeofday().
15366
15367         * elhash.c (hash_table_hash): Implement it, finally.
15368         * elhash.c:  Use hashcode_t.
15369
15370         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15371         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15372
15373         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15374         * fns.c (size_bit_vector):
15375         * alloc.c (size_vector):
15376         (make_vector_internal):
15377         (make_bit_vector_internal):
15378         (sweep_bit_vectors_1):
15379         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15380
15381 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15382
15383         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15384         Include strings.h to avoid warnings for bzero and strcasecmp.
15385
15386 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15387
15388         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15389         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15390
15391         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15392         sequence.
15393
15394 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15395
15396         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15397         use a value field instead.
15398         (symbol_value_forward_forward): Use value field.
15399         (DEFVAR_SYMVAL_FWD): Use value field.
15400         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15401         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15402         (DEFVAR_CONST_INT): Ditto.
15403         (DEFVAR_BOOL): Ditto.
15404         (DEFVAR_CONST_BOOL): Ditto.
15405         (DEFVAR_INT_MAGIC): Ditto.
15406         (DEFVAR_BOOL_MAGIC): Ditto.
15407
15408         * symbols.c (guts_of_unbound_marker): Use value field.
15409         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15410         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15411
15412         * lisp.h: Declare dumpopaque and noninteractive1.
15413
15414         * alloc.c (dumpopaque): Added.
15415         (pdump_dump_opaquevec): Added.
15416         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15417         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15418         noninteractive.
15419
15420 2000-02-10  Andy Piper  <andy@xemacs.org>
15421
15422         * glyphs.c (image_instance_layout): if the size changes, mark it
15423         as such.
15424
15425         * redisplay-output.c (redisplay_output_layout): Update the
15426         subwindow here.
15427         (redisplay_output_subwindow): ditto.
15428
15429         * glyphs.c (update_subwindow): make sure we reset flags for
15430         layouts as well as everything else.
15431
15432         * glyphs-widget.c (layout_layout): don't need to set the instances
15433         dimensions here.
15434
15435 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15436
15437         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15438         not HAVE_DLOPEN, which is a lower-level thing.
15439
15440         * .cvsignore: Ignore gmon.out
15441
15442 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15443
15444         * .cvsignore: Ignore portable dumper xemacs.dmp file
15445
15446 2000-02-09  Andy Piper  <andy@xemacs.org>
15447
15448         * redisplay-output.c (redisplay_output_layout): be more clever
15449         about when we output based on the changed flags.
15450
15451         * glyphs.h (struct image_instantiator_methods): add update_method.
15452         (struct Lisp_Image_Instance): add changed flags. Declare new
15453         macros for manipulating them.
15454
15455         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15456         (image_instance_parent_glyph): find an image_instance's parent
15457         glyph or image_instance.
15458         (image_instance_layout): mark the size as changed.
15459         (set_image_instance_dirty_p): new function. mark an image
15460         instance, plus all of its parents, as dirty.
15461         (Fset_image_instance_property): use it.
15462         (Fglyph_animated_timeout_handler): use it.
15463         (update_subwindow): call update_widget and device methods for
15464         update_subwindow. Mark all changed flags as clean.
15465         (Fresize_subwindow): mark size as changed.
15466
15467         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15468         failures.
15469         (x_update_subwindow): only resize subwindows here.
15470         (x_update_widget): new function. Update all changed properties of
15471         a widget.
15472         (x_resize_subwindow): deleted.
15473         (x_widget_set_property): deleted.
15474         (x_progress_gauge_set_property): deleted.
15475         (x_progress_gauge_update): new function. Implement recorded
15476         changes.
15477         (x_tab_control_update): ditto.
15478         (x_tab_control_set_property): deleted.
15479         (console_type_create_glyphs_x): declare new functions.
15480         (image_instantiator_format_create_glyphs_x): ditto.
15481
15482         * glyphs-widget.c (widget_set_property): mark text changed.
15483         (update_widget): new function. Update properties of a widget.
15484         (widget_instantiate): for layouts make sure we set their
15485         children's parent correctly.
15486         (tab_control_set_property): new function. Record changes that will
15487         take place under redisplay's control.
15488         (progress_gauge_set_property): ditto.
15489         (image_instantiator_progress_guage): declare new functions.
15490         (image_instantiator_tab_control): ditto.
15491
15492         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15493         now.
15494         (mswindows_update_widget): new function. Update all properties on
15495         a widget that have changed.
15496         (mswindows_button_update): new function. Update a button's set
15497         state.
15498         (mswindows_tab_control_update): new function. Update the items in
15499         a tab.
15500         (mswindows_tab_control_set_property): deleted.
15501         (mswindows_progress_gauge_update): new function. Update the
15502         progress gauge's progress.
15503         (mswindows_widget_set_property): deleted. This is all done
15504         asynchronously now.
15505         (mswindows_progress_gauge_set_property): ditto.
15506         (console_type_create_glyphs_mswindows): declare new methods.
15507         (image_instantiator_format_create_glyphs_mswindows): ditto.
15508
15509         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15510         (msprinter_set_frame_properties): ditto.
15511
15512         * console.h (struct console_methods): Add update_widget_method.
15513
15514 2000-02-09  Andy Piper  <andy@xemacs.org>
15515
15516         * gui-msw.c (Fmswindows_shell_execute): Make
15517         mswindows-shell-execute industrial strength.
15518
15519 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15520
15521         * lrecord.h: Make macro argument `props' match member function `plist'.
15522         * fns.c (Fget):
15523         * fns.c (Fput):
15524         * fns.c (Fremprop):
15525         * fns.c (Fobject_plist):
15526         * alloc.c:
15527         * symbols.c:
15528         Object property list frobbing cleanup.
15529         - Allow any lisp object (compared with `eq'), not just symbols, as
15530           keys in object plists.
15531         - Move symbol plist frobbing into symbols.c, where it belongs.
15532         - Move string plist frobbing into alloc.c, where it belongs.
15533         - Everything's an lrecord now, so no need to test for symbolp, etc.
15534         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15535
15536         * extents.c: Reorder code to remove declarations.
15537
15538         * frame.h (store_in_alist): Remove useless declaration.
15539
15540 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15541
15542         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15543         * config.h.in: Add HAVE_XCONVERTCASE.
15544
15545 2000-02-07  Andy Piper  <andy@xemacs.org>
15546
15547         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15548         it breaks many things.
15549
15550 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15551
15552         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15553         actually can start a common comment type.
15554         * src/syntax.h (SYNTAX_END_P): ditto for end.
15555
15556 2000-02-07  Martin Buchholz <martin@xemacs.org>
15557
15558         * XEmacs 21.2.28 is released.
15559
15560 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15561
15562         * event-Xt.c (x_keysym_to_character): New.
15563         (maybe_define_x_key_as_self_inserting_character): New.
15564         (x_has_keysym): New.
15565         Auto-define all keys on the keyboard as self-insert-key.
15566
15567 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15568
15569         * menubar.c (vars_of_menubar): A small code simplification.
15570
15571         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15572
15573         * ExternalShell.c:
15574         * ExternalClient.c:
15575         * EmacsShell-sub.c:
15576         * EmacsManager.c:
15577         * EmacsFrame.c:
15578         Use consistent style for specifying X resources.
15579
15580         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15581         This makes (dontusethis-set-symbol-value-handler) actually usable.
15582
15583         * lrecord.h (lrecord_decription_type):
15584         * alloc.c (pdump_register_sub):
15585         (pdump_dump_data):
15586         (pdump_reloc_one):
15587         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15588         Comply with XEmacs coding style.
15589         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15590         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15591
15592         * keymap.c (Faccessible_keymaps):
15593         Make (accessible-keymaps map "\C-h") do the Right Thing.
15594         Make (accessible-keymaps map []) do the Right Thing.
15595         Make (accessible-keymaps map "") do the Right Thing.
15596         (check_keymap_definition_loop): New function.
15597         (keymap_store_internal): Keep luser from shooting self in foot,
15598           via (define-key ctl-x-4-map "p" global-map).
15599         Remove fullness slot from struct Lisp_Keymap, since hash tables
15600         are now reliable.
15601         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15602
15603 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15604
15605         * redisplay.c (init_redisplay): Fix small memory leak.
15606         * elhash.h:
15607         * elhash.c (pdump_reorganize_hash_table):
15608         Rename from reorganize_hash_table. Change prototype.
15609         Reuse the original memory for hentries.  Save 100k.
15610         * alloc.c (PDUMP_READ): new macro.
15611         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15612         * alloc.c: No need to #ifndef before #undef.
15613
15614         * print.c: Allow debug_print() to print readably by modifying
15615         debug_print_readably.  Use consistent variable names.
15616
15617         * .dbxrc: Try to get things to work even if stopped in a function
15618         without source available by explicitly specifying source files.
15619 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15620
15621         * unexnt.c (_start): Removed bogus code which caused loading heap
15622         from differrent executable file.
15623         Removed bogus assignment to _fmode, which caused inconsistencies.
15624
15625 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15626
15627         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15628         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15629         Do not preliminary `#define signal sigset'.
15630
15631         * systime.h: Do not prototype environ on windows nt and cygwin,
15632         this conflicts with system header.
15633
15634         * syssignal.h: Use correct define for WINDOWSNT
15635
15636         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15637         with system header.
15638
15639         * sysdep.c (near start of file): Fixed commentary and rearranged
15640         ifdefs in readable order.
15641         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15642         (start_of_text):
15643         (end_of_text):
15644         (end_of_data): Do not compile in if using PDUMP.
15645
15646         * symsinit.h: Prototyped vars_of_nt().
15647
15648         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15649         (find_child_console): Use it.
15650         (sys_kill): Use it.
15651
15652         * ntheap.h: Do not extern os_subtype.
15653
15654         * ntheap.c (cache_system_info): Do not cache unneeded:
15655         nt_major_version, nt_minor_version and os_subtype.
15656         (recreate_heap): Do not compile in when PDUMPing.
15657
15658         * nt.c (geteuid and friends): Use the new varibale
15659         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15660         (init_user_info): Removed the above mentioned hackery.
15661         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15662         stat has been fixed in the C runtime.
15663         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15664
15665         * file-coding.c (struct file_coding_dump): Do not define
15666         ucs_to_mule_table in the struct if not MULE.
15667         (struct struct lrecord_description fcd_description_1): Do not dump
15668         the above.
15669
15670         * emacs.c (main_1): Call vars_of_nt().
15671         (right before Fdump_emacs_data): Don't need lastfile if using both
15672         portabe dumper and system malloc.
15673
15674         * alloc.c (Fmemory_limit): Conditionalized out.
15675         (pdump): Use OPEN_BINARY for the portable dump file.
15676         (pdump_load): Ditto.
15677
15678 2000-02-02  Mike Alexander  <mta@arbortext.com>
15679
15680         * nt.c (convert_time): Set tm_isdst before calling mktime and
15681         avoid calling it at all if the compiler supports 64 bit integers.
15682         Also initialize utc_base_ft before using it.
15683
15684 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15685
15686         * frame.c (change_frame_size_1): Take f->internal_border_width
15687         into consideration when calculating the width of the frame.
15688
15689 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15690
15691         * window.c (frame_min_height):
15692         (frame_size_valid_p):
15693         (frame_pixsize_valid_p): Added.
15694         (check_frame_size): Generalized.
15695
15696         * window.h: Prototyped the above.
15697
15698         * lisp.h:
15699         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15700         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15701         Deleted Vwin32_* and Vbinary_process_* unused variables.
15702
15703         * device-msw.c (msprinter_init_device): Do not get printer font
15704         list; Added DEVMODE functions.
15705
15706         * frame-msw.c: Added lots of printer code.
15707
15708         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15709         general.c.
15710
15711         * console-msw.h: Added more msprinter device private slots.
15712
15713 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15714
15715         * event-msw.c (key_needs_default_processing_p): Added.
15716         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15717
15718 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15719
15720         * glyphs.c (image_instance_layout): Mark image instance as clean
15721         after layout.
15722         (glyph_dirty_p): Removed redundant function.
15723         (invalidate_glyph_geometry_maybe): Added.
15724         (update_glyph_cachel_data): Call it.
15725
15726         * glyphs.h: Prototyped it.
15727
15728         * redisplay.c (add_glyph_rune): Call it.
15729         (redisplay_window): Reset glyphs cachels when frame faces have
15730         changed, thus forcing recomputation of built-in border glyphs.
15731
15732 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15733
15734         * Makefile.in.in: Make portable dumper and purify play well together.
15735         Add imperfect, but better than nothing, support for pdump.
15736         Remove xemacs.dmp when temacs is re-generated.
15737         Don't ignore errors when dumping xemacs.
15738
15739         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15740
15741 2000-01-28  Andy Piper  <andy@xemacs.org>
15742
15743         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15744         (setup_normal_frame): ditto.
15745         (setup_frame_without_minibuffer): ditto.
15746         (setup_minibuffer_frame): ditto.
15747         (delete_frame_internal): ditto.
15748         (Fmake_frame_invisible): ditto.
15749         (Ficonify_frame): ditto.
15750
15751         * window.h: change Fset_window_buffer signature.
15752
15753         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15754         (Fset_window_buffer): allow recording of buffer if the window is
15755         the selected window.
15756         (window_loop): Use new Fset_window signature.
15757
15758 2000-01-23  Daniel Pittman  <daniel@danann.net>
15759
15760         * config.h.in: Added template for `HAVE_ATHENA_3D'
15761
15762 2000-01-29  Andy Piper  <andy@xemacs.org>
15763
15764         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15765
15766         * gutter.c (output_gutter): Don't output if the window isn't live.
15767
15768 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15769
15770         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15771         of 01/12/00: Moved SetFocus back here where it belongs.
15772
15773 2000-01-23  Andy Piper  <andy@xemacs.org>
15774
15775         * s/cygwin32.h: declare printer things.
15776
15777 2000-01-26  Andy Piper  <andy@xemacs.org>
15778
15779         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15780         Alexander.
15781
15782 2000-01-24  Andy Piper  <andy@xemacs.org>
15783
15784         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15785         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15786
15787         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15788
15789         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15790
15791         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15792
15793         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15794         (mswindows_output_display_block): Avoid local shadows.
15795
15796         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15797         (mswindows_enqueue_mouse_button_event): ditto.
15798         (mswindows_handle_gui_wm_command): remove declaration.
15799
15800         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15801         warnings.
15802
15803         * console-msw.h: Avoid shadows.
15804         (mswindows_get_toolbar_button_text):
15805         (emacs_mswindows_create_stream_pair):
15806         (emacs_mswindows_delete_stream_pair):
15807         (mswindows_handle_toolbar_wm_command): declare.
15808
15809         * device-msw.c (build_syscolor_string): Avoid shadows.
15810
15811 2000-01-23  Andy Piper  <andy@xemacs.org>
15812
15813         * glyphs-widget.c (widget_instantiate): reverse the items for
15814         layouts so that children are in the expected order.
15815
15816 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15817
15818         * ralloc.c: safe_bcopy ==> memmove
15819         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15820         * s/msdos.h: Remove BCOPY macros.
15821         * insdel.c (gap_right): Remove BCOPY conditional code.
15822         * insdel.c (gap_left): Remove BCOPY conditional code.
15823         XEmacs demands a working ANSI C compiler - hence memmove.
15824
15825         * regex.c (regex_compile): Remove accidental use of trigraphs.
15826
15827 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15828
15829         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15830         event timestamp.
15831
15832 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15833
15834         * event-msw.c (mswindows_drain_windows_queue): Added the
15835         parameter.
15836         (mswindows_need_event): Commented the call to
15837         mswindows_drain_windows_queue().
15838         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15839         only.
15840
15841         * console-msw.h: Moved a few function prototypes here from
15842         event-msw.c.
15843
15844         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15845         parameter from unsigned short to unsigned long.
15846         (Fmswindows_shell_execute): Added return value.
15847
15848 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15849
15850         * sysdep.c (init_system_name):
15851           process-unix.c (unix_canonicalized_host_name):
15852         Don't call freeaddrinfo() if getaddrinfo() fails.
15853
15854         * process-unix.c (unix_open_unix_network_stream):
15855         Moved the code to get a port # into address loop.
15856
15857 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15858
15859         * buffer.c (reinit_vars_of_buffer):
15860         The right place to initialize conversion_in_dynarr and
15861         conversion_out_dynarr.
15862
15863         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15864
15865         * process-unix.c (unix_canonicalize_host_name): Muleize.
15866         (unix_open_network_stream): Muleize.
15867
15868         * buffer.h: Fix up prototypes for ralloc.c functions.
15869
15870 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15871         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15872         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15873                 instead of gethostbyname()
15874         * process-unix.c: In unix_canonicalize_host_name() and
15875                 unix_open_network_stream(), add code to use getaddrinfo()
15876                 instead of gethostbyname().
15877
15878 2000-01-27  Daniel Pittman <daniel@danann.net>
15879
15880         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15881         libs when built with flat Athena.
15882
15883 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15884
15885         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15886         Use coding standards for function prototypes.
15887
15888 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15889
15890         * dialog-msw.c (push_lisp_string_as_unicode):
15891         * doc.c (unparesseuxify_doc_string):
15892         * dired.c (Fuser_name_completion_1):
15893         * dired.c (Fuser_name_all_completions):
15894         * dired.c (free_user_cache):
15895         * dired.c (user_name_completion):
15896         * console-x.c (get_display_arg_connection):
15897         * minibuf.c (clear_echo_area_internal):
15898         * minibuf.c (echo_area_append):
15899         * eldap.c (Fldap_open):
15900         * eldap.c (Fldap_search_internal):
15901         * frame-x.c (x_set_frame_text_value):
15902         * frame-x.c (x_set_frame_properties):
15903         * frame-x.c (x_create_widgets):
15904         * redisplay-tty.c (term_get_fkeys_1):
15905         * objects-x.c (x_parse_nearest_color):
15906         * objects-x.c (x_valid_color_name_p):
15907         * objects-x.c (x_initialize_font_instance):
15908         * objects-x.c (x_list_fonts):
15909         * objects-x.c (x_find_charset_font):
15910         * tooltalk.c (Fadd_tooltalk_message_arg):
15911         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15912         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15913         * process-unix.c (unix_create_process):
15914         * ntproc.c (sys_spawnve):
15915         * sound.c (Fplay_sound_file):
15916         * sound.c (Fplay_sound):
15917         * buffer.c (init_initial_directory):
15918         * buffer.c (init_buffer):
15919         * editfns.c (init_editfns):
15920         * editfns.c (Ftemp_directory):
15921         * editfns.c (Fuser_full_name):
15922         * editfns.c (uncache_home_directory):
15923         * editfns.c (get_home_directory):
15924         * editfns.c (Fuser_home_directory):
15925         * editfns.c (Fformat_time_string):
15926         * editfns.c (Fcurrent_time_string):
15927         * gui-x.c (button_item_to_widget_value):
15928         * database.c (Fopen_database):
15929         * event-Xt.c (x_to_emacs_keysym):
15930         * event-Xt.c (x_event_to_emacs_event):
15931         * event-Xt.c (describe_event_window):
15932         * event-msw.c (mswindows_wnd_proc):
15933         * glyphs-eimage.c (jpeg_instantiate):
15934         * glyphs-eimage.c (gif_instantiate):
15935         * glyphs-eimage.c (png_instantiate):
15936         * glyphs-eimage.c (tiff_instantiate):
15937         * glyphs-x.c (xbm_instantiate_1):
15938         * glyphs-x.c (x_xbm_instantiate):
15939         * glyphs-x.c (x_xface_instantiate):
15940         * glyphs-x.c (autodetect_instantiate):
15941         * glyphs-x.c (cursor_font_instantiate):
15942         * glyphs-x.c (x_widget_instantiate):
15943         * glyphs-x.c (x_widget_set_property):
15944         * glyphs-x.c (x_widget_property):
15945         * glyphs-x.c (BUILD_GLYPH_INST):
15946         * print.c (write_string_to_stdio_stream):
15947         * print.c (output_string):
15948         * print.c (Falternate_debugging_output):
15949         * print.c (Fexternal_debugging_output):
15950         * glyphs-msw.c (extract_xpm_color_names):
15951         * glyphs-msw.c (mswindows_xpm_instantiate):
15952         * glyphs-msw.c (bmp_instantiate):
15953         * glyphs-msw.c (resource_name_to_resource):
15954         * glyphs-msw.c (mswindows_resource_instantiate):
15955         * glyphs-msw.c (xbm_instantiate_1):
15956         * glyphs-msw.c (mswindows_xbm_instantiate):
15957         * glyphs-msw.c (mswindows_xface_instantiate):
15958         * glyphs-msw.c (mswindows_widget_instantiate):
15959         * glyphs-msw.c (add_tree_item):
15960         * glyphs-msw.c (add_tab_item):
15961         * glyphs-msw.c (mswindows_combo_box_instantiate):
15962         * glyphs-msw.c (mswindows_widget_property):
15963         * glyphs-msw.c (mswindows_combo_box_property):
15964         * glyphs-msw.c (mswindows_widget_set_property):
15965         * console.c (stuff_buffered_input):
15966         * objects-msw.c (mswindows_initialize_color_instance):
15967         * objects-msw.c (mswindows_valid_color_name_p):
15968         * objects-msw.c (mswindows_list_fonts):
15969         * objects-msw.c (mswindows_font_instance_truename):
15970         * bytecode.c (optimize_compiled_function):
15971         * select-x.c (symbol_to_x_atom):
15972         * select-x.c (x_atom_to_symbol):
15973         * select-x.c (hack_motif_clipboard_selection):
15974         * select-x.c (selection_data_to_lisp_data):
15975         * select-x.c (lisp_data_to_selection_data):
15976         * select-x.c (Fx_get_cutbuffer_internal):
15977         * select-x.c (Fx_store_cutbuffer_internal):
15978         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15979         * buffer.h (TO_INTERNAL_FORMAT): New function.
15980         * emacs.c (make_arg_list_1):
15981         * emacs.c (make_argc_argv):
15982         * emacs.c (main_1):
15983         * emacs.c (Fdump_emacs):
15984         * emacs.c (split_string_by_emchar_1):
15985         * file-coding.h:
15986         * lisp.h:
15987         * lstream.h:
15988         * symsinit.h:
15989         * device-x.c (x_init_device):
15990         * device-x.c (Fx_valid_keysym_name_p):
15991         * device-x.c (Fx_get_font_path):
15992         * device-x.c (Fx_set_font_path):
15993         * glyphs.c (bitmap_to_lisp_data):
15994         * glyphs.c (pixmap_to_lisp_data):
15995         * alloc.c (make_ext_string): Use coding system arguments.  Update
15996         all callers.
15997         * alloc.c (build_string):
15998         * callproc.c (child_setup):
15999         * callproc.c (init_callproc):
16000         * fileio.c (lisp_strerror):
16001         * fileio.c (directory_file_name):
16002         * fileio.c (Fexpand_file_name):
16003         * fileio.c (Ffile_truename):
16004         * fileio.c (Fsysnetunam):
16005         * fileio.c (Fdo_auto_save):
16006         * sysdep.c (sys_readdir):
16007         * tests.c: New file.  Allow adding C tests.
16008         Replace GET_* macros with a more comprehensible and flexible
16009         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16010         Modify all calls.
16011         Any coding system can be used to do format conversion.
16012         Eliminate enum external_data_format.
16013         Eliminate convert_to_external_format.
16014         Eliminate convert_to_internal_format.
16015         Make sure file-name, keyboard, terminal, and ctext are always
16016         defined as coding systems or aliases.  Make
16017         file-name-coding-system, terminal-coding-system, and
16018         keyboard-coding-system magical variables that are equivalent to
16019         defining the corresponding coding system aliases.
16020
16021         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16022         * file-coding.c (Fcoding_system_alias_p): New function.
16023         * file-coding.c (Fcoding_system_aliasee): New function.
16024         * file-coding.c (append_suffix_to_symbol): New function.
16025         * file-coding.c (dangling_coding_system_alias_p): New function.
16026         * file-coding.c (Ffind_coding_system):
16027         * file-coding.c (Fcopy_coding_system):
16028         * file-coding.c (encode_coding_no_conversion):
16029         * file-coding.c (syms_of_file_coding):
16030         * file-coding.c (vars_of_file_coding):
16031         Rewrite coding system alias code.
16032         Allow nested aliases, like symbolic links.
16033         Allow redefinition of coding system aliases.
16034         Prevent existence of dangling coding system aliases.
16035
16036         * dired.c (Fuser_name_completion_1):
16037         * dired.c (Fuser_name_all_completions):
16038         A crash would happen if user did QUIT in the middle of building
16039         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16040
16041         * lisp.h:
16042         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16043
16044         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16045         an unsigned char *.  Update all callers.
16046
16047 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16048
16049         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16050
16051 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16052
16053         * elhash.c (hentry_description): Use more portable definition.
16054         (resize_hash_table): Initialize new hentries using
16055         xnew_array_and_zero, thereby simplifying the code.
16056
16057         * mule-charset.c (make_charset): Make sure entire object is
16058         initialized, to avoid Purify warnings.
16059
16060         * alloc.c (resize_string): Fix unlikely crash with big strings.
16061
16062 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16063
16064         * realpath.c (xrealpath):
16065         Don't call getwd().
16066
16067 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16068
16069         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16070
16071 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16072
16073         * unexelfsgi.c (unexec): Change the way we decide which segment
16074         should be extended.
16075
16076         Assumption that .bss section should be outside the PT_LOADable
16077         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16078         it's present) is inside the 'data' segment. This would fail the
16079         test which was used to find a segment to grow and cover new
16080         heap. Instead of this assumption, I created another one - on IRIX
16081         the segment to grow should start below .bss and it's address
16082         should extent above the end of .bss. Once this segment is
16083         identified, it's grown to accommodate the new heap and new
16084         zero-length .bss section is added at the end of .data2.
16085
16086 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16087
16088         * eval.c (Feval): Wrong number of arguments should use original
16089         function, not the indirect_function version of it.
16090
16091 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16092
16093         * glyphs-x.c (x_button_instantiate): Don't add image if
16094         it is not a pixmap.
16095         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16096         is relative.
16097
16098 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16099
16100         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16101         declaration.
16102         (DEFVAR_INT_MAGIC): Ditto.
16103         (DEFVAR_BOOL_MAGIC): Ditto.
16104         * glyphs.h: Reindent backslash.
16105
16106 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16107
16108         * glyphs-widget.c (layout_query_geometry):
16109         (layout_layout): Use correct types for gheight, gwidth.
16110
16111 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16112
16113         * EmacsManager.c (QueryGeometry): Purified.
16114
16115 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16116
16117         * alloc.c (make_float): Make sure entire object is initialized, to
16118         avoid Purify warnings.
16119         (pdump_register_sub): Remove useless assignment.
16120         (pdump): Use xmalloc, not malloc.
16121         (pdump_load): Use xmalloc, not malloc.
16122
16123 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16124
16125         * callproc.c:
16126         * dired-msw.c:
16127         * fileio.c:
16128         * process-nt.c:
16129         * redisplay-msw.c:
16130         * sysdep.c: Removed redundant #include <windows.h>
16131
16132 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16133
16134         * frame.c (delete_frame_internal): Do not delete device when its
16135         implementation so declares.
16136         (delete_frame_internal): Set device selected frame to nil when
16137         last frame goes away.
16138
16139         * device-msw.c (msprinter_device_system_metrics): Implemented.
16140         (mswindows_device_system_metrics): Added 'device-dpi property.
16141
16142         * device.c: (Fdevice_printer_p): Added.
16143         Added 'offset-workspace device metric.
16144
16145         * console.h (device_metrics): Declared DM_offset_workspace.
16146
16147 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16148
16149         * fileio.c (Ffile_truename): Remove pointless and confusing
16150         initialization of elen.
16151
16152         * glyphs-widget.c: Compiler warning fixes.
16153
16154 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16155
16156         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16157         instead of a Lisp_Object as argument to make it consistent with
16158         the other LIVE_P macros.
16159         (CHECK_LIVE_PROCESS): New macro.
16160
16161         * process.c: Declare Qprocess_live_p.
16162         (Fprocess_live_p): New function.
16163         (create_process): Use PROCESS_LIVE_P.
16164         (read_process_output): Ditto.
16165         (set_process_filter): Ditto.
16166         (Fdelete_process): Ditto.
16167         (kill_buffer_processes): Ditto
16168         (process_send_signal): Use CHECK_LIVE_PROCESS.
16169         (Fprocess_input_coding_system): Check whether process is still
16170         alive (fix PR#1061).
16171         (Fprocess_output_coding_system): Ditto.
16172         (Fprocess_coding_system): Ditto.
16173         (Fset_process_input_coding_system): Ditto.
16174         (Fset_process_output_coding_system): Ditto.
16175
16176 2000-01-23  Andy Piper  <andy@xemacs.org>
16177
16178         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16179         layout and widget.
16180
16181         * glyphs.c (mark_image_instance): take into account changed
16182         image_instance format.
16183         (image_instance_equal): ditto.
16184         (image_instance_hash): ditto.
16185
16186         * glyphs-widget.c (widget_instantiate): Incorporate layout
16187         instantiation here. Delay layout of the layout until later.
16188         (layout_instantiate): deleted.
16189         (layout_query_geometry): new function. get the geometry of a
16190         layout.
16191         (layout_layout): layout a layout dynamically.
16192         (image_instantiator_widget): New function - splitting up
16193         image_instantiator_format_create_glyphs_widget for netwinder
16194         compilation.
16195         (image_instantiator_buttons):
16196         (image_instantiator_edit_fields):
16197         (image_instantiator_combo_box):
16198         (image_instantiator_scrollbar):
16199         (image_instantiator_progress_guage):
16200         (image_instantiator_tree_view):
16201         (image_instantiator_tab_control):
16202         (image_instantiator_labels):
16203         (image_instantiator_layout): ditto.
16204         (image_instantiator_format_create_glyphs_widget): Call preceding
16205         functions.
16206
16207 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16208
16209         * process.c (Fset_process_coding_system):
16210         * device-x.c (Fx_keysym_hash_table):
16211         Docstring fixes.
16212
16213         * lstream.c (Lstream_write): Return documented value, not 0.
16214
16215         * fileio.c (directory_file_name):
16216         (Fsubstitute_in_file_name):
16217         (Fsubstitute_insert_file_contents_internal):
16218         (Fwrite_region_internal):
16219         * emacs.c:
16220         * sysdep.c:
16221         * getloadavg.c:
16222         * systty.h:
16223         Remove vestigial APOLLO-conditional code.
16224
16225 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16226
16227         * getpagesize.h: Add guard macros.
16228         * libsst.h: Add guard macros.
16229         * libst.h: Add guard macros.
16230         * line-number.h: Add guard macros.
16231         * ndir.h: Add guard macros.
16232         * sysfloat.h: Add guard macros.
16233         * sysfile.h: Add guard macros.
16234         * sysproc.h: Add guard macros.
16235         * syswait.h: Add guard macros.
16236         * xintrinsic.h: Add guard macros.
16237         * xintrinsicp.h: Add guard macros.
16238         * xmmanager.h: Add guard macros.
16239         * xmmanagerp.h: Add guard macros.
16240         * xmprimitive.h: Add guard macros.
16241         * xmu.h: Add guard macros.
16242         * gpmevent.h: Add copyright statement. Add guard macros.
16243         * miscplay.h: Add guard macros.
16244         * *.h: Use consistent C-standards-approved guard macro names.
16245
16246         * opaque.c (make_opaque): Switch parameter order.
16247         * opaque.h (make_opaque): Switch parameter order.
16248         Update all callers.
16249         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16250
16251         * config.h.in (type_checking_assert): Added.
16252         (bufpos_checking_assert): Added.
16253
16254 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16255
16256         * alloc.c: Harmless pdump changes.
16257         - Use countof().
16258         - spell alignment correctly.
16259         * sysdep.c: Use countof()
16260
16261 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16262
16263         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16264         initially_selected_for_input() console method, default to 0.
16265         (semi_canonicalize_console_connection): Try to delegate to
16266         canonicalize_console_connection if no such console method.
16267         (canonicalize_console_connection): Vice versa.
16268         (print_console): Do not print nil connection.
16269
16270         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16271         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16272         (XDEVIMPF_FRAMELESS_OK): Added.
16273         (CONSOLE_INHERITS_METHOD): Added.
16274
16275         * console-msw.c (mswindows_canonicalize_console_connection):
16276         Added.
16277         (mswindows_canonicalize_device_connection): Added.
16278
16279         * console-msw.h (struct msprinter_device): Added this struct and
16280         accessor macros.
16281         (mswindows_device): Made fontlist a lisp object.
16282
16283         * device.c (semi_canonicalize_device_connection):  Try to delegate
16284         to canonicalize_device_connection if no such console method.
16285         (canonicalize_device_connection): Vice versa.
16286         (print_device): Do not print nil connection.
16287
16288         * device-msw.c (mswindows_init_device): Call InitCommonControls
16289         when have widgets.
16290         (mswindows_delete_device): Removed fontlist deallocation.
16291         (mswindows_mark_device): Added.
16292
16293         * events.c (event_equal): Added abort() at unreached code.
16294         (event_hash): Ditto.
16295
16296         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16297         fallback tags of Windows devices.
16298
16299         * general.c (syms_of_general): Initialized Qmsprinter.
16300
16301         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16302         of fallback tags of Windows devices.
16303
16304         * lisp.h: Declared Qmsprinter.
16305
16306         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16307         of strings.
16308         (mswindows_list_fonts): Ditto.
16309         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16310         that it can be used by both mswindows and msprinter devices.
16311         (initialize_font_instance): Added.
16312         (mswindows_initialize_font_instance): Use it.
16313         (msprinter_initialize_font_instance): Added.
16314
16315         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16316         and implementation flags check.
16317         (redisplay_without_hooks): Changed the call to the above.
16318         (Fredraw_device): Ditto.
16319         (Fredisplay_device): Ditto.
16320
16321         * redisplay-msw.c (get_frame_dc): Implemented.
16322         (get_frame_compdc): Implemented.
16323         (many functions): Use the two functions above to get device
16324         contexts, ether for a window or a printer.
16325
16326 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16327
16328         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16329         initialization here.
16330         (init_symbols_once_early): Call it.
16331         * emacs.c (main_1): Call it.
16332         * symsinit.h: Declare it.
16333
16334 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16335
16336         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16337         Lisp_Object.
16338         (pdump_backtrace): Ditto.
16339         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16340         (pdump_get_entry): Abort if trying to register a null pointer.
16341         (pdump_dump_data): Cleanup types when relocating.
16342         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16343         (pdump_dump_rtables): Remove bad casts.
16344         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16345         Lisp_Object instead of a EMACS_INT for the hashtable
16346         reorganization.
16347
16348 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16349
16350         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16351
16352         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16353
16354         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16355
16356         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16357
16358 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16359
16360         * faces.h (FACE_STRIKETHRU_P): Added.
16361
16362         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16363         of font variants.
16364
16365         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16366         (mswindows_set_dc_font): New function, aware of font variants,
16367         separated from mswindows_update_dc.
16368
16369         * objects-msw.h (struct mswindows_font_instance_data): Added
16370         definition.
16371
16372         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16373         cached fonts and the data structure.
16374         (mswindows_initialize_font_instance): Added creation of font data
16375         structure.
16376         (mswindows_print_font_instance): Print at least something.
16377         (mswindows_create_font_variant): Implemented.
16378         (mswindows_get_hfont): Implemented.
16379
16380 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16381
16382         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16383         prototyping problem with msvc.
16384
16385         * emacs.c (main_1): added syms_of_gui_mswindows() call
16386
16387         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16388         syms_of_gui_mswindows() function
16389
16390         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16391
16392 2000-01-18  Martin Buchholz <martin@xemacs.org>
16393
16394         * XEmacs 21.2.27 is released.
16395
16396 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16397
16398         * glyphs-eimage.c (struct tiff_error_struct):
16399         (tiff_error_func):
16400         (tiff_warning_func):
16401         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16402
16403         * unexmips.c:
16404         * unexhp9k3.c:
16405         * unexfreebsd.c:
16406         * unexec.c: Remove vestigial Lucid C code.
16407         * unexalpha.c:
16408         * unexaix.c:
16409         * termcap.c:
16410         * libsst.c: Ansify.
16411         Remove declarations of errno and strerror().
16412
16413         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16414
16415         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16416
16417 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16418
16419         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16420         Optimize.
16421
16422 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16423
16424         * md5.c:
16425         * file-coding.c:
16426         * file-coding.h:
16427         Change enum eol_type to eol_type_t.
16428
16429 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16430
16431         * gui.c (get_gui_callback): Check cons before accessing car.
16432
16433 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16434
16435         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16436         (XSETSPECIFIER_TYPE): Ditto.
16437
16438 2000-01-17  Didier Verna  <didier@xemacs.org>
16439
16440         * redisplay.c (generate_fstring_runes): compute string size in
16441         characters, not bytes.
16442
16443 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16444
16445         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16446
16447 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16448
16449         * print.c (print_error_message): Call print_prepare().
16450
16451 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16452
16453         * .dbxrc: Renamed from dbxrc.
16454
16455         * events.c (event_to_character):
16456         Use `assert (foo)' instead of `if (!foo) abort()'
16457
16458         * .gdbinit (xtype): Add documentation.
16459         * .gdbinit (check-temacs): New function.
16460         * .gdbinit (check-xemacs): New function.
16461         * dbxrc (check-xemacs): New function.
16462         * dbxrc (check-xemacs): New function.
16463
16464 2000-01-14  Andy Piper  <andy@xemacs.org>
16465
16466         * glyphs-widget.c (widget_query_geometry): Make sure that we
16467         calculate default dimensions correctly.
16468
16469 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16470
16471         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16472
16473         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16474         pdump_wire'd variable.
16475
16476         * emacs.c: (main_1): Conditionalized calls to
16477         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16478
16479 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16480
16481         * window.c (Fset_window_configuration):
16482         * sysdep.c (_start):
16483         * input-method-motif.c (res):
16484         * event-Xt.c (Xt_process_to_emacs_event):
16485         Simple compiler warning fixes.
16486
16487         * bytecode.c (funcall_compiled_function): Use the original
16488         function symbol on the backtrace list in preference to the
16489         compiled_function object in error messages.
16490
16491 2000-01-13  Andy Piper  <andy@xemacs.org>
16492
16493         * glyphs-x.c (update_widget_face): Make sure we update the widget
16494         background as well as foreground.
16495
16496 2000-01-13  Andy Piper  <andy@xemacs.org>
16497
16498         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16499         fields to subwindow.
16500         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16501         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16502         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16503         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16504
16505         * glyphs-widget.c (check_valid_tab_orientation): new function.
16506         (initialize_widget_image_instance): zero orientation and
16507         justification.
16508         (widget_instantiate): pick up orientation.
16509         (tab_control_query_geometry): return appropriate values for
16510         vertical tabs.
16511
16512         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16513         appropriate creation flags for left, right and bottom tabs.
16514
16515         * s/cygwin32.h: add tab definitions.
16516
16517 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16518
16519         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16520         frame upon hiding a subwindow.
16521         (mswindows_button_instantiate): Changed the push button style to
16522         BS_PUSHBUTTON.
16523         (mswindows_button_instantiate): Removed button BS_NOTIFY
16524         style.
16525         (mswindows_button_instantiate): Removed redundant check for
16526         a disabled gui item.
16527         (mswindows_button_instantiate): Made use of WS_TABSTOP
16528         consistent: "operable" controls (edit, button, tree, scroll) have
16529         this style, "display-only" ones (static, progress gauge) do
16530         not. This style is currently ignored by XEmacs though. Also,
16531         removed the WS_EX_CONTROLPARENT style - it is not for children,
16532         it is for their parents!
16533         (mswindows_edit_field_instantiate): Ditto.
16534         (mswindows_progress_gauge_instantiate): Ditto.
16535         (mswindows_tree_view_instantiate): Ditto.
16536         (mswindows_tab_control_instantiate): Ditto.
16537         (mswindows_scrollbar_instantiate): Ditto.
16538         (mswindows_combo_box_instantiate): Ditto.
16539         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16540         style to the "clip" window.
16541         (mswindows_button_instantiate): Removed compilation warning by
16542         equally typing terms of the ?: operator.
16543
16544 2000-01-12  Didier Verna  <didier@xemacs.org>
16545
16546         * redisplay.c (generate_fstring_runes): new parameter holding the
16547         last modeline-format extent.
16548         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16549         extent, fill the glyph block with it.
16550         (generate_fstring_runes): handle these parameters.
16551         (generate_formatted_string_db): ditto.
16552
16553         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16554         glyphs'extents in the modeline.
16555
16556 1999-01-11  Mike Woolley  <mike@bulsara.com>
16557
16558         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16559         256Mb, as a workaround for the non-starting problem many people
16560         have experienced.
16561
16562 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16563
16564         * console-tty.c (Fset_console_tty_output_coding_system):
16565         Force redrawing tty frame.
16566
16567 2000-01-10  Didier Verna  <didier@xemacs.org>
16568
16569         * redisplay.c (generate_fstring_runes): fix size computation bug.
16570
16571 2000-01-09  William M. Perry <wmperry@aventail.com>
16572
16573         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16574
16575 2000-01-09  Andy Piper  <andy@xemacs.org>
16576
16577         * glyphs-msw.c: index -> i to avoid shadows.
16578         (xbm_create_bitmap_from_data): make static.
16579         (check_valid_string_or_int): deleted.
16580         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16581
16582         * glyphs-x.c (x_update_subwindow): remove unused args.
16583
16584         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16585         back pointer - this is done in allocate_image_instance.
16586         (query_string_font): return Qnil to make the compiler happy.
16587         (unmap_subwindow): set to ~0 to make the compiler happy.
16588         (glyph_query_geometry): comment out until used.
16589         (glyph_layout): ditto.
16590
16591 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16592
16593         * insdel.c (signal_after_change): Remove extraneous unbind_to().