import -ko -b 1.1.3 XEmacs XEmacs-21_2 r21-2-35
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2000-07-19  Martin Buchholz <martin@xemacs.org>
2
3         * XEmacs 21.2.35 is released.
4
5 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6
7         * select-x.c (x_handle_selection_request): 
8         Text selected in xemacs and pasted into xterm failed to appear.
9         Spelling fixes and cosmetic changes.
10
11 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12
13         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
14         XEmacs frame (fix for doubling chars in dialog boxes).
15
16 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
17
18         * select.c (select_convert_in, select_convert_out):
19         Don't call intern() every time.
20
21         * select.c (Qselect_convert_in, Qselect_convert_out): New.
22         * select.c (vars_of_select): Initialise them.
23
24 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
25
26         * select.c (selection-coercible-types): New.
27
28         * select.c (own-selection-internal):
29         * select.c (get-selection-internal):
30         MULE bug fix - these should default to COMPOUND_TEXT and not
31         STRING for MULE. I think.
32
33         * select.c (select_convert_out): Use selection-coercible-types
34         to find types that we can attempt to perform coercions on.
35
36 2000-07-18  Martin Buchholz  <martin@xemacs.org>
37
38         * mule-wnnfns.c:
39         * mule-canna.c:
40         Add coding: cookie to identify encoding.
41
42         * mule-canna.c (CANNA_mode_keys): make static.
43         Use proper prototypes, even for functions of no arguments.
44         Remove external prototype for Fding().
45
46         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
47
48         * select.c (syms_of_select): Add missing DEFSUBR.
49
50 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
51
52         * select.c (get_selection_internal, own_selection_internal):
53         Make the type default to STRING, rather than placing a nil type
54         into Vselection_alist.
55
56 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
57
58         * gpmevent.c (tty_selection_exists_p):
59         * gpmevent.c (tty_own_selection):
60         Updated parameter lists.
61
62 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
63
64         * select.h (selection-alist): Removed declaration.
65
66         * select.h (get_local_selection):
67         * select.c (get_local_selection):
68         Made static.
69
70         * select.h (convert_selection): Removed declaration.
71         * select.c (convert_selection): Removed.
72         This function belongs in Lisp.
73
74         * select.h (select_convert_in): Declare.
75         * select.h (select_convert_out): Declare.
76         * select.c (select_convert_in): New.
77         * select.c (select_convert_out): New.
78         New conversion functions for other files to call.
79
80         * select.h (select_notify_buffer_kill): Declare.
81         * select.c (select_notify_buffer_kill): New.
82         New functions that get called from kill-buffer.
83
84         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
85         X-specific lisp code.
86
87         * select.h: Declare some of the lisp-visible functions for
88         external use.
89
90         * select.c (clean_local_selection_data): Removed. This was
91         a disgusting function, and previously should have been in
92         select-x.c in any case. The functionality is now provided
93         in select-convert-from-integer (select.el).
94
95         * select.c (available-selection-types): Fixed stupidity where
96         INTEGER and ATOM got added twice. Also add STRING when we see an
97         extent.
98
99         * select.c (get-selection-internal): Removed symbol stripping. No
100         longer causes conversion when data comes from the internal cache.
101
102         * select.c (syms_of_select): Added new functions.
103
104         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
105         error checking - previously this called abort!
106         
107         * select-x.c (x_own_selection): Changed comment.
108         
109         * select-x.c (x_handle_selection_request): Use select_convert_out.
110         Don't mess with selection-alist; it's an internal variable of select.c.
111         
112         * select-x.c (x_get_foreign_selection): Use select_convert_in.
113         
114         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
115         rather than messing with selection-alist.
116         
117         * select-msw.c (mswindows_get_foreign_selection):
118         Use TO_INTERNAL_FORMAT rather than hacking.
119
120 2000-07-14  Martin Buchholz  <martin@xemacs.org>
121
122         * process-unix.c (unix_open_multicast_group):
123         (unix_open_multicast_group): Remove useless casts.
124
125 2000-07-13  Martin Buchholz  <martin@xemacs.org>
126
127         * sound.c (Fplay_sound): Fix `unused variable' warning.
128
129         * emacs.c (main): Use correct type for _environ on SCO5.
130
131 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
132
133         * console.h (own_selection_method):
134         * console.h (selection_exists_p_method):
135         * console.h (available_selection_types_method): New.
136         * console.h (register_selection_data_type_method): New.
137         * console.h (selection_data_type_name): New.
138         
139         * console-msw.h (mswindows_destroy_selection): Declare it.  New
140         function & alist to track GlobalAlloc()'d handles that need
141         releasing when the clipboard data gets replaced or emptied.
142
143         * event-msw.c (mswindows_wnd_proc): Call it.
144
145         * lisp.h, general.c (Qappend): New symbol representing a
146         `how-to-add' mode.
147         
148         * select.c (own-selection-internal):
149         * select.c (selection-exists-p):
150         * select.c (available-selection-types): New.
151         * select.c (register-selection-data-type): New.
152         * select.c (selection-data-type-name): New.  New functions to deal
153         with device-specific selection data formats.
154         * select.c (selection-converter-out-alist): Renamed.
155         * select.c (selection-converter-in-alist): New.
156         * select.c (selection-appender-alist): New.  Added new alists.
157         * select.c (syms_of_select, vars_of_select): Added new symbols &
158         variables.
159         * select.c (get_local_selection): Split.
160         * select.c: Removed spurious type checking - selections may now be
161         of any type, not just strings.
162         * select.c (own-selection-internal):
163
164         * select.h, select.c (convert_selection): New. Created
165         convert_selection() function based on get_local_selection().
166         * select.h, select.c (QCF_*): New symbols representing mswindows
167         clipboard formats.
168         * select.h, select.c (Qreplace_all, Qreplace_existing): New
169         symbols representing `how-to-add' modes.
170
171         * select-msw.c (x_sym_p): New.
172         * select-msw.c (symbol_to_ms_cf): New.
173         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
174         symbols & clipboard formats. Can also handle string names.
175         * select-msw.c (mswindows_own_selection):
176         * select-msw.c (mswindows_selection_exists_p):
177         Added `data-type' parameter. Use it.
178         * select-msw.c (mswindows_available_selection_types): New.
179         * select-msw.c (mswindows_register_selection_data_type): New.
180         * select-msw.c (mswindows_selection_data_type_name): New.
181         * select-msw.c (mswindows_own_selection):
182         * select-msw.c (mswindows_get_foreign_selection):
183         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
184         * select-msw.c (console_create_select_mswindows): Added new methods.
185         * select-msw.c (mswindows_destroy_selection): New.
186         * select-msw.c (Vhandle_alist): New list.
187         * select-msw.c (mswindows_own_selection):
188
189         * select-x.c (x_own_selection):
190         * select-x.c (x_selection_exists_p):
191         * select-x.c: Added some comments about maybe using new
192         functionality.
193         * select-x.c (x_own_selection):
194
195         * specifier.c: Remove definition of Qappend (now in general.c)
196         * specifier.c (syms_of_specifier): Remove Qappend.
197
198 2000-07-12  Martin Buchholz  <martin@xemacs.org>
199
200         * config.h.in: Add socklen_t.
201
202         * s/decosf4-0.h: No special compiler flags needed or desired.
203         In particular, undefine _BSD for DEC OSF 4.0.
204
205 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
206
207         * redisplay-msw.c (msprinter_frame_output_end): Added.
208         (console_type_create_redisplay_mswindows): Referred the above.
209
210         * frame.c (setup_frame_without_minibuffer): Do not create a
211         default minibuffer frame on a printer device.
212
213         * frame-msw.c (apply_dc_geometry): Added.
214         (msprinter_start_page): 
215         (msprinter_init_frame_3): 
216         (msprinter_eject_page): Use it.
217
218         * console-msw.h (struct msprinter_frame): Added pix_left and top,
219         and removed residual duplex and orientation properties.
220
221 2000-07-11  Martin Buchholz  <martin@xemacs.org>
222
223         * eval.c (function_argcount): Work around a DEC CC compiler bug.
224
225         * unexalpha.c: Remove system prototypes from C sources!
226
227 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
228
229         * eval.c: Remove references to M-x edit-options in DEFUNs for
230         `defvar' and `defconst'.
231
232 2000-07-09  Martin Buchholz  <martin@xemacs.org>
233
234         * config.h.in: Remove SMART_INCLUDE hackery.
235         
236         PostgreSQL hacking:
237         * config.h.in: Don't use SMART_INCLUDE.
238
239         * postgresql.h: Include libpq-fe.h here.  Fix typo.
240         * inline.c: Simply #include "postgresql.h"
241         * postgresql.c:
242         - Don't use SMART_INCLUDE
243         - Use simply "const".
244         - Use standard doc string conventions.
245         - Use correct type for result of PQstatus.
246
247 2000-07-09  Martin Buchholz  <martin@xemacs.org>
248
249         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
250
251         C++ compilation changes.
252         * config.h.in (EXTERN_C): Define.
253         * config.h.in (not): This is also a C++ keyword.
254         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
255         * cm.c: Use EXTERN_C.
256         * redisplay-tty.c: Use EXTERN_C.
257         * sysdep.c: Use EXTERN_C.  Remove Gould support.
258
259 2000-07-09  Martin Buchholz  <martin@xemacs.org>
260
261         * general.c: Remove duplicate definition for Qfunction.
262
263 2000-07-08  Ben Wing  <ben@xemacs.org>
264
265         * device-msw.c (msprinter_init_device):
266         * device-msw.c (sync_printer_with_devmode):
267         * device-msw.c (handle_devmode_changes):
268         * device-msw.c (print_dialog_worker):
269         * device-msw.c (Fmsprinter_apply_settings):
270         * device-msw.c (hash_devmode):
271         * device-msw.c (Fmsprinter_settings_despecialize):
272         use Qmswindows_tstr, not Qctext.
273         
274         * vm-limit.c (check_memory_limits):
275         avoid infinite loop printing warning messages.
276
277 2000-07-05  Craig Lanning  <lanning@scra.org>
278
279         * Makefile.in.in: Add support for including the Windows resources
280         when building with the cygwin and mingw targets.
281
282         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
283         not set or not correct.
284         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
285         (init_initial_directory): Don't try to use $PWD on the
286         WIN32_NATIVE target.
287
288         * s\cygwin32.h:
289         [[Add -mwindows to eliminate console window.]] not required --ben
290         (HAVE_NATIVE_SOUND): removed; now handled by configure.
291         (MAIL_USE_POP): removed; now handled by configure.
292
293         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
294         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
295         (HAVE_NATIVE_SOUND): removed; now handled by configure.
296         (MAIL_USE_POP): removed; now handled by configure.
297         (ENCAPSULATE_STAT): from Dan Holmsand, added.
298         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
299         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
300         constant string.
301         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
302         up from <winsock.h> via systime.h.
303         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
304         (getpagesize): from Dan Holmsand, added.
305         Added #endif which was left dangling by Ben's mega patch; added
306         comment to help prevent this in the future.
307
308         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
309
310 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
311
312         * console-msw.h (struct mswindows_device): Removed unnecessary
313         cached device geometry values.
314         Added update_tick and an accessor macro.
315         (Lisp_Devmode): Added lrecord declaration. 
316         (struct msprinter_device): Contain devmode as a Lisp object.
317         Added mswindows_get_selected_frame_hwnd();
318
319         * console.h (struct console_methods): Indentation nitpicking.
320
321         * device-msw.c (mswindows_init_device): Do not initialize geometry
322         cache. Initialize update tick.
323         (mswindows_device_system_metrics): Ask the device for its geometry.
324         (global_free_2_maybe): 
325         (devmode_to_hglobal): 
326         (handle_printer_changes): 
327         (ensure_not_printing): 
328         (print_dialog_worker): 
329         (Fmsprinter_print_setup_dialog): 
330         (Fmsprinter_print_dialog): 
331         (plist_get_margin): 
332         (plist_set_margin): 
333         (Fmsprinter_page_setup_dialog): Added functions.
334         (sync_printer_with_devmode): 
335         (handle_devmode_changes): 
336         (Fmsprinter_get_settings): 
337         (Fmsprinter_select_settings): 
338         (Fmsprinter_apply_settings):
339         (allocate_devmode): 
340         (Fmsprinter_settings_copy): 
341         (Fmsprinter_settings_despecialize): 
342         (print_devmode): 
343         (finalize_devmode): 
344         (equal_devmode): 
345         (hash_devmode): Added functions
346         (syms_of_device_mswindows): Init devmode lrecord class.
347
348         * device.h: Added an exfun for find-device.
349
350         * event-msw.c (mswindows_wnd_proc): Do not update the cached
351         geometry; although, recreate the device compatible DC.
352
353         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
354         (msprinter_init_frame_3):
355         (msprinter_frame_property): 
356         (msprinter_internal_frame_property_p):
357         (msprinter_frame_properties): 
358         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
359         print job properties (will move to device settings).
360
361         * lisp.h: Added symbols.
362
363         * general.c (syms_of_general): Declared them.
364
365         * hash.c (string_hash): Added.
366
367         * lrecord.h (lrecord_type): Added devmode lrecord type.
368
369 2000-07-02  Mike Sperber <mike@xemacs.org>
370
371         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
372         FreeBSD 4.0.
373
374 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
375
376         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
377         integer.
378
379 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
380
381         * data.c (Fstring_to_number): Don't recognize floating point if
382         base is not 10.
383
384 2000-06-22  Martin Buchholz  <martin@xemacs.org>
385
386         * glyphs-widget.c (tab_control_query_geometry):
387         (widget_query_geometry):
388         (button_query_geometry):
389         * glyphs.c (text_query_geometry):
390         Enforce type correctness.
391
392 2000-06-18  Martin Buchholz  <martin@xemacs.org>
393
394         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
395         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
396
397 2000-06-17  Martin Buchholz  <martin@xemacs.org>
398
399         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
400         conflicts with gcc's fixincluded version of FOO.h.
401
402         * glyphs.h (image_instance_geometry): Remove trailing `,'
403
404 2000-06-08  Mike Alexander  <mta@arbortext.com>
405
406         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
407         (shove_thread): Don't write the same output twice
408         (make_ntpipe_output_stream): Increase priority of shove thread
409         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
410         chance to run
411         (ntpipe_shove_closer): Don't delete the pipe until we're done with
412         it.
413
414 2000-06-12  Ben Wing  <ben@xemacs.org>
415
416         * s\mingw32.h (sigset):
417         * s\windowsnt.h (sigset):
418         rename msw_ to mswindows_ for consistency with general convention.
419
420 2000-06-12  Ben Wing  <ben@xemacs.org>
421
422         * console-msw.c:
423         * console-msw.c (mswindows_get_console_hwnd):
424         * console-msw.c (mswindows_ensure_console_allocated):
425         * console-msw.c (mswindows_hide_console):
426         * console-msw.c (mswindows_show_console):
427         * console-msw.c (mswindows_ensure_console_buffered):
428         * console-msw.c (mswindows_output_console_string):
429         * console-msw.c (mswindows_windows9x_p):
430         * console-msw.h:
431         * device-msw.c (mswindows_get_workspace_coords):
432         * device-msw.c (mswindows_device_system_metrics):
433         * dialog-msw.c (mswindows_popup_dialog_box):
434         * event-msw.c (mswindows_wnd_proc):
435         * frame-msw.c (mswindows_size_frame_internal):
436         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
437         * menubar-msw.c (displayable_menu_item):
438         * menubar-msw.c (mswindows_char_is_accelerator):
439         * nt.c:
440         * nt.c (mswindows_sigset):
441         * nt.c (mswindows_sigrelse):
442         * nt.c (mswindows_sigpause):
443         * nt.c (mswindows_raise):
444         * nt.c (timer_proc):
445         * ntproc.c:
446         * ntproc.c (find_child_console):
447         * ntproc.c (sys_kill):
448         * print.c:
449         * print.c (std_handle_out_external):
450         * process-nt.c (find_child_console):
451         * process-nt.c (send_signal_the_95_way):
452         * process-nt.c (ensure_console_window_exists):
453         * process-nt.c (nt_create_process):
454         * syssignal.h:
455         rename msw_ to mswindows_ for consistency with general convention.
456
457         * emacs.c:
458         * dumper.c:
459         include nt.h, not syswindows.h.
460
461         * nt.c (mswindows_fstat):
462         * nt.c (mswindows_stat):
463         prefix mswindows_ instead of attempting to directly override the
464         library functions.  fix declarations.
465         
466         * nt.h:
467         include syswindows.h.  move some sysdep.h stuff here.
468         
469         * ntheap.h:
470         include syswindows.h, not <windows.h>.
471
472         * ntplay.c:
473         clean up headers.
474         
475         * sysdep.c:
476         clean up headers.
477         
478         * sysdep.c (sys_fstat):
479         * sysdep.c (sys_stat):
480         call mswindows versions when appropriate.
481         
482         * sysdep.h:
483         move mswin decls to nt.h.
484         
485         * syswindows.h:
486         add long comment describing appropriate use of the various windows
487         headers.
488
489 2000-06-11  Ben Wing  <ben@xemacs.org>
490
491         * device-x.c: Correct doc string for sixth arg of x-get-resource.
492
493 2000-06-10  Ben Wing  <ben@xemacs.org>
494
495         * Makefile.in.in (release):
496         Correction to make sure xemacs.exe always dumped when correct.
497         
498         * alloca.c:
499         * balloon_help.c:
500         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
501         
502         * buffer.c (set_buffer_internal):
503         [[[[2]]]]: Remove HAVE_FEP code.
504
505         * buffer.c (init_initial_directory):
506         [3].
507         
508         * bytecode.c:
509         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
510         individual files.
511         
512         * callproc.c:
513         * callproc.c (call_process_cleanup):
514         * callproc.c (Fold_call_process_internal):
515         * callproc.c (child_setup):
516         * callproc.c (getenv_internal):
517         * callproc.c (init_callproc):
518         * callproc.c (vars_of_callproc):
519         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
520         __CYGWIN32__ -> CYGWIN.
521         DOS_NT -> WIN32_NATIVE.
522         Remove MSDOS support/references, converting to WIN32_NATIVE
523           where correct.
524         __MINGW32__ -> MINGW.
525         Fix windows.h includes.
526         Remove bogus HAVE_NTGUI.
527
528         * config.h.in:
529         [2].
530         
531         * console-msw.c:
532         mswindows_message_outputted added for use in allowing startup
533         errors on the console to be seen.
534         
535         * console-msw.c (msw_ensure_console_allocated):
536         * console-msw.c (msw_output_console_string):
537         * console-msw.c (DHEADER):
538         * console-msw.c (DOPAQUE_DATA):
539         * console-msw.c (DEVENT):
540         * console-msw.c (DCONS):
541         * console-msw.c (DCONSCDR):
542         * console-msw.c (DSTRING):
543         * console-msw.c (DVECTOR):
544         * console-msw.c (DSYMBOL):
545         * console-msw.c (DSYMNAME):
546         Fix warnings.
547         
548         * console-stream.c (stream_init_console):
549         Fix text/binary problems.
550         
551         * device-msw.c:
552         * device-msw.c (mswindows_finish_init_device):
553         * device-msw.c (mswindows_delete_device):
554         [1].
555         
556         * device.c (handle_asynch_device_change):
557         [3].
558         
559         * dgif_lib.c:
560         * dgif_lib.c (DGifOpenFileName):
561         * dgif_lib.c (DGifOpenFileHandle):
562         * dgif_lib.c (DGifGetLine):
563         * dgif_lib.c (DGifGetPixel):
564         Added config.h/lisp.h, fix up includes.
565         [1].
566         
567         * dired-msw.c:
568         [4].
569         
570         * dired.c:
571         * dired.c (file_name_completion):
572         * dired.c (Ffile_attributes):
573         * dired.c (syms_of_dired):
574         [1].
575         
576         * dumper.c:
577         * dumper.c (pdump_file_unmap):
578         * dumper.c (pdump_load):
579         [1].
580         
581         * editfns.c:
582         * editfns.c (Ftemp_directory):
583         * editfns.c (user_login_name):
584         * editfns.c (Fuser_real_login_name):
585         * editfns.c (get_home_directory):
586         [1].
587         
588         * elhash.c (finish_marking_weak_hash_tables):
589         [[[[5]]]]: Fix GCC warnings.
590         
591         * emacs.c:
592         * emacs.c (mswindows_handle_hardware_exceptions):
593         * emacs.c (make_arg_list_1):
594         * emacs.c (main_1):
595         * emacs.c (Fkill_emacs):
596         * emacs.c (Fdump_emacs):
597         [1].
598         Fix problems with nested crashes, add long comment.
599         
600         * event-Xt.c (init_event_Xt_late):
601         [1].
602         
603         * event-msw.c:
604         * event-msw.c (mswindows_dde_callback):
605         * event-msw.c (mswindows_handle_sticky_modifiers):
606         * event-msw.c (mswindows_wnd_proc):
607         [1].
608         [5].
609         
610         * events.c (character_to_event):
611         [1].
612         
613         * fileio.c:
614         * fileio.c (Ffile_name_directory):
615         * fileio.c (Ffile_name_nondirectory):
616         * fileio.c (directory_file_name):
617         * fileio.c (Fexpand_file_name):
618         * fileio.c (Fsubstitute_in_file_name):
619         * fileio.c (Ffile_name_absolute_p):
620         * fileio.c (check_executable):
621         * fileio.c (Ffile_readable_p):
622         * fileio.c (Ffile_accessible_directory_p):
623         * fileio.c (Ffile_modes):
624         * fileio.c (Funix_sync):
625         * fileio.c (vars_of_fileio):
626         [1]. [4].
627
628         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
629         
630         Expand getdefdir defn.
631         Fix bogus rename() comment.
632
633         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
634         to use standard XEmacs include files, e.g. sysfile.h, rather
635         than system-specific includes.
636         
637         * fns.c:
638         * fns.c (Fsubseq):
639         [5]. [6].
640         
641         * frame.c (vars_of_frame):
642         [1].
643         
644         * getloadavg.c:
645         * getloadavg.c (getloadavg):
646         [1]. [6].
647         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
648         (We don't use it elsewhere in the code; just add a comment.)
649         
650         * gif_io.c:
651         [6].
652         Add config.h.
653         
654         * glyphs-msw.c:
655         * glyphs-msw.c (mswindows_resource_instantiate):
656         [1].
657         
658         * glyphs-x.c (x_native_layout_instantiate):
659         [5].
660         
661         * gui-msw.c (Fmswindows_shell_execute):
662         [1].
663         
664         * insdel.c:
665         [4].
666         
667         * lisp.h:
668         [4]. [5].
669         
670         * lread.c (locate_file_in_directory_mapper):
671         [1].
672         
673         * lstream.c:
674         [4].
675         
676         * mem-limits.h:
677         * mem-limits.h (get_lim_data):
678         [1].
679         
680         * menubar-msw.c:
681         [4].
682         
683         * ndir.h:
684         [1].
685         
686         * nt.c:
687         * nt.c (getwd):
688         * nt.c (closedir):
689         * nt.c (rva_to_section):
690         * nt.c (mswindows_executable_type):
691         [1]. [6].
692         Fix closedir() defn.
693         
694         * nt.h:
695         [[[[8]]]]: *_OK defs moved to sysfile.h.
696         
697         * ntproc.c:
698         [6]. [7].
699         
700         * objects-x.c:
701         [4].
702         
703         * print.c:
704         * print.c (std_handle_out_external):
705         [1]. [4].
706         
707         * process-nt.c:
708         * process-nt.c (nt_create_process):
709         [6].
710         try to fix process quoting somewhat.
711         
712         * process-unix.c (unix_create_process):
713         [1].
714         
715         * process.c:
716         * process.c (vars_of_process):
717         Add Vnull_device.
718         
719         * process.h:
720         [1].
721         
722         * realpath.c:
723         * realpath.c (xrealpath):
724         [1].
725         
726         * redisplay-tty.c (init_tty_for_redisplay):
727         [3].
728         
729         * redisplay.c:
730         [4]. [6].
731         
732         * scrollbar-msw.c:
733         [4].
734         
735         * sheap.c:
736         * sheap.c (more_static_core):
737         * sheap.c (report_sheap_usage):
738         [5]. [6].
739         
740         * signal.c:
741         * signal.c (alarm_signal):
742         [1]. [6]. 
743         
744         * sound.c:
745         [6].
746         
747         * strftime.c:
748         * strftime.c (zone_name):
749         [1]. [5].
750         
751         * symsinit.h (init_sunpro):
752         [1].
753         
754         * syscommctrl.h:
755         commctrl.h not in Cygwin b20.1.
756         
757         * sysdep.c:
758         * sysdep.c (endif):
759         * sysdep.c (sys_subshell):
760         * sysdep.c (init_baud_rate):
761         * sysdep.c (emacs_get_tty):
762         * sysdep.c (emacs_set_tty):
763         * sysdep.c (tty_init_sys_modes_on_device):
764         * sysdep.c (init_system_name):
765         * sysdep.c (sys_open):
766         * sysdep.c (interruptible_open):
767         * sysdep.c (sys_fopen):
768         * sysdep.c (sys_mkdir):
769         * sysdep.c (sys_rename):
770         * sysdep.c (get_process_times_1):
771         [1]. [6].
772         
773         * sysdep.h:
774         [1].
775         
776         * sysdir.h:
777         * sysdir.h (DIRENTRY_NONEMPTY):
778         [1]. [6].
779         
780         * sysdll.c (dll_init):
781         * sysdll.h:
782         [1].
783                 
784         * sysfile.h:
785         [1]. [6]. [8].
786         added text/binary defs.
787         
788         * sysfloat.h:
789         [1].
790         
791         * sysproc.h:
792         * sysproc.h (EDESTADDRREQ):
793         * sysproc.h (poll_fds_for_input):
794         [1]. [6].
795         
796         * syspwd.h:
797         [6].
798         
799         * syssignal.h:
800         [1].
801         
802         * systime.h:
803         [1]. [6].
804         
805         * systty.h:
806         [1].
807         
808         * syswindows.h:
809         [1].
810         Always define WIN32_LEAN_AND_MEAN.
811         
812         * unexcw.c (unexec):
813         [5].
814         
815         * unexec.c:
816         * unexec.c (copy_text_and_data):
817         * unexec.c (adjust_lnnoptrs):
818         [1].
819         
820         * unexnt.c:
821         * unexnt.c (_start):
822         [1].
823         
824 2000-06-07  Ben Wing  <ben@xemacs.org>
825
826         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
827         was used only as a model.  We've long since extracted any useful
828         logic or code out of this. (I just did an exhaustive search.)
829
830         * s\msdos.h: Removed.
831
832         * s\windows95.h: Removed.
833
834 2000-06-10  Ben Wing  <ben@xemacs.org>
835
836         * s\cygwin32.h:
837         [1]. [5].
838         Don't use extern with fun defs.
839         
840         * s\mingw32.h:
841         [1]. [7].
842         Remove nt\inc include.
843         Remove getdisk, getdefdir. (The former is unused, the latter
844         expanded in fileio.h.)
845         
846         * s\windowsnt.h:
847         * s\windowsnt.h (WIN32_NATIVE):
848         * s\windowsnt.h (HAVE_STRCASECMP):
849         [1]. [7].
850         Add long comment about preprocessor changes.
851         Remove getdisk, getdefdir. (The former is unused, the latter
852         expanded in fileio.h.)
853
854 2000-06-10  Ben Wing  <ben@xemacs.org>
855
856         * m\arm.h:
857         * m\delta.h:
858         * m\intel386.h:
859         * m\sequent.h:
860         * m\template.h:
861         * m\windowsnt.h:
862         [1].
863         Remove bogus/unused NO_SOCK_SIGIO.
864         
865 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
866
867         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
868         not an Emchar.
869
870 2000-06-04  Mike Sperber <mike@xemacs.org>
871
872         * casetab.c (set_case_table): For `set-standard-case-table',
873         actually deposit the new case tables where the rest of XEmacs can
874         see them.
875
876 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
877
878         * data.c (Faset): Don't cast XCHAR() to unsigned char.
879
880 2000-06-05  Ben Wing  <ben@xemacs.org>
881
882         * callproc.c (child_setup): Don't do close_load_descs() under
883         MS Windows.  Put in a comment explaining why.
884
885 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
886
887         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
888         Toolkit shell" which breaks `kill-compilation' on Windows NT
889         native, retaining STDERR handling improvements.
890
891 2000-06-01  Andreas Jaeger  <aj@suse.de>
892
893         * s/s390.h: Support for S390, based on a patch by Martin
894         Schwidefsky <schwidefsky@de.ibm.com>.
895
896 2000-05-30  Andy Piper  <andy@xemacs.org>
897
898         * window.c (allocate_window): 
899         (make_dummy_parent): 
900         (Fset_window_configuration): use new hashtable type.
901
902         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY): 
903         (struct image_instantiator_methods): 
904         (struct Lisp_Image_Instance): make instance geometry signed.
905
906         * glyphs.c (instantiate_image_instantiator): 
907         (image_instance_query_geometry): 
908         (image_instance_layout): 
909         (image_instance_layout): 
910         (query_string_geometry): 
911         (text_query_geometry): 
912         (image_instantiate): 
913         (image_instantiate): 
914         (cache_subwindow_instance_in_frame_maybe): 
915         (subwindow_query_geometry): make instance geometry signed.
916
917         * glyphs-widget.c (widget_query_geometry): 
918         (widget_layout): 
919         (button_query_geometry): 
920         (tree_view_query_geometry): 
921         (tab_control_query_geometry): 
922         (layout_query_geometry): 
923         (layout_layout): 
924         (native_layout_layout): make instance geometry signed.
925
926 2000-05-29  Olivier Galibert  <galibert@pobox.com>
927
928         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
929         constant.
930
931         * general.c (syms_of_general): Add Qfull_assoc symbol.
932
933         * data.c (finish_marking_weak_lists): Mark full-assoc lists
934         correctly.
935         (decode_weak_list_type): Decode full-assoc type.
936         (encode_weak_list_type): Encode full-assoc type.
937         (Fmake_weak_list): Update doc string.
938
939 2000-05-30  Andy Piper  <andy@xemacs.org>
940
941         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
942
943         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
944         (decode_hash_table_weakness): ditto.
945         (Fhash_table_weakness): ditto.
946         (Fhash_table_type): ditto.
947         (finish_marking_weak_hash_tables): ditto.
948         (hash_table_weakness_validate): ditto.
949         (syms_of_elhash): ditto.
950
951 2000-05-28  Martin Buchholz <martin@xemacs.org>
952
953         * XEmacs 21.2.34 is released.
954
955 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
956
957         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
958         start cache.
959         (updating_line_start_cache): Gone.
960         (regenerate_window): Replace resetting of VERTICAL_CLIP by
961         generic code to force a minimum of 1 line laid out in the
962         CMOTION_DISP case.
963
964 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
965
966         * glyphs.c (instantiate_image_instantiator): Check for initialized
967         height & width no longer special cases IMAGE_NOTHING.
968         (nothing_instantiate): Set height and width of instance.
969
970 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
971
972         * unexelf.c (unexec): Search for ".data" section.
973         Initialize new_data2_offset from old_data_index.
974         Remove redundant check for ElfW.
975
976 2000-05-23  Andy Piper  <andy@xemacs.org>
977
978         * glyphs.c (get_image_instantiator_governing_domain): allow more
979         specific domains as the governing domain rather than expecting an
980         exact match. This fixes problems with layouts.
981
982 2000-05-22  Andy Piper  <andy@xemacs.org>
983
984         * redisplay-output.c (compare_runes): check for non-images
985
986         * glyphs.c (set_glyph_dirty_p): ditto.
987         (update_glyph_cachel_data): ditto.
988
989         * glyphs-widget.c (layout_post_instantiate): ditto.
990         (layout_post_instantiate): ditto.
991
992         * event-msw.c (mswindows_wnd_proc): warning removal.
993
994 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
995
996         * s\mingw32.h: Added #undef for CLASH_DETECTION.
997
998         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
999
1000         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
1001
1002         * nt.c (rva_to_section): mingw32 needs rva_to_section.
1003         (mswindows_executable_type): mingw32 now has enough headers for
1004         this to work.
1005
1006 2000-05-20  Andy Piper  <andy@xemacs.org>
1007
1008         * console-msw.c (mswindows_output_last_error): ; -> ,
1009
1010 2000-05-12  Andy Piper  <andy@xemacs.org>
1011
1012         * console-msw.c (FROB): compare ints with ints.
1013
1014 2000-05-11  Andy Piper  <andy@xemacs.org>
1015
1016         * glyphs-x.c (x_finalize_image_instance): make minimal build
1017         happy.
1018
1019 2000-05-20  Ben Wing  <ben@xemacs.org>
1020
1021         * event-Xt.c:
1022         * event-Xt.c (vars_of_event_Xt):
1023         move modifier-keys-are-sticky to event-stream.c.
1024         
1025         * event-msw.c:
1026         * event-msw.c (mswindows_enqueue_mouse_button_event):
1027         * event-msw.c (key_needs_default_processing_p):
1028         * event-msw.c (XEMSW_LCONTROL):
1029         * event-msw.c (mswindows_handle_sticky_modifiers):
1030         * event-msw.c (FROB):
1031         * event-msw.c (clear_sticky_modifiers):
1032         * event-msw.c (output_modifier_keyboard_state):
1033         * event-msw.c (output_alt_keyboard_state):
1034         * event-msw.c (mswindows_wnd_proc):
1035         * event-msw.c (mswindows_modifier_state):
1036         * event-msw.c (emacs_mswindows_handle_magic_event):
1037         implement sticky modifiers.
1038         
1039         * event-stream.c:
1040         * event-stream.c (vars_of_event_stream):
1041         move modifier-keys-are-sticky here.
1042
1043         * lisp.h:
1044         add CHECK_FUNCTION.
1045         
1046         * rangetab.c:
1047         implement map-range-table.
1048
1049
1050 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
1051
1052         * redisplay-tty.c (reset_tty_modes):
1053         (tty_redisplay_shutdown): Adjust argument type to
1054         tty_frame_output_end.
1055
1056 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
1057
1058         * eval.c (Fbacktrace): Don't output a line with only right
1059         parenthesis.
1060
1061 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
1062
1063         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
1064         (Fpq_reset_poll): Ditto.
1065
1066 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
1067
1068         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
1069
1070 2000-05-16  Ben Wing  <ben@xemacs.org>
1071
1072         * buffer.c:
1073         * buffer.c (dfc_convert_to/from_internal_format):
1074         * buffer.c (reinit_vars_of_buffer):
1075         Fix conversion functions to allow reentrancy.
1076         
1077         * console-msw.c:
1078         * console-msw.c (mswindows_output_last_error):
1079         New fun, generally useful -- output a human-readable
1080         version of GetLastError() on the console.
1081         
1082         * console-msw.h:
1083         * console-msw.h (struct mswindows_frame):
1084         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
1085         
1086         * console-stream.c (stream_output_begin):
1087         * console-stream.c (stream_output_end):
1088         * console-stream.c (stream_output_vertical_divider):
1089         * console-stream.c (stream_clear_region):
1090         * console-stream.c (stream_flash):
1091         * console-stream.c (console_type_create_stream):
1092         Delete blank stream methods, not needed.
1093         
1094         * console.h (struct console_methods):
1095         Split begin/end methods into window and frame.
1096         
1097         * event-msw.c:
1098         * event-msw.c (mswindows_handle_paint):
1099         * event-msw.c (output_alt_keyboard_state):
1100         * event-msw.c (mswindows_wnd_proc):
1101         * event-msw.c (vars_of_event_mswindows):
1102         Comment about problems with ignored-expose.
1103         Define mswindows-debug-events; not really implemented.
1104         
1105         * frame-msw.c (mswindows_init_frame_1):
1106         random cleanups.
1107         
1108         * glyphs-msw.c:
1109         * glyphs-msw.c (begin_defer_window_pos):
1110         * glyphs-msw.c (mswindows_unmap_subwindow):
1111         * glyphs-msw.c (mswindows_map_subwindow):
1112         * glyphs-msw.c (mswindows_resize_subwindow):
1113         Use DeferWindowPos to reduce flashing when mapping/unmapping.
1114         
1115         * glyphs.c (make_image_instance_1):
1116         Fix crash.
1117         
1118         * gutter.c (Fredisplay_gutter_area):
1119         Use new begin/end methods.
1120         
1121         * lisp.h (Dynarr_new2):
1122         New creation fun.
1123         
1124         * redisplay-msw.c:
1125         * redisplay-msw.c (mswindows_frame_output_begin):
1126         * redisplay-msw.c (mswindows_frame_output_end):
1127         * redisplay-msw.c (console_type_create_redisplay_mswindows):
1128         New begin/end methods -- handle DeferWindowPos.
1129         
1130         * redisplay-output.c (redisplay_move_cursor):
1131         * redisplay-output.c (redraw_cursor_in_window):
1132         * redisplay-output.c (redisplay_update_line):
1133         * redisplay-output.c (redisplay_output_window):
1134         New begin/end methods.
1135
1136         * redisplay-tty.c:
1137         * redisplay-tty.c (tty_frame_output_begin):
1138         * redisplay-tty.c (tty_frame_output_end):
1139         * redisplay-tty.c (console_type_create_redisplay_tty):
1140         New begin/end methods.
1141
1142         * redisplay-x.c:
1143         * redisplay-x.c (x_window_output_begin):
1144         * redisplay-x.c (x_window_output_end):
1145         * redisplay-x.c (console_type_create_redisplay_x):
1146         New begin/end methods.
1147
1148         * redisplay.c (redisplay_frame):
1149         * redisplay.c (Fredisplay_echo_area):
1150         New begin/end methods.
1151         use MAYBE_DEVMETH for clear_frame; it may not exist.
1152
1153         * window.h (WINDOW_XFRAME):
1154         WINDOW_XFOO macros -- get locale and decode struct pointer.
1155
1156
1157 2000-05-12  Ben Wing  <ben@xemacs.org>
1158
1159         * emacs.c:
1160         * emacs.c (ensure_no_quitting_from_now_on):
1161         * emacs.c (fatal_error_signal):
1162         * emacs.c (mswindows_handle_hardware_exceptions):
1163         * emacs.c (main):
1164         * emacs.c (Fkill_emacs):
1165         * emacs.c (shut_down_emacs):
1166         * emacs.c (assert_failed):
1167         various improvements in fatal error handling.
1168         
1169         * eval.c:
1170         move preparing_for_armageddon to emacs.c.
1171         
1172         * lisp.h:
1173         declare fatal_error_in_progress.
1174         
1175         * print.c:
1176         * print.c (std_handle_out_external):
1177         * print.c (std_handle_out_va):
1178         * print.c (stderr_out):
1179         * print.c (stdout_out):
1180         use console under mswin when no standard output.
1181         don't do code conversion during fatal error.
1182         
1183         * scrollbar.c (Fscrollbar_page_up):
1184         * scrollbar.c (Fscrollbar_page_down):
1185         fix missing else.  reindent.
1186
1187 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
1188
1189         Emergency fix.  
1190         
1191         * glyphs.h (GLYPH_CACHEL_DESCENT): 
1192         (GLYPH_CACHEL_DESCENT): 
1193         (GLYPH_CACHEL_DESCENT): 
1194         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
1195         used in case these are inline functions.
1196         Use more absurd values to error check.
1197
1198         include window.h for error check functions.
1199
1200 2000-05-11  Ben Wing  <ben@xemacs.org>
1201
1202         * cmdloop.c (Freally_early_error_handler):
1203         Display message box under windows; otherwise, message will disappear
1204         before it can be viewed.
1205
1206         * console-msw.c:
1207         * console-msw.c (Fmswindows_message_box):
1208         * console-msw.c (FROB):
1209         * console-msw.c (syms_of_console_mswindows):
1210         Define new fun `mswindows-message-box'.
1211         #### I will merge this into `popup-dialog-box'; just give me
1212         a bit of time.
1213         
1214         * general.c:
1215         * general.c (syms_of_general):
1216         Some new symbols used in `mswindows-message-box'.
1217         
1218         * glyphs.c:
1219         * glyphs.c (Fset_image_instance_property):
1220         put warning in this fun.
1221         
1222         * glyphs.h:
1223         * glyphs.h (GLYPH_CACHEL_WIDTH):
1224         * glyphs.h (GLYPH_CACHEL_ASCENT):
1225         * glyphs.h (GLYPH_CACHEL):
1226         * glyphs.h (GLYPH_CACHEL_GLYPH):
1227         define error-checking versions to try to catch a bug i've seen --
1228         redisplay gets in an infinite loop because the glyph width of the
1229         continuation glyph is 65535.
1230         
1231         * lisp.h:
1232         Extern message-box stuff.
1233
1234         * window.c (allocate_window):
1235         * window.c (make_dummy_parent):
1236         * window.c (Fset_window_configuration):
1237         Use EQUAL not EQ for subwindow caches to make them work a bit
1238         better. (Something is still very broken.)
1239         
1240
1241 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
1242
1243         * glyphs.c (image_instantiate): Suppress gcc warnings.
1244         (Fmake_image_instance): Fix doc string.
1245         * specifier.c (Fmake_specifier): Ditto.
1246
1247 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
1248
1249         * paths.h.in (PATH_LOCK): Removed.
1250         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
1251         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
1252
1253 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
1254
1255         * fns.c (Ffeaturep): Update e-mail address in doc-string.
1256         Document (featurep '(and xemacs 21.02)).
1257
1258 2000-05-09  Ben Wing  <ben@xemacs.org>
1259
1260         * buffer.c (complex_vars_of_buffer):
1261         update modeline-format doc.
1262         
1263         * device.h:
1264         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
1265         
1266         * emacs.c:
1267         timeline of all released versions of Emacs, for use in creating
1268         authorship comments and in synching up.
1269         
1270         * glyphs-widget.c (image_instantiator_buttons):
1271         * glyphs-widget.c (image_instantiator_edit_fields):
1272         * glyphs-widget.c (image_instantiator_combo_box):
1273         * glyphs-widget.c (image_instantiator_scrollbar):
1274         * glyphs-widget.c (image_instantiator_progress_guage):
1275         * glyphs-widget.c (image_instantiator_tree_view):
1276         * glyphs-widget.c (image_instantiator_tab_control):
1277         * glyphs-widget.c (image_instantiator_labels):
1278         * glyphs-widget.c (image_instantiator_layout):
1279         * glyphs-widget.c (image_instantiator_native_layout):
1280         rename decode_domain method to governing_domain.
1281         
1282         * glyphs.c:
1283         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
1284         * glyphs.c (add_entry_to_device_ii_format_list):
1285         make sure we don't put an entry more than once into the list.
1286         * glyphs.c (check_instance_cache_mapper):
1287         *************************************************************
1288         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
1289         HAVE BEEN GETTING.
1290         *************************************************************
1291         * glyphs.c (get_image_instantiator_governing_domain):
1292         clean up, expand on new concept of governing domain.
1293         * glyphs.c (instantiate_image_instantiator):
1294         * glyphs.c (allocate_image_instance):
1295         use governing_domain instead of cache_domain in naming.
1296         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
1297         * glyphs.c (make_image_instance_1):
1298         * glyphs.c (Fmake_image_instance):
1299         allow for any domain (not just device), and process the
1300         governing domain correctly.  very big doc fix.
1301         * glyphs.c (Fimage_instance_domain):
1302         new primitive, to retrieve the governing domain of an image instance.
1303         * glyphs.c (image_instantiate):
1304         use new governing_domain stuff.  this fixes a crash you could get
1305         by instantiating certain widget glyphs in frame locales. (should
1306         signal an error instead of crashing.)
1307         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
1308         * glyphs.c (Fglyphp): clean up doc.
1309         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
1310         * glyphs.c (syms_of_glyphs):
1311         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
1312         * glyphs.c (image_instantiator_format_create): add some comments about
1313         bogus code.
1314         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
1315         for current-display-table. (Apparently Hrjove implemented in 1998 a
1316         design I wrote up in 1996, but didn't update the doc string.)
1317         
1318         * glyphs.h: clean up a doc string.
1319         * glyphs.h (governing_domain):
1320         * glyphs.h (struct image_instantiator_methods):
1321         changes for governing_domain stuff.
1322         
1323         * gutter.c:
1324         * gutter.c (Fgutter_specifier_p):
1325         * gutter.c (Fgutter_size_specifier_p):
1326         * gutter.c (Fgutter_visible_specifier_p):
1327         * objects.c:
1328         * objects.c (Fcolor_specifier_p):
1329         * objects.c (Ffont_specifier_p):
1330         * objects.c (Fface_boolean_specifier_p):
1331         doc strings moved to make-*-specifier.
1332         
1333         * redisplay.c (add_disp_table_entry_runes_1):
1334         * redisplay.c (generate_fstring_runes):
1335         * redisplay.c (screen):
1336         add random comments and doc strings.
1337         
1338         * specifier.c:
1339         * specifier.c (Fmake_specifier):
1340         major overhaul of this doc string.
1341         
1342         * specifier.c (Fvalid_specifier_domain_p):
1343         comment about the bogosity of image instances being domains.
1344         * specifier.c (decode_domain):
1345         now non-static, used in glyphs.c.
1346         * specifier.c (specifier_instance):
1347         comment about the bogosity of image instances being domains.
1348         * specifier.c (Fgeneric_specifier_p):
1349         move doc string to make-generic-specifier.
1350         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
1351         rebackslashify.
1352         
1353         * specifier.h:
1354         * specifier.h (DOMAIN_FRAME):
1355         * specifier.h (DOMAIN_LIVE_P):
1356         * specifier.h (DOMAIN_XDEVICE):
1357         rebackslashify.
1358         add comments about problems with these macros.
1359         prototype for decode_domain.
1360         
1361         * toolbar.c:
1362         * toolbar.c (Ftoolbar_specifier_p):
1363         move doc string to `make-toolbar-specifier'.
1364         
1365         * window.c (window_unmap_subwindows_cache_mapper):
1366         *************************************************************
1367         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
1368         HAVE BEEN GETTING.
1369         *************************************************************
1370
1371 2000-05-09  Andy Piper  <andy@xemacs.org>
1372
1373         * glyphs.h: declare reset_frame_subwindow_instance_cache.
1374
1375         * window.c (Fset_window_configuration): reset the frame subwindow
1376         cache and re-initialize the window subwindow caches.
1377
1378         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
1379
1380 2000-05-09  Ben Wing  <ben@xemacs.org>
1381
1382         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
1383         DWORD.
1384
1385 2000-04-26  Mike Woolley  <mike@bulsara.com>
1386
1387         * ntheap.c: Changed recreate_heap to limit the amount reserved
1388         for the heap to that which is actually available. Also now
1389         displays a message box (with some dignostics) in the event that
1390         it still can't start.
1391
1392 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
1393
1394         * callproc.c (Fold_call_process_internal): GCPRO path
1395
1396 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
1397
1398         Patch by Bill Perry.
1399         
1400         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call 
1401         back data instead of #ifdef.
1402         (Fscrollbar_page_down): ditto.
1403
1404 2000-05-07  Ben Wing  <ben@xemacs.org>
1405
1406         * buffer.h:
1407         Kludge for defining Qmswindows_tstr.
1408         
1409         * nt.c:
1410         * nt.c (open_input_file):
1411         * nt.c (open_output_file):
1412         * nt.c (rva_to_section):
1413         * nt.c (mswindows_executable_type):
1414         Move all memory-mapped-file routines here (some were in unexnt.c,
1415         which is bad because they are used by process-nt.c, and unexnt
1416         won't be around when portable dumping).  Synched the above routines
1417         with FSF 20.6.
1418         
1419         * nt.h:
1420         Removed ifdef'd out bogus code.
1421         Fixed some prototypes.
1422         
1423         * nt.h (file_data):
1424         * nt.h (OFFSET_TO_RVA):
1425         * nt.h (RVA_TO_OFFSET):
1426         * nt.h (RVA_TO_PTR):
1427         Moved the memory-mapped-file structures, macros and prototypes
1428         here, to parallel nt.c.  ntheap.h should really be removed
1429         entirely, and it's a non-portable-dumper specific file.
1430         
1431         * ntheap.h (round_to_next):
1432         Moved the memory-mapped-file structures, macros and prototypes
1433         to nt.h.
1434
1435         * ntproc.c (compare_env):
1436         Moved rva_to_section and mswindows_executable_type to nt.c.
1437         Moved compare_env to process-nt.c.
1438         ntproc.c will die, one day.
1439
1440         * ntproc.c (sys_spawnve):
1441         Account for win32_ -> mswindows_.
1442
1443         * process-nt.c:
1444         * process-nt.c (struct nt_process_data):
1445         * process-nt.c (ensure_console_window_exists):
1446         * process-nt.c (compare_env):
1447         * process-nt.c (nt_create_process):
1448         * process-nt.c (nt_kill_process_by_pid):
1449         * process-nt.c (syms_of_process_nt):
1450         * process-nt.c (vars_of_process_nt):
1451         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
1452         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
1453         changes).  Eliminate our old `nt-quote-process-args' mechanism.
1454         Synch up nt_create_process with FSF 20.6 sys_spawnve.
1455         Move compare_env here from ntproc.c.
1456         
1457         * process.c (Fprocess_send_region):
1458         Takes an optional fourth argument, BUFFER, which should fix some
1459         problems with call-process.
1460         
1461         * syscommctrl.h:
1462         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
1463         
1464         * syswindows.h:
1465         Move ICC_BAR_CLASSES to syscommctrl.h.
1466         Add preliminary macros for MSWindows/Mule.  More to come.
1467
1468         * unexnt.c:
1469         * unexnt.c (unexec):
1470         open_output_file moved to nt.c.
1471
1472
1473 2000-05-05  Andy Piper  <andy@xemacs.org>
1474
1475         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
1476         instance from the frame cache also since GC may catch up too late
1477         to make frame deletion sane.
1478
1479 2000-05-04  Andy Piper  <andy@xemacs.org>
1480
1481         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
1482         (x_finalize_image_instance): ungcpro on deletion.
1483
1484         * glyphs.c (image_instantiator_format_create): give pointers a
1485         query geometry method so that the geometry is at least set.
1486
1487         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
1488         initialize layouts if using widgets.
1489
1490 2000-05-03  Andy Piper  <andy@xemacs.org>
1491
1492         * nt.c: remove bogus reference to sysmmsystem.h
1493
1494         * gui-x.c (popup_selection_callback): fix no selection abort.
1495
1496 2000-05-02  Andy Piper  <andy@xemacs.org>
1497
1498         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
1499         (mswindows_widget_instantiate): ditto.
1500
1501         * glyphs-widget.c (initialize_widget_image_instance): initialize
1502         children correctly.
1503         (widget_instantiate): cope with children and items in the same
1504         instance.
1505
1506         * glyphs.c (mark_image_instance): cope with children as a first
1507         class member.
1508         (image_instance_equal): ditto.
1509         (image_instance_hash): ditto.
1510         (image_instance_changed): ditto.
1511
1512 2000-04-30  Andy Piper  <andy@xemacs.org>
1513
1514         * glyphs.c (subwindow_query_geometry): new function. Return some
1515         defaults.
1516         (subwindow_instantiate): don't assign dimensions if none have been
1517         given.
1518         (image_instantiator_format_create): add subwindow_query_geometry.
1519         (print_image_instance): cope with layouts as widgets.
1520
1521 2000-04-29  Andy Piper  <andy@xemacs.org>
1522
1523         * frame.c (delete_frame_internal): call
1524         free_frame_subwindow_instance_cache so that all subwindows are
1525         finalized before their parent.
1526         (mark_frame): remove subwindow_cachels.
1527         (Fmake_frame): remove subwindow_cachel manipulation.
1528         (allocate_frame_core): subwindow_instance_cache is a weak list.
1529         (delete_frame_internal): set subwindow_instance_cache to nil.
1530
1531         * glyphs-msw.c (mswindows_finalize_image_instance): make double
1532         finalization safe.
1533         (mswindows_finalize_image_instance): use the device
1534         not the domain as the domain may have died already.
1535
1536         * glyphs-x.c (x_finalize_image_instance): ditto.
1537         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
1538         HEIGHT.
1539
1540         * redisplay-output.c (redisplay_unmap_subwindows): update for
1541         subwindow instance cache as a weak list.
1542         (redisplay_unmap_subwindows_maybe): ditto.
1543         (redisplay_unmap_subwindows_except_us): ditto.
1544
1545         * glyphs.c (unmap_subwindow): error checking will check the domain
1546         so don't deal with it here. Don't use cachels anymore.
1547         (map_subwindow): ditto.
1548         (update_subwindow_cachel_data): remove old accessor names.
1549         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
1550         (Fresize_subwindow): don't update cachel.
1551         (mark_subwindow_cachels):
1552         (update_subwindow_cachel_data):
1553         (add_subwindow_cachel):
1554         (get_subwindow_cachel_index):
1555         (update_subwindow_cachel):
1556         (reset_subwindow_cachels):
1557         (mark_subwindow_cachels_as_not_updated): deleted.
1558         (cache_subwindow_instance_in_frame_maybe): new function. Add a
1559         subwindow instance to the frame cache.
1560         (find_matching_subwindow): update for subwindow instance cache as
1561         a weak list.
1562         (update_widget_instances): ditto.
1563         (image_instance_type_to_mask):inlined.
1564         (free_frame_subwindow_instance_cache): new function. finalize all
1565         subwindows that are instantiated.
1566
1567         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
1568         of cachel information.
1569         (IMAGE_INSTANCE_DISPLAY_X):
1570         (IMAGE_INSTANCE_DISPLAY_Y):
1571         (IMAGE_INSTANCE_DISPLAY_WIDTH):
1572         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
1573         (XIMAGE_INSTANCE_DISPLAY_X):
1574         (XIMAGE_INSTANCE_DISPLAY_Y):
1575         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
1576         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.  
1577         remove subwindow_cachel structure and function references.
1578         (image_instance_type_to_mask): inline from glyphs.c
1579
1580         * redisplay.c (redisplay_frame): remove subwindow_cachel
1581         references.
1582
1583         * frame.h (struct frame): remove subwindow_cachels.
1584         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
1585
1586         * frameslots.h: add subwindow_instance_cache.
1587
1588         * window.c (replace_window): check subwindow cache of replacement.
1589         (window_unmap_subwindows_cache_mapper):
1590         (window_unmap_subwindows): new functions. Unmap all subwindows
1591         cached on this window.
1592         (mark_window_as_deleted): unmap all subwindows.
1593
1594 2000-04-27  Andy Piper  <andy@xemacs.org>
1595
1596         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
1597
1598         * glyphs-widget.c (widget_layout): return something.
1599         (layout_layout): return something. Fail if not intialized.
1600         (layout_query_geometry): ditto.
1601         (image_instantiator_native_layout): new function. Initialized the
1602         native layout type.
1603         (widget_instantiate): don't do layout stuff here.
1604
1605         * glyphs.c (instantiate_image_instantiator): reorded calling or
1606         instantiate and post_instantiate with layout in between.
1607         (image_instance_layout): be more selective about deciding whether
1608         the layout has been done or not.
1609
1610         * glyphs.h (struct image_instantiator_methods): return a value
1611         from layout_method.
1612
1613 2000-04-26  Andy Piper  <andy@xemacs.org>
1614
1615         * glyphs.c (allocate_image_instance): make initial width and
1616         height unspecified. Set initialized to 0.
1617
1618         * syscommctrl.h new file. Encapsulates commctrl.h.
1619
1620         * syswindows.h new file. Encapsulates windows.h.
1621
1622         * ntplay.c: use new syswindows.h and syscommctrl.h header.
1623         * nt.c: ditto.
1624         * console-msw.h: ditto.
1625         
1626         * redisplay-tty.c (tty_output_display_block): remove layout references.
1627
1628         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
1629         window handle rather than just the frame.
1630
1631         * glyphs.c (mark_image_instance): remove layout references.
1632         (print_image_instance): ditto.
1633         (image_instance_equal): ditto.
1634         (image_instance_hash): ditto.
1635         (decode_image_instance_type): ditto.
1636         (encode_image_instance_type): ditto.
1637         (image_instantiate): ditto.
1638         (allocate_glyph): ditto.
1639         (Fimage_instance_height): ditto.
1640         (Fimage_instance_width): ditto.
1641         (update_subwindow): ditto.
1642
1643         * redisplay-x.c (x_output_display_block): recode for layouts as
1644         widgets.
1645
1646         * redisplay-output.c (redisplay_output_layout): recode for layouts
1647         as widgets.
1648         (compare_runes): remove layout references.
1649
1650         * redisplay-msw.c (mswindows_output_display_block): recode for
1651         layouts as widgets.
1652
1653         * glyphs-widget.c (image_instantiator_layout): remove
1654         layout_possible_dest_types.
1655         (layout_possible_dest_types): deleted.
1656
1657         * glyphs.h (image_instance_type): remove layout references.
1658         (struct Lisp_Image_Instance): ditto. Add initialized flag.
1659         (IMAGE_INSTANCE_INITIALIZED): new accessor.
1660         (XIMAGE_INSTANCE_INITIALIZED): ditto.
1661         
1662 2000-04-25  Andy Piper  <andy@xemacs.org>
1663
1664         * glyphs-widget.c (image_instantiator_buttons):
1665         (image_instantiator_edit_fields):
1666         (image_instantiator_combo_box):
1667         (image_instantiator_scrollbar):
1668         (image_instantiator_progress_guage):
1669         (image_instantiator_tree_view):
1670         (image_instantiator_tab_control):
1671         (image_instantiator_labels):
1672         (image_instantiator_layout): call default post_instantiate method.
1673         (widget_post_instantiate): new function. Simply lays out the
1674         widgets.
1675
1676         * glyphs.h (struct image_instantiator_methods): add
1677         post_instantiate method.
1678
1679         * glyphs.c (instantiate_image_instantiator): add post_instantiate
1680         method calls.
1681
1682 2000-04-23  Andy Piper  <andy@xemacs.org>
1683
1684         * glyphs.h (struct image_instantiator_methods): add
1685         decode_domain_method.
1686         (struct Lisp_Image_Instance): remove subwindow frame - it can be
1687         derived from the domain.
1688         (IMAGE_INSTANCE_FRAME): new accessor.
1689         (XIMAGE_INSTANCE_FRAME): ditto.
1690
1691         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
1692         instead of _SUBWINDOW_FRAME.
1693         (finalize_image_instance): ditto.
1694         (Fimage_instance_foreground): ditto.
1695         (Fimage_instance_background): ditto.
1696         (image_instantiate): ditto.
1697         (update_subwindow_cachel): ditto.
1698         (update_subwindow): ditto.
1699         (unmap_subwindow): ditto.
1700         (map_subwindow): ditto
1701         (subwindow_instantiate): ditto.
1702         * glyphs-msw.c (mswindows_update_widget): ditto.
1703         (mswindows_progress_gauge_instantiate): ditto.
1704         (mswindows_tab_control_update): ditto.
1705         * glyphs-x.c (x_update_widget): ditto.
1706         (x_widget_instantiate): ditto.
1707         (x_tab_control_instantiate): ditto.
1708         (x_tab_control_update): ditto.
1709         * event-msw.c (mswindows_wnd_proc): ditto
1710
1711         * glyphs-widget.c (image_instantiator_layout): use
1712         subwindow_decode_domain.
1713         (image_instantiator_buttons): ditto.
1714         (image_instantiator_edit_fields): ditto.
1715         (image_instantiator_combo_box): ditto.
1716         (image_instantiator_scrollbar): ditto.
1717         (image_instantiator_progress_guage): ditto.
1718         (image_instantiator_tree_view): ditto.
1719         (image_instantiator_tab_control): ditto.
1720         (image_instantiator_labels): ditto.
1721         (image_instantiator_layout): ditto.
1722
1723         * glyphs.c: add instance error checking to many functions.
1724         (instantiate_image_instantiator): decode device from cache_domain.
1725         (image_instantiate): partially rewrite by using
1726         decode_image_instantiator_domain to determine what domain the
1727         instance needs to be cached in.
1728         (decode_image_instantiator_domain): new function. Determine what
1729         domain the image needs to be cached in.
1730         (check_window_subwindow_cache): new error checking function.
1731         (check_instance_cache_mapper): ditto.
1732         (check_image_instance_structure): ditto.
1733         (subwindow_decode_domain): new function. Encodes a window as a
1734         subwindow's cache domain.
1735         (image_instantiator_format_create): use it for text and
1736         subwindows.
1737
1738 2000-04-21  Andy Piper  <andy@xemacs.org>
1739
1740         * glyphs.c (image_instance_device): new function.
1741         (image_instance_frame): new function.
1742         (image_instance_window): new function.
1743         (image_instance_live_p): new function.
1744
1745         * window.c (mark_window_as_deleted): reset the subwindow_instance_
1746         cache to nil.
1747
1748         * glyphs.h (struct Lisp_Image_Instance): device->domain.
1749         (IMAGE_INSTANCE_DOMAIN): new accessor.
1750         (XIMAGE_INSTANCE_DOMAIN): ditto.
1751
1752         * glyphs-x.c (x_finalize_image_instance): device->domain.
1753
1754         * glyphs-msw.c (init_image_instance_geometry): device->domain.
1755         (mswindows_finalize_image_instance): ditto.
1756
1757         * glyphs-eimage.c (jpeg_instantiate): device->domain.
1758         (gif_instantiate): ditto.
1759         (png_instantiate): ditto.
1760         (tiff_instantiate): ditto.
1761
1762         * glyphs.c (instantiate_image_instantiator): use domain rather
1763         than device.
1764         (mark_image_instance): device -> domain.
1765         (print_image_instance): ditto.
1766         (finalize_image_instance): ditto.
1767         (image_instance_equal): ditto.
1768         (allocate_image_instance): ditto.
1769         (Fcolorize_image_instance): ditto.
1770         (query_string_geometry): ditto.
1771         (image_instantiate): ditto
1772         (query_string_font): ditto.
1773         (image_instantiate): ditto.
1774         (update_subwindow): ditto.
1775         (unmap_subwindow): ditto.
1776         (map_subwindow): ditto.
1777         (subwindow_instantiate): ditto.
1778
1779         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
1780         (DOMAIN_FRAME): ditto.
1781         (DOMAIN_WINDOW): ditto.
1782         (DOMAIN_LIVE_P): ditto.
1783         (XDOMAIN_DEVICE): ditto.
1784         (XDOMAIN_FRAME): ditto.
1785         (XDOMAIN_WINDOW): ditto.
1786
1787         * specifier.c (Fvalid_specifier_domain_p): add image instances as
1788         a valid specifier domain.
1789
1790 2000-04-19  Andy Piper  <andy@xemacs.org>
1791
1792         * glyphs-widget.c (syms_of_glyphs_widget): remove
1793         widget-callback-current-channel.
1794         (vars_of_glyphs_widget): ditto.
1795         * glyphs.h: ditto
1796
1797         * gui.c (get_gui_callback): revert to previous behaviour.
1798
1799 2000-04-18  Andy Piper  <andy@xemacs.org>
1800
1801         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
1802         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
1803         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
1804
1805         * glyphs.c (image_instance_equal): add margin_width.
1806         (image_instance_hash): ditto.
1807
1808         * glyphs-widget.c (widget_instantiate): deal with margin-width.
1809         (layout_query_geometry): ditto.
1810         (layout_layout): ditto.
1811         (syms_of_glyphs_widget): add margin-width.
1812         (image_instantiator_layout): allow margin-width.
1813
1814         * glyphs.c (update_widget_instances): make a normal function.
1815         (syms_of_glyphs): remove Qupdate_widget_instances.
1816         * glyphs.h: ditto.
1817
1818         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
1819         so that we don't corrupt ideas about the last event or
1820         command. Remove widget-callback-current-channel fiddling.
1821         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
1822
1823 2000-05-01  Martin Buchholz <martin@xemacs.org>
1824
1825         * XEmacs 21.2.33 is released.
1826
1827 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
1828
1829         * make-src-depend: Allow dots in header file name.
1830
1831 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
1832
1833         * mule-charset.h (struct charset_lookup): Add
1834         next_allocated_1_byte_leading_byte and
1835         next_allocated_2_byte_leading_byte.
1836         * mule-charset.c: Move above two variables so that those values
1837         will be dumped.
1838
1839 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
1840
1841         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
1842         when string length is zero.
1843         (find_charsets_in_emchar_string): Ditto.
1844
1845 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
1846
1847         * lisp.h: extern Qdialog and Qmenubar.
1848
1849         * gui-x.c: added events.h.
1850                 also fixed typo which made the file uncompilable.
1851
1852         * general.c: Added Qmenubar and Qdialog
1853
1854 2000-04-28  Ben Wing  <ben@xemacs.org>
1855
1856         * frame-msw.c (mswindows_init_frame_1):
1857         * frame-msw.c (mswindows_mark_frame):
1858         * event-msw.c (mswindows_enqueue_dispatch_event):
1859         * console-msw.h:
1860         * console-msw.h (struct mswindows_frame):
1861         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
1862         there are now three hash tables for callbacks.
1863         mswindows_enqueue_dispatch_event is no longer static.
1864         
1865         * dialog-x.c (maybe_run_dbox_text_callback):
1866         * dialog-x.c (dbox_descriptor_to_widget_value):
1867         switch to new cons3 form for callbacks.
1868         
1869         * glyphs-msw.c (mswindows_register_gui_item):
1870         * glyphs-msw.c (mswindows_widget_instantiate):
1871         * glyphs-msw.c (add_tree_item):
1872         * glyphs-msw.c (add_tab_item):
1873         new image instance parameter, so it can be passed to callback-ex.
1874         respect :callback-ex as well as :callback.
1875         
1876         * glyphs-widget.c (VALID_GUI_KEYWORDS):
1877         add :callback-ex.
1878         
1879         * glyphs.c (print_image_instance):
1880         prettify, e.g. now prints widget type.
1881         
1882         * gui-x.h:
1883         certain funs have new image instance parameter.
1884         
1885         * gui.c:
1886         * gui.c (get_gui_callback):
1887         * gui.c (gui_item_add_keyval_pair):
1888         * gui.c (gui_item_init):
1889         * gui.c (gui_add_item_keywords_to_plist):
1890         * gui.c (mark_gui_item):
1891         * gui.c (gui_item_hash):
1892         * gui.c (gui_item_equal):
1893         * gui.c (copy_gui_item):
1894         * gui.c (syms_of_gui):
1895         recognize callback-ex in a number of places.
1896         also, fix the annoying "can't get out of yes-no dialog" bug.
1897         
1898         * gui.h:
1899         * gui.h (struct Lisp_Gui_Item):
1900         recognize callback-ex in a number of places.
1901
1902         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
1903         new parameter in button_item_to_widget_value.
1904         
1905         * glyphs-x.c (x_update_widget):
1906         * glyphs-x.c (x_button_instantiate):
1907         * glyphs-x.c (x_button_update):
1908         * glyphs-x.c (x_progress_gauge_instantiate):
1909         * glyphs-x.c (x_edit_field_instantiate):
1910         * glyphs-x.c (x_combo_box_instantiate):
1911         * glyphs-x.c (x_tab_control_instantiate):
1912         * glyphs-x.c (x_label_instantiate):
1913         new image instance parameter in various places.
1914         
1915         * event-Xt.c:
1916         * event-Xt.c (enqueue_Xt_dispatch_event):
1917         this fun gets exported.
1918         
1919         * gui-msw.c:
1920         * gui-msw.c (mswindows_handle_gui_wm_command):
1921         handle both :callback and :callback-ex, and generate our own
1922         event because it's one of the callback-ex arguments.
1923         
1924         * gui-x.c:
1925         * gui-x.c (popup_selection_callback):
1926         handle both :callback and :callback-ex, and generate our own
1927         event because it's one of the callback-ex arguments.
1928         * gui-x.c (button_item_to_widget_value):
1929         * gui-x.c (gui_items_to_widget_values_1):
1930         * gui-x.c (gui_item_children_to_widget_values):
1931         * gui-x.c (gui_items_to_widget_values):
1932         new image instance parameter in various places.
1933
1934         * fns.c (Freplace_list):
1935         fix small typo in doc string.
1936         
1937         * lisp.h:
1938         declare enqueue_Xt_dispatch_event.
1939
1940 2000-04-28  Ben Wing  <ben@xemacs.org>
1941
1942         * buffer.c:
1943         * buffer.c (Frecord_buffer):
1944         * buffer.c (syms_of_buffer):
1945         delete record-buffer-hook.
1946         
1947         * fns.c:
1948         * fns.c (Freplace_list):
1949         * fns.c (syms_of_fns):
1950         new primitive replace-list.
1951         
1952         * frameslots.h:
1953         slot for old buffer-alist.
1954         
1955         * lisp.h:
1956         exfun replace-list.
1957         
1958         * redisplay.c:
1959         * redisplay.c (redisplay_frame):
1960         * redisplay.c (syms_of_redisplay):
1961         * redisplay.c (vars_of_redisplay):
1962         new hook buffer-list-changed-hook.
1963         call it.
1964
1965 2000-04-27  Ben Wing  <ben@xemacs.org>
1966
1967         * extents.h: extern in_modeline_generation.
1968
1969         * redisplay.c (generate_formatted_string_db): set
1970         in_modeline_generation.
1971
1972         * extents.c (extent_changed_for_redisplay): don't mark redisplay
1973         flags if in modeline generation.  otherwise frame-modified-tick
1974         is ticked far too often.
1975         Declare in_modeline_generation.
1976
1977 2000-04-26  Ben Wing  <ben@xemacs.org>
1978
1979         * emacs.c (vars_of_emacs): document quick-build "error-checking"
1980         option.
1981         (vars_of_emacs): add quick-build as an error-checking option.
1982         A bit kludgy, but there doesn't seem much point in creating
1983         a real var for this.
1984
1985         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
1986
1987 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
1988
1989         * redisplay.h (struct display_line): Add a new variable,
1990         line_continuation.
1991
1992         * redisplay.c (create_text_block): Set dl->line_continuation if
1993         the line continues.
1994         (create_string_text_block): Ditto.
1995         (regenerate_window_incrementally): Use line_continuation instead
1996         of searching continuation glyph.
1997         (add_margin_runes): Call add_glyph_rune.
1998         (add_glyph_rune): Handle margin glyph.
1999
2000 2000-04-20  Martin Buchholz  <martin@xemacs.org>
2001
2002         * filelock.c (fill_in_lock_file_name): 
2003         ANSIfy.
2004         Check for IS_ANY_SEP instead of '/'.
2005         (lock_file_1): 
2006         Avoid generating gratuitous garbage.  Call user_login_name() directly.
2007         Never check errno without first seeing that system call failed.
2008         (unlock_file): Add GCPRO.
2009         (Flock_buffer): Fix docstring.
2010         (Ffile_locked_p): Fix docstring.  Add GCPRO.
2011
2012 2000-04-19  Martin Buchholz  <martin@xemacs.org>
2013
2014         * sysdep.c (get_pty_max_bytes): 
2015         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
2016         strings longer than 252 bytes.
2017
2018         * md5.c: Unconditionally include ANSI header <limits.h>
2019
2020         * glyphs-x.c (convert_EImage_to_XImage): 
2021         * lisp-union.h (union Lisp_Object): 
2022         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
2023
2024 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
2025
2026         * filelock.c (current_lock_owner): Remove unused variable o, p.
2027
2028 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
2029
2030         * callint.c: Remove multiply defined symbol Qlet
2031         (syms_of_callint): ditto.
2032
2033 2000-04-14  Andy Piper  <andy@xemacs.org>
2034
2035         * general.c (syms_of_general): add last-command, this-command, let
2036         and funcall.
2037
2038         * lisp.h: declare various symbols.
2039
2040         * glyphs.h: declare Qwidget_callback_current_channel;
2041
2042         * glyphs-widget.c (syms_of_glyphs_widget): add
2043         Qgui_callback_current_channel.
2044         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
2045
2046         * gui-msw.c (mswindows_handle_gui_wm_command): bind
2047         widget-callback-current-channel when invoking the interactive
2048         arg. Also bind last-command and next-command when invoking the
2049         widget updates.
2050         * gui-x.c (popup_selection_callback): ditto.
2051
2052         * gui.c (get_gui_callback): massage args so that we are always
2053         calling eval. This allows us to add our own variable bindings
2054         outside.
2055
2056         * glyphs-x.c (x_button_instantiate): use
2057         gui_items_to_widget_values since this is GC safe.
2058         (x_progress_gauge_instantiate): ditto.
2059         (x_edit_field_instantiate): ditto.
2060         (x_label_instantiate): ditto.
2061
2062         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
2063         (emacs_Xt_event_widget_focus_out): new function
2064         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
2065         focus.
2066         (emacs_Xt_event_add_widget_actions): new function. add focus
2067         functions as actions.
2068         (init_event_Xt_late): use it.
2069
2070 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
2071
2072         * event-stream.c (Fdispatch_event): Doc fix.
2073
2074 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
2075
2076         * postgresql.c: Remove all references to PQsetenv*.
2077
2078         * postgresql.h: Remove references to PGsetenvHandler object.
2079         * lrecord.h (lrecord_type): Ditto.
2080
2081 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2082
2083         * glyphs-msw.h (struct mswindows_image_instance_data): Added
2084         real_heigh and real_width members, and accessor macros for these.
2085
2086         * glyphs-msw.c (init_image_instance_geometry): New function.
2087         (init_image_instance_from_dibitmap): Use it.
2088         (mswindows_resource_instantiate): Use it.
2089         (init_image_instance_from_xbm_inline): Use it.
2090         (mswindows_initialize_image_instance_mask): Use real bitmap
2091         geometry.
2092         (mswindows_create_resized_bitmap): Ditto.
2093         (mswindows_create_resized_mask): Ditto.
2094         
2095         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
2096         and bitmap to their surface size.
2097
2098 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
2099
2100         * process-unix.c (unix_send_process): Guard against process MIA
2101         after Faccept_process_output.
2102
2103 2000-04-11  Ben Wing  <ben@xemacs.org>
2104
2105         * eval.c (unbind_to_hairy): fix brokenness introduced by
2106         nanosecond speed improvements.
2107
2108 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
2109
2110         * sunplay.c (init_device): To play sounds correctly, the device
2111         apparently needs to be initialized at least once by XEmacs.  Make
2112         it so.
2113
2114 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2115
2116         * redisplay.c (add_margin_runes): Add text image glyph
2117           handling.
2118
2119 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
2120
2121         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
2122         gcc is newer than 2.5.
2123
2124 2000-04-06  Colin Rafferty  <colin@xemacs.org>
2125
2126         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
2127         
2128         * fns.c (size_bit_vector):
2129         * alloc.c (size_vector):
2130         (make_vector_internal):
2131         (make_bit_vector_internal):
2132         (sweep_bit_vectors_1):
2133         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
2134
2135 2000-04-06  Andy Piper  <andy@xemacs.org>
2136
2137         * gmalloc.c (malloc): undo previous change.
2138         (malloc): ditto.
2139         (free): ditto.
2140         (realloc): ditto.
2141
2142 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
2143
2144         * line-number.c (buffer_line_number): Revert to former version.
2145
2146 2000-04-06  Andy Piper  <andy@xemacs.org>
2147
2148         * gmalloc.c (malloc): add error checking.
2149         (malloc): ditto.
2150         (free): ditto.
2151         (realloc): ditto.
2152
2153         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
2154         button_item_to_widget_value arg.
2155
2156         * glyphs-x.c (x_button_instantiate): add extra
2157         button_item_to_widget_value arg.
2158         (x_progress_gauge_instantiate): ditto.
2159         (x_edit_field_instantiate): ditto.
2160         (x_label_instantiate): ditto.
2161
2162         * gui-x.c (gui_items_to_widget_values_1): add extra
2163         button_item_to_widget_value arg.
2164         (button_item_to_widget_value): add extra menu_item_p arg.
2165
2166         * gui-x.h: change signature of button_item_to_widget_value.
2167
2168         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
2169         button_item_to_widget_value arg.
2170
2171 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
2172
2173         * buffer.h (struct buffer): auto_save_modified should be long.
2174
2175 2000-04-05  Andy Piper  <andy@xemacs.org>
2176
2177         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
2178         type.
2179         (button_query_geometry): give a little more room so that athena
2180         buttons fit.
2181
2182 2000-04-05  Andy Piper  <andy@xemacs.org>
2183
2184         * faces.c (complex_vars_of_faces): The widget face should inherit
2185         the font of the gui-element face.
2186
2187 2000-04-04  Andy Piper  <andy@xemacs.org>
2188
2189         * glyphs-x.c (x_button_update): new function. unconditionally
2190         update a button's state when the instance is dirty.
2191         (image_instantiator_format_create_glyphs_x): add x_button_update.
2192         (x_widget_instantiate): remove old resize cruft.
2193
2194 2000-04-02  Andy Piper  <andy@xemacs.org>
2195
2196         * frame.c (change_frame_size_1): The introduction of gutters means
2197         that we need to allow 0 as a potential frame dimension.
2198
2199 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2200
2201         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
2202         image glyph if allow_cursor.
2203         (add_hscroll_rune): Don't allow cursor to border glyph.
2204         (create_text_block): Ditto.
2205
2206         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
2207         text not in buffer.
2208         (redisplay_output_layout): Call ensure_face_cachel_complete for
2209         text image glyph.
2210
2211
2212 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2213
2214         * redisplay.c (add_glyph_rune): Adding text image as text runes.
2215
2216         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
2217         not in buffer
2218
2219         * redisplay-tty.c (tty_output_display_block): Delete the routine
2220         for text image glyph
2221         * redisplay-x.c (x_output_display_block): ditto
2222         * redisplay-msw.c (mswindows_output_display_block): ditto
2223
2224 2000-02-02  Mike Alexander  <mta@arbortext.com>
2225
2226         Note: Some of these were committed by accident as part of other
2227         patches.
2228         
2229         * regex.c (regex_compile): Avoid compiler warnings.
2230
2231         * ntproc.c (sys_spawnve): Avoid compiler warnings.
2232
2233         * nt.h: Declare term_ntproc correctly.
2234
2235         * nt.c: Remove incorrect declaration of get_home_directory which
2236         is declared correctly in lisp.h.
2237
2238         * keymap.c (get_keyelt): Avoid compiler warnings.
2239         (raw_lookup_key_mapper): Avoid compiler warnings.
2240
2241         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
2242
2243         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
2244
2245         * filemode.c (mode_string): Avoid compiler warnings.
2246
2247         * file-coding.c (Fcoding_system_aliasee): Add return statement to
2248         avoid warning.
2249
2250         * events-mod.h: Undef some things that winuser.h defines differently.
2251
2252         * data.c (Faset): Avoid compiler warnings.
2253
2254         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
2255
2256 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
2257
2258         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
2259         Fall through to simple beep on error.
2260         Replace "extern" by real header file.
2261
2262         * linuxplay.c: Use nativesound.h
2263         (play_sound_data): Return error code. Be less verbose on error.
2264
2265         * sunplay.c: Use nativesound.h
2266         (play_sound_data): Return error code. Be less verbose on error.
2267
2268         * ntplay.c: Use nativesound.h
2269         (play_sound_data): Return fake error code
2270
2271         * sgiplay.c: Use nativesound.h
2272         (play_sound_data): Return error code
2273
2274         * hpplay.c: Use nativesound.h, partially implement
2275         new error code. Break compilation until finished.
2276         (play_sound_data): error code.
2277
2278         * nativesound.h (play_sound_file): 
2279           (play_sound_data): Prototype in new header.
2280
2281 2000-03-31  Andy Piper  <andy@xemacs.org>
2282
2283         * glyphs-widget.c: (button_query_geometry): new function. Adjust
2284         for toggle and radio buttons.
2285         (image_instantiator_buttons): use it.
2286
2287 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
2288
2289         * scrollbar-x.c (x_update_vertical_scrollbar_callback): 
2290         (x_update_horizontal_scrollbar_callback): Return if no mirror was
2291         found. Scrollbar event probably belonged to some old config.
2292
2293 2000-03-31  Andy Piper  <andy@xemacs.org>
2294
2295         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
2296         than 1.
2297         (initialize_widget_image_instance): default layout to
2298         LAYOUT_HORIZONTAL rather than 0.
2299         (widget_instantiate): reverse the item list at the end rather than
2300         every iteration.
2301         (layout_layout): re-code for the border text at the front of the
2302         item list rather than at the end.
2303         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
2304         provided by the user.
2305         (widget_query_geometry): comment.
2306
2307 2000-03-30  Andy Piper  <andy@xemacs.org>
2308
2309         * glyphs-widget.c (image_instantiator_layout): allow standard
2310         widget keywords in layouts.
2311
2312         * gutter.c (output_gutter): cope with nil gutter contents.
2313
2314         * frame.c (Fset_frame_properties): add gutter docs.
2315
2316 2000-03-29  Andy Piper  <andy@xemacs.org>
2317
2318         * toolbar-msw.c (TBSTYLE_FLAT): add.
2319         (mswindows_output_toolbar): minor fiddling.
2320
2321 2000-03-29  Andy Piper  <andy@xemacs.org>
2322
2323         * gutter.c (output_gutter): force gutter size recalculation if
2324         what we are trying to display won't fit.
2325         (update_gutter_geometry): new function. A per-gutter version of
2326         update_frame_gutter_geometry.
2327         (update_frame_gutter_geometry): use it.
2328         (redraw_exposed_gutter): add extra debugging output.
2329
2330 2000-03-28  Mike Alexander  <mta@arbortext.com>
2331
2332         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
2333         (pdump_file_unmap): Implement it on Windows
2334         (pdump_file_get): Save alocated handles for pdump_file_unmap
2335
2336 2000-03-28  Andy Piper  <andy@xemacs.org>
2337
2338         * gui.c (get_gui_callback): treat Quit specially.
2339
2340 2000-03-27  Andy Piper  <andy@xemacs.org>
2341
2342         * glyphs.c (image_instantiate): be careful to check in the same
2343         way we assigned.
2344
2345 2000-03-27  Didier Verna  <didier@xemacs.org>
2346
2347         * config.h.in: define the proper SMART_INCLUDE macro.
2348         handle renaming of `foo_h_path' to `foo_h_file'.
2349
2350         * database.c: ditto.
2351
2352         * emacs.c: ditto.
2353
2354         * linuxplay.c: ditto.
2355
2356         * terminfo.c: ditto.
2357
2358         * tooltalk.h: ditto.
2359
2360 2000-03-27  Andy Piper  <andy@xemacs.org>
2361
2362         * glyphs-msw.c (mswindows_update_widget): make sure the widget
2363         gets updated whenever the face might have changed.
2364
2365 2000-03-26  Mike Alexander  <mta@arbortext.com>
2366
2367         * dumper.c (pdump_resource_free): Fix the comment.
2368
2369 2000-03-21  Olivier Galibert  <galibert@pobox.com>
2370
2371         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
2372
2373 2000-03-22  Mike Alexander  <mta@arbortext.com>
2374
2375         * dumper.c: Include Windows headers on Windows
2376         (pdump_resource_free): Add a body to the function
2377         (pdump_load): exe_name -> exe_path and add some comments.
2378
2379 2000-03-25  Mike Alexander  <mta@arbortext.com>
2380
2381         * gui.c (copy_gui_item_tree): Return a value in all cases
2382
2383 2000-03-21  Didier Verna  <didier@xemacs.org>
2384
2385         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
2386         lwlib/config.h.in.
2387         (SMART_INCLUDE): new macro.
2388         (POSTGRES_INCLUDE): new macro to include postgresql headers from
2389         the proper location.
2390
2391         * postgresql.c: use it.
2392
2393         * inline.c: ditto.
2394
2395 2000-03-24  Andy Piper  <andy@xemacs.org>
2396
2397         * gutter.c (redraw_exposed_gutters): must be "in display" when we
2398         do this.
2399
2400 2000-03-24  Andy Piper  <andy@xemacs.org>
2401
2402         * redisplay-output.c (compare_runes): use image_instance_changed
2403         to detect changes. Do not depend on glyphs_changed, only depend on
2404         dirtiness.
2405          (redisplay_output_layout): add debug messages.
2406         (compare_runes): ditto.
2407
2408         * glyphs.h: declare new functions.
2409         (struct Lisp_Image_Instance): remove percent and associated
2410         accessors.
2411
2412         * gui.h: declare new copying functions.
2413
2414         * gui.c (copy_gui_item_tree): new function.
2415         (copy_gui_item): new function.
2416         (gui_item_id_hash): revert to standard hash.
2417         (gui_item_hash): ditto.
2418         (gui_item_hash_internal): deleted.
2419         (mark_gui_item): mark value.
2420         (gui_item_add_keyval_pair): add value.
2421         (gui_item_init): ditto.
2422         (gui_add_item_keywords_to_plist): ditto.
2423         (gui_item_equal): ditto.
2424         (syms_of_gui): add Q_value.
2425
2426         * glyphs-x.c (x_progress_gauge_update): use pending items and
2427         value for setting the state.
2428         (x_update_widget): don't set items from pending here.
2429
2430         * glyphs-widget.c (update_widget): update items here.
2431         (progress_gauge_set_property): use items for storing value. Put
2432         new value in pending items.
2433
2434         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
2435         items for new value. Convert percent -> value.
2436         (mswindows_tab_control_update): don't update items here.
2437
2438         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
2439         (update_subwindow): ditto.
2440         (image_instance_changed): new function. Compare hash values and
2441         past and present widget items.
2442         (image_instantiate): We more careful about where we instantiate
2443         things.
2444         (image_instantiate): add error checking.
2445
2446         * gutter.c (syms_of_gutter): use -hook.
2447
2448 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
2449
2450         * console-tty.c (Fset_console_tty_input_coding_system): Use
2451         Qkeyboard.
2452         (Fset_console_tty_output_coding_system): Use Qterminal.
2453         (tty_init_console): Use Qkeyboard and Qterminal.
2454
2455 2000-03-21  Ben Wing  <ben@xemacs.org>
2456
2457         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
2458         From Mike Alexander <mta@arbortext.com>.
2459
2460 2000-03-21  Ben Wing  <ben@xemacs.org>
2461
2462         * event-msw.c (mswindows_need_event): Horrible kludge to fix
2463         process brokenness.  Proper implementation to come.
2464         * callproc.c:
2465         Rename call-process-internal to old-call-process-internal.
2466         New impl. in process.el.
2467
2468 2000-03-21  Martin Buchholz  <martin@xemacs.org>
2469
2470         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
2471
2472 2000-03-20  Andy Piper  <andy@xemacs.org>
2473
2474         * glyphs.c (full_list_hash): make hashes of the same elements in
2475         different orders return different values.
2476
2477 2000-03-20  Martin Buchholz <martin@xemacs.org>
2478
2479         * XEmacs 21.2.32 is released.
2480
2481 2000-03-20  Martin Buchholz  <martin@xemacs.org>
2482
2483         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
2484         (DFC_MALLOC_USE_CONVERTED_DATA):
2485         Add aliasing-safe casts to allow use with char* or unsigned char*
2486         lvalues.
2487
2488         * eldap.c (Fldap_open):
2489         (Fldap_search_basic):
2490         (Fldap_add):
2491         (Fldap_modify):
2492         Make C++-compilable.
2493         Make sure GCPRO'ed variables are initialized.
2494         Use temp variables to avoid repeated calls to Flength.
2495
2496 2000-03-16  Martin Buchholz  <martin@xemacs.org>
2497
2498         * sysfile.h:
2499         Make sure PATH_MAX is always defined.
2500         Include limits.h for PATH_MAX.
2501         Deprecate use of MAXPATHLEN.
2502
2503 2000-03-10  Martin Buchholz  <martin@xemacs.org>
2504
2505         * emacs.c: Add reinit_vars_of_fileio.
2506         * symsinit.h: Add reinit_vars_of_fileio.
2507         * fileio.c (reinit_vars_of_fileio): New.
2508         * fileio.c (Fmake_temp_name):
2509         Initialize temp_name random number from microseconds to make
2510         collisions even less likely.  Initialize always at process startup
2511         time.  (make-temp-name) used to return the same file name twice in
2512         a row when PDUMP.
2513         Random stylistic fiddling.
2514         Comment fixes.
2515
2516 2000-03-20  Andy Piper  <andy@xemacs.org>
2517
2518         * glyphs.c (image_instantiate): allow text glyphs to be
2519         instantiated in the minibuffer window.
2520
2521 2000-03-19  Andy Piper  <andy@xemacs.org>
2522
2523         * glyphs.c (image_instance_hash): be careful about which items we
2524         hash on.
2525
2526         * glyphs-widget.c (tab_control_set_property): record into pending
2527         items rather than the actual items.
2528
2529         * glyphs-x.c (x_update_widget): use pending items to update with.
2530
2531         * glyphs-msw.c (mswindows_tab_control_update): use pending items
2532         to update with.
2533
2534         * glyphs.c (mark_image_instance): mark pending items.
2535
2536         * window.c (Fset_window_configuration): record the buffer.
2537         (Fselect_window): totally revert previous change which breaks many
2538         things.
2539
2540 2000-03-18  Andy Piper  <andy@xemacs.org>
2541
2542         * glyphs-msw.c (mswindows_tab_control_update): force selected
2543         item.
2544
2545         * glyphs.c (image_instantiate): don't allow the minibuffer as a
2546         window domain cache, otherwise we get inconsistencies at
2547         startup. There is something fishy at startup which can lead to the
2548         minibuffer being the selected window when the gutter content is
2549         instantiated.
2550
2551         * gui.c (parse_gui_item_tree_list): add probably unneccessary
2552         gcpros.
2553         (parse_gui_item_tree_children): ditto.
2554         (parse_gui_item_tree_item): ditto.
2555
2556         * glyphs.c (Fupdate_widget_instances): return something.
2557
2558 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
2559
2560         * window.c (Fselect_window): Undo 2000-03-17 change.
2561
2562 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
2563
2564         * postgresql.c (Fpq_setenv): Remove this turkey when linking
2565         against v7.0 libraries.  Insta-coredump city until the postgres
2566         folks fix it.
2567
2568 2000-03-17  Andy Piper  <andy@xemacs.org>
2569
2570         * faces.c (complex_vars_of_faces): don't give the widget face an
2571         inherited background pixmap.
2572
2573         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
2574         selected item.
2575
2576         * event-stream.c (Fdispatch_non_command_events): return something.
2577
2578         * gutter.c (output_gutter): use widget face.
2579         (clear_gutter): ditto.
2580
2581         * NEWS: adjust again.
2582
2583         * window.c (Fselect_window): make sure this runs to completion to
2584         avoid oddities with Fset_window_configuration.
2585         (Fcurrent_window_configuration): in general do not save the
2586         minibuffer as the selected window.
2587
2588         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
2589
2590 2000-03-16  Olivier Galibert  <galibert@pobox.com>
2591
2592         * emacs.c (Frunning_temacs_p): Revert previous patch.
2593         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
2594
2595 2000-03-16  Andy Piper  <andy@xemacs.org>
2596
2597         * glyphs-x.c (x_tab_control_update): if no widget values then
2598         return.
2599
2600         * NEWS: update for new features.
2601
2602         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
2603         synthetic event to the native system.
2604         (reinit_vars_of_event_Xt): set force_event_pending to
2605         emacs_Xt_force_event_pending.
2606
2607         * events.h (struct event_stream): add force_event_pending.
2608
2609         * specifier.c (recompute_one_cached_specifier_in_window): add
2610         comment.
2611
2612         * redisplay.c (redisplay_frame): don't call
2613         update_frame_subwindows. Reset subwindow cachels when
2614         subwindows_changed, removing this was an optimization too far.
2615
2616         * redisplay-output.c (compare_runes): reorganize so that we catch
2617         glyph changes when we want them. Set optimize_output when this
2618         would help layouts.
2619         (redisplay_output_layout): remove frame_really_changed, use
2620         optimize_output instead.
2621
2622         * redisplay-msw.c (mswindows_output_display_block): reset
2623         optimize_output after outputting a glyph.
2624         * redisplay-x.c (x_output_display_block): ditto.
2625         * redisplay-tty.c (tty_output_display_block): ditto.
2626
2627         * gutter.c: (specifier_vars_of_gutter): use new spec changed
2628         functions.
2629         (gutter_specs_changed): do specific gutter positions.
2630         (top_gutter_specs_changed): new function. Only update the
2631         specified gutter specs.
2632         (bottom_gutter_specs_changed): ditto.
2633         (left_gutter_specs_changed): ditto.
2634         (right_gutter_specs_changed): ditto.
2635
2636         * gui.c (gui_item_hash_internal): new function, does a real hash.
2637         (gui_item_id_hash): use it.
2638         (gui_item_hash): hash the eval'ed gui_item.
2639
2640         * gui-x.c (popup_selection_callback): send an eval event to call
2641         Fupdate_widget_instances.
2642
2643         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
2644         to call Fupdate_widget_instances.
2645
2646         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
2647         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
2648
2649         * glyphs.c: (update_frame_subwindows): deleted.
2650         (Fupdate_widget_instances): new function for updating the dirty
2651         state of widgets that might have changed.
2652         (syms_of_glyphs): add Qupdate_widget_instances.
2653         (full_list_hash): hash a list completely.
2654         (image_instance_hash): use it for items and properties.
2655
2656         * frame-msw.c (mswindows_size_frame_internal): remove unused
2657         variable.
2658
2659         * faces.h (struct face_cachel): fix comment.
2660
2661         * event-stream.c (Fdispatch_non_command_events): new
2662         function. Process non-command events, forcing an event cycle
2663         beforehand.
2664         (syms_of_event_stream): declare.
2665         (event_stream_force_event_pending): new function. Force an event
2666         on the native event queue so that an event cycle will occur next
2667         time we check.
2668
2669         * event-msw.c:
2670         (struct ntpipe_shove_stream):
2671         (mswindows_enqueue_dispatch_event):
2672         (mswindows_dequeue_dispatch_event):
2673         (mswindows_cancel_dispatch_event):
2674         (mswindows_pump_outstanding_events):
2675         (mswindows_drain_windows_queue):
2676         (mswindows_handle_paint):
2677         (mswindows_wnd_proc):
2678         (mswindows_key_to_emacs_keysym):
2679         (get_process_input_waitable):
2680         (emacs_mswindows_delete_stream_pair): re-indent file.
2681         (mswindows_need_event): do not process further fds if the windows
2682         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
2683         fixes the 100% cpu problem.
2684         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
2685
2686 2000-03-15  Olivier Galibert  <galibert@pobox.com>
2687
2688         * alloc.h: New.
2689         * dumper.h: New.
2690         * dumper.c: New.
2691
2692         * emacs.c: Moved dump file searching to dumper.c.
2693         (Frunning_temacs_p): Fixed.
2694
2695         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
2696         last_lrecord_type_index_assigned.
2697
2698 2000-02-20  Olivier Galibert  <galibert@pobox.com>
2699
2700         * symsinit.h: Added reinit parameter to init_console_stream
2701         declaration.
2702
2703         * lisp.h: Added file parameter to pdump_load declaration.
2704
2705         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
2706         support.  Added dump file searching.
2707
2708         * config.h.in: Added EMACS_PROGNAME.
2709
2710         * console-stream.c (init_console_stream): Fix reinitialisation
2711         when running from temacs.
2712
2713         * alloc.c (pdump): Add id support.
2714         (pdump_load): Add file parameter and signature/id support.
2715
2716         * Makefile.in.in: Add full pdump support.
2717
2718 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
2719
2720         * postgresql.c: Update documentation to reflect latest code
2721         status.
2722         (print_result): Show tuple counts in printed representation when
2723         appropriate.
2724         (Fpq_put_nbytes): MULE-ize.
2725         (Fpq_get_line_async): Ditto.
2726
2727 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
2728
2729         * postgresql.c (Fpq_lo_import): Fix return value.
2730         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
2731
2732 2000-03-13  Ben Wing  <ben@xemacs.org>
2733
2734         * alloc.c (pdump_load):
2735         Fix compile warning under mswin.
2736
2737 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
2738
2739         * postgresql.c: Mule-ization, bug fixes.
2740         Use PG_CODING to encapsulate coding system name changes.
2741         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
2742         (pg-coding-system): Create.
2743
2744         (Fpq_conn_defaults): Mule-ize.
2745         (Fpq_connectdb): Mule-ize & bug fix.
2746         (Fpq_connect_start): Mule-ize.
2747         (Fpq_set_client_encoding): Mule-ize.
2748         (Fpq_finish): Document `DEAD' connection status.
2749         (Fpq_clear): Ditto.
2750         (Fpq_pgconn): Mule-ize.
2751         (Fpq_exec): Mule-ize & bug fix.
2752         (Fpq_send_query): Ditto.
2753         (Fpq_get_result): Ditto.
2754         (Fpq_res_status): Mule-ize.
2755         (Fpq_result_error_message): Mule-ize.
2756         (Fpq_ntuples): fix comments.
2757         (Fpq_fname): Mule-ize.
2758         (Fpq_fnumber): Mule-ize.
2759         (Fpq_ftype): fix comments.
2760         (Fpq_get_value): Mule-ize.
2761         (Fpq_cmd_status): Ditto.
2762         (Fpq_cmd_tuples): Ditto.
2763         (Fpq_oid_value): Ditto.
2764         (Fpq_notifies): Ditto.
2765         (Fpq_lo_import): Ditto.
2766         (Fpq_lo_export): Ditto.
2767         (Fpq_get_line): Ditto.
2768         (Fpq_put_line): Mule-ize and bug fix.
2769         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
2770
2771 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
2772
2773         * postgresql.c (vars_of_postgresql): Mule-ize.
2774         (Fpq_conn_defaults): Ditto.
2775
2776 2000-03-12  Ben Wing  <ben@xemacs.org>
2777
2778         * alloc.c (Fmake_byte_code):
2779         * alloc.c (debug_string_purity_print):
2780         * alloc.c (pdump_backtrace):
2781         * alloc.c (pdump_get_indirect_count):
2782         * alloc.c (pdump_register_sub):
2783         * alloc.c (pdump_register_object):
2784         * alloc.c (pdump_register_struct):
2785         * alloc.c (pdump_dump_data):
2786         * alloc.c (pdump_reloc_one):
2787         Minor cleanups.
2788
2789         * console-msw.c:
2790         * console-msw.c (GetConsoleHwnd):
2791         * console-msw.c (msw_hide_console):
2792         * console-msw.c (msw_show_console):
2793         * console-msw.c (msw_ensure_console_buffered):
2794         * console-msw.c (msw_output_console_string):
2795         * console-msw.c (console_type_create_mswindows):
2796
2797         a) Added functions to manipulate the console window for use with
2798         shell support.
2799
2800         b) Added support for writing text to the console, which is now
2801         used under Windows when xemacs is not being run non-interactively,
2802         to write text that would otherwise be destined for stdout because
2803         under these circumstances, text written to stdout tends to
2804         disappear and not be seen.
2805
2806         * console-msw.h:
2807         * event-Xt.c:
2808         * event-Xt.c (x_event_to_emacs_event):
2809         * event-Xt.c (describe_event_window):
2810         * events-mod.h (XEMACS_MOD_CONTROL):
2811         * events.c:
2812         * events.c (Fmake_event):
2813         * events.c (character_to_event):
2814         * events.c (event_to_character):
2815         * events.c (format_event_object):
2816         * events.c (Fevent_modifiers):
2817         * events.h:
2818         * events.h (struct key_data):
2819         * events.h (struct button_data):
2820         * events.h (struct misc_user_data):
2821         * frame-x.c (Fcde_start_drag_internal):
2822         * frame-x.c (Foffix_start_drag_internal):
2823         * gpmevent.c (Freceive_gpm_event):
2824         * keymap.c:
2825         * keymap.c (bucky_sym_to_bucky_bit):
2826         * keymap.c (control_meta_superify):
2827         * keymap.c (make_key_description):
2828         * keymap.c (keymap_lookup_directly):
2829         * keymap.c (create_bucky_submap):
2830         * keymap.c (keymap_store):
2831         * keymap.c (define_key_check_and_coerce_keysym):
2832         * keymap.c (define_key_parser):
2833         * keymap.c (define_key_alternate_name):
2834         * keymap.c (Fdefine_key):
2835         * keymap.c (raw_lookup_key_mapper):
2836         * keymap.c (struct map_keymap_unsorted_closure):
2837         * keymap.c (map_keymap_unsorted_mapper):
2838         * keymap.c (map_keymap_sort_predicate):
2839         * keymap.c (map_keymap_sorted):
2840         * keymap.c (accessible_keymaps_mapper_1):
2841         * keymap.c (where_is_recursive_mapper):
2842         * keymap.c (describe_map_mapper):
2843         * keymap.c (describe_map_sort_predicate):
2844         * keymap.c (describe_map):
2845         * keymap.c (complex_vars_of_keymap):
2846         And a number of other files, the key modifier preprocessor
2847         constants that xemacs uses have names that conflict with constants
2848         defined under MS Windows for other purposes, so they were renamed
2849         to begin with the prefix XEMACS_. The variables that hold such
2850         modifiers were changed to consistently be of type int to fix
2851         various compile warnings.
2852
2853         * console.c (complex_vars_of_console):
2854         * device.c:
2855         * device-msw.c:
2856         * device-msw.c (mswindows_finish_init_device):
2857         * device-msw.c (msw_get_workspace_coords):
2858         * device-msw.c (mswindows_device_system_metrics):
2859         and various other files, added support for a new
2860         device property called offset-workspace which returns the position
2861         of the upper left corner of the workspace area and goes along with
2862         the existing size-workspace property.
2863
2864         * dialog-msw.c:
2865         * dialog-msw.c (push_bufbyte_string_as_unicode):
2866         * dialog-msw.c (mswindows_popup_dialog_box):
2867         Added support for XEmacs-style accelerator specifications in
2868         button text.  Note: I didn't add support for this under X Windows,
2869         and somebody needs to do this.
2870
2871         * dialog.c:
2872         * dialog.c (Fpopup_dialog_box):
2873         Documented the support for accelerators that was just mentioned.
2874
2875         editfns.c (get_home_directory): Changed behavior under Windows
2876         when HOME not defined; former behavior was irretrievably broken.
2877
2878         * emacs.c:
2879         * emacs.c (main_1):
2880         * emacs.c (main):
2881         * minibuf.c (clear_echo_area_internal):
2882         * minibuf.c (echo_area_append):
2883         * print.c:
2884         * print.c (std_handle_out_external):
2885         * print.c (std_handle_out_va):
2886         * print.c (fatal):
2887         * print.c (write_string_to_stdio_stream):
2888         * print.c (output_string):
2889         * print.c (debug_print):
2890         * print.c (debug_backtrace):
2891         * print.c (debug_short_backtrace):
2892         Cleaned up the code that prints text to stdout so that this can be
2893         changed to output into a console window instead under MS Windows,
2894         as described above.
2895
2896         * eval.c:
2897         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
2898         * eval.c (internal_catch):
2899         * eval.c (unwind_to_catch):
2900         * eval.c (throw_or_bomb_out):
2901         * eval.c (condition_case_1):
2902         * eval.c (signal_1):
2903         * eval.c (check_error_state_sanity):
2904         * eval.c (call_with_suspended_errors_1):
2905         * eval.c (call_with_suspended_errors):
2906         * eval.c (reinit_vars_of_eval):
2907         Added code to catch throw loops and check for a pesky bug that may
2908         be gone now.
2909
2910         * event-msw.c:
2911         * event-msw.c (key_needs_default_processing_p):
2912         * event-msw.c (mswindows_wnd_proc):
2913         * event-msw.c (mswindows_modifier_state):
2914         * event-msw.c (emacs_mswindows_quit_p):
2915         * event-msw.c (vars_of_event_mswindows):
2916         a) Added support for using the alt key to select menu items as is
2917         standard under MS Windows.  This is controlled using the variable
2918         menu-accelerator-enabled, just like under X Windows.  There is an
2919         option on the options menu to turn this support on.  I really
2920         think that it should be on by default under Windows, but I'm not
2921         going to make this change yet.
2922
2923         b)  Added support for dynamic display size changes under Windows.
2924
2925         * event-stream.c:
2926         * event-stream.c (maybe_echo_keys):
2927         * event-stream.c (Fnext_event):
2928         * event-stream.c (command_builder_find_leaf):
2929         * event-stream.c (lookup_command_event):
2930         * event-stream.c (execute_command_event):
2931         * event-stream.c (pre_command_hook):
2932         * event-stream.c (post_command_hook):
2933         * event-stream.c (syms_of_event_stream):
2934         * event-stream.c (vars_of_event_stream):
2935         * event-stream.c (complex_vars_of_event_stream):
2936         * events.h (struct command_builder):
2937
2938         a) Tried to clean up a little bit the horribly written x-specific
2939         accelerator code that crept into this file.  I moved this code
2940         into menubar-x.c where it belongs. I also needed to move the
2941         command builder structure into the file events.h because it is
2942         accessed directly by this accelerator code.  What I didn't do, but
2943         which should be done at some point, is to properly abstract this
2944         code using device methods instead of the kludgy way that it
2945         currently hooks into the event code.
2946
2947         b) Added the lisp variables this-command-properties and
2948         last-command- properties, which should be used to synchronize two
2949         adjacent commands in preference to playing games with the variable
2950         this-command, which is typically what happens.
2951
2952         c) Added some slightly nasty code to hook into the lisp support
2953         for shifted- motion-key selection.  This is actually necessary for
2954         somewhat complicated reasons, which are described in
2955         simple.el. (NB: I think the proper thing would be to have the code
2956         that calls the pre and post command hooks also call out to generic
2957         lisp functions in simple.el, where all built-in stuff could be
2958         added.  I will think about this more.)
2959
2960         * event-unixoid.c (poll_fds_for_input):
2961         * lread.c (readchar):
2962         * redisplay-tty.c (tty_clear_frame):
2963         * redisplay-x.c (x_get_gc):
2964         * signal.c (interrupt_signal):
2965         And a whole bunch of other files: fixed up places that printed
2966         directly to stderr to instead call the function stderr_out so that
2967         the changes I made under Windows work correctly.
2968
2969         * filemode.c (mode_string):
2970         Warning fixes.
2971
2972         * frame-msw.c:
2973         * frame-msw.c (mswindows_size_frame_internal):
2974         Fixed the computation of frame size and position to keep the frame
2975         within the workspace area, rather than within the physical
2976         dimensions of the screen, so that the frame doesn't overlap window
2977         manager decorations, such as the start menu and toolbar, typically
2978         at the bottom of the screen.
2979
2980         * frame.c (vars_of_frame):
2981         Changed the default frame title format under MS Windows to consist
2982         of buffername-XEmacs, which is standard under MS Windows.  I think
2983         it might be a good idea to change this everywhere because I think
2984         it is superior to the current frame title format, but this is the
2985         kind of change that is likely to cause some people to get annoyed,
2986         so I'm not making it.
2987
2988         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
2989
2990         * gui-msw.c (mswindows_handle_gui_wm_command):
2991         Fixed compile warnings.
2992
2993         * gui-x.c:
2994         * gui-x.c (strdup_and_add_accel):
2995         * gui-x.c (button_item_to_widget_value):
2996         * gui-x.h:
2997         Added code to automatically put an accelerator onto the beginning
2998         of menu items that don't have one as is now the standard, and is
2999         described more later.  Also fixed things so that the menu item
3000         name can be an evaluated expression, again a new standard.
3001
3002         * gui.c:
3003         * gui.c (gui_item_add_keyval_pair):
3004         * gui.c (make_gui_item_from_keywords_internal):
3005         * gui.c (gui_add_item_keywords_to_plist):
3006         * gui.c (gui_item_accelerator):
3007         * gui.c (gui_name_accelerator):
3008         * gui.c (gui_item_included_p):
3009         * gui.c (gui_item_display_flush_left):
3010         * gui.c (gui_item_display_flush_right):
3011         * gui.c (parse_gui_item_tree_item):
3012         * gui.c (parse_gui_item_tree_children):
3013         * gui.c (parse_gui_item_tree_list):
3014         Mule-ized.  Cleanup.  GCPRO addition.
3015
3016         * line-number.c (buffer_line_number):
3017         * lisp.h:
3018         * lisp.h (EMACS_INT_MAX):
3019         Added the manifest constant EMACS_INT_MIN corresponding to the
3020         existing constant EMACS_INT_MAX.  This is partially to fix compile
3021         warnings under Windows, and partly for cleanliness.
3022
3023         * menubar-msw.c:
3024         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
3025         * menubar-msw.c (msw_translate_menu_or_dialog_item):
3026         * menubar-msw.c (displayable_menu_item):
3027         * menubar-msw.c (populate_menu_add_item):
3028         * menubar-msw.c (populate_or_checksum_helper):
3029         * menubar-msw.c (populate_menu):
3030         * menubar-msw.c (update_frame_menubar_maybe):
3031         * menubar-msw.c (prune_menubar):
3032         * menubar-msw.c (msw_char_is_accelerator):
3033         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
3034         * menubar-msw.c (mswindows_handle_wm_command):
3035         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
3036         * menubar-msw.c (mswindows_handle_wm_initmenu):
3037         * menubar-msw.c (mswindows_update_frame_menubars):
3038         * menubar-msw.c (mswindows_free_frame_menubars):
3039         * menubar-msw.c (mswindows_popup_menu):
3040         Fixed a bug in handling accelerators where an extra character
3041         would be displayed in the menu item.  Also generalized the
3042         function displayable_menu_item because it is now used by the
3043         dialog box code as well.  And finally, added code in the functions
3044         that create the menubar to extract a list of accelerators for the
3045         top level menubar, which is used in the event code to determine
3046         whether a particular alt-key combination should be used to invoke
3047         a menu item, or should be passed through to access the standard
3048         XEmacs keymap binding for this key combination.
3049
3050         Much needed GCPROing.
3051
3052         * menubar-x.c:
3053         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3054         * menubar-x.c (menu_item_descriptor_to_widget_value):
3055         * menubar-x.c (restore_in_menu_callback):
3056         * menubar-x.c (x_popup_menu):
3057         * menubar-x.c (menu_move_up):
3058         * menubar-x.c (menu_move_down):
3059         * menubar-x.c (menu_move_left):
3060         * menubar-x.c (menu_move_right):
3061         * menubar-x.c (menu_select_item):
3062         * menubar-x.c (command_builder_operate_menu_accelerator):
3063         * menubar-x.c (menu_accelerator_junk_on_error):
3064         * menubar-x.c (command_builder_find_menu_accelerator):
3065         * menubar-x.c (Faccelerate_menu):
3066         * menubar.h:
3067         Moved a whole bunch of code here that was previously in
3068         event-stream.c as described above.  There is also code connected
3069         to the new standard of adding an accelerator to the beginning of
3070         menu items that don't have one as described above and below.
3071
3072         * menubar.c:
3073         * menubar.c (menu_parse_submenu_keywords):
3074         * menubar.c (Fmenu_find_real_submenu):
3075         * menubar.c (Fnormalize_menu_item_name):
3076         * menubar.c (syms_of_menubar):
3077         * menubar.c (vars_of_menubar):
3078         * menubar.c (complex_vars_of_menubar):
3079
3080         a) Cleaned up a bunch of documentation and improved it.
3081
3082         b) XEmacs now automatically adds an accelerator onto the beginning
3083         of any menu items that don't have one.  I did this because there
3084         will inevitably be some menu items on the main menubar that don't
3085         have accelerators on them because the package that adds that
3086         particular menu item hasn't yet been fixed up to have accelerators
3087         in them and it looked rather strange to have some items with and
3088         some items without accelerators, especially since even in items
3089         without accelerators, you can, at least under windows, still
3090         access the item through an accelerator corresponding to the first
3091         character in the item's name.  If people don't like this behavior,
3092         I can add a variable to turn it off optionally, but I'm not sure
3093         this is a good idea because we really do need to have accelerators
3094         on all of the menu items, and if a package doesn't like the
3095         accelerators being put on the first character, then it should put
3096         the accelerators where they belong.
3097
3098         c) I made a behavior change, which is that the descriptor that
3099         specifies the text of the menu item, which formerly was just a
3100         string, can now also be an evaluated expression.  This makes this
3101         descriptor parallel with all of the others, which could also be
3102         evaluated expressions.  This also obviates the need for the
3103         keyword :label, which was previously listed in the documentation
3104         as unimplemented, and which was for the same purpose.
3105
3106         d) GCPROing.
3107
3108         * ntproc.c:
3109         * ntproc.c (new_child):
3110         * ntproc.c (sys_spawnve):
3111         * ntproc.c (find_child_console):
3112         * ntproc.c (sys_kill):
3113         Fixed compile warnings.  By the way, this file should really go
3114         away entirely, and this will happen as soon as Kirill makes his
3115         final round of process cleanups, which affect the function
3116         call-process.
3117
3118         * process-nt.c:
3119         * process-nt.c (struct nt_process_data):
3120         * process-nt.c (find_process_from_pid):
3121         * process-nt.c (send_signal_the_nt_way):
3122         * process-nt.c (enable_child_signals):
3123         * process-nt.c (find_child_console):
3124         * process-nt.c (send_signal_the_95_way):
3125         * process-nt.c (nt_finalize_process_data):
3126         * process-nt.c (ensure_console_window_exists):
3127         * process-nt.c (nt_create_process):
3128         * process-nt.c (nt_kill_child_process):
3129         * process-nt.c (nt_kill_process_by_pid):
3130         * process-nt.c (nt_open_network_stream):
3131         * process-nt.c (vars_of_process_nt):
3132         Copied over code from Emacs 20.5 to correctly send signals to sub-
3133         processes under Windows 95.  Also added code to automatically
3134         create and hide console window when a sub-process is created under
3135         Windows 95, which obviates the need for the separate runemacs.exe
3136         executable, and finally implemented some variables that were
3137         implemented in Emacs 20.5, but previously not in XEmacs.  These
3138         include mswindows- start-process-share-console and
3139         mswindows-start-process-inherit-error-mode. (Both of these only
3140         apply to Windows 95.)
3141
3142         * regex.c (regex_compile): Fixed a compile warning.
3143
3144         * select-msw.c:
3145         * select-msw.c (mswindows_own_selection):
3146         * select-msw.c (mswindows_get_foreign_selection):
3147         * select-msw.c (mswindows_disown_selection):
3148         * select-msw.c (console_type_create_select_mswindows):
3149         * select-msw.c (syms_of_select_mswindows):
3150         Cleaned up the file and implemented the device method
3151         selection_exists_p, which had accidentally been left out.  Also
3152         removed four lisp functions that were remnants from before the
3153         time when the selection code was properly device abstracted.
3154         These functions are no longer needed because there are generic
3155         equivalents, and because they were added recently and don't exist
3156         in FSF Emacs, I don't think there's any problem with just deleting
3157         them.
3158
3159         * sysdep.c:
3160         * sysdep.c (sys_subshell):
3161         Fixed a compile warning, although in this case there's probably
3162         something wrong with this code, and it ought to be looked into
3163         more thoroughly by somebody who understands it.
3164
3165         * window.c:
3166         * window.c (Fwindow_text_area_height):
3167         * window.c (Fwindow_width):
3168         * window.c (Fwindow_full_width):
3169         * window.c (Fwindow_pixel_width):
3170         * window.c (debug_print_window):
3171         * window.c (syms_of_window):
3172         Added functions window-text-area-height and window-full-width,
3173         which are functions for returning various width and height
3174         characteristics of a window. (One of these functions is necessary
3175         for making the file dialog box work correctly, and the other one
3176         was added for completeness.)  Also added a table to the
3177         documentation for window-height which describes the entire scheme
3178         for accessing width and height characteristics of a window.
3179
3180 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3181
3182         * nt.c (fstat): Added a comment for another problem with
3183         non-encapsulated [f]stat(), reported by Adrian Aichner
3184         <aichner@ecf.teradyne.com>.
3185
3186 2000-03-11  Andy Piper  <andy@xemacs.org>
3187
3188         * window.c (make_dummy_parent): initialize subwindow instance
3189         cache.
3190         (Fset_window_configuration): zero extent_modiff.
3191
3192 2000-03-10  Andy Piper  <andy@xemacs.org>
3193
3194         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
3195         more changes can be triggered.
3196         (Fredisplay_frame): ditto.
3197         (Fredraw_device): ditto.
3198         (Fredisplay_device): ditto.
3199         (redisplay_frame): make non-static.
3200         (redisplay_frame): call update_frame_gutter_geometry outside of
3201         display proper.
3202
3203         * gutter.h: declare update_frame_gutter_geometry.
3204
3205         * redisplay.h: declare redisplay_frame.
3206
3207         * gutter.c (update_frame_gutter_geometry): move geometry changes
3208         in update_frame_gutters here. Geometry changes can only occur
3209         outside of redisplay.
3210         (update_frame_gutters): remove geometry change code.
3211         (Fredisplay_gutter_area): make sure that we are in display when we
3212         update and that we have flushed any size changes.
3213
3214 2000-03-11  Andy Piper  <andy@xemacs.org>
3215
3216         * alloc.c (pdump_dump_data): remove i & count shadows.
3217
3218 2000-02-27  Mike Alexander  <mta@arbortext.com>
3219
3220         * sysdep.h: Declare pdump_read_file
3221
3222         * sysdep.c (pdump_read_file): New function
3223
3224         * alloc.c (pdump_load): Call pdump_read_file to get the portable
3225         dump data
3226
3227 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
3228
3229         * lrecord.h: add `lrecord_type_pgsetenv'.
3230
3231 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
3232
3233         * symsinit.h: declare (vars|syms)_of* functions.
3234         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
3235
3236 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
3237
3238         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
3239
3240         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
3241         GCCs.
3242
3243         * emacs.c (main_1): Call postgres initialization code.
3244
3245         * postgresql.h: New file.  PostgreSQL RDBMS support.
3246         * postgresql.c: New file.
3247
3248 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
3249
3250         * redisplay-output.c (redisplay_output_display_block): Disable
3251         redundant code.
3252
3253 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3254
3255         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
3256         (Fcanna_henkan_next): Ditto.
3257         (Fcanna_bunsetu_henkou): Ditto.
3258         (Fcanna_henkan_kakutei): Ditto.
3259         (Fcanna_henkan_end): Ditto.
3260         (Fcanna_henkan_quit): Ditto.
3261         (Fcanna_henkan_next): Set retun value correctly.
3262         (c2mu): Use unsigned char instead of signed char.
3263
3264 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3265
3266         * emacs.c (main_1): Always call syms_of_gui.
3267         * inline.c: include gui.h
3268
3269 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3270
3271         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
3272         converted to Lisp_Object.
3273         (Qtop_bottom): New variable.
3274         (syms_of_redisplay): Initialize it.
3275         * redisplay.h (Vvisible_bell): Ditto.
3276         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
3277         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
3278         only flash top and bottom.
3279
3280 2000-03-08  Andy Piper  <andy@xemacs.org>
3281
3282         * buffer.c (Frename_buffer): record new buffer name the right way.
3283
3284 2000-03-08  Andy Piper  <andy@xemacs.org>
3285
3286         * glyphs.c (update_subwindow): increase hash depth so that widget
3287         items get picked up properly.
3288
3289         * redisplay-output.c (compare_runes): increase hash depth so that
3290         widget items get picked up properly.
3291
3292 2000-03-08  Andy Piper  <andy@xemacs.org>
3293
3294         * gutter.c (output_gutter): add some debug.
3295
3296         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
3297         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
3298         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
3299
3300         * redisplay-output.c (compare_runes): use display_hash to
3301         determine if glyphs really are not the same.
3302
3303         * glyphs.c (update_subwindow): check display_hash to see if
3304         anything really needs to be updated. If not then do
3305         nothing. Record the display_hash after updating.
3306         (image_instance_equal): compare the image_instance face also.
3307
3308 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
3309
3310         * redisplay.h: Fix comment style.
3311
3312 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3313
3314         * consle-msw.h (struct mswindows_frame):
3315         Added new member paint_pending to indicate whether a WM_PAINT
3316         magic event has been queued for this frame.
3317
3318         * event-msw.c (mswindows_drain_windows_queue):
3319         Don't queue a WM_PAINT magic event if one is already queued.
3320         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
3321
3322         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
3323
3324 2000-03-07  Didier Verna  <didier@xemacs.org>
3325
3326         * dired.c: #include `regex.h' after `sysfile.h'.
3327
3328 2000-03-06  Martin Buchholz  <martin@xemacs.org>
3329
3330         * sound.c (init_nas_sound): Fix compiler warning.
3331
3332         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
3333         (FREE_STRUCT_P):
3334         (MARK_STRUCT_AS_FREE):
3335         (MARK_STRUCT_AS_NOT_FREE):
3336         Make `gcc -fstrict-aliasing' work properly.
3337
3338 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3339
3340         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
3341         (mswindows_delete_device): Call CoUnnitialize().
3342
3343         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
3344
3345 2000-02-25    <CraigL@DyCon.com>
3346
3347         * process-nt.c: MinGW now has <shellapi.h>, but still needs
3348         <errno.h>.
3349
3350         * sysdep.c: This extern declaration for environ prevents MinGW
3351         from finding the variable in CRTDLL.DLL.
3352
3353         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
3354         windows headers.
3355         (SHGFI_EXETYPE): ..
3356         (WM_MOUSEWHEEL): ..
3357         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
3358         definitions.
3359         (MMRESULT): Removed, now defined in cygwin's windows headers.
3360         (TIMECAPS): ..
3361         (uid_t,gid_t,pid_t,ssize_t): ..
3362         (_timeb): Removed, MinGW defines both _timeb and timeb.
3363         (HAVE_H_ERRNO): Added.
3364         (HAVE_TZNAME): Added, configure is not detecting this.
3365
3366 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
3367
3368         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
3369         * syntax.c (syntax_match): Use it.
3370
3371         * cmds.c: Import auto-fill-chars from FSF Emacs.
3372         (Vauto_fill_chars): New variables.
3373         (internal_self_insert): Check Vauto_fill_chars.
3374         (vars_of_cmds):
3375         Declare auto-fill-chars as a Lisp variable and initialize it.
3376
3377 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3378
3379         * fileio.c (Fmake_symbolic_link):
3380         (Ffile_symlink_p):
3381         Run handlers even if local machine doesn't have symlinks.
3382
3383 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3384
3385         * event-msw.c (mswindows_drain_windows_queue):
3386         Don't generate paint magic events for non-XEmacs frames.
3387
3388 2000-03-05  Andy Piper  <andy@xemacs.org>
3389
3390         * redisplay.c (redisplay_frame): generate_displayable_area and
3391         friends assumes that we are not in GC, we therefore have to make
3392         sure that this doesn't happen.
3393
3394         * gutter.c (calculate_gutter_size): generate_displayable_area
3395         assumes that we are not in GC, we therefore have to make sure that
3396         this doesn't happen.
3397
3398 2000-03-05  Martin Buchholz  <martin@xemacs.org>
3399
3400         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
3401
3402 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
3403
3404         * redisplay.c (regenerate_window): Make sure we set a sane value
3405         for end_pos even if we jump out of the loop.
3406         (regenerate_window): Answer Ben's question :-).
3407         (start_end_of_last_line): Add may_error argument.
3408         (start_of_last_line):
3409         (end_of_last_line): Pass may_error = 0.
3410         (end_of_last_line_may_error): New function.
3411         (pixel_to_glyph_translation): Use it, so we don't crash in
3412         event_to_glyph.
3413
3414 2000-03-04  Andy Piper  <andy@xemacs.org>
3415
3416         * window.h (struct window): add gutter_extent_modiff.
3417
3418         * window.c (allocate_window): zero out gutter_extent_modiff.
3419
3420         * redisplay.h: declare sync_display_line_structs.
3421
3422         * redisplay.c (add_glyph_rune): add a better comment.
3423
3424         * redisplay-output.c (sync_display_line_structs): made non-static.
3425         (compare_runes): remove unneccesary glyph cachel access.
3426
3427         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
3428
3429         * gutter.c (output_gutter): don't output the gutter if extent
3430         changes only involve extents in buffers. use 4 sets of display
3431         lines.
3432         (gutter_extent_signal_changed_region_maybe): new function. Mark
3433         extents in gutters as changed.
3434         (update_frame_gutters): use 4 sets of display lines.
3435         (reset_gutter_display_lines): ditto.
3436         (free_frame_gutters): ditto.
3437         (redraw_exposed_gutter): force output of gutters.
3438
3439         * frame.h (struct frame): add 4 sets of gutter display lines.
3440
3441         * extents.c: (extent_changed_for_redisplay): signal changes to
3442         extents in strings in the gutter as well as extents in buffers.
3443
3444 2000-03-02  Andy Piper  <andy@xemacs.org>
3445
3446         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
3447
3448         * frame.c (Fmake_frame): make sure the gutters get initialized
3449         after the frame is visible.
3450         (set_frame_selected_window): re-arrange compilation macros a
3451         little.
3452         (change_frame_size_1): mark gutters changed.
3453
3454         * device.c (Fset_device_class): mark gutters changed.
3455
3456 2000-03-01  Andy Piper  <andy@xemacs.org>
3457
3458         * window.c (window_top_frame_gutter_height): deleted.
3459         (window_bottom_frame_gutter_height): ditto.
3460         (window_left_frame_gutter_height): ditto.
3461         (window_right_frame_gutter_height): ditto.
3462         (window_top_gutter_height): don't use them.
3463         (window_bottom_gutter_height): ditto.
3464         (window_left_gutter_width): ditto.
3465         (window_right_gutter_width): ditto.
3466         (Fsplit_window): ditto.
3467         (Fwindow_pixel_edges): don't use border dimensions here.
3468
3469         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
3470         (update_scrollbar_instance): ditto.
3471
3472         * redisplay.c (generate_modeline): don't take gutters into account.
3473         (generate_modeline): ditto.
3474         (redisplay_frame): small gutter display optimisation.
3475
3476         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
3477
3478         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
3479         gutters into account.
3480
3481         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
3482         for window position and type.
3483
3484         * gutter.c (get_gutter_coords): fix for frame gutters.
3485         (update_frame_gutters): update frame geometry if the gutters have
3486         changed.
3487         (init_frame_gutters): record current gutter geometries.
3488
3489         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
3490         var.
3491         (mswindows_widget_instantiate): ditto.
3492
3493         * frame.h (struct frame): add current_gutter_bounds.
3494
3495         * frame.c (change_frame_size_1): position window and minibuffer
3496         appropriately taking into account the frame gutters.
3497
3498         * frame-x.c: (x_initialize_frame_size): take into account the
3499         frame gutters.
3500
3501 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
3502
3503         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
3504
3505 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
3506
3507         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
3508
3509 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
3510
3511         * file-coding.c (reset_decoding_stream): Clear previous
3512         detection state when autodetect.
3513
3514 2000-02-29  Didier Verna  <didier@xemacs.org>
3515
3516         * extents.c (set_extent_glyph_1): don't require extents to be
3517         attached.
3518
3519 2000-02-27  Andy Piper  <andy@xemacs.org>
3520
3521         * gutter.c (Fset_default_gutter_position): don't default left and
3522         right gutter visibility to t.
3523         (Fset_default_gutter_position): run
3524         default-gutter-position-changed-hook.
3525         (syms_of_gutter): add default-gutter-position-changed-hook.
3526
3527 2000-02-26  Andy Piper  <andy@xemacs.org>
3528
3529         * specifier.c (Fmake_specifier): add gutter references.
3530
3531         * gutter.h (RAW_WINDOW_GUTTER): new macro.
3532
3533         * lisp.h: declare Fvalid_plist_p.
3534
3535         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
3536         as changed.
3537         (default_gutter_visible_p_changed_in_window): invalidate gutter as
3538         well as its visibility so that it gets reconstructed.
3539         (construct_window_gutter_spec): new function. Construct a string
3540         to be displayed in the gutter from a plist of strings. Take care
3541         to only use elements that are declared as visible.
3542         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
3543         WINDOW_GUTTER.
3544         (gutter_validate): allow plists of strings in the specifier.
3545         (gutter_specs_changed): construct the real_gutter from the gutter
3546         specs using construct_window_gutter_spec.
3547         (gutter_visible_validate): gutter-visible is a new specifier type.
3548         (Fgutter_visible_specifier_p): new function for the new specifier.
3549         (syms_of_gutter): declare gutter-visible and
3550         Fgutter_visible_specifier_p.
3551         (specifier_type_create_gutter): intitalize new gutter-visible
3552         specifier.
3553         (reinit_specifier_type_create_gutter): ditto.
3554         (specifier_vars_of_gutter): use new specifier type for gutter
3555         visibility.
3556         (init_frame_gutters): construct real_gutter correctly.
3557         (Fgutter_specifier_p): beef up documentation.
3558         (Fgutter_size_specifier_p): ditto.
3559
3560         * winslots.h: add real_gutter slots.
3561
3562 2000-02-25  Andy Piper  <andy@xemacs.org>
3563
3564         * device-msw.c: Be kind to older cygwin versions. From Raymond
3565         Toy <toy@rtp.ericsson.se>.
3566
3567         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
3568         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
3569
3570 2000-02-25  Martin Buchholz  <martin@xemacs.org>
3571
3572         * elhash.c (MARK_OBJ): Practice macro hygiene.
3573
3574 2000-02-24  Martin Buchholz  <martin@xemacs.org>
3575
3576         * miscplay.c: s/__inline__/inline/g;
3577         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
3578         (get_device_compdc): INLINE ==> static inline
3579         * *.[ch]: Change INLINE to INLINE_HEADER globally.
3580         find -name '*.h' | \
3581         xargs global-replace \
3582         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
3583
3584 2000-02-25  Andy Piper  <andy@xemacs.org>
3585
3586         * window.c (window_top_frame_gutter_height): new function.
3587         (window_top_window_gutter_height): ditto.
3588         (window_top_gutter_height): use them.
3589         (window_bottom_frame_gutter_height): new function.
3590         (window_bottom_window_gutter_height): ditto.
3591         (window_bottom_gutter_height): use them.
3592         (window_left_window_gutter_width): new function.
3593         (window_left_frame_gutter_width): ditto.
3594         (window_left_gutter_width): use them.
3595         (window_right_window_gutter_width): new function.
3596         (window_right_frame_gutter_width): ditto.
3597         (window_right_gutter_width): use them.
3598         (window_pixel_height): new function. calulate window pixel height
3599         with frame gutter involvement.
3600         (Fsplit_window): calculate new sizes taking frame gutters into
3601         account.
3602         (window_char_height_to_pixel_height): don't include frame gutters.
3603         (window_char_height): use window_pixel_height.
3604         (window_pixheight): rename from window_pixel_height.
3605         (change_window_height): use it.
3606         (window_pixel_height_to_char_height): don't include frame gutters.
3607         (window_char_width_to_pixel_width): ditto.
3608
3609 2000-02-25  Andy Piper  <andy@xemacs.org>
3610
3611         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
3612         if it is.
3613
3614 2000-02-24  Martin Buchholz  <martin@xemacs.org>
3615
3616         * alloc.c (staticpro):
3617         (staticpro_nodump):
3618         (dumpstruct):
3619         (dumpopaque):
3620         (pdump_wire):
3621         (pdump_wire_list):
3622         (compact_string_chars):
3623         (pdump_dump_wired):
3624         Convert:  if (foo) abort();  ==>  assert (! foo);
3625
3626         * eldap.c (Fldap_search_basic):
3627         (Fldap_add):
3628         (Fldap_modify):
3629         (Fldap_delete):
3630         Fix compiler warnings, and possible crashes if (random) return
3631         value were to be used.
3632
3633 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3634
3635         * device-msw.c: Workaround ResetDC failure.
3636
3637         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
3638         applying a devmode.
3639
3640         * redisplay-msw.c (get_frame_dc): Added start_page_p.
3641         (mswindows_text_width): Do not start printer page.
3642
3643         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
3644
3645         * glyphs-msw.c: Added image methods to msprinter console and
3646         msprinter-specific image instantiation.
3647
3648 2000-02-20  Mike Alexander  <mta@arbortext.com>
3649
3650         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
3651         to avoid crashes when selection-sets-clipboard is on
3652         (mswindows_own_selection): ditto
3653
3654 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3655
3656         * glyphs-msw.c:
3657         * redisplay-msw.c (get_frame_dc):
3658         (get_frame_compdc):
3659         * console-msw.h:
3660         * device-msw.c (mswindows_init_device):
3661         (mswindows_delete_device):
3662         (msprinter_init_device):
3663         (msprinter_delete_device):
3664         * frame-msw.c (mswindows_init_frame_1):
3665         (mswindows_delete_frame):
3666         (msprinter_init_frame_3):
3667         (msprinter_delete_frame): Move compatible DC to device object from
3668         frame object, for both mswindows and msprinter. Only one at a time
3669         is needed, it is a real waste to have one per frame!
3670
3671 2000-02-23  Andy Piper  <andy@xemacs.org>
3672
3673         * glyphs.c: add dynamic width and height elements.
3674         (image_instance_equal): ditto.
3675
3676         * glyphs-widget.c (widget_query_geometry): calculate width and
3677         height dynamically if required.
3678         (initialize_widget_image_instance): initialize dynamic dimensions.
3679         (widget_instantiate): pick-up dynamic dimensions.
3680
3681         * glyphs.h (struct Lisp_Image_Instance): add width and height for
3682         dynamic determination. Add appropriate macros.
3683
3684         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
3685         dimensions safe.
3686         (WINDOW_GUTTER_SIZE): ditto.
3687         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
3688
3689         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
3690         inline.
3691         (get_frame_dc): ditto.
3692
3693         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
3694         here.
3695
3696 2000-02-23  Martin Buchholz <martin@xemacs.org>
3697
3698         * XEmacs 21.2.31 is released.
3699
3700 2000-02-22  Ben Wing <ben@xemacs.org>
3701
3702         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
3703
3704 2000-02-22  Andy Piper  <andy@xemacs.org>
3705
3706         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
3707
3708 2000-02-21  Mike Sperber <mike@xemacs.org>
3709
3710         * .dbxrc:
3711         * .gdbinit:
3712         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
3713         variables.
3714
3715 2000-02-21  Mike Sperber <mike@xemacs.org>
3716
3717         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
3718
3719 2000-02-21  Martin Buchholz <martin@xemacs.org>
3720
3721         * XEmacs 21.2.30 is released.
3722
3723 2000-02-20  Martin Buchholz  <martin@xemacs.org>
3724
3725         Performance hacking.
3726         * *.c (syms_of_*):
3727         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
3728         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
3729         * emacs.c (main_1):
3730         * lisp.h (DEFUN):
3731         * console.c (DEFVAR_CONSOLE_LOCAL_1):
3732         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
3733         * symeval.h (DEFVAR_SYMVAL_FWD):
3734         * symbols.c (guts_of_unbound_marker):
3735         Make all c_readonly objects also lisp_readonly and marked for life.
3736         * lrecord.h (struct lrecord_implementation):
3737         Document flags better.
3738         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
3739         * lrecord.h (DECLARE_LRECORD):
3740         * lrecord.h (XSETRECORD):
3741         * lrecord.h (RECORDP):
3742         * lrecord.h (RECORD_TYPEP):
3743         * lrecord.h (RECORD_MARKER): New.
3744         * lrecord.h (error_check_*):
3745         * lrecord.h (CONCHECK_NONRECORD):
3746         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
3747         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
3748         * lrecord.h (set_lheader_implementation):
3749         * lrecord.h (enum lrecord_type): New.
3750         * symeval.h (SYMBOL_VALUE_MAGIC_P):
3751         * alloc.c (disksave_object_finalization_1):
3752         * alloc.c (mark_object):
3753         * alloc.c (lrecord_type_index):
3754         * alloc.c (tick_lcrecord_stats):
3755         * alloc.c (Fgarbage_collect):
3756         * alloc.c (init_alloc_once_early):
3757         * alloc.c (pdump_load):
3758         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
3759         * alloc.c (lrecord_type_index): Delete.
3760         Make lisp object type indexes be constant.
3761           Makes (byte-compile) 5% faster.
3762         Put all marker functions into their own array.
3763           Makes (garbage-collect) 5% faster.
3764         Optimize SYMBOL_VALUE_MAGIC_P.
3765           Makes (byte-compile) 2-3% faster.
3766         * config.h.in (gc_checking_assert): New.
3767         * alloc.c: Use gc_checking_assert().
3768         * .dbxrc: Make compatible with new object type implementation.
3769         * .gdbinit: Make compatible with new object type implementation.
3770         * alloc.c: Delete all symbols defined only for debugging, such as
3771         Lisp_Type_Vector and lrecord_charset.
3772
3773 2000-02-21  Andy Piper  <andy@xemacs.org>
3774
3775         * gui-msw.c (Fmswindows_shell_execute): fix file location
3776         problems.
3777
3778         * buffer.c (Fkill_buffer): remove buffer from alist buffer
3779         unshowing so that set_window_buffer doesn't undo
3780         kill_buffer_hook's hard work.
3781
3782         * glyphs-widget.c (tab_control_query_geometry): don't count the
3783         first item when calculating geometry.
3784
3785         * glyphs.c (map_subwindow): remove redundant code.
3786         (update_frame_subwindows): be more circumspect about when to
3787         update subwindows.
3788
3789         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
3790         when items haven't changed. Update faces if faces have changed as
3791         well as just the widget face.
3792         (x_tab_control_update): Update faces if faces have changed as well
3793         as just the widget face.
3794
3795 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3796
3797         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
3798         registration.
3799         (build_syscolor_string): Use mswindows_color_to_string to try to
3800         get a named color.
3801         (mswindows_device_system_metrics): Reverse the foreground and
3802         background colors so that they match the documentation.
3803
3804         * objects-msw.c: (mswindows_X_color_map): tweak some values so
3805         they match the default Windows palette.
3806         (mswindows_color_to_string): New function.
3807
3808 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3809
3810         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
3811
3812 2000-02-18  Olivier Galibert  <galibert@pobox.com>
3813
3814         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
3815         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
3816
3817         * symbols.c (init_symbols_once_early): Removed obsolete
3818         DATA_SEG_BITS related kludge.
3819         (defvar_magic): Ditto.
3820
3821         * malloc.c: Removed obsolete DATA_SEG_BITS
3822         * ralloc.c: Ditto.
3823         * mem-limits.h: Ditto.
3824
3825         * Makefile.in.in: Removed obsolete HAVE_SHM
3826         * emacs.c: Ditto.
3827
3828 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3829
3830         *  device-msw.c (mswindows_delete_device): Free DDE string
3831         handles.
3832
3833 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3834
3835         * keymap.c (get_keyelt):
3836         * unexnt.c (unexec):
3837         * vm-limit.c (memory_warnings):
3838         * ntheap.c (recreate_heap):
3839         * ntheap.h (UNINIT_PTR):
3840         * select-msw.c (Fmswindows_get_clipboard):
3841         (Fmswindows_set_clipboard):
3842         * objects-msw.h (MSWINDOWS_BAD_HFONT):
3843         * objects-msw.c:
3844         * menubar-msw.c (displayable_menu_item):
3845         * glyphs-msw.c:
3846         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
3847         * sysdep.c (sys_subshell):
3848         * process-nt.c (nt_create_process):
3849         * nt.c (normalize_filename):
3850         (dostounix_filename):
3851         (unixtodos_filename):
3852         * ntproc.c (win32_executable_type):
3853         * ntplay.c (play_sound_data_1):
3854         (play_sound_file):
3855         * editfns.c (get_home_directory):
3856         * event-msw.c (struct winsock_stream):
3857         (mswindows_dde_callback):
3858         * device-msw.c (msprinter_init_device):
3859         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
3860
3861         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
3862         mswindows_clear_toolbar were swapped!
3863
3864         * objects-msw.c:(colormap_t):
3865         (fontmap_t):
3866         * emacs.c (struct standard_args): Fixed const jumble.
3867
3868         * glyphs-widget.c (update_widget): Fixed comparison notation.
3869
3870         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
3871
3872         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
3873         __declspec(noreturn) syntax.
3874
3875 2000-02-19  Martin Buchholz  <martin@xemacs.org>
3876
3877         * eldap.c (Fldap_open):
3878         (Fldap_search_basic):
3879         (Fldap_add):
3880         (Fldap_modify):
3881         Use new coding system conversion macros.
3882
3883 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
3884
3885         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
3886
3887 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3888
3889         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
3890         (Fldap_add, Fldap_modify, Fldap_delete): New functions
3891
3892         * eldap.c (Qadd, Qreplace): New constant symbols
3893         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
3894         interruptions by XEmacs signals
3895         Remove unnecessary calls to slow_down_interrupts and
3896         speed_up_interrupts
3897         (Fldap_search_basic): Renamed from Fldap_search_internal
3898         Added new optional parameter VERBOSE that triggers the
3899         display of progress messages
3900         Remove unnecessary calls to slow_down_interrupts and
3901         speed_up_interrupts
3902         LDAP result code analysis rewritten
3903         (Fldap_add, Fldap_modify, Fldap_delete): New functions
3904         (syms_of_eldap): Define the new symbols and functions
3905
3906
3907 2000-02-17  Martin Buchholz  <martin@xemacs.org>
3908
3909         * realpath.c: Determine PATH_MAX maximally portably.
3910
3911         * insdel.c (bytecount_to_charcount): Optimize.
3912         The function used to be optimized for entirely ASCII sequences.
3913         Now it is optimized for successive characters from the same
3914         charset.  This also wins big for _mostly_ ASCII sequences.
3915
3916         * fileio.c (Ffile_truename): convert return from realpath() using
3917         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
3918         - Rewrite GCPROing slightly.
3919
3920         * sysdep.c (sys_open): Do filename conversion, like all other
3921         sys_* functions.  Fixes bug:
3922         (let ((file-name-coding-system 'iso-8859-2))
3923            (write-region x y latin2-name))
3924         ==> writes filename using internal encoding.
3925
3926 2000-02-18  Martin Buchholz  <martin@xemacs.org>
3927
3928         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
3929         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
3930         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
3931         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
3932         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
3933         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
3934         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
3935         (CONST_IF_NOT_DEBUG): Delete.
3936         * alloc.c (this_one_is_unmarkable): Delete.
3937         (mark_object): Don't check for this_one_is_unmarkable. Use the
3938         c_readonly flag instead.
3939         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
3940
3941 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3942
3943         * event-msw.c (mswindows_drain_windows_queue):
3944         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
3945         away redundant repaint events.
3946
3947 2000-02-17  Andy Piper  <andy@xemacs.org>
3948
3949         * redisplay.h: declare mark_redisplay_structs.
3950
3951         * redisplay.c (redisplay_window):
3952         (redisplay_frame): don't check subwindows_state_changed.
3953         (mark_redisplay): mark gutters here.
3954
3955         * glyphs.c: (instantiate_image_instantiator): always layout if we
3956         haven't done so already.
3957         (allocate_image_instance): don't mark as dirty.
3958         (update_subwindow): bind inhibit_quit.
3959
3960         * gutter.c (mark_gutters): new function.
3961
3962         * glyphs-x.c (x_update_widget): Always resize to get round a
3963         widget bug.
3964
3965         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
3966         breaking absolutely everything.
3967
3968         * gutter.h: declare mark_gutters.
3969
3970 2000-02-16  Martin Buchholz <martin@xemacs.org>
3971
3972         * XEmacs 21.2.29 is released.
3973
3974 2000-02-15  Olivier Galibert  <galibert@pobox.com>
3975
3976         * fns.c (size_bit_vector): Fix computation of the size.
3977
3978 2000-02-15  Martin Buchholz  <martin@xemacs.org>
3979
3980         * *.[ch]: Change CONST to const globally.
3981         find -name '*.[ch]' | \
3982         xargs global-replace \
3983         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
3984         - Remove vestigial references to CONST_IS_LOSING
3985
3986 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3987
3988         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
3989         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
3990         events instead of dispatching them directly.
3991         (mswindows_handle_paint): New function to do repainting.
3992         (mswindows_wnd_proc):
3993         (emacs_mswindows_handle_magic_event): Call above function.
3994
3995 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3996
3997         * objects-msw.c (mswindows_create_font_variant): Return the new
3998         font handle.
3999         (initialize_font_instance): Get font metrics from the underlined
4000         variant of the font to cope with the case where the underlined
4001         font has a bigger descent.
4002
4003 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
4004
4005         * gui.c (gui_item_accelerator): Return the first underlined
4006         character in item name.
4007
4008 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4009
4010         * lisp.h: Added Qprinter.
4011
4012         * general.c (syms_of_general): Initialized it.
4013
4014         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
4015         (get_frame_dc):
4016         (get_frame_compdc): Made inline.
4017
4018         * console.h (struct console_methods): Added eject_page method.
4019
4020         * frame.h: Added FRAME_DISPLAY_P and friends.
4021         Aligned backslahes in many macros in more readable fashion.
4022         Added page_number to struct frame, and an accessor macro
4023         for it.
4024
4025         * defice.h: Added DEVICE_DISPLAY_P and friends.
4026
4027         * device.c (Fdevice_printer_p): Used these.
4028
4029         * frame.c (allocate_frame_core): Initialize page number.
4030         (Fprint_job_page_number):
4031         (Fprint_job_eject_page): Implemented.
4032
4033         * frame-msw.c (msprinter_eject_page): Added method.
4034         (msprinter_start_page): Added.
4035
4036         * window.c (Fwindow_truncated_p): Fixed docstring.
4037         (Fwindow_last_line_visible_height): Implemented.
4038
4039 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4040
4041         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
4042
4043 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
4044
4045         * syntax.c (scan_words): Always advance at least one character.
4046
4047 2000-02-13  Andy Piper  <andy@xemacs.org>
4048
4049         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
4050         to make sure the glyph is in the cachels.
4051
4052         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
4053         global image instance flag.
4054         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
4055         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
4056
4057         * glyphs.c (allocate_image_instance): set dirty bits correctly.
4058         (Fset_image_instance_property): mark layout as changed.
4059         (invalidate_glyph_geometry_maybe): mark layout as changed.
4060         (glyph_width): use new NEEDS_LAYOUT macro.
4061         (glyph_ascent): ditto.
4062         (glyph_descent): ditto.
4063         (glyph_height): ditto.
4064         (image_instance_layout): mark layout as clean after laying out.
4065         (update_subwindow): don't mark layout as clean here.
4066
4067         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
4068         should no longer be needed.
4069
4070         * glyphs-x.c (x_update_widget): sanitize asserts.
4071         (x_finalize_image_instance): sanitize assignment to widgets.
4072
4073         * glyphs-widget.c (widget_instantiate): don't need to clear the
4074         layout flag here.
4075
4076 2000-02-13  Martin Buchholz  <martin@xemacs.org>
4077
4078         * sysdep.c (getcwd): Use standard prototype.
4079         * sysdep.h (getcwd): Use standard prototype.
4080
4081         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
4082         (sequence, start, end).
4083         Remove redundant type checking.
4084         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
4085         view of `caller-protects') to avoid a crash where the real fix was
4086         found elsewhere.
4087
4088 2000-02-12  Martin Buchholz  <martin@xemacs.org>
4089
4090         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
4091
4092         * s/sol2.h: Remove feature macro initialization.
4093
4094         * alloc.c (alloc_lcrecord): Add more type checking assertions.
4095         (vector_hash): New.  Code from internal_hash.
4096         * lrecord.h:
4097         Fix up allocation subsystem comments.
4098
4099         * config.h.in: Add __EXTENSIONS__ for Solaris.
4100
4101         * systime.h (EMACS_GETTIMEOFDAY): New.
4102         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
4103         Remove Solaris-specific code.
4104         Use void* for the (ignored) second arg for gettimeofday().
4105
4106         * elhash.c (hash_table_hash): Implement it, finally.
4107         * elhash.c:  Use hashcode_t.
4108
4109         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
4110         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
4111
4112         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
4113         * fns.c (size_bit_vector):
4114         * alloc.c (size_vector):
4115         (make_vector_internal):
4116         (make_bit_vector_internal):
4117         (sweep_bit_vectors_1):
4118         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
4119
4120 2000-02-10  Martin Buchholz  <martin@xemacs.org>
4121
4122         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
4123         Include strings.h to avoid warnings for bzero and strcasecmp.
4124
4125 2000-02-10  Olivier Galibert  <galibert@pobox.com>
4126
4127         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
4128         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
4129
4130         * fns.c (size_bit_vector): New.  Declare bit vectors as a
4131         sequence.
4132
4133 2000-02-10  Olivier Galibert  <galibert@pobox.com>
4134
4135         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
4136         use a value field instead.
4137         (symbol_value_forward_forward): Use value field.
4138         (DEFVAR_SYMVAL_FWD): Use value field.
4139         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
4140         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
4141         (DEFVAR_CONST_INT): Ditto.
4142         (DEFVAR_BOOL): Ditto.
4143         (DEFVAR_CONST_BOOL): Ditto.
4144         (DEFVAR_INT_MAGIC): Ditto.
4145         (DEFVAR_BOOL_MAGIC): Ditto.
4146
4147         * symbols.c (guts_of_unbound_marker): Use value field.
4148         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
4149         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
4150
4151         * lisp.h: Declare dumpopaque and noninteractive1.
4152
4153         * alloc.c (dumpopaque): Added.
4154         (pdump_dump_opaquevec): Added.
4155         (pdump): Call pdump_dump_opaquevec to dump opaque data.
4156         (pdump_load): Reload opaque data.  Sync noninteractive1 with
4157         noninteractive.
4158
4159 2000-02-10  Andy Piper  <andy@xemacs.org>
4160
4161         * glyphs.c (image_instance_layout): if the size changes, mark it
4162         as such.
4163
4164         * redisplay-output.c (redisplay_output_layout): Update the
4165         subwindow here.
4166         (redisplay_output_subwindow): ditto.
4167
4168         * glyphs.c (update_subwindow): make sure we reset flags for
4169         layouts as well as everything else.
4170
4171         * glyphs-widget.c (layout_layout): don't need to set the instances
4172         dimensions here.
4173
4174 2000-02-09  Martin Buchholz  <martin@xemacs.org>
4175
4176         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
4177         not HAVE_DLOPEN, which is a lower-level thing.
4178
4179         * .cvsignore: Ignore gmon.out
4180
4181 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
4182
4183         * .cvsignore: Ignore portable dumper xemacs.dmp file
4184
4185 2000-02-09  Andy Piper  <andy@xemacs.org>
4186
4187         * redisplay-output.c (redisplay_output_layout): be more clever
4188         about when we output based on the changed flags.
4189
4190         * glyphs.h (struct image_instantiator_methods): add update_method.
4191         (struct Lisp_Image_Instance): add changed flags. Declare new
4192         macros for manipulating them.
4193
4194         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
4195         (image_instance_parent_glyph): find an image_instance's parent
4196         glyph or image_instance.
4197         (image_instance_layout): mark the size as changed.
4198         (set_image_instance_dirty_p): new function. mark an image
4199         instance, plus all of its parents, as dirty.
4200         (Fset_image_instance_property): use it.
4201         (Fglyph_animated_timeout_handler): use it.
4202         (update_subwindow): call update_widget and device methods for
4203         update_subwindow. Mark all changed flags as clean.
4204         (Fresize_subwindow): mark size as changed.
4205
4206         * glyphs-x.c (x_finalize_image_instance): try and detect gc
4207         failures.
4208         (x_update_subwindow): only resize subwindows here.
4209         (x_update_widget): new function. Update all changed properties of
4210         a widget.
4211         (x_resize_subwindow): deleted.
4212         (x_widget_set_property): deleted.
4213         (x_progress_gauge_set_property): deleted.
4214         (x_progress_gauge_update): new function. Implement recorded
4215         changes.
4216         (x_tab_control_update): ditto.
4217         (x_tab_control_set_property): deleted.
4218         (console_type_create_glyphs_x): declare new functions.
4219         (image_instantiator_format_create_glyphs_x): ditto.
4220
4221         * glyphs-widget.c (widget_set_property): mark text changed.
4222         (update_widget): new function. Update properties of a widget.
4223         (widget_instantiate): for layouts make sure we set their
4224         children's parent correctly.
4225         (tab_control_set_property): new function. Record changes that will
4226         take place under redisplay's control.
4227         (progress_gauge_set_property): ditto.
4228         (image_instantiator_progress_guage): declare new functions.
4229         (image_instantiator_tab_control): ditto.
4230
4231         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
4232         now.
4233         (mswindows_update_widget): new function. Update all properties on
4234         a widget that have changed.
4235         (mswindows_button_update): new function. Update a button's set
4236         state.
4237         (mswindows_tab_control_update): new function. Update the items in
4238         a tab.
4239         (mswindows_tab_control_set_property): deleted.
4240         (mswindows_progress_gauge_update): new function. Update the
4241         progress gauge's progress.
4242         (mswindows_widget_set_property): deleted. This is all done
4243         asynchronously now.
4244         (mswindows_progress_gauge_set_property): ditto.
4245         (console_type_create_glyphs_mswindows): declare new methods.
4246         (image_instantiator_format_create_glyphs_mswindows): ditto.
4247
4248         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
4249         (msprinter_set_frame_properties): ditto.
4250
4251         * console.h (struct console_methods): Add update_widget_method.
4252
4253 2000-02-09  Andy Piper  <andy@xemacs.org>
4254
4255         * gui-msw.c (Fmswindows_shell_execute): Make
4256         mswindows-shell-execute industrial strength.
4257
4258 2000-02-08  Martin Buchholz  <martin@xemacs.org>
4259
4260         * lrecord.h: Make macro argument `props' match member function `plist'.
4261         * fns.c (Fget):
4262         * fns.c (Fput):
4263         * fns.c (Fremprop):
4264         * fns.c (Fobject_plist):
4265         * alloc.c:
4266         * symbols.c:
4267         Object property list frobbing cleanup.
4268         - Allow any lisp object (compared with `eq'), not just symbols, as
4269           keys in object plists.
4270         - Move symbol plist frobbing into symbols.c, where it belongs.
4271         - Move string plist frobbing into alloc.c, where it belongs.
4272         - Everything's an lrecord now, so no need to test for symbolp, etc.
4273         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
4274
4275         * extents.c: Reorder code to remove declarations.
4276
4277         * frame.h (store_in_alist): Remove useless declaration.
4278
4279 2000-02-07  Martin Buchholz  <martin@xemacs.org>
4280
4281         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
4282         * config.h.in: Add HAVE_XCONVERTCASE.
4283
4284 2000-02-07  Andy Piper  <andy@xemacs.org>
4285
4286         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
4287         it breaks many things.
4288
4289 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
4290
4291         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
4292         actually can start a common comment type.
4293         * src/syntax.h (SYNTAX_END_P): ditto for end.
4294
4295 2000-02-07  Martin Buchholz <martin@xemacs.org>
4296
4297         * XEmacs 21.2.28 is released.
4298
4299 2000-02-06  Martin Buchholz  <martin@xemacs.org>
4300
4301         * event-Xt.c (x_keysym_to_character): New.
4302         (maybe_define_x_key_as_self_inserting_character): New.
4303         (x_has_keysym): New.
4304         Auto-define all keys on the keyboard as self-insert-key.
4305
4306 2000-02-02  Martin Buchholz  <martin@xemacs.org>
4307
4308         * menubar.c (vars_of_menubar): A small code simplification.
4309
4310         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
4311
4312         * ExternalShell.c:
4313         * ExternalClient.c:
4314         * EmacsShell-sub.c:
4315         * EmacsManager.c:
4316         * EmacsFrame.c:
4317         Use consistent style for specifying X resources.
4318
4319         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
4320         This makes (dontusethis-set-symbol-value-handler) actually usable.
4321
4322         * lrecord.h (lrecord_decription_type):
4323         * alloc.c (pdump_register_sub):
4324         (pdump_dump_data):
4325         (pdump_reloc_one):
4326         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
4327         Comply with XEmacs coding style.
4328         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
4329         args, and XD_LISP_OBJECT_ARRAY with 3 args.
4330
4331         * keymap.c (Faccessible_keymaps):
4332         Make (accessible-keymaps map "\C-h") do the Right Thing.
4333         Make (accessible-keymaps map []) do the Right Thing.
4334         Make (accessible-keymaps map "") do the Right Thing.
4335         (check_keymap_definition_loop): New function.
4336         (keymap_store_internal): Keep luser from shooting self in foot,
4337           via (define-key ctl-x-4-map "p" global-map).
4338         Remove fullness slot from struct Lisp_Keymap, since hash tables
4339         are now reliable.
4340         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
4341
4342 2000-01-30  Martin Buchholz  <martin@xemacs.org>
4343
4344         * redisplay.c (init_redisplay): Fix small memory leak.
4345         * elhash.h:
4346         * elhash.c (pdump_reorganize_hash_table):
4347         Rename from reorganize_hash_table. Change prototype.
4348         Reuse the original memory for hentries.  Save 100k.
4349         * alloc.c (PDUMP_READ): new macro.
4350         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
4351         * alloc.c: No need to #ifndef before #undef.
4352
4353         * print.c: Allow debug_print() to print readably by modifying
4354         debug_print_readably.  Use consistent variable names.
4355
4356         * .dbxrc: Try to get things to work even if stopped in a function
4357         without source available by explicitly specifying source files.
4358 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4359
4360         * unexnt.c (_start): Removed bogus code which caused loading heap
4361         from differrent executable file.
4362         Removed bogus assignment to _fmode, which caused inconsistencies.
4363
4364 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4365
4366         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
4367         Have spawnve encapsulation regard DONT_ENCAPSULATE.
4368         Do not preliminary `#define signal sigset'.
4369
4370         * systime.h: Do not prototype environ on windows nt and cygwin,
4371         this conflicts with system header.
4372
4373         * syssignal.h: Use correct define for WINDOWSNT
4374
4375         * sysdep.h: Do not prototype environ on windows nt, this conflicts
4376         with system header.
4377
4378         * sysdep.c (near start of file): Fixed commentary and rearranged
4379         ifdefs in readable order.
4380         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
4381         (start_of_text):
4382         (end_of_text):
4383         (end_of_data): Do not compile in if using PDUMP.
4384
4385         * symsinit.h: Protptyped vars_of_nt().
4386
4387         * ntproc.c (windows9x_p): Added, instead of os_subtype.
4388         (find_child_console): Use it.
4389         (sys_kill): Use it.
4390
4391         * ntheap.h: Do not extern os_subtype.
4392
4393         * ntheap.c (cache_system_info): Do not cache unneeded:
4394         nt_major_version, nt_minor_version and os_subtype.
4395         (recreate_heap): Do not compile in when PDUMPing.
4396
4397         * nt.c (geteuid and friends): Use the new varibale
4398         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
4399         (init_user_info): Removed the above mentioned hackery.
4400         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
4401         stat has been fixed in the C runtime.
4402         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
4403
4404         * file-coding.c (struct file_coding_dump): Do not define
4405         ucs_to_mule_table in the struct if not MULE.
4406         (struct struct lrecord_description fcd_description_1): Do not dump
4407         the above.
4408
4409         * emacs.c (main_1): Call vars_of_nt().
4410         (right before Fdump_emacs_data): Don't need lastfile if using both
4411         portabe dumper and system malloc.
4412
4413         * alloc.c (Fmemory_limit): Conditionalized out.
4414         (pdump): Use OPEN_BINARY for the portable dump file.
4415         (pdump_load): Ditto.
4416
4417 2000-02-02  Mike Alexander  <mta@arbortext.com>
4418
4419         * nt.c (convert_time): Set tm_isdst before calling mktime and
4420         avoid calling it at all if the compiler supports 64 bit integers.
4421         Also initialize utc_base_ft before using it.
4422
4423 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
4424
4425         * frame.c (change_frame_size_1): Take f->internal_border_width
4426         into consideration when calculating the width of the frame.
4427
4428 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4429
4430         * window.c (frame_min_height):
4431         (frame_size_valid_p):
4432         (frame_pixsize_valid_p): Added.
4433         (check_frame_size): Generalized.
4434
4435         * window.h: Prototyped the above.
4436
4437         * lisp.h:
4438         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
4439         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
4440         Deleted Vwin32_* and Vbinary_process_* unused variables.
4441
4442         * device-msw.c (msprinter_init_device): Do not get printer font
4443         list; Added DEVMODE functions.
4444
4445         * frame-msw.c: Added lots of printer code.
4446
4447         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
4448         general.c.
4449
4450         * console-msw.h: Added more msprinter device private slots.
4451
4452 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4453
4454         * event-msw.c (key_needs_default_processing_p): Added.
4455         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
4456
4457 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4458
4459         * glyphs.c (image_instance_layout): Mark image instance as clean
4460         after layout.
4461         (glyph_dirty_p): Removed redundant function.
4462         (invalidate_glyph_geometry_maybe): Added.
4463         (update_glyph_cachel_data): Call it.
4464
4465         * glyphs.h: Prototyped it.
4466
4467         * redisplay.c (add_glyph_rune): Call it.
4468         (redisplay_window): Reset glyphs cachels when frame faces has
4469         changed, thus forcing recomputation of built-in border glyphs.
4470
4471 2000-01-30  Martin Buchholz  <martin@xemacs.org>
4472
4473         * Makefile.in.in: Make portable dumper and purify play well together.
4474         Add imperfect, but better than nothing, support for pdump.
4475         Remove xemacs.dmp when temacs is re-generated.
4476         Don't ignore errors when dumping xemacs.
4477
4478         * symbols.c (maybe_call_magic_handler): Remove one magic number.
4479
4480 2000-01-28  Andy Piper  <andy@xemacs.org>
4481
4482         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
4483         (setup_normal_frame): ditto.
4484         (setup_frame_without_minibuffer): ditto.
4485         (setup_minibuffer_frame): ditto.
4486         (delete_frame_internal): ditto.
4487         (Fmake_frame_invisible): ditto.
4488         (Ficonify_frame): ditto.
4489
4490         * window.h: change Fset_window_buffer signature.
4491
4492         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
4493         (Fset_window_buffer): allow recording of buffer if the window is
4494         the selected window.
4495         (window_loop): Use new Fset_window signature.
4496
4497 2000-01-23  Daniel Pittman  <daniel@danann.net>
4498
4499         * config.h.in: Added template for `HAVE_ATHENA_3D'
4500
4501 2000-01-29  Andy Piper  <andy@xemacs.org>
4502
4503         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
4504
4505         * gutter.c (output_gutter): Don't output if the window isn't live.
4506
4507 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4508
4509         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
4510         of 01/12/00: Moved SetFocus back here where it belongs.
4511
4512 2000-01-23  Andy Piper  <andy@xemacs.org>
4513
4514         * s/cygwin32.h: declare printer things.
4515
4516 2000-01-26  Andy Piper  <andy@xemacs.org>
4517
4518         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
4519         Alexander.
4520
4521 2000-01-24  Andy Piper  <andy@xemacs.org>
4522
4523         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
4524         (mswindows_button_instantiate): Make sure glyph is a pixmap.
4525
4526         * glyphs-widget.c (widget_instantiate): Avoid shadows.
4527
4528         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
4529
4530         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
4531
4532         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
4533         (mswindows_output_display_block): Avoid local shadows.
4534
4535         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
4536         (mswindows_enqueue_mouse_button_event): ditto.
4537         (mswindows_handle_gui_wm_command): remove declaration.
4538
4539         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
4540         warnings.
4541
4542         * console-msw.h: Avoid shadows.
4543         (mswindows_get_toolbar_button_text):
4544         (emacs_mswindows_create_stream_pair):
4545         (emacs_mswindows_delete_stream_pair):
4546         (mswindows_handle_toolbar_wm_command): declare.
4547
4548         * device-msw.c (build_syscolor_string): Avoid shadows.
4549
4550 2000-01-23  Andy Piper  <andy@xemacs.org>
4551
4552         * glyphs-widget.c (widget_instantiate): reverse the items for
4553         layouts so that children are in the expected order.
4554
4555 2000-01-28  Martin Buchholz  <martin@xemacs.org>
4556
4557         * ralloc.c: safe_bcopy ==> memmove
4558         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
4559         * s/msdos.h: Remove BCOPY macros.
4560         * insdel.c (gap_right): Remove BCOPY conditional code.
4561         * insdel.c (gap_left): Remove BCOPY conditional code.
4562         XEmacs demands a working ANSI C compiler - hence memmove.
4563
4564         * regex.c (regex_compile): Remove accidental use of trigraphs.
4565
4566 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4567
4568         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
4569         event timestamp.
4570
4571 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4572
4573         * event-msw.c (mswindows_drain_windows_queue): Added the
4574         parameter.
4575         (mswindows_need_event): Commented the call to
4576         mswindows_drain_windows_queue().
4577         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
4578         only.
4579
4580         * console-msw.h: Moved a few function prototypes here from
4581         event-msw.c.
4582
4583         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
4584         parameter from unsigned short to unsigned long.
4585         (Fmswindows_shell_execute): Added return value.
4586
4587 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
4588
4589         * sysdep.c (init_system_name):
4590           process-unix.c (unix_canonicalized_host_name):
4591         Don't call freeaddrinfo() if getaddrinfo() fails.
4592
4593         * process-unix.c (unix_open_unix_network_stream):
4594         Moved the code to get a port # into address loop.
4595
4596 2000-01-27  Martin Buchholz  <martin@xemacs.org>
4597
4598         * buffer.c (reinit_vars_of_buffer):
4599         The right place to initialize conversion_in_dynarr and
4600         conversion_out_dynarr.
4601
4602         * alloc.c (pdump): Use the real open() till sys_open() is functional.
4603
4604         * process-unix.c (unix_canonicalize_host_name): Muleize.
4605         (unix_open_network_stream): Muleize.
4606
4607         * buffer.h: Fix up prototypes for ralloc.c functions.
4608
4609 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
4610         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
4611         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
4612                 instead of gethostbyname()
4613         * process-unix.c: In unix_canonicalize_host_name() and
4614                 unix_open_network_stream(), add code to use getaddrinfo()
4615                 instead of gethostbyname().
4616
4617 2000-01-27  Daniel Pittman <daniel@danann.net>
4618
4619         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
4620         libs when built with flat Athena.
4621
4622 2000-01-27  Martin Buchholz  <martin@xemacs.org>
4623
4624         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
4625         Use coding standards for function prototypes.
4626
4627 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4628
4629         * dialog-msw.c (push_lisp_string_as_unicode):
4630         * doc.c (unparesseuxify_doc_string):
4631         * dired.c (Fuser_name_completion_1):
4632         * dired.c (Fuser_name_all_completions):
4633         * dired.c (free_user_cache):
4634         * dired.c (user_name_completion):
4635         * console-x.c (get_display_arg_connection):
4636         * minibuf.c (clear_echo_area_internal):
4637         * minibuf.c (echo_area_append):
4638         * eldap.c (Fldap_open):
4639         * eldap.c (Fldap_search_internal):
4640         * frame-x.c (x_set_frame_text_value):
4641         * frame-x.c (x_set_frame_properties):
4642         * frame-x.c (x_create_widgets):
4643         * redisplay-tty.c (term_get_fkeys_1):
4644         * objects-x.c (x_parse_nearest_color):
4645         * objects-x.c (x_valid_color_name_p):
4646         * objects-x.c (x_initialize_font_instance):
4647         * objects-x.c (x_list_fonts):
4648         * objects-x.c (x_find_charset_font):
4649         * tooltalk.c (Fadd_tooltalk_message_arg):
4650         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
4651         * tooltalk.c (Fadd_tooltalk_pattern_arg):
4652         * process-unix.c (unix_create_process):
4653         * ntproc.c (sys_spawnve):
4654         * sound.c (Fplay_sound_file):
4655         * sound.c (Fplay_sound):
4656         * buffer.c (init_initial_directory):
4657         * buffer.c (init_buffer):
4658         * editfns.c (init_editfns):
4659         * editfns.c (Ftemp_directory):
4660         * editfns.c (Fuser_full_name):
4661         * editfns.c (uncache_home_directory):
4662         * editfns.c (get_home_directory):
4663         * editfns.c (Fuser_home_directory):
4664         * editfns.c (Fformat_time_string):
4665         * editfns.c (Fcurrent_time_string):
4666         * gui-x.c (button_item_to_widget_value):
4667         * database.c (Fopen_database):
4668         * event-Xt.c (x_to_emacs_keysym):
4669         * event-Xt.c (x_event_to_emacs_event):
4670         * event-Xt.c (describe_event_window):
4671         * event-msw.c (mswindows_wnd_proc):
4672         * glyphs-eimage.c (jpeg_instantiate):
4673         * glyphs-eimage.c (gif_instantiate):
4674         * glyphs-eimage.c (png_instantiate):
4675         * glyphs-eimage.c (tiff_instantiate):
4676         * glyphs-x.c (xbm_instantiate_1):
4677         * glyphs-x.c (x_xbm_instantiate):
4678         * glyphs-x.c (x_xface_instantiate):
4679         * glyphs-x.c (autodetect_instantiate):
4680         * glyphs-x.c (cursor_font_instantiate):
4681         * glyphs-x.c (x_widget_instantiate):
4682         * glyphs-x.c (x_widget_set_property):
4683         * glyphs-x.c (x_widget_property):
4684         * glyphs-x.c (BUILD_GLYPH_INST):
4685         * print.c (write_string_to_stdio_stream):
4686         * print.c (output_string):
4687         * print.c (Falternate_debugging_output):
4688         * print.c (Fexternal_debugging_output):
4689         * glyphs-msw.c (extract_xpm_color_names):
4690         * glyphs-msw.c (mswindows_xpm_instantiate):
4691         * glyphs-msw.c (bmp_instantiate):
4692         * glyphs-msw.c (resource_name_to_resource):
4693         * glyphs-msw.c (mswindows_resource_instantiate):
4694         * glyphs-msw.c (xbm_instantiate_1):
4695         * glyphs-msw.c (mswindows_xbm_instantiate):
4696         * glyphs-msw.c (mswindows_xface_instantiate):
4697         * glyphs-msw.c (mswindows_widget_instantiate):
4698         * glyphs-msw.c (add_tree_item):
4699         * glyphs-msw.c (add_tab_item):
4700         * glyphs-msw.c (mswindows_combo_box_instantiate):
4701         * glyphs-msw.c (mswindows_widget_property):
4702         * glyphs-msw.c (mswindows_combo_box_property):
4703         * glyphs-msw.c (mswindows_widget_set_property):
4704         * console.c (stuff_buffered_input):
4705         * objects-msw.c (mswindows_initialize_color_instance):
4706         * objects-msw.c (mswindows_valid_color_name_p):
4707         * objects-msw.c (mswindows_list_fonts):
4708         * objects-msw.c (mswindows_font_instance_truename):
4709         * bytecode.c (optimize_compiled_function):
4710         * select-x.c (symbol_to_x_atom):
4711         * select-x.c (x_atom_to_symbol):
4712         * select-x.c (hack_motif_clipboard_selection):
4713         * select-x.c (selection_data_to_lisp_data):
4714         * select-x.c (lisp_data_to_selection_data):
4715         * select-x.c (Fx_get_cutbuffer_internal):
4716         * select-x.c (Fx_store_cutbuffer_internal):
4717         * buffer.h (TO_EXTERNAL_FORMAT): New function.
4718         * buffer.h (TO_INTERNAL_FORMAT): New function.
4719         * emacs.c (make_arg_list_1):
4720         * emacs.c (make_argc_argv):
4721         * emacs.c (main_1):
4722         * emacs.c (Fdump_emacs):
4723         * emacs.c (split_string_by_emchar_1):
4724         * file-coding.h:
4725         * lisp.h:
4726         * lstream.h:
4727         * symsinit.h:
4728         * device-x.c (x_init_device):
4729         * device-x.c (Fx_valid_keysym_name_p):
4730         * device-x.c (Fx_get_font_path):
4731         * device-x.c (Fx_set_font_path):
4732         * glyphs.c (bitmap_to_lisp_data):
4733         * glyphs.c (pixmap_to_lisp_data):
4734         * alloc.c (make_ext_string): Use coding system arguments.  Update
4735         all callers.
4736         * alloc.c (build_string):
4737         * callproc.c (child_setup):
4738         * callproc.c (init_callproc):
4739         * fileio.c (lisp_strerror):
4740         * fileio.c (directory_file_name):
4741         * fileio.c (Fexpand_file_name):
4742         * fileio.c (Ffile_truename):
4743         * fileio.c (Fsysnetunam):
4744         * fileio.c (Fdo_auto_save):
4745         * sysdep.c (sys_readdir):
4746         * tests.c: New file.  Allow adding C tests.
4747         Replace GET_* macros with a more comprehensible and flexible
4748         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
4749         Modify all calls.
4750         Any coding system can be used to do format conversion.
4751         Eliminate enum external_data_format.
4752         Eliminate convert_to_external_format.
4753         Eliminate convert_to_internal_format.
4754         Make sure file-name, keyboard, terminal, and ctext are always
4755         defined as coding systems or aliases.  Make
4756         file-name-coding-system, terminal-coding-system, and
4757         keyboard-coding-system magical variables that are equivalent to
4758         defining the corresponding coding system aliases.
4759
4760         * file-coding.c (Fcoding_system_canonical_name_p): New function.
4761         * file-coding.c (Fcoding_system_alias_p): New function.
4762         * file-coding.c (Fcoding_system_aliasee): New function.
4763         * file-coding.c (append_suffix_to_symbol): New function.
4764         * file-coding.c (dangling_coding_system_alias_p): New function.
4765         * file-coding.c (Ffind_coding_system):
4766         * file-coding.c (Fcopy_coding_system):
4767         * file-coding.c (encode_coding_no_conversion):
4768         * file-coding.c (syms_of_file_coding):
4769         * file-coding.c (vars_of_file_coding):
4770         Rewrite coding system alias code.
4771         Allow nested aliases, like symbolic links.
4772         Allow redefinition of coding system aliases.
4773         Prevent existence of dangling coding system aliases.
4774
4775         * dired.c (Fuser_name_completion_1):
4776         * dired.c (Fuser_name_all_completions):
4777         A crash would happen if user did QUIT in the middle of building
4778         user_name_cache.  Remove redundant code in mainline and unwind_protect.
4779
4780         * lisp.h:
4781         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
4782
4783         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
4784         an unsigned char *.  Update all callers.
4785
4786 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4787
4788         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
4789
4790 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4791
4792         * elhash.c (hentry_description): Use more portable definition.
4793         (resize_hash_table): Initialize new hentries using
4794         xnew_array_and_zero, thereby simplifying the code.
4795
4796         * mule-charset.c (make_charset): Make sure entire object is
4797         intialized, to avoid Purify warnings.
4798
4799         * alloc.c (resize_string): Fix unlikely crash with big strings.
4800
4801 2000-01-24  Martin Buchholz  <martin@xemacs.org>
4802
4803         * realpath.c (xrealpath):
4804         Don't call getwd().
4805
4806 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4807
4808         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
4809
4810 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
4811
4812         * unexelfsgi.c (unexec): Change the way we decide which segment
4813         should be extended.
4814
4815         Assumption that .bss section should be outside the PT_LOADable
4816         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
4817         it's present) is inside the 'data' segment. This would fail the
4818         test which was used to find a segment to grow and cover new
4819         heap. Instead of this assumption, I created another one - on IRIX
4820         the segment to grow should start below .bss and it's address
4821         should extent above the end of .bss. Once this segment is
4822         identified, it's grown to accommodate the new heap and new
4823         zero-length .bss section is added at the end of .data2.
4824
4825 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4826
4827         * eval.c (Feval): Wrong number of arguments should use original
4828         function, not the indirect_function version of it.
4829
4830 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4831
4832         * glyphs-x.c (x_button_instantiate): Don't add image if
4833         it is not a pixmap.
4834         (x_locate_pixmap_file): Call Fexpand_file_name when file name
4835         is relative.
4836
4837 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4838
4839         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
4840         declaration.
4841         (DEFVAR_INT_MAGIC): Ditto.
4842         (DEFVAR_BOOL_MAGIC): Ditto.
4843         * glyphs.h: Reindent backslash.
4844
4845 2000-01-24  Martin Buchholz  <martin@xemacs.org>
4846
4847         * glyphs-widget.c (layout_query_geometry):
4848         (layout_layout): Use correct types for gheight, gwidth.
4849
4850 2000-01-24  Martin Buchholz  <martin@xemacs.org>
4851
4852         * EmacsManager.c (QueryGeometry): Purified.
4853
4854 2000-01-23  Martin Buchholz  <martin@xemacs.org>
4855
4856         * alloc.c (make_float): Make sure entire object is intialized, to
4857         avoid Purify warnings.
4858         (pdump_register_sub): Remove useless assignment.
4859         (pdump): Use xmalloc, not malloc.
4860         (pdump_load): Use xmalloc, not malloc.
4861
4862 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4863
4864         * callproc.c:
4865         * dired-msw.c:
4866         * fileio.c:
4867         * process-nt.c:
4868         * redisplay-msw.c:
4869         * sysdep.c: Removed redundant #include <windows.h>
4870
4871 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4872
4873         * frame.c (delete_frame_internal): Do not delete device when its
4874         implementation so declares.
4875         (delete_frame_internal): Set device selected frame to nil when
4876         last frame goes away.
4877
4878         * device-msw.c (msprinter_device_system_metrics): Implemented.
4879         (mswindows_device_system_metrics): Added 'device-dpi property.
4880
4881         * device.c: (Fdevice_printer_p): Added.
4882         Added 'offset-workspace device metric.
4883
4884         * console.h (device_metrics): Declared DM_offset_workspace.
4885
4886 2000-01-23  Martin Buchholz  <martin@xemacs.org>
4887
4888         * fileio.c (Ffile_truename): Remove pointless and confusing
4889         initialization of elen.
4890
4891         * glyphs-widget.c: Compiler warning fixes.
4892
4893 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4894
4895         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
4896         instead of a Lisp_Object as argument to make it consistent with
4897         the other LIVE_P macros.
4898         (CHECK_LIVE_PROCESS): New macro.
4899
4900         * process.c: Declare Qprocess_live_p.
4901         (Fprocess_live_p): New function.
4902         (create_process): Use PROCESS_LIVE_P.
4903         (read_process_output): Ditto.
4904         (set_process_filter): Ditto.
4905         (Fdelete_process): Ditto.
4906         (kill_buffer_processes): Ditto
4907         (process_send_signal): Use CHECK_LIVE_PROCESS.
4908         (Fprocess_input_coding_system): Check whether process is still
4909         alive (fix PR#1061).
4910         (Fprocess_output_coding_system): Ditto.
4911         (Fprocess_coding_system): Ditto.
4912         (Fset_process_input_coding_system): Ditto.
4913         (Fset_process_output_coding_system): Ditto.
4914
4915 2000-01-23  Andy Piper  <andy@xemacs.org>
4916
4917         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
4918         layout and widget.
4919
4920         * glyphs.c (mark_image_instance): take into account changed
4921         image_instance format.
4922         (image_instance_equal): ditto.
4923         (image_instance_hash): ditto.
4924
4925         * glyphs-widget.c (widget_instantiate): Incorporate layout
4926         instantiation here. Delay layout of the layout until later.
4927         (layout_instantiate): deleted.
4928         (layout_query_geometry): new function. get the geometry of a
4929         layout.
4930         (layout_layout): layout a layout dynamically.
4931         (image_instantiator_widget): New function - splitting up
4932         image_instantiator_format_create_glyphs_widget for netwinder
4933         compilation.
4934         (image_instantiator_buttons):
4935         (image_instantiator_edit_fields):
4936         (image_instantiator_combo_box):
4937         (image_instantiator_scrollbar):
4938         (image_instantiator_progress_guage):
4939         (image_instantiator_tree_view):
4940         (image_instantiator_tab_control):
4941         (image_instantiator_labels):
4942         (image_instantiator_layout): ditto.
4943         (image_instantiator_format_create_glyphs_widget): Call preceeding
4944         functions.
4945
4946 2000-01-22  Martin Buchholz  <martin@xemacs.org>
4947
4948         * process.c (Fset_process_coding_system):
4949         * device-x.c (Fx_keysym_hash_table):
4950         Docstring fixes.
4951
4952         * lstream.c (Lstream_write): Return documented value, not 0.
4953
4954         * fileio.c (directory_file_name):
4955         (Fsubstitute_in_file_name):
4956         (Fsubstitute_insert_file_contents_internal):
4957         (Fwrite_region_internal):
4958         * emacs.c:
4959         * sysdep.c:
4960         * getloadavg.c:
4961         * systty.h:
4962         Remove vestigial APOLLO-conditional code.
4963
4964 2000-01-21  Martin Buchholz  <martin@xemacs.org>
4965
4966         * getpagesize.h: Add guard macros.
4967         * libsst.h: Add guard macros.
4968         * libst.h: Add guard macros.
4969         * line-number.h: Add guard macros.
4970         * ndir.h: Add guard macros.
4971         * sysfloat.h: Add guard macros.
4972         * sysfile.h: Add guard macros.
4973         * sysproc.h: Add guard macros.
4974         * syswait.h: Add guard macros.
4975         * xintrinsic.h: Add guard macros.
4976         * xintrinsicp.h: Add guard macros.
4977         * xmmanager.h: Add guard macros.
4978         * xmmanagerp.h: Add guard macros.
4979         * xmprimitive.h: Add guard macros.
4980         * xmu.h: Add guard macros.
4981         * gpmevent.h: Add copyright statement. Add guard macros.
4982         * miscplay.h: Add guard macros.
4983         * *.h: Use consistent C-standards-approved guard macro names.
4984
4985         * opaque.c (make_opaque): Switch parameter order.
4986         * opaque.h (make_opaque): Switch parameter order.
4987         Update all callers.
4988         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
4989
4990         * config.h.in (type_checking_assert): Added.
4991         (bufpos_checking_assert): Added.
4992
4993 2000-01-21  Martin Buchholz  <martin@xemacs.org>
4994
4995         * alloc.c: Harmless pdump changes.
4996         - Use countof().
4997         - spell alignment correctly.
4998         * sysdep.c: Use countof()
4999
5000 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5001
5002         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
5003         initially_selected_for_input() console method, default to 0.
5004         (semi_canonicalize_console_connection): Try to delegate to
5005         canonicalize_console_connection if no such console method.
5006         (canonicalize_console_connection): Vice versa.
5007         (print_console): Do not print nil connection.
5008
5009         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
5010         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
5011         (XDEVIMPF_FRAMELESS_OK): Added.
5012         (CONSOLE_INHERITS_METHOD): Added.
5013
5014         * console-msw.c (mswindows_canonicalize_console_connection):
5015         Added.
5016         (mswindows_canonicalize_device_connection): Added.
5017
5018         * console-msw.h (struct msprinter_device): Added this struct and
5019         accessor macros.
5020         (mswindows_device): Made fontlist a lisp object.
5021
5022         * device.c (semi_canonicalize_device_connection):  Try to delegate
5023         to canonicalize_device_connection if no such console method.
5024         (canonicalize_device_connection): Vice versa.
5025         (print_device): Do not print nil connection.
5026
5027         * device-msw.c (mswindows_init_device): Call InitCommonControls
5028         when have widgets.
5029         (mswindows_delete_device): Removed fontlist deallocation.
5030         (mswindows_mark_device): Added.
5031
5032         * events.c (event_equal): Added abort() at unreached code.
5033         (event_hash): Ditto.
5034
5035         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
5036         fallback tags of Windows devices.
5037
5038         * general.c (syms_of_general): Initialized Qmsprinter.
5039
5040         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
5041         of fallback tags of Windows devices.
5042
5043         * lisp.h: Declared Qmsprinter.
5044
5045         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
5046         of strings.
5047         (mswindows_list_fonts): Ditto.
5048         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
5049         that it can be used by both mswindows and msprinter devices.
5050         (initialize_font_instance): Added.
5051         (mswindows_initialize_font_instance): Use it.
5052         (msprinter_initialize_font_instance): Added.
5053
5054         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
5055         and implementation flags check.
5056         (redisplay_without_hooks): Changed the call to the above.
5057         (Fredraw_device): Ditto.
5058         (Fredisplay_device): Ditto.
5059
5060         * redisplay-msw.c (get_frame_dc): Implemented.
5061         (get_frame_compdc): Implemented.
5062         (many functions): Use the two functions above to get device
5063         contexts, ether for a window or a printer.
5064
5065 2000-01-21  Olivier Galibert  <galibert@pobox.com>
5066
5067         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
5068         initialization here.
5069         (init_symbols_once_early): Call it.
5070         * emacs.c (main_1): Call it.
5071         * symsinit.h: Declare it.
5072
5073 2000-01-19  Olivier Galibert  <galibert@pobox.com>
5074
5075         * alloc.c: Use a lrecord_header * in the backtrace instead of a
5076         Lisp_Object.
5077         (pdump_backtrace): Ditto.
5078         (pdump_register_object): Ditto.  Cleanup use of the pointers.
5079         (pdump_get_entry): Abort if trying to register a null pointer.
5080         (pdump_dump_data): Cleanup types when relocating.
5081         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
5082         (pdump_dump_rtables): Remove bad casts.
5083         (pdump_load): Cleanup relocation w.r.t union type.  Use a
5084         Lisp_Object instead of a EMACS_INT for the hashtable
5085         reorganization.
5086
5087 2000-01-20  Martin Buchholz  <martin@xemacs.org>
5088
5089         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
5090
5091         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
5092
5093         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
5094
5095         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
5096
5097 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5098
5099         * faces.h (FACE_STRIKETHRU_P): Added.
5100
5101         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
5102         of font variants.
5103
5104         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
5105         (mswindows_set_dc_font): New function, aware of font variants,
5106         separated from mswindows_update_dc.
5107
5108         * objects-msw.h (struct mswindows_font_instance_data): Added
5109         definition.
5110
5111         * objects-msw.c (mswindows_finalize_font_instance): Delete all
5112         cached fonts and the data structure.
5113         (mswindows_initialize_font_instance): Added creation of font data
5114         structure.
5115         (mswindows_print_font_instance): Print at least something.
5116         (mswindows_create_font_variant): Implemented.
5117         (mswindows_get_hfont): Implemented.
5118
5119 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
5120
5121         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
5122         prototyping problem with msvc.
5123
5124         * emacs.c (main_1): added syms_of_gui_mswindows() call
5125
5126         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
5127         syms_of_gui_mswindows() function
5128
5129         * symsinit.h: added the prototype for syms_of_gui_mswindows()
5130
5131 2000-01-18  Martin Buchholz <martin@xemacs.org>
5132
5133         * XEmacs 21.2.27 is released.
5134
5135 2000-01-18  Martin Buchholz  <martin@xemacs.org>
5136
5137         * glyphs-eimage.c (struct tiff_error_struct):
5138         (tiff_error_func):
5139         (tiff_warning_func):
5140         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
5141
5142         * unexmips.c:
5143         * unexhp9k3.c:
5144         * unexfreebsd.c:
5145         * unexec.c: Remove vestigial Lucid C code.
5146         * unexalpha.c:
5147         * unexaix.c:
5148         * termcap.c:
5149         * libsst.c: Ansify.
5150         Remove declarations of errno and strerror().
5151
5152         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
5153
5154         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
5155
5156 2000-01-16  Martin Buchholz  <martin@xemacs.org>
5157
5158         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
5159         Optimize.
5160
5161 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5162
5163         * md5.c:
5164         * file-coding.c:
5165         * file-coding.h:
5166         Change enum eol_type to eol_type_t.
5167
5168 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5169
5170         * gui.c (get_gui_callback): Check cons before accessing car.
5171
5172 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5173
5174         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
5175         (XSETSPECIFIER_TYPE): Ditto.
5176
5177 2000-01-17  Didier Verna  <didier@xemacs.org>
5178
5179         * redisplay.c (generate_fstring_runes): compute string size in
5180         characters, not bytes.
5181
5182 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
5183
5184         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
5185
5186 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
5187
5188         * print.c (print_error_message): Call print_prepare().
5189
5190 2000-01-14  Martin Buchholz  <martin@xemacs.org>
5191
5192         * .dbxrc: Renamed from dbxrc.
5193
5194         * events.c (event_to_character):
5195         Use `assert (foo)' instead of `if (!foo) abort()'
5196
5197         * .gdbinit (xtype): Add documentation.
5198         * .gdbinit (check-temacs): New function.
5199         * .gdbinit (check-xemacs): New function.
5200         * dbxrc (check-xemacs): New function.
5201         * dbxrc (check-xemacs): New function.
5202
5203 2000-01-14  Andy Piper  <andy@xemacs.org>
5204
5205         * glyphs-widget.c (widget_query_geometry): Make sure that we
5206         calculate default dimensions correctly.
5207
5208 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5209
5210         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
5211
5212         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
5213         pdump_wire'd variable.
5214
5215         * emacs.c: (main_1): Conditionalized calls to
5216         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
5217
5218 2000-01-13  Martin Buchholz  <martin@xemacs.org>
5219
5220         * window.c (Fset_window_configuration):
5221         * sysdep.c (_start):
5222         * input-method-motif.c (res):
5223         * event-Xt.c (Xt_process_to_emacs_event):
5224         Simple compiler warning fixes.
5225
5226         * bytecode.c (funcall_compiled_function): Use the original
5227         function symbol on the backtrace list in preference to the
5228         compiled_function object in error messages.
5229
5230 2000-01-13  Andy Piper  <andy@xemacs.org>
5231
5232         * glyphs-x.c (update_widget_face): Make sure we update the widget
5233         background as well as foreground.
5234
5235 2000-01-13  Andy Piper  <andy@xemacs.org>
5236
5237         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
5238         fields to subwindow.
5239         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
5240         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
5241         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
5242         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
5243
5244         * glyphs-widget.c (check_valid_tab_orientation): new function.
5245         (initialize_widget_image_instance): zero orientation and
5246         justification.
5247         (widget_instantiate): pick up orientation.
5248         (tab_control_query_geometry): return appropriate values for
5249         vertical tabs.
5250
5251         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
5252         appropriate creation flags for left, right and bottom tabs.
5253
5254         * s/cygwin32.h: add tab definitions.
5255
5256 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5257
5258         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
5259         frame upon hiding a subwindow.
5260         (mswindows_button_instantiate): Changed the push button style to
5261         BS_PUSHBUTTON.
5262         (mswindows_button_instantiate): Removed button BS_NOTIFY
5263         style.
5264         (mswindows_button_instantiate): Removed redundant check for
5265         a disabled gui item.
5266         (mswindows_button_instantiate): Made use of WS_TABSTOP
5267         consistent: "operable" controls (edit, button, tree, scroll) have
5268         this style, "display-only" ones (static, progress gauge) do
5269         not. This style is currently ignored by XEmacs though. Also,
5270         removed the WS_EX_CONTROLPARENT style - it is not for children,
5271         it is for their parents!
5272         (mswindows_edit_field_instantiate): Ditto.
5273         (mswindows_progress_gauge_instantiate): Ditto.
5274         (mswindows_tree_view_instantiate): Ditto.
5275         (mswindows_tab_control_instantiate): Ditto.
5276         (mswindows_scrollbar_instantiate): Ditto.
5277         (mswindows_combo_box_instantiate): Ditto.
5278         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
5279         style to the "clip" window.
5280         (mswindows_button_instantiate): Removed compilation warning by
5281         equally typing terms of the ?: operator.
5282
5283 2000-01-12  Didier Verna  <didier@xemacs.org>
5284
5285         * redisplay.c (generate_fstring_runes): new parameter holding the
5286         last modeline-format extent.
5287         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
5288         extent, fill the glyph block with it.
5289         (generate_fstring_runes): handle these parameters.
5290         (generate_formatted_string_db): ditto.
5291
5292         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
5293         glyphs'extents in the modeline.
5294
5295 1999-01-11  Mike Woolley  <mike@bulsara.com>
5296
5297         * ntheap.c: Reduced the reserved heap space from 1Gb down to
5298         256Mb, as a workaround for the non-starting problem many people
5299         have experienced.
5300
5301 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5302
5303         * console-tty.c (Fset_console_tty_output_coding_system):
5304         Force redrawing tty frame.
5305
5306 2000-01-10  Didier Verna  <didier@xemacs.org>
5307
5308         * redisplay.c (generate_fstring_runes): fix size computation bug.
5309
5310 2000-01-09  William M. Perry <wmperry@aventail.com>
5311
5312         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
5313
5314 2000-01-09  Andy Piper  <andy@xemacs.org>
5315
5316         * glyphs-msw.c: index -> i to avoid shadows.
5317         (xbm_create_bitmap_from_data): make static.
5318         (check_valid_string_or_int): deleted.
5319         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
5320
5321         * glyphs-x.c (x_update_subwindow): remove unused args.
5322
5323         * glyphs.c (glyph_image_instance): return the thing. Don't set the
5324         back pointer - this is done in allocate_image_instance.
5325         (query_string_font): return Qnil to make the compiler happy.
5326         (unmap_subwindow): set to ~0 to make the compiler happy.
5327         (glyph_query_geometry): comment out until used.
5328         (glyph_layout): ditto.
5329
5330 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
5331
5332         * insdel.c (signal_after_change): Remove extraneous unbind_to().