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