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