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