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