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