XEmacs 21.2.32 "Kastor & Polydeukes".
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2000-03-20  Martin Buchholz <martin@xemacs.org>
2
3         * XEmacs 21.2.32 is released.
4
5 2000-03-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
6
7         * sysdep.c: Include proper headers for mmap when pdumping()
8
9 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10
11         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA): 
12         (DFC_MALLOC_USE_CONVERTED_DATA): 
13         Add aliasing-safe casts to allow use with char* or unsigned char*
14         lvalues.
15
16         * eldap.c (Fldap_open): 
17         (Fldap_search_basic): 
18         (Fldap_add): 
19         (Fldap_modify): 
20         Make C++-compilable.
21         Make sure GCPRO'ed variables are initialized.
22         Use temp variables to avoid repeated calls to Flength.
23
24 2000-03-16  Martin Buchholz  <martin@xemacs.org>
25
26         * sysfile.h: 
27         Make sure PATH_MAX is always defined.  
28         Include limits.h for PATH_MAX.
29         Deprecate use of MAXPATHLEN.
30
31 2000-03-10  Martin Buchholz  <martin@xemacs.org>
32
33         * emacs.c: Add reinit_vars_of_fileio.
34         * symsinit.h: Add reinit_vars_of_fileio.
35         * fileio.c (reinit_vars_of_fileio): New.
36         * fileio.c (Fmake_temp_name): 
37         Initialize temp_name random number from microseconds to make
38         collisions even less likely.  Initialize always at process startup
39         time.  (make-temp-name) used to return the same file name twice in
40         a row when PDUMP.
41         Random stylistic fiddling.
42         Comment fixes.
43
44 2000-03-20  Andy Piper  <andy@xemacs.org>
45
46         * glyphs.c (image_instantiate): allow text glyphs to be
47         instantiated in the minibuffer window.
48
49 2000-03-19  Andy Piper  <andy@xemacs.org>
50
51         * glyphs.c (image_instance_hash): be careful about which items we
52         hash on.
53
54         * glyphs-widget.c (tab_control_set_property): record into pending
55         items rather than the actual items.
56
57         * glyphs-x.c (x_update_widget): use pending items to update with.
58
59         * glyphs-msw.c (mswindows_tab_control_update): use pending items
60         to update with.
61
62         * glyphs.c (mark_image_instance): mark pending items.
63
64         * window.c (Fset_window_configuration): record the buffer.
65         (Fselect_window): totally revert previous change which breaks many
66         things.
67
68 2000-03-18  Andy Piper  <andy@xemacs.org>
69
70         * glyphs-msw.c (mswindows_tab_control_update): force selected
71         item.
72
73         * glyphs.c (image_instantiate): don't allow the minibuffer as a
74         window domain cache, otherwise we get inconsistencies at
75         startup. There is something fishy at startup which can lead to the
76         minibuffer being the selected window when the gutter content is
77         instantiated.
78
79         * gui.c (parse_gui_item_tree_list): add probably unneccessary
80         gcpros.
81         (parse_gui_item_tree_children): ditto.
82         (parse_gui_item_tree_item): ditto.
83
84         * glyphs.c (Fupdate_widget_instances): return something.
85
86 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
87
88         * window.c (Fselect_window): Undo 2000-03-17 change.
89
90 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
91
92         * postgresql.c (Fpq_setenv): Remove this turkey when linking
93         against v7.0 libraries.  Insta-coredump city until the postgres
94         folks fix it.
95
96 2000-03-17  Andy Piper  <andy@xemacs.org>
97
98         * faces.c (complex_vars_of_faces): don't give the widget face an
99         inherited background pixmap.
100
101         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
102         selected item.
103
104         * event-stream.c (Fdispatch_non_command_events): return something.
105
106         * gutter.c (output_gutter): use widget face.
107         (clear_gutter): ditto.
108
109         * NEWS: adjust again.
110
111         * window.c (Fselect_window): make sure this runs to completion to
112         avoid oddities with Fset_window_configuration.
113         (Fcurrent_window_configuration): in general do not save the
114         minibuffer as the selected window.
115
116         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
117
118 2000-03-16  Olivier Galibert  <galibert@pobox.com>
119
120         * emacs.c (Frunning_temacs_p): Revert previous patch.
121         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
122
123 2000-03-16  Andy Piper  <andy@xemacs.org>
124
125         * glyphs-x.c (x_tab_control_update): if no widget values then
126         return.
127
128         * NEWS: update for new features.
129
130         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
131         synthetic event to the native system.
132         (reinit_vars_of_event_Xt): set force_event_pending to
133         emacs_Xt_force_event_pending.
134
135         * events.h (struct event_stream): add force_event_pending.
136
137         * specifier.c (recompute_one_cached_specifier_in_window): add
138         comment.
139
140         * redisplay.c (redisplay_frame): don't call
141         update_frame_subwindows. Reset subwindow cachels when
142         subwindows_changed, removing this was an optimization too far.
143
144         * redisplay-output.c (compare_runes): reorganize so that we catch
145         glyph changes when we want them. Set optimize_output when this
146         would help layouts.
147         (redisplay_output_layout): remove frame_really_changed, use
148         optimize_output instead.
149
150         * redisplay-msw.c (mswindows_output_display_block): reset
151         optimize_output after outputting a glyph.
152         * redisplay-x.c (x_output_display_block): ditto.
153         * redisplay-tty.c (tty_output_display_block): ditto.
154
155         * gutter.c: (specifier_vars_of_gutter): use new spec changed
156         functions.
157         (gutter_specs_changed): do specific gutter positions.
158         (top_gutter_specs_changed): new function. Only update the
159         specified gutter specs.
160         (bottom_gutter_specs_changed): ditto.
161         (left_gutter_specs_changed): ditto.
162         (right_gutter_specs_changed): ditto.
163
164         * gui.c (gui_item_hash_internal): new function, does a real hash.
165         (gui_item_id_hash): use it.
166         (gui_item_hash): hash the eval'ed gui_item.
167
168         * gui-x.c (popup_selection_callback): send an eval event to call
169         Fupdate_widget_instances.
170
171         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
172         to call Fupdate_widget_instances.
173
174         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
175         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
176         
177         * glyphs.c: (update_frame_subwindows): deleted.
178         (Fupdate_widget_instances): new function for updating the dirty
179         state of widgets that might have changed.
180         (syms_of_glyphs): add Qupdate_widget_instances.
181         (full_list_hash): hash a list completely.
182         (image_instance_hash): use it for items and properties.
183
184         * frame-msw.c (mswindows_size_frame_internal): remove unused
185         variable.
186
187         * faces.h (struct face_cachel): fix comment. 
188
189         * event-stream.c (Fdispatch_non_command_events): new
190         function. Process non-command events, forcing an event cycle
191         beforehand.
192         (syms_of_event_stream): declare.
193         (event_stream_force_event_pending): new function. Force an event
194         on the native event queue so that an event cycle will occur next
195         time we check.
196
197         * event-msw.c:
198         (struct ntpipe_shove_stream):
199         (mswindows_enqueue_dispatch_event):
200         (mswindows_dequeue_dispatch_event):
201         (mswindows_cancel_dispatch_event):
202         (mswindows_pump_outstanding_events):
203         (mswindows_drain_windows_queue):
204         (mswindows_handle_paint):
205         (mswindows_wnd_proc):
206         (mswindows_key_to_emacs_keysym):
207         (get_process_input_waitable):
208         (emacs_mswindows_delete_stream_pair): re-indent file.
209         (mswindows_need_event): do not process further fds if the windows
210         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
211         fixes the 100% cpu problem.
212         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
213
214 2000-03-15  Olivier Galibert  <galibert@pobox.com>
215
216         * alloc.h: New.
217         * dumper.h: New.
218         * dumper.c: New.
219
220         * emacs.c: Moved dump file searching to dumper.c.
221         (Frunning_temacs_p): Fixed.
222
223         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
224         last_lrecord_type_index_assigned.
225
226 2000-02-20  Olivier Galibert  <galibert@pobox.com>
227
228         * symsinit.h: Added reinit parameter to init_console_stream
229         declaration.
230
231         * lisp.h: Added file parameter to pdump_load declaration.
232
233         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
234         support.  Added dump file searching.
235
236         * config.h.in: Added EMACS_PROGNAME.
237
238         * console-stream.c (init_console_stream): Fix reinitialisation
239         when running from temacs.
240
241         * alloc.c (pdump): Add id support.
242         (pdump_load): Add file parameter and signature/id support.
243
244         * Makefile.in.in: Add full pdump support.
245
246 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
247
248         * postgresql.c: Update documentation to reflect latest code
249         status.
250         (print_result): Show tuple counts in printed representation when
251         appropriate.
252         (Fpq_put_nbytes): MULE-ize.
253         (Fpq_get_line_async): Ditto.
254
255 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
256
257         * postgresql.c (Fpq_lo_import): Fix return value.
258         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
259
260 2000-03-13  Ben Wing  <ben@xemacs.org>
261
262         * alloc.c (pdump_load):
263         Fix compile warning under mswin.
264
265 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
266
267         * postgresql.c: Mule-ization, bug fixes.
268         Use PG_CODING to encapsulate coding system name changes.
269         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
270         (pg-coding-system): Create.
271
272         (Fpq_conn_defaults): Mule-ize.
273         (Fpq_connectdb): Mule-ize & bug fix.
274         (Fpq_connect_start): Mule-ize.
275         (Fpq_set_client_encoding): Mule-ize.
276         (Fpq_finish): Document `DEAD' connection status.
277         (Fpq_clear): Ditto.
278         (Fpq_pgconn): Mule-ize.
279         (Fpq_exec): Mule-ize & bug fix.
280         (Fpq_send_query): Ditto.
281         (Fpq_get_result): Ditto.
282         (Fpq_res_status): Mule-ize.
283         (Fpq_result_error_message): Mule-ize.
284         (Fpq_ntuples): fix comments.
285         (Fpq_fname): Mule-ize.
286         (Fpq_fnumber): Mule-ize.
287         (Fpq_ftype): fix comments.
288         (Fpq_get_value): Mule-ize.
289         (Fpq_cmd_status): Ditto.
290         (Fpq_cmd_tuples): Ditto.
291         (Fpq_oid_value): Ditto.
292         (Fpq_notifies): Ditto.
293         (Fpq_lo_import): Ditto.
294         (Fpq_lo_export): Ditto.
295         (Fpq_get_line): Ditto.
296         (Fpq_put_line): Mule-ize and bug fix.
297         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
298
299 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
300
301         * postgresql.c (vars_of_postgresql): Mule-ize.
302         (Fpq_conn_defaults): Ditto.
303
304 2000-03-12  Ben Wing  <ben@xemacs.org>
305
306         * alloc.c (Fmake_byte_code):
307         * alloc.c (debug_string_purity_print):
308         * alloc.c (pdump_backtrace):
309         * alloc.c (pdump_get_indirect_count):
310         * alloc.c (pdump_register_sub):
311         * alloc.c (pdump_register_object):
312         * alloc.c (pdump_register_struct):
313         * alloc.c (pdump_dump_data):
314         * alloc.c (pdump_reloc_one):
315         Minor cleanups.
316
317         * console-msw.c:
318         * console-msw.c (GetConsoleHwnd):
319         * console-msw.c (msw_hide_console):
320         * console-msw.c (msw_show_console):
321         * console-msw.c (msw_ensure_console_buffered):
322         * console-msw.c (msw_output_console_string):
323         * console-msw.c (console_type_create_mswindows):
324
325         a) Added functions to manipulate the console window for use with
326         shell support.
327
328         b) Added support for writing text to the console, which is now
329         used under Windows when xemacs is not being run non-interactively,
330         to write text that would otherwise be destined for stdout because
331         under these circumstances, text written to stdout tends to
332         disappear and not be seen.
333
334         * console-msw.h:
335         * event-Xt.c:
336         * event-Xt.c (x_event_to_emacs_event):
337         * event-Xt.c (describe_event_window):
338         * events-mod.h (XEMACS_MOD_CONTROL):
339         * events.c:
340         * events.c (Fmake_event):
341         * events.c (character_to_event):
342         * events.c (event_to_character):
343         * events.c (format_event_object):
344         * events.c (Fevent_modifiers):
345         * events.h:
346         * events.h (struct key_data):
347         * events.h (struct button_data):
348         * events.h (struct misc_user_data):
349         * frame-x.c (Fcde_start_drag_internal):
350         * frame-x.c (Foffix_start_drag_internal):
351         * gpmevent.c (Freceive_gpm_event):
352         * keymap.c:
353         * keymap.c (bucky_sym_to_bucky_bit):
354         * keymap.c (control_meta_superify):
355         * keymap.c (make_key_description):
356         * keymap.c (keymap_lookup_directly):
357         * keymap.c (create_bucky_submap):
358         * keymap.c (keymap_store):
359         * keymap.c (define_key_check_and_coerce_keysym):
360         * keymap.c (define_key_parser):
361         * keymap.c (define_key_alternate_name):
362         * keymap.c (Fdefine_key):
363         * keymap.c (raw_lookup_key_mapper):
364         * keymap.c (struct map_keymap_unsorted_closure):
365         * keymap.c (map_keymap_unsorted_mapper):
366         * keymap.c (map_keymap_sort_predicate):
367         * keymap.c (map_keymap_sorted):
368         * keymap.c (accessible_keymaps_mapper_1):
369         * keymap.c (where_is_recursive_mapper):
370         * keymap.c (describe_map_mapper):
371         * keymap.c (describe_map_sort_predicate):
372         * keymap.c (describe_map):
373         * keymap.c (complex_vars_of_keymap):
374         And a number of other files, the key modifier preprocessor
375         constants that xemacs uses have names that conflict with constants
376         defined under MS Windows for other purposes, so they were renamed
377         to begin with the prefix XEMACS_. The variables that hold such
378         modifiers were changed to consistently be of type int to fix
379         various compile warnings.
380
381         * console.c (complex_vars_of_console):
382         * device.c:
383         * device-msw.c:
384         * device-msw.c (mswindows_finish_init_device):
385         * device-msw.c (msw_get_workspace_coords):
386         * device-msw.c (mswindows_device_system_metrics):
387         and various other files, added support for a new
388         device property called offset-workspace which returns the position
389         of the upper left corner of the workspace area and goes along with
390         the existing size-workspace property.
391
392         * dialog-msw.c:
393         * dialog-msw.c (push_bufbyte_string_as_unicode):
394         * dialog-msw.c (mswindows_popup_dialog_box):
395         Added support for XEmacs-style accelerator specifications in
396         button text.  Note: I didn't add support for this under X Windows,
397         and somebody needs to do this.
398
399         * dialog.c:
400         * dialog.c (Fpopup_dialog_box):
401         Documented the support for accelerators that was just mentioned.
402
403         editfns.c (get_home_directory): Changed behavior under Windows
404         when HOME not defined; former behavior was irretrievably broken.
405         
406         * emacs.c:
407         * emacs.c (main_1):
408         * emacs.c (main):
409         * minibuf.c (clear_echo_area_internal):
410         * minibuf.c (echo_area_append):
411         * print.c:
412         * print.c (std_handle_out_external):
413         * print.c (std_handle_out_va):
414         * print.c (fatal):
415         * print.c (write_string_to_stdio_stream):
416         * print.c (output_string):
417         * print.c (debug_print):
418         * print.c (debug_backtrace):
419         * print.c (debug_short_backtrace):
420         Cleaned up the code that prints text to stdout so that this can be
421         changed to output into a console window instead under MS Windows,
422         as described above.
423
424         * eval.c:
425         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
426         * eval.c (internal_catch):
427         * eval.c (unwind_to_catch):
428         * eval.c (throw_or_bomb_out):
429         * eval.c (condition_case_1):
430         * eval.c (signal_1):
431         * eval.c (check_error_state_sanity):
432         * eval.c (call_with_suspended_errors_1):
433         * eval.c (call_with_suspended_errors):
434         * eval.c (reinit_vars_of_eval):
435         Added code to catch throw loops and check for a pesky bug that may
436         be gone now.
437         
438         * event-msw.c:
439         * event-msw.c (key_needs_default_processing_p):
440         * event-msw.c (mswindows_wnd_proc):
441         * event-msw.c (mswindows_modifier_state):
442         * event-msw.c (emacs_mswindows_quit_p):
443         * event-msw.c (vars_of_event_mswindows):
444         a) Added support for using the alt key to select menu items as is
445         standard under MS Windows.  This is controlled using the variable
446         menu-accelerator-enabled, just like under X Windows.  There is an
447         option on the options menu to turn this support on.  I really
448         think that it should be on by default under Windows, but I'm not
449         going to make this change yet.
450
451         b)  Added support for dynamic display size changes under Windows.
452
453         * event-stream.c:
454         * event-stream.c (maybe_echo_keys):
455         * event-stream.c (Fnext_event):
456         * event-stream.c (command_builder_find_leaf):
457         * event-stream.c (lookup_command_event):
458         * event-stream.c (execute_command_event):
459         * event-stream.c (pre_command_hook):
460         * event-stream.c (post_command_hook):
461         * event-stream.c (syms_of_event_stream):
462         * event-stream.c (vars_of_event_stream):
463         * event-stream.c (complex_vars_of_event_stream):
464         * events.h (struct command_builder):
465
466         a) Tried to clean up a little bit the horribly written x-specific
467         accelerator code that crept into this file.  I moved this code
468         into menubar-x.c where it belongs. I also needed to move the
469         command builder structure into the file events.h because it is
470         accessed directly by this accelerator code.  What I didn't do, but
471         which should be done at some point, is to properly abstract this
472         code using device methods instead of the kludgy way that it
473         currently hooks into the event code.
474
475         b) Added the lisp variables this-command-properties and
476         last-command- properties, which should be used to synchronize two
477         adjacent commands in preference to playing games with the variable
478         this-command, which is typically what happens.
479
480         c) Added some slightly nasty code to hook into the lisp support
481         for shifted- motion-key selection.  This is actually necessary for
482         somewhat complicated reasons, which are described in
483         simple.el. (NB: I think the proper thing would be to have the code
484         that calls the pre and post command hooks also call out to generic
485         lisp functions in simple.el, where all built-in stuff could be
486         added.  I will think about this more.)
487
488         * event-unixoid.c (poll_fds_for_input):
489         * lread.c (readchar): 
490         * redisplay-tty.c (tty_clear_frame):
491         * redisplay-x.c (x_get_gc):
492         * signal.c (interrupt_signal):
493         And a whole bunch of other files: fixed up places that printed
494         directly to stderr to instead call the function stderr_out so that
495         the changes I made under Windows work correctly.
496
497         * filemode.c (mode_string):
498         Warning fixes.
499         
500         * frame-msw.c:
501         * frame-msw.c (mswindows_size_frame_internal):
502         Fixed the computation of frame size and position to keep the frame
503         within the workspace area, rather than within the physical
504         dimensions of the screen, so that the frame doesn't overlap window
505         manager decorations, such as the start menu and toolbar, typically
506         at the bottom of the screen.
507
508         * frame.c (vars_of_frame):
509         Changed the default frame title format under MS Windows to consist
510         of buffername-XEmacs, which is standard under MS Windows.  I think
511         it might be a good idea to change this everywhere because I think
512         it is superior to the current frame title format, but this is the
513         kind of change that is likely to cause some people to get annoyed,
514         so I'm not making it.
515
516         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
517
518         * gui-msw.c (mswindows_handle_gui_wm_command):
519         Fixed compile warnings.
520
521         * gui-x.c:
522         * gui-x.c (strdup_and_add_accel):
523         * gui-x.c (button_item_to_widget_value):
524         * gui-x.h:
525         Added code to automatically put an accelerator onto the beginning
526         of menu items that don't have one as is now the standard, and is
527         described more later.  Also fixed things so that the menu item
528         name can be an evaluated expression, again a new standard.
529
530         * gui.c:
531         * gui.c (gui_item_add_keyval_pair):
532         * gui.c (make_gui_item_from_keywords_internal):
533         * gui.c (gui_add_item_keywords_to_plist):
534         * gui.c (gui_item_accelerator):
535         * gui.c (gui_name_accelerator):
536         * gui.c (gui_item_included_p):
537         * gui.c (gui_item_display_flush_left):
538         * gui.c (gui_item_display_flush_right):
539         * gui.c (parse_gui_item_tree_item):
540         * gui.c (parse_gui_item_tree_children):
541         * gui.c (parse_gui_item_tree_list):
542         Mule-ized.  Cleanup.  GCPRO addition.
543         
544         * line-number.c (buffer_line_number):
545         * lisp.h:
546         * lisp.h (EMACS_INT_MAX):
547         Added the manifest constant EMACS_INT_MIN corresponding to the
548         existing constant EMACS_INT_MAX.  This is partially to fix compile
549         warnings under Windows, and partly for cleanliness.
550
551         * menubar-msw.c:
552         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
553         * menubar-msw.c (msw_translate_menu_or_dialog_item):
554         * menubar-msw.c (displayable_menu_item):
555         * menubar-msw.c (populate_menu_add_item):
556         * menubar-msw.c (populate_or_checksum_helper):
557         * menubar-msw.c (populate_menu):
558         * menubar-msw.c (update_frame_menubar_maybe):
559         * menubar-msw.c (prune_menubar):
560         * menubar-msw.c (msw_char_is_accelerator):
561         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
562         * menubar-msw.c (mswindows_handle_wm_command):
563         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
564         * menubar-msw.c (mswindows_handle_wm_initmenu):
565         * menubar-msw.c (mswindows_update_frame_menubars):
566         * menubar-msw.c (mswindows_free_frame_menubars):
567         * menubar-msw.c (mswindows_popup_menu):
568         Fixed a bug in handling accelerators where an extra character
569         would be displayed in the menu item.  Also generalized the
570         function displayable_menu_item because it is now used by the
571         dialog box code as well.  And finally, added code in the functions
572         that create the menubar to extract a list of accelerators for the
573         top level menubar, which is used in the event code to determine
574         whether a particular alt-key combination should be used to invoke
575         a menu item, or should be passed through to access the standard
576         XEmacs keymap binding for this key combination.
577
578         Much needed GCPROing.
579
580         * menubar-x.c:
581         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
582         * menubar-x.c (menu_item_descriptor_to_widget_value):
583         * menubar-x.c (restore_in_menu_callback):
584         * menubar-x.c (x_popup_menu):
585         * menubar-x.c (menu_move_up):
586         * menubar-x.c (menu_move_down):
587         * menubar-x.c (menu_move_left):
588         * menubar-x.c (menu_move_right):
589         * menubar-x.c (menu_select_item):
590         * menubar-x.c (command_builder_operate_menu_accelerator):
591         * menubar-x.c (menu_accelerator_junk_on_error):
592         * menubar-x.c (command_builder_find_menu_accelerator):
593         * menubar-x.c (Faccelerate_menu):
594         * menubar.h:
595         Moved a whole bunch of code here that was previously in
596         event-stream.c as described above.  There is also code connected
597         to the new standard of adding an accelerator to the beginning of
598         menu items that don't have one as described above and below.
599
600         * menubar.c:
601         * menubar.c (menu_parse_submenu_keywords):
602         * menubar.c (Fmenu_find_real_submenu):
603         * menubar.c (Fnormalize_menu_item_name):
604         * menubar.c (syms_of_menubar):
605         * menubar.c (vars_of_menubar):
606         * menubar.c (complex_vars_of_menubar):
607
608         a) Cleaned up a bunch of documentation and improved it.
609
610         b) XEmacs now automatically adds an accelerator onto the beginning
611         of any menu items that don't have one.  I did this because there
612         will inevitably be some menu items on the main menubar that don't
613         have accelerators on them because the package that adds that
614         particular menu item hasn't yet been fixed up to have accelerators
615         in them and it looked rather strange to have some items with and
616         some items without accelerators, especially since even in items
617         without accelerators, you can, at least under windows, still
618         access the item through an accelerator corresponding to the first
619         character in the item's name.  If people don't like this behavior,
620         I can add a variable to turn it off optionally, but I'm not sure
621         this is a good idea because we really do need to have accelerators
622         on all of the menu items, and if a package doesn't like the
623         accelerators being put on the first character, then it should put
624         the accelerators where they belong.
625
626         c) I made a behavior change, which is that the descriptor that
627         specifies the text of the menu item, which formerly was just a
628         string, can now also be an evaluated expression.  This makes this
629         descriptor parallel with all of the others, which could also be
630         evaluated expressions.  This also obviates the need for the
631         keyword :label, which was previously listed in the documentation
632         as unimplemented, and which was for the same purpose.
633
634         d) GCPROing.
635
636         * ntproc.c:
637         * ntproc.c (new_child):
638         * ntproc.c (sys_spawnve):
639         * ntproc.c (find_child_console):
640         * ntproc.c (sys_kill):
641         Fixed compile warnings.  By the way, this file should really go
642         away entirely, and this will happen as soon as Kirill makes his
643         final round of process cleanups, which affect the function
644         call-process.
645
646         * process-nt.c:
647         * process-nt.c (struct nt_process_data):
648         * process-nt.c (find_process_from_pid):
649         * process-nt.c (send_signal_the_nt_way):
650         * process-nt.c (enable_child_signals):
651         * process-nt.c (find_child_console):
652         * process-nt.c (send_signal_the_95_way):
653         * process-nt.c (nt_finalize_process_data):
654         * process-nt.c (ensure_console_window_exists):
655         * process-nt.c (nt_create_process):
656         * process-nt.c (nt_kill_child_process):
657         * process-nt.c (nt_kill_process_by_pid):
658         * process-nt.c (nt_open_network_stream):
659         * process-nt.c (vars_of_process_nt):
660         Copied over code from Emacs 20.5 to correctly send signals to sub-
661         processes under Windows 95.  Also added code to automatically
662         create and hide console window when a sub-process is created under
663         Windows 95, which obviates the need for the separate runemacs.exe
664         executable, and finally implemented some variables that were
665         implemented in Emacs 20.5, but previously not in XEmacs.  These
666         include mswindows- start-process-share-console and
667         mswindows-start-process-inherit-error-mode. (Both of these only
668         apply to Windows 95.)
669
670         * regex.c (regex_compile): Fixed a compile warning.
671
672         * select-msw.c:
673         * select-msw.c (mswindows_own_selection):
674         * select-msw.c (mswindows_get_foreign_selection):
675         * select-msw.c (mswindows_disown_selection):
676         * select-msw.c (console_type_create_select_mswindows):
677         * select-msw.c (syms_of_select_mswindows):
678         Cleaned up the file and implemented the device method
679         selection_exists_p, which had accidentally been left out.  Also
680         removed four lisp functions that were remnants from before the
681         time when the selection code was properly device abstracted.
682         These functions are no longer needed because there are generic
683         equivalents, and because they were added recently and don't exist
684         in FSF Emacs, I don't think there's any problem with just deleting
685         them.
686
687         * sysdep.c:
688         * sysdep.c (sys_subshell):
689         Fixed a compile warning, although in this case there's probably
690         something wrong with this code, and it ought to be looked into
691         more thoroughly by somebody who understands it.
692
693         * window.c:
694         * window.c (Fwindow_text_area_height):
695         * window.c (Fwindow_width):
696         * window.c (Fwindow_full_width):
697         * window.c (Fwindow_pixel_width):
698         * window.c (debug_print_window):
699         * window.c (syms_of_window):
700         Added functions window-text-area-height and window-full-width,
701         which are functions for returning various width and height
702         characteristics of a window. (One of these functions is necessary
703         for making the file dialog box work correctly, and the other one
704         was added for completeness.)  Also added a table to the
705         documentation for window-height which describes the entire scheme
706         for accessing width and height characteristics of a window.
707
708 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
709
710         * nt.c (fstat): Added a comment for another problem with
711         non-encapsulated [f]stat(), reported by Adrian Aichner
712         <aichner@ecf.teradyne.com>.
713
714 2000-03-11  Andy Piper  <andy@xemacs.org>
715
716         * window.c (make_dummy_parent): initialize subwindow instance
717         cache.
718         (Fset_window_configuration): zero extent_modiff.
719
720 2000-03-10  Andy Piper  <andy@xemacs.org>
721
722         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
723         more changes can be triggered.
724         (Fredisplay_frame): ditto.
725         (Fredraw_device): ditto.
726         (Fredisplay_device): ditto.
727         (redisplay_frame): make non-static.
728         (redisplay_frame): call update_frame_gutter_geometry outside of
729         display proper.
730
731         * gutter.h: declare update_frame_gutter_geometry.
732
733         * redisplay.h: declare redisplay_frame.
734
735         * gutter.c (update_frame_gutter_geometry): move geometry changes
736         in update_frame_gutters here. Geometry changes can only occur
737         outside of redisplay.
738         (update_frame_gutters): remove geometry change code.
739         (Fredisplay_gutter_area): make sure that we are in display when we
740         update and that we have flushed any size changes.
741
742 2000-03-11  Andy Piper  <andy@xemacs.org>
743
744         * alloc.c (pdump_dump_data): remove i & count shadows.
745
746 2000-02-27  Mike Alexander  <mta@arbortext.com>
747
748         * sysdep.h: Declare pdump_read_file
749
750         * sysdep.c (pdump_read_file): New function
751
752         * alloc.c (pdump_load): Call pdump_read_file to get the portable
753         dump data
754
755 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
756
757         * lrecord.h: add `lrecord_type_pgsetenv'.
758
759 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
760
761         * symsinit.h: declare (vars|syms)_of* functions.
762         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
763
764 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
765
766         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
767
768         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
769         GCCs.
770
771         * emacs.c (main_1): Call postgres initialization code.
772
773         * postgresql.h: New file.  PostgreSQL RDBMS support.
774         * postgresql.c: New file.
775
776 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
777
778         * redisplay-output.c (redisplay_output_display_block): Disable
779         redundant code.
780
781 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
782
783         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
784         (Fcanna_henkan_next): Ditto.
785         (Fcanna_bunsetu_henkou): Ditto.
786         (Fcanna_henkan_kakutei): Ditto.
787         (Fcanna_henkan_end): Ditto.
788         (Fcanna_henkan_quit): Ditto.
789         (Fcanna_henkan_next): Set retun value correctly.
790         (c2mu): Use unsigned char instead of signed char.
791
792 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
793
794         * emacs.c (main_1): Always call syms_of_gui.
795         * inline.c: include gui.h
796
797 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
798
799         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
800         converted to Lisp_Object.
801         (Qtop_bottom): New variable.
802         (syms_of_redisplay): Initialize it.
803         * redisplay.h (Vvisible_bell): Ditto.
804         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
805         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
806         only flash top and bottom.
807
808 2000-03-08  Andy Piper  <andy@xemacs.org>
809
810         * buffer.c (Frename_buffer): record new buffer name the right way.
811
812 2000-03-08  Andy Piper  <andy@xemacs.org>
813
814         * glyphs.c (update_subwindow): increase hash depth so that widget
815         items get picked up properly.
816
817         * redisplay-output.c (compare_runes): increase hash depth so that
818         widget items get picked up properly.
819
820 2000-03-08  Andy Piper  <andy@xemacs.org>
821
822         * gutter.c (output_gutter): add some debug.
823
824         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
825         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
826         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
827
828         * redisplay-output.c (compare_runes): use display_hash to
829         determine if glyphs really are not the same.
830
831         * glyphs.c (update_subwindow): check display_hash to see if
832         anything really needs to be updated. If not then do
833         nothing. Record the display_hash after updating.
834         (image_instance_equal): compare the image_instance face also.
835
836 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
837
838         * redisplay.h: Fix comment style.
839
840 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
841
842         * consle-msw.h (struct mswindows_frame):
843         Added new member paint_pending to indicate whether a WM_PAINT
844         magic event has been queued for this frame.
845
846         * event-msw.c (mswindows_drain_windows_queue):
847         Don't queue a WM_PAINT magic event if one is already queued.
848         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
849
850         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
851
852 2000-03-07  Didier Verna  <didier@xemacs.org>
853
854         * dired.c: #include `regex.h' after `sysfile.h'.
855
856 2000-03-06  Martin Buchholz  <martin@xemacs.org>
857
858         * sound.c (init_nas_sound): Fix compiler warning.
859
860         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
861         (FREE_STRUCT_P):
862         (MARK_STRUCT_AS_FREE):
863         (MARK_STRUCT_AS_NOT_FREE):
864         Make `gcc -fstrict-aliasing' work properly.
865
866 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
867
868         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
869         (mswindows_delete_device): Call CoUnnitialize().
870
871         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
872
873 2000-02-25    <CraigL@DyCon.com>
874
875         * process-nt.c: MinGW now has <shellapi.h>, but still needs
876         <errno.h>.
877
878         * sysdep.c: This extern declaration for environ prevents MinGW
879         from finding the variable in CRTDLL.DLL.
880
881         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
882         windows headers.
883         (SHGFI_EXETYPE): ..
884         (WM_MOUSEWHEEL): ..
885         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
886         definitions.
887         (MMRESULT): Removed, now defined in cygwin's windows headers.
888         (TIMECAPS): ..
889         (uid_t,gid_t,pid_t,ssize_t): ..
890         (_timeb): Removed, MinGW defines both _timeb and timeb.
891         (HAVE_H_ERRNO): Added.
892         (HAVE_TZNAME): Added, configure is not detecting this.
893
894 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
895
896         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
897         * syntax.c (syntax_match): Use it.
898
899         * cmds.c: Import auto-fill-chars from FSF Emacs.
900         (Vauto_fill_chars): New variables.
901         (internal_self_insert): Check Vauto_fill_chars.
902         (vars_of_cmds):
903         Declare auto-fill-chars as a Lisp variable and initialize it.
904
905 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
906
907         * fileio.c (Fmake_symbolic_link):
908         (Ffile_symlink_p):
909         Run handlers even if local machine doesn't have symlinks.
910
911 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
912
913         * event-msw.c (mswindows_drain_windows_queue):
914         Don't generate paint magic events for non-XEmacs frames.
915
916 2000-03-05  Andy Piper  <andy@xemacs.org>
917
918         * redisplay.c (redisplay_frame): generate_displayable_area and
919         friends assumes that we are not in GC, we therefore have to make
920         sure that this doesn't happen.
921
922         * gutter.c (calculate_gutter_size): generate_displayable_area
923         assumes that we are not in GC, we therefore have to make sure that
924         this doesn't happen.
925
926 2000-03-05  Martin Buchholz  <martin@xemacs.org>
927
928         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
929
930 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
931
932         * redisplay.c (regenerate_window): Make sure we set a sane value
933         for end_pos even if we jump out of the loop.
934         (regenerate_window): Answer Ben's question :-).
935         (start_end_of_last_line): Add may_error argument.
936         (start_of_last_line):
937         (end_of_last_line): Pass may_error = 0.
938         (end_of_last_line_may_error): New function.
939         (pixel_to_glyph_translation): Use it, so we don't crash in
940         event_to_glyph.
941
942 2000-03-04  Andy Piper  <andy@xemacs.org>
943
944         * window.h (struct window): add gutter_extent_modiff.
945
946         * window.c (allocate_window): zero out gutter_extent_modiff.
947
948         * redisplay.h: declare sync_display_line_structs.
949
950         * redisplay.c (add_glyph_rune): add a better comment.
951
952         * redisplay-output.c (sync_display_line_structs): made non-static.
953         (compare_runes): remove unneccesary glyph cachel access.
954
955         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
956
957         * gutter.c (output_gutter): don't output the gutter if extent
958         changes only involve extents in buffers. use 4 sets of display
959         lines.
960         (gutter_extent_signal_changed_region_maybe): new function. Mark
961         extents in gutters as changed.
962         (update_frame_gutters): use 4 sets of display lines.
963         (reset_gutter_display_lines): ditto.
964         (free_frame_gutters): ditto.
965         (redraw_exposed_gutter): force output of gutters.
966
967         * frame.h (struct frame): add 4 sets of gutter display lines.
968
969         * extents.c: (extent_changed_for_redisplay): signal changes to
970         extents in strings in the gutter as well as extents in buffers.
971
972 2000-03-02  Andy Piper  <andy@xemacs.org>
973
974         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
975
976         * frame.c (Fmake_frame): make sure the gutters get initialized
977         after the frame is visible.
978         (set_frame_selected_window): re-arrange compilation macros a
979         little.
980         (change_frame_size_1): mark gutters changed.
981
982         * device.c (Fset_device_class): mark gutters changed.
983
984 2000-03-01  Andy Piper  <andy@xemacs.org>
985
986         * window.c (window_top_frame_gutter_height): deleted.
987         (window_bottom_frame_gutter_height): ditto.
988         (window_left_frame_gutter_height): ditto.
989         (window_right_frame_gutter_height): ditto.
990         (window_top_gutter_height): don't use them.
991         (window_bottom_gutter_height): ditto.
992         (window_left_gutter_width): ditto.
993         (window_right_gutter_width): ditto.
994         (Fsplit_window): ditto.
995         (Fwindow_pixel_edges): don't use border dimensions here.
996
997         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
998         (update_scrollbar_instance): ditto.
999
1000         * redisplay.c (generate_modeline): don't take gutters into account.
1001         (generate_modeline): ditto.
1002         (redisplay_frame): small gutter display optimisation.
1003
1004         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
1005
1006         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
1007         gutters into account.
1008
1009         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
1010         for window position and type.
1011
1012         * gutter.c (get_gutter_coords): fix for frame gutters.
1013         (update_frame_gutters): update frame geometry if the gutters have
1014         changed.
1015         (init_frame_gutters): record current gutter geometries.
1016
1017         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
1018         var.
1019         (mswindows_widget_instantiate): ditto.
1020
1021         * frame.h (struct frame): add current_gutter_bounds.
1022
1023         * frame.c (change_frame_size_1): position window and minibuffer
1024         appropriately taking into account the frame gutters.
1025
1026         * frame-x.c: (x_initialize_frame_size): take into account the
1027         frame gutters.
1028
1029 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
1030
1031         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
1032
1033 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
1034
1035         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
1036
1037 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1038
1039         * file-coding.c (reset_decoding_stream): Clear previous
1040         detection state when autodetect.
1041
1042 2000-02-29  Didier Verna  <didier@xemacs.org>
1043
1044         * extents.c (set_extent_glyph_1): don't require extents to be
1045         attached.
1046
1047 2000-02-27  Andy Piper  <andy@xemacs.org>
1048
1049         * gutter.c (Fset_default_gutter_position): don't default left and
1050         right gutter visibility to t.
1051         (Fset_default_gutter_position): run
1052         default-gutter-position-changed-hook.
1053         (syms_of_gutter): add default-gutter-position-changed-hook.
1054
1055 2000-02-26  Andy Piper  <andy@xemacs.org>
1056
1057         * specifier.c (Fmake_specifier): add gutter references.
1058
1059         * gutter.h (RAW_WINDOW_GUTTER): new macro.
1060
1061         * lisp.h: declare Fvalid_plist_p.
1062
1063         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
1064         as changed.
1065         (default_gutter_visible_p_changed_in_window): invalidate gutter as
1066         well as its visibility so that it gets reconstructed.
1067         (construct_window_gutter_spec): new function. Construct a string
1068         to be displayed in the gutter from a plist of strings. Take care
1069         to only use elements that are declared as visible.
1070         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
1071         WINDOW_GUTTER.
1072         (gutter_validate): allow plists of strings in the specifier.
1073         (gutter_specs_changed): construct the real_gutter from the gutter
1074         specs using construct_window_gutter_spec.
1075         (gutter_visible_validate): gutter-visible is a new specifier type.
1076         (Fgutter_visible_specifier_p): new function for the new specifier.
1077         (syms_of_gutter): declare gutter-visible and
1078         Fgutter_visible_specifier_p.
1079         (specifier_type_create_gutter): intitalize new gutter-visible
1080         specifier.
1081         (reinit_specifier_type_create_gutter): ditto.
1082         (specifier_vars_of_gutter): use new specifier type for gutter
1083         visibility.
1084         (init_frame_gutters): construct real_gutter correctly.
1085         (Fgutter_specifier_p): beef up documentation.
1086         (Fgutter_size_specifier_p): ditto.
1087
1088         * winslots.h: add real_gutter slots.
1089
1090 2000-02-25  Andy Piper  <andy@xemacs.org>
1091
1092         * device-msw.c: Be kind to older cygwin versions. From Raymond
1093         Toy <toy@rtp.ericsson.se>.
1094
1095         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
1096         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
1097
1098 2000-02-25  Martin Buchholz  <martin@xemacs.org>
1099
1100         * elhash.c (MARK_OBJ): Practice macro hygiene.
1101
1102 2000-02-24  Martin Buchholz  <martin@xemacs.org>
1103
1104         * miscplay.c: s/__inline__/inline/g;
1105         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
1106         (get_device_compdc): INLINE ==> static inline
1107         * *.[ch]: Change INLINE to INLINE_HEADER globally.
1108         find -name '*.h' | \
1109         xargs global-replace \
1110         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
1111
1112 2000-02-25  Andy Piper  <andy@xemacs.org>
1113
1114         * window.c (window_top_frame_gutter_height): new function.
1115         (window_top_window_gutter_height): ditto.
1116         (window_top_gutter_height): use them.
1117         (window_bottom_frame_gutter_height): new function.
1118         (window_bottom_window_gutter_height): ditto.
1119         (window_bottom_gutter_height): use them.
1120         (window_left_window_gutter_width): new function.
1121         (window_left_frame_gutter_width): ditto.
1122         (window_left_gutter_width): use them.
1123         (window_right_window_gutter_width): new function.
1124         (window_right_frame_gutter_width): ditto.
1125         (window_right_gutter_width): use them.
1126         (window_pixel_height): new function. calulate window pixel height
1127         with frame gutter involvement.
1128         (Fsplit_window): calculate new sizes taking frame gutters into
1129         account.
1130         (window_char_height_to_pixel_height): don't include frame gutters.
1131         (window_char_height): use window_pixel_height.
1132         (window_pixheight): rename from window_pixel_height.
1133         (change_window_height): use it.
1134         (window_pixel_height_to_char_height): don't include frame gutters.
1135         (window_char_width_to_pixel_width): ditto.
1136
1137 2000-02-25  Andy Piper  <andy@xemacs.org>
1138
1139         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
1140         if it is.
1141
1142 2000-02-24  Martin Buchholz  <martin@xemacs.org>
1143
1144         * alloc.c (staticpro):
1145         (staticpro_nodump):
1146         (dumpstruct):
1147         (dumpopaque):
1148         (pdump_wire):
1149         (pdump_wire_list):
1150         (compact_string_chars):
1151         (pdump_dump_wired):
1152         Convert:  if (foo) abort();  ==>  assert (! foo);
1153
1154         * eldap.c (Fldap_search_basic):
1155         (Fldap_add):
1156         (Fldap_modify):
1157         (Fldap_delete):
1158         Fix compiler warnings, and possible crashes if (random) return
1159         value were to be used.
1160
1161 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1162
1163         * device-msw.c: Workaround ResetDC failure.
1164
1165         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
1166         applying a devmode.
1167
1168         * redisplay-msw.c (get_frame_dc): Added start_page_p.
1169         (mswindows_text_width): Do not start printer page.
1170
1171         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
1172
1173         * glyphs-msw.c: Added image methods to msprinter console and
1174         msprinter-specific image instantiation.
1175
1176 2000-02-20  Mike Alexander  <mta@arbortext.com>
1177
1178         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
1179         to avoid crashes when selection-sets-clipboard is on
1180         (mswindows_own_selection): ditto
1181
1182 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1183
1184         * glyphs-msw.c:
1185         * redisplay-msw.c (get_frame_dc):
1186         (get_frame_compdc):
1187         * console-msw.h:
1188         * device-msw.c (mswindows_init_device):
1189         (mswindows_delete_device):
1190         (msprinter_init_device):
1191         (msprinter_delete_device):
1192         * frame-msw.c (mswindows_init_frame_1):
1193         (mswindows_delete_frame):
1194         (msprinter_init_frame_3):
1195         (msprinter_delete_frame): Move compatible DC to device object from
1196         frame object, for both mswindows and msprinter. Only one at a time
1197         is needed, it is a real waste to have one per frame!
1198
1199 2000-02-23  Andy Piper  <andy@xemacs.org>
1200
1201         * glyphs.c: add dynamic width and height elements.
1202         (image_instance_equal): ditto.
1203
1204         * glyphs-widget.c (widget_query_geometry): calculate width and
1205         height dynamically if required.
1206         (initialize_widget_image_instance): initialize dynamic dimensions.
1207         (widget_instantiate): pick-up dynamic dimensions.
1208
1209         * glyphs.h (struct Lisp_Image_Instance): add width and height for
1210         dynamic determination. Add appropriate macros.
1211
1212         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
1213         dimensions safe.
1214         (WINDOW_GUTTER_SIZE): ditto.
1215         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
1216
1217         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
1218         inline.
1219         (get_frame_dc): ditto.
1220
1221         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
1222         here.
1223
1224 2000-02-23  Martin Buchholz <martin@xemacs.org>
1225
1226         * XEmacs 21.2.31 is released.
1227
1228 2000-02-22  Ben Wing <ben@xemacs.org>
1229
1230         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
1231
1232 2000-02-22  Andy Piper  <andy@xemacs.org>
1233
1234         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
1235
1236 2000-02-21  Mike Sperber <mike@xemacs.org>
1237
1238         * .dbxrc:
1239         * .gdbinit:
1240         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
1241         variables.
1242
1243 2000-02-21  Mike Sperber <mike@xemacs.org>
1244
1245         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
1246
1247 2000-02-21  Martin Buchholz <martin@xemacs.org>
1248
1249         * XEmacs 21.2.30 is released.
1250
1251 2000-02-20  Martin Buchholz  <martin@xemacs.org>
1252
1253         Performance hacking.
1254         * *.c (syms_of_*):
1255         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
1256         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
1257         * emacs.c (main_1):
1258         * lisp.h (DEFUN):
1259         * console.c (DEFVAR_CONSOLE_LOCAL_1):
1260         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
1261         * symeval.h (DEFVAR_SYMVAL_FWD):
1262         * symbols.c (guts_of_unbound_marker):
1263         Make all c_readonly objects also lisp_readonly and marked for life.
1264         * lrecord.h (struct lrecord_implementation):
1265         Document flags better.
1266         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
1267         * lrecord.h (DECLARE_LRECORD):
1268         * lrecord.h (XSETRECORD):
1269         * lrecord.h (RECORDP):
1270         * lrecord.h (RECORD_TYPEP):
1271         * lrecord.h (RECORD_MARKER): New.
1272         * lrecord.h (error_check_*):
1273         * lrecord.h (CONCHECK_NONRECORD):
1274         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
1275         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
1276         * lrecord.h (set_lheader_implementation):
1277         * lrecord.h (enum lrecord_type): New.
1278         * symeval.h (SYMBOL_VALUE_MAGIC_P):
1279         * alloc.c (disksave_object_finalization_1):
1280         * alloc.c (mark_object):
1281         * alloc.c (lrecord_type_index):
1282         * alloc.c (tick_lcrecord_stats):
1283         * alloc.c (Fgarbage_collect):
1284         * alloc.c (init_alloc_once_early):
1285         * alloc.c (pdump_load):
1286         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
1287         * alloc.c (lrecord_type_index): Delete.
1288         Make lisp object type indexes be constant.
1289           Makes (byte-compile) 5% faster.
1290         Put all marker functions into their own array.
1291           Makes (garbage-collect) 5% faster.
1292         Optimize SYMBOL_VALUE_MAGIC_P.
1293           Makes (byte-compile) 2-3% faster.
1294         * config.h.in (gc_checking_assert): New.
1295         * alloc.c: Use gc_checking_assert().
1296         * .dbxrc: Make compatible with new object type implementation.
1297         * .gdbinit: Make compatible with new object type implementation.
1298         * alloc.c: Delete all symbols defined only for debugging, such as
1299         Lisp_Type_Vector and lrecord_charset.
1300
1301 2000-02-21  Andy Piper  <andy@xemacs.org>
1302
1303         * gui-msw.c (Fmswindows_shell_execute): fix file location
1304         problems.
1305
1306         * buffer.c (Fkill_buffer): remove buffer from alist buffer
1307         unshowing so that set_window_buffer doesn't undo
1308         kill_buffer_hook's hard work.
1309
1310         * glyphs-widget.c (tab_control_query_geometry): don't count the
1311         first item when calculating geometry.
1312
1313         * glyphs.c (map_subwindow): remove redundant code.
1314         (update_frame_subwindows): be more circumspect about when to
1315         update subwindows.
1316
1317         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
1318         when items haven't changed. Update faces if faces have changed as
1319         well as just the widget face.
1320         (x_tab_control_update): Update faces if faces have changed as well
1321         as just the widget face.
1322
1323 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1324
1325         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
1326         registration.
1327         (build_syscolor_string): Use mswindows_color_to_string to try to
1328         get a named color.
1329         (mswindows_device_system_metrics): Reverse the foreground and
1330         background colors so that they match the documentation.
1331
1332         * objects-msw.c: (mswindows_X_color_map): tweak some values so
1333         they match the default Windows palette.
1334         (mswindows_color_to_string): New function.
1335
1336 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1337
1338         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
1339
1340 2000-02-18  Olivier Galibert  <galibert@pobox.com>
1341
1342         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
1343         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
1344
1345         * symbols.c (init_symbols_once_early): Removed obsolete
1346         DATA_SEG_BITS related kludge.
1347         (defvar_magic): Ditto.
1348
1349         * malloc.c: Removed obsolete DATA_SEG_BITS
1350         * ralloc.c: Ditto.
1351         * mem-limits.h: Ditto.
1352
1353         * Makefile.in.in: Removed obsolete HAVE_SHM
1354         * emacs.c: Ditto.
1355
1356 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1357
1358         *  device-msw.c (mswindows_delete_device): Free DDE string
1359         handles.
1360
1361 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1362
1363         * keymap.c (get_keyelt):
1364         * unexnt.c (unexec):
1365         * vm-limit.c (memory_warnings):
1366         * ntheap.c (recreate_heap):
1367         * ntheap.h (UNINIT_PTR):
1368         * select-msw.c (Fmswindows_get_clipboard):
1369         (Fmswindows_set_clipboard):
1370         * objects-msw.h (MSWINDOWS_BAD_HFONT):
1371         * objects-msw.c:
1372         * menubar-msw.c (displayable_menu_item):
1373         * glyphs-msw.c:
1374         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
1375         * sysdep.c (sys_subshell):
1376         * process-nt.c (nt_create_process):
1377         * nt.c (normalize_filename):
1378         (dostounix_filename):
1379         (unixtodos_filename):
1380         * ntproc.c (win32_executable_type):
1381         * ntplay.c (play_sound_data_1):
1382         (play_sound_file):
1383         * editfns.c (get_home_directory):
1384         * event-msw.c (struct winsock_stream):
1385         (mswindows_dde_callback):
1386         * device-msw.c (msprinter_init_device):
1387         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
1388
1389         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
1390         mswindows_clear_toolbar were swapped!
1391
1392         * objects-msw.c:(colormap_t):
1393         (fontmap_t):
1394         * emacs.c (struct standard_args): Fixed const jumble.
1395
1396         * glyphs-widget.c (update_widget): Fixed comparison notation.
1397
1398         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
1399
1400         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
1401         __declspec(noreturn) syntax.
1402
1403 2000-02-19  Martin Buchholz  <martin@xemacs.org>
1404
1405         * eldap.c (Fldap_open):
1406         (Fldap_search_basic):
1407         (Fldap_add):
1408         (Fldap_modify):
1409         Use new coding system conversion macros.
1410
1411 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1412
1413         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
1414
1415 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
1416
1417         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
1418         (Fldap_add, Fldap_modify, Fldap_delete): New functions
1419
1420         * eldap.c (Qadd, Qreplace): New constant symbols
1421         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
1422         interruptions by XEmacs signals
1423         Remove unnecessary calls to slow_down_interrupts and
1424         speed_up_interrupts
1425         (Fldap_search_basic): Renamed from Fldap_search_internal
1426         Added new optional parameter VERBOSE that triggers the
1427         display of progress messages
1428         Remove unnecessary calls to slow_down_interrupts and
1429         speed_up_interrupts
1430         LDAP result code analysis rewritten
1431         (Fldap_add, Fldap_modify, Fldap_delete): New functions
1432         (syms_of_eldap): Define the new symbols and functions
1433
1434
1435 2000-02-17  Martin Buchholz  <martin@xemacs.org>
1436
1437         * realpath.c: Determine PATH_MAX maximally portably.
1438
1439         * insdel.c (bytecount_to_charcount): Optimize.
1440         The function used to be optimized for entirely ASCII sequences.
1441         Now it is optimized for successive characters from the same
1442         charset.  This also wins big for _mostly_ ASCII sequences.
1443
1444         * fileio.c (Ffile_truename): convert return from realpath() using
1445         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
1446         - Rewrite GCPROing slightly.
1447
1448         * sysdep.c (sys_open): Do filename conversion, like all other
1449         sys_* functions.  Fixes bug:
1450         (let ((file-name-coding-system 'iso-8859-2))
1451            (write-region x y latin2-name))
1452         ==> writes filename using internal encoding.
1453
1454 2000-02-18  Martin Buchholz  <martin@xemacs.org>
1455
1456         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
1457         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
1458         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
1459         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
1460         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
1461         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
1462         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
1463         (CONST_IF_NOT_DEBUG): Delete.
1464         * alloc.c (this_one_is_unmarkable): Delete.
1465         (mark_object): Don't check for this_one_is_unmarkable. Use the
1466         c_readonly flag instead.
1467         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
1468
1469 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1470
1471         * event-msw.c (mswindows_drain_windows_queue):
1472         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
1473         away redundant repaint events.
1474
1475 2000-02-17  Andy Piper  <andy@xemacs.org>
1476
1477         * redisplay.h: declare mark_redisplay_structs.
1478
1479         * redisplay.c (redisplay_window):
1480         (redisplay_frame): don't check subwindows_state_changed.
1481         (mark_redisplay): mark gutters here.
1482
1483         * glyphs.c: (instantiate_image_instantiator): always layout if we
1484         haven't done so already.
1485         (allocate_image_instance): don't mark as dirty.
1486         (update_subwindow): bind inhibit_quit.
1487
1488         * gutter.c (mark_gutters): new function.
1489
1490         * glyphs-x.c (x_update_widget): Always resize to get round a
1491         widget bug.
1492
1493         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
1494         breaking absolutely everything.
1495
1496         * gutter.h: declare mark_gutters.
1497
1498 2000-02-16  Martin Buchholz <martin@xemacs.org>
1499
1500         * XEmacs 21.2.29 is released.
1501
1502 2000-02-15  Olivier Galibert  <galibert@pobox.com>
1503
1504         * fns.c (size_bit_vector): Fix computation of the size.
1505
1506 2000-02-15  Martin Buchholz  <martin@xemacs.org>
1507
1508         * *.[ch]: Change CONST to const globally.
1509         find -name '*.[ch]' | \
1510         xargs global-replace \
1511         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
1512         - Remove vestigial references to CONST_IS_LOSING
1513
1514 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1515
1516         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
1517         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
1518         events instead of dispatching them directly.
1519         (mswindows_handle_paint): New function to do repainting.
1520         (mswindows_wnd_proc):
1521         (emacs_mswindows_handle_magic_event): Call above function.
1522
1523 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1524
1525         * objects-msw.c (mswindows_create_font_variant): Return the new
1526         font handle.
1527         (initialize_font_instance): Get font metrics from the underlined
1528         variant of the font to cope with the case where the underlined
1529         font has a bigger descent.
1530
1531 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
1532
1533         * gui.c (gui_item_accelerator): Return the first underlined
1534         character in item name.
1535
1536 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1537
1538         * lisp.h: Added Qprinter.
1539
1540         * general.c (syms_of_general): Initialized it.
1541
1542         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
1543         (get_frame_dc):
1544         (get_frame_compdc): Made inline.
1545
1546         * console.h (struct console_methods): Added eject_page method.
1547
1548         * frame.h: Added FRAME_DISPLAY_P and friends.
1549         Aligned backslahes in many macros in more readable fashion.
1550         Added page_number to struct frame, and an accessor macro
1551         for it.
1552
1553         * defice.h: Added DEVICE_DISPLAY_P and friends.
1554
1555         * device.c (Fdevice_printer_p): Used these.
1556
1557         * frame.c (allocate_frame_core): Initialize page number.
1558         (Fprint_job_page_number):
1559         (Fprint_job_eject_page): Implemented.
1560
1561         * frame-msw.c (msprinter_eject_page): Added method.
1562         (msprinter_start_page): Added.
1563
1564         * window.c (Fwindow_truncated_p): Fixed docstring.
1565         (Fwindow_last_line_visible_height): Implemented.
1566
1567 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
1568
1569         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
1570
1571 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1572
1573         * syntax.c (scan_words): Always advance at least one character.
1574
1575 2000-02-13  Andy Piper  <andy@xemacs.org>
1576
1577         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
1578         to make sure the glyph is in the cachels.
1579
1580         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
1581         global image instance flag.
1582         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
1583         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
1584
1585         * glyphs.c (allocate_image_instance): set dirty bits correctly.
1586         (Fset_image_instance_property): mark layout as changed.
1587         (invalidate_glyph_geometry_maybe): mark layout as changed.
1588         (glyph_width): use new NEEDS_LAYOUT macro.
1589         (glyph_ascent): ditto.
1590         (glyph_descent): ditto.
1591         (glyph_height): ditto.
1592         (image_instance_layout): mark layout as clean after laying out.
1593         (update_subwindow): don't mark layout as clean here.
1594
1595         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
1596         should no longer be needed.
1597
1598         * glyphs-x.c (x_update_widget): sanitize asserts.
1599         (x_finalize_image_instance): sanitize assignment to widgets.
1600
1601         * glyphs-widget.c (widget_instantiate): don't need to clear the
1602         layout flag here.
1603
1604 2000-02-13  Martin Buchholz  <martin@xemacs.org>
1605
1606         * sysdep.c (getcwd): Use standard prototype.
1607         * sysdep.h (getcwd): Use standard prototype.
1608
1609         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
1610         (sequence, start, end).
1611         Remove redundant type checking.
1612         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
1613         view of `caller-protects') to avoid a crash where the real fix was
1614         found elsewhere.
1615
1616 2000-02-12  Martin Buchholz  <martin@xemacs.org>
1617
1618         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
1619
1620         * s/sol2.h: Remove feature macro initialization.
1621
1622         * alloc.c (alloc_lcrecord): Add more type checking assertions.
1623         (vector_hash): New.  Code from internal_hash.
1624         * lrecord.h:
1625         Fix up allocation subsystem comments.
1626
1627         * config.h.in: Add __EXTENSIONS__ for Solaris.
1628
1629         * systime.h (EMACS_GETTIMEOFDAY): New.
1630         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
1631         Remove Solaris-specific code.
1632         Use void* for the (ignored) second arg for gettimeofday().
1633
1634         * elhash.c (hash_table_hash): Implement it, finally.
1635         * elhash.c:  Use hashcode_t.
1636
1637         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
1638         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
1639
1640         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
1641         * fns.c (size_bit_vector):
1642         * alloc.c (size_vector):
1643         (make_vector_internal):
1644         (make_bit_vector_internal):
1645         (sweep_bit_vectors_1):
1646         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
1647
1648 2000-02-10  Martin Buchholz  <martin@xemacs.org>
1649
1650         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
1651         Include strings.h to avoid warnings for bzero and strcasecmp.
1652
1653 2000-02-10  Olivier Galibert  <galibert@pobox.com>
1654
1655         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
1656         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
1657
1658         * fns.c (size_bit_vector): New.  Declare bit vectors as a
1659         sequence.
1660
1661 2000-02-10  Olivier Galibert  <galibert@pobox.com>
1662
1663         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
1664         use a value field instead.
1665         (symbol_value_forward_forward): Use value field.
1666         (DEFVAR_SYMVAL_FWD): Use value field.
1667         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
1668         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
1669         (DEFVAR_CONST_INT): Ditto.
1670         (DEFVAR_BOOL): Ditto.
1671         (DEFVAR_CONST_BOOL): Ditto.
1672         (DEFVAR_INT_MAGIC): Ditto.
1673         (DEFVAR_BOOL_MAGIC): Ditto.
1674
1675         * symbols.c (guts_of_unbound_marker): Use value field.
1676         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
1677         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
1678
1679         * lisp.h: Declare dumpopaque and noninteractive1.
1680
1681         * alloc.c (dumpopaque): Added.
1682         (pdump_dump_opaquevec): Added.
1683         (pdump): Call pdump_dump_opaquevec to dump opaque data.
1684         (pdump_load): Reload opaque data.  Sync noninteractive1 with
1685         noninteractive.
1686
1687 2000-02-10  Andy Piper  <andy@xemacs.org>
1688
1689         * glyphs.c (image_instance_layout): if the size changes, mark it
1690         as such.
1691
1692         * redisplay-output.c (redisplay_output_layout): Update the
1693         subwindow here.
1694         (redisplay_output_subwindow): ditto.
1695
1696         * glyphs.c (update_subwindow): make sure we reset flags for
1697         layouts as well as everything else.
1698
1699         * glyphs-widget.c (layout_layout): don't need to set the instances
1700         dimensions here.
1701
1702 2000-02-09  Martin Buchholz  <martin@xemacs.org>
1703
1704         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
1705         not HAVE_DLOPEN, which is a lower-level thing.
1706
1707         * .cvsignore: Ignore gmon.out
1708
1709 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
1710
1711         * .cvsignore: Ignore portable dumper xemacs.dmp file
1712
1713 2000-02-09  Andy Piper  <andy@xemacs.org>
1714
1715         * redisplay-output.c (redisplay_output_layout): be more clever
1716         about when we output based on the changed flags.
1717
1718         * glyphs.h (struct image_instantiator_methods): add update_method.
1719         (struct Lisp_Image_Instance): add changed flags. Declare new
1720         macros for manipulating them.
1721
1722         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
1723         (image_instance_parent_glyph): find an image_instance's parent
1724         glyph or image_instance.
1725         (image_instance_layout): mark the size as changed.
1726         (set_image_instance_dirty_p): new function. mark an image
1727         instance, plus all of its parents, as dirty.
1728         (Fset_image_instance_property): use it.
1729         (Fglyph_animated_timeout_handler): use it.
1730         (update_subwindow): call update_widget and device methods for
1731         update_subwindow. Mark all changed flags as clean.
1732         (Fresize_subwindow): mark size as changed.
1733
1734         * glyphs-x.c (x_finalize_image_instance): try and detect gc
1735         failures.
1736         (x_update_subwindow): only resize subwindows here.
1737         (x_update_widget): new function. Update all changed properties of
1738         a widget.
1739         (x_resize_subwindow): deleted.
1740         (x_widget_set_property): deleted.
1741         (x_progress_gauge_set_property): deleted.
1742         (x_progress_gauge_update): new function. Implement recorded
1743         changes.
1744         (x_tab_control_update): ditto.
1745         (x_tab_control_set_property): deleted.
1746         (console_type_create_glyphs_x): declare new functions.
1747         (image_instantiator_format_create_glyphs_x): ditto.
1748
1749         * glyphs-widget.c (widget_set_property): mark text changed.
1750         (update_widget): new function. Update properties of a widget.
1751         (widget_instantiate): for layouts make sure we set their
1752         children's parent correctly.
1753         (tab_control_set_property): new function. Record changes that will
1754         take place under redisplay's control.
1755         (progress_gauge_set_property): ditto.
1756         (image_instantiator_progress_guage): declare new functions.
1757         (image_instantiator_tab_control): ditto.
1758
1759         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
1760         now.
1761         (mswindows_update_widget): new function. Update all properties on
1762         a widget that have changed.
1763         (mswindows_button_update): new function. Update a button's set
1764         state.
1765         (mswindows_tab_control_update): new function. Update the items in
1766         a tab.
1767         (mswindows_tab_control_set_property): deleted.
1768         (mswindows_progress_gauge_update): new function. Update the
1769         progress gauge's progress.
1770         (mswindows_widget_set_property): deleted. This is all done
1771         asynchronously now.
1772         (mswindows_progress_gauge_set_property): ditto.
1773         (console_type_create_glyphs_mswindows): declare new methods.
1774         (image_instantiator_format_create_glyphs_mswindows): ditto.
1775
1776         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
1777         (msprinter_set_frame_properties): ditto.
1778
1779         * console.h (struct console_methods): Add update_widget_method.
1780
1781 2000-02-09  Andy Piper  <andy@xemacs.org>
1782
1783         * gui-msw.c (Fmswindows_shell_execute): Make
1784         mswindows-shell-execute industrial strength.
1785
1786 2000-02-08  Martin Buchholz  <martin@xemacs.org>
1787
1788         * lrecord.h: Make macro argument `props' match member function `plist'.
1789         * fns.c (Fget):
1790         * fns.c (Fput):
1791         * fns.c (Fremprop):
1792         * fns.c (Fobject_plist):
1793         * alloc.c:
1794         * symbols.c:
1795         Object property list frobbing cleanup.
1796         - Allow any lisp object (compared with `eq'), not just symbols, as
1797           keys in object plists.
1798         - Move symbol plist frobbing into symbols.c, where it belongs.
1799         - Move string plist frobbing into alloc.c, where it belongs.
1800         - Everything's an lrecord now, so no need to test for symbolp, etc.
1801         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
1802
1803         * extents.c: Reorder code to remove declarations.
1804
1805         * frame.h (store_in_alist): Remove useless declaration.
1806
1807 2000-02-07  Martin Buchholz  <martin@xemacs.org>
1808
1809         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
1810         * config.h.in: Add HAVE_XCONVERTCASE.
1811
1812 2000-02-07  Andy Piper  <andy@xemacs.org>
1813
1814         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
1815         it breaks many things.
1816
1817 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
1818
1819         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
1820         actually can start a common comment type.
1821         * src/syntax.h (SYNTAX_END_P): ditto for end.
1822
1823 2000-02-07  Martin Buchholz <martin@xemacs.org>
1824
1825         * XEmacs 21.2.28 is released.
1826
1827 2000-02-06  Martin Buchholz  <martin@xemacs.org>
1828
1829         * event-Xt.c (x_keysym_to_character): New.
1830         (maybe_define_x_key_as_self_inserting_character): New.
1831         (x_has_keysym): New.
1832         Auto-define all keys on the keyboard as self-insert-key.
1833
1834 2000-02-02  Martin Buchholz  <martin@xemacs.org>
1835
1836         * menubar.c (vars_of_menubar): A small code simplification.
1837
1838         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
1839
1840         * ExternalShell.c:
1841         * ExternalClient.c:
1842         * EmacsShell-sub.c:
1843         * EmacsManager.c:
1844         * EmacsFrame.c:
1845         Use consistent style for specifying X resources.
1846
1847         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
1848         This makes (dontusethis-set-symbol-value-handler) actually usable.
1849
1850         * lrecord.h (lrecord_decription_type):
1851         * alloc.c (pdump_register_sub):
1852         (pdump_dump_data):
1853         (pdump_reloc_one):
1854         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
1855         Comply with XEmacs coding style.
1856         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
1857         args, and XD_LISP_OBJECT_ARRAY with 3 args.
1858
1859         * keymap.c (Faccessible_keymaps):
1860         Make (accessible-keymaps map "\C-h") do the Right Thing.
1861         Make (accessible-keymaps map []) do the Right Thing.
1862         Make (accessible-keymaps map "") do the Right Thing.
1863         (check_keymap_definition_loop): New function.
1864         (keymap_store_internal): Keep luser from shooting self in foot,
1865           via (define-key ctl-x-4-map "p" global-map).
1866         Remove fullness slot from struct Lisp_Keymap, since hash tables
1867         are now reliable.
1868         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
1869
1870 2000-01-30  Martin Buchholz  <martin@xemacs.org>
1871
1872         * redisplay.c (init_redisplay): Fix small memory leak.
1873         * elhash.h:
1874         * elhash.c (pdump_reorganize_hash_table):
1875         Rename from reorganize_hash_table. Change prototype.
1876         Reuse the original memory for hentries.  Save 100k.
1877         * alloc.c (PDUMP_READ): new macro.
1878         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
1879         * alloc.c: No need to #ifndef before #undef.
1880
1881         * print.c: Allow debug_print() to print readably by modifying
1882         debug_print_readably.  Use consistent variable names.
1883
1884         * .dbxrc: Try to get things to work even if stopped in a function
1885         without source available by explicitly specifying source files.
1886 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1887
1888         * unexnt.c (_start): Removed bogus code which caused loading heap
1889         from differrent executable file.
1890         Removed bogus assignment to _fmode, which caused inconsistencies.
1891
1892 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1893
1894         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
1895         Have spawnve encapsulation regard DONT_ENCAPSULATE.
1896         Do not preliminary `#define signal sigset'.
1897
1898         * systime.h: Do not prototype environ on windows nt and cygwin,
1899         this conflicts with system header.
1900
1901         * syssignal.h: Use correct define for WINDOWSNT
1902
1903         * sysdep.h: Do not prototype environ on windows nt, this conflicts
1904         with system header.
1905
1906         * sysdep.c (near start of file): Fixed commentary and rearranged
1907         ifdefs in readable order.
1908         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
1909         (start_of_text):
1910         (end_of_text):
1911         (end_of_data): Do not compile in if using PDUMP.
1912
1913         * symsinit.h: Protptyped vars_of_nt().
1914
1915         * ntproc.c (windows9x_p): Added, instead of os_subtype.
1916         (find_child_console): Use it.
1917         (sys_kill): Use it.
1918
1919         * ntheap.h: Do not extern os_subtype.
1920
1921         * ntheap.c (cache_system_info): Do not cache unneeded:
1922         nt_major_version, nt_minor_version and os_subtype.
1923         (recreate_heap): Do not compile in when PDUMPing.
1924
1925         * nt.c (geteuid and friends): Use the new varibale
1926         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
1927         (init_user_info): Removed the above mentioned hackery.
1928         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
1929         stat has been fixed in the C runtime.
1930         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
1931
1932         * file-coding.c (struct file_coding_dump): Do not define
1933         ucs_to_mule_table in the struct if not MULE.
1934         (struct struct lrecord_description fcd_description_1): Do not dump
1935         the above.
1936
1937         * emacs.c (main_1): Call vars_of_nt().
1938         (right before Fdump_emacs_data): Don't need lastfile if using both
1939         portabe dumper and system malloc.
1940
1941         * alloc.c (Fmemory_limit): Conditionalized out.
1942         (pdump): Use OPEN_BINARY for the portable dump file.
1943         (pdump_load): Ditto.
1944
1945 2000-02-02  Mike Alexander  <mta@arbortext.com>
1946
1947         * nt.c (convert_time): Set tm_isdst before calling mktime and
1948         avoid calling it at all if the compiler supports 64 bit integers.
1949         Also initialize utc_base_ft before using it.
1950
1951 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
1952
1953         * frame.c (change_frame_size_1): Take f->internal_border_width
1954         into consideration when calculating the width of the frame.
1955
1956 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1957
1958         * window.c (frame_min_height):
1959         (frame_size_valid_p):
1960         (frame_pixsize_valid_p): Added.
1961         (check_frame_size): Generalized.
1962
1963         * window.h: Prototyped the above.
1964
1965         * lisp.h:
1966         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
1967         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
1968         Deleted Vwin32_* and Vbinary_process_* unused variables.
1969
1970         * device-msw.c (msprinter_init_device): Do not get printer font
1971         list; Added DEVMODE functions.
1972
1973         * frame-msw.c: Added lots of printer code.
1974
1975         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
1976         general.c.
1977
1978         * console-msw.h: Added more msprinter device private slots.
1979
1980 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1981
1982         * event-msw.c (key_needs_default_processing_p): Added.
1983         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
1984
1985 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1986
1987         * glyphs.c (image_instance_layout): Mark image instance as clean
1988         after layout.
1989         (glyph_dirty_p): Removed redundant function.
1990         (invalidate_glyph_geometry_maybe): Added.
1991         (update_glyph_cachel_data): Call it.
1992
1993         * glyphs.h: Prototyped it.
1994
1995         * redisplay.c (add_glyph_rune): Call it.
1996         (redisplay_window): Reset glyphs cachels when frame faces has
1997         changed, thus forcing recomputation of built-in border glyphs.
1998
1999 2000-01-30  Martin Buchholz  <martin@xemacs.org>
2000
2001         * Makefile.in.in: Make portable dumper and purify play well together.
2002         Add imperfect, but better than nothing, support for pdump.
2003         Remove xemacs.dmp when temacs is re-generated.
2004         Don't ignore errors when dumping xemacs.
2005
2006         * symbols.c (maybe_call_magic_handler): Remove one magic number.
2007
2008 2000-01-28  Andy Piper  <andy@xemacs.org>
2009
2010         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
2011         (setup_normal_frame): ditto.
2012         (setup_frame_without_minibuffer): ditto.
2013         (setup_minibuffer_frame): ditto.
2014         (delete_frame_internal): ditto.
2015         (Fmake_frame_invisible): ditto.
2016         (Ficonify_frame): ditto.
2017
2018         * window.h: change Fset_window_buffer signature.
2019
2020         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
2021         (Fset_window_buffer): allow recording of buffer if the window is
2022         the selected window.
2023         (window_loop): Use new Fset_window signature.
2024
2025 2000-01-23  Daniel Pittman  <daniel@danann.net>
2026
2027         * config.h.in: Added template for `HAVE_ATHENA_3D'
2028
2029 2000-01-29  Andy Piper  <andy@xemacs.org>
2030
2031         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
2032
2033         * gutter.c (output_gutter): Don't output if the window isn't live.
2034
2035 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2036
2037         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
2038         of 01/12/00: Moved SetFocus back here where it belongs.
2039
2040 2000-01-23  Andy Piper  <andy@xemacs.org>
2041
2042         * s/cygwin32.h: declare printer things.
2043
2044 2000-01-26  Andy Piper  <andy@xemacs.org>
2045
2046         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
2047         Alexander.
2048
2049 2000-01-24  Andy Piper  <andy@xemacs.org>
2050
2051         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
2052         (mswindows_button_instantiate): Make sure glyph is a pixmap.
2053
2054         * glyphs-widget.c (widget_instantiate): Avoid shadows.
2055
2056         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
2057
2058         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
2059
2060         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
2061         (mswindows_output_display_block): Avoid local shadows.
2062
2063         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
2064         (mswindows_enqueue_mouse_button_event): ditto.
2065         (mswindows_handle_gui_wm_command): remove declaration.
2066
2067         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
2068         warnings.
2069
2070         * console-msw.h: Avoid shadows.
2071         (mswindows_get_toolbar_button_text):
2072         (emacs_mswindows_create_stream_pair):
2073         (emacs_mswindows_delete_stream_pair):
2074         (mswindows_handle_toolbar_wm_command): declare.
2075
2076         * device-msw.c (build_syscolor_string): Avoid shadows.
2077
2078 2000-01-23  Andy Piper  <andy@xemacs.org>
2079
2080         * glyphs-widget.c (widget_instantiate): reverse the items for
2081         layouts so that children are in the expected order.
2082
2083 2000-01-28  Martin Buchholz  <martin@xemacs.org>
2084
2085         * ralloc.c: safe_bcopy ==> memmove
2086         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
2087         * s/msdos.h: Remove BCOPY macros.
2088         * insdel.c (gap_right): Remove BCOPY conditional code.
2089         * insdel.c (gap_left): Remove BCOPY conditional code.
2090         XEmacs demands a working ANSI C compiler - hence memmove.
2091
2092         * regex.c (regex_compile): Remove accidental use of trigraphs.
2093
2094 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2095
2096         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
2097         event timestamp.
2098
2099 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2100
2101         * event-msw.c (mswindows_drain_windows_queue): Added the
2102         parameter.
2103         (mswindows_need_event): Commented the call to
2104         mswindows_drain_windows_queue().
2105         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
2106         only.
2107
2108         * console-msw.h: Moved a few function prototypes here from
2109         event-msw.c.
2110
2111         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
2112         parameter from unsigned short to unsigned long.
2113         (Fmswindows_shell_execute): Added return value.
2114
2115 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
2116
2117         * sysdep.c (init_system_name):
2118           process-unix.c (unix_canonicalized_host_name):
2119         Don't call freeaddrinfo() if getaddrinfo() fails.
2120
2121         * process-unix.c (unix_open_unix_network_stream):
2122         Moved the code to get a port # into address loop.
2123
2124 2000-01-27  Martin Buchholz  <martin@xemacs.org>
2125
2126         * buffer.c (reinit_vars_of_buffer):
2127         The right place to initialize conversion_in_dynarr and
2128         conversion_out_dynarr.
2129
2130         * alloc.c (pdump): Use the real open() till sys_open() is functional.
2131
2132         * process-unix.c (unix_canonicalize_host_name): Muleize.
2133         (unix_open_network_stream): Muleize.
2134
2135         * buffer.h: Fix up prototypes for ralloc.c functions.
2136
2137 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
2138         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
2139         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
2140                 instead of gethostbyname()
2141         * process-unix.c: In unix_canonicalize_host_name() and
2142                 unix_open_network_stream(), add code to use getaddrinfo()
2143                 instead of gethostbyname().
2144
2145 2000-01-27  Daniel Pittman <daniel@danann.net>
2146
2147         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
2148         libs when built with flat Athena.
2149
2150 2000-01-27  Martin Buchholz  <martin@xemacs.org>
2151
2152         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
2153         Use coding standards for function prototypes.
2154
2155 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2156
2157         * dialog-msw.c (push_lisp_string_as_unicode):
2158         * doc.c (unparesseuxify_doc_string):
2159         * dired.c (Fuser_name_completion_1):
2160         * dired.c (Fuser_name_all_completions):
2161         * dired.c (free_user_cache):
2162         * dired.c (user_name_completion):
2163         * console-x.c (get_display_arg_connection):
2164         * minibuf.c (clear_echo_area_internal):
2165         * minibuf.c (echo_area_append):
2166         * eldap.c (Fldap_open):
2167         * eldap.c (Fldap_search_internal):
2168         * frame-x.c (x_set_frame_text_value):
2169         * frame-x.c (x_set_frame_properties):
2170         * frame-x.c (x_create_widgets):
2171         * redisplay-tty.c (term_get_fkeys_1):
2172         * objects-x.c (x_parse_nearest_color):
2173         * objects-x.c (x_valid_color_name_p):
2174         * objects-x.c (x_initialize_font_instance):
2175         * objects-x.c (x_list_fonts):
2176         * objects-x.c (x_find_charset_font):
2177         * tooltalk.c (Fadd_tooltalk_message_arg):
2178         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
2179         * tooltalk.c (Fadd_tooltalk_pattern_arg):
2180         * process-unix.c (unix_create_process):
2181         * ntproc.c (sys_spawnve):
2182         * sound.c (Fplay_sound_file):
2183         * sound.c (Fplay_sound):
2184         * buffer.c (init_initial_directory):
2185         * buffer.c (init_buffer):
2186         * editfns.c (init_editfns):
2187         * editfns.c (Ftemp_directory):
2188         * editfns.c (Fuser_full_name):
2189         * editfns.c (uncache_home_directory):
2190         * editfns.c (get_home_directory):
2191         * editfns.c (Fuser_home_directory):
2192         * editfns.c (Fformat_time_string):
2193         * editfns.c (Fcurrent_time_string):
2194         * gui-x.c (button_item_to_widget_value):
2195         * database.c (Fopen_database):
2196         * event-Xt.c (x_to_emacs_keysym):
2197         * event-Xt.c (x_event_to_emacs_event):
2198         * event-Xt.c (describe_event_window):
2199         * event-msw.c (mswindows_wnd_proc):
2200         * glyphs-eimage.c (jpeg_instantiate):
2201         * glyphs-eimage.c (gif_instantiate):
2202         * glyphs-eimage.c (png_instantiate):
2203         * glyphs-eimage.c (tiff_instantiate):
2204         * glyphs-x.c (xbm_instantiate_1):
2205         * glyphs-x.c (x_xbm_instantiate):
2206         * glyphs-x.c (x_xface_instantiate):
2207         * glyphs-x.c (autodetect_instantiate):
2208         * glyphs-x.c (cursor_font_instantiate):
2209         * glyphs-x.c (x_widget_instantiate):
2210         * glyphs-x.c (x_widget_set_property):
2211         * glyphs-x.c (x_widget_property):
2212         * glyphs-x.c (BUILD_GLYPH_INST):
2213         * print.c (write_string_to_stdio_stream):
2214         * print.c (output_string):
2215         * print.c (Falternate_debugging_output):
2216         * print.c (Fexternal_debugging_output):
2217         * glyphs-msw.c (extract_xpm_color_names):
2218         * glyphs-msw.c (mswindows_xpm_instantiate):
2219         * glyphs-msw.c (bmp_instantiate):
2220         * glyphs-msw.c (resource_name_to_resource):
2221         * glyphs-msw.c (mswindows_resource_instantiate):
2222         * glyphs-msw.c (xbm_instantiate_1):
2223         * glyphs-msw.c (mswindows_xbm_instantiate):
2224         * glyphs-msw.c (mswindows_xface_instantiate):
2225         * glyphs-msw.c (mswindows_widget_instantiate):
2226         * glyphs-msw.c (add_tree_item):
2227         * glyphs-msw.c (add_tab_item):
2228         * glyphs-msw.c (mswindows_combo_box_instantiate):
2229         * glyphs-msw.c (mswindows_widget_property):
2230         * glyphs-msw.c (mswindows_combo_box_property):
2231         * glyphs-msw.c (mswindows_widget_set_property):
2232         * console.c (stuff_buffered_input):
2233         * objects-msw.c (mswindows_initialize_color_instance):
2234         * objects-msw.c (mswindows_valid_color_name_p):
2235         * objects-msw.c (mswindows_list_fonts):
2236         * objects-msw.c (mswindows_font_instance_truename):
2237         * bytecode.c (optimize_compiled_function):
2238         * select-x.c (symbol_to_x_atom):
2239         * select-x.c (x_atom_to_symbol):
2240         * select-x.c (hack_motif_clipboard_selection):
2241         * select-x.c (selection_data_to_lisp_data):
2242         * select-x.c (lisp_data_to_selection_data):
2243         * select-x.c (Fx_get_cutbuffer_internal):
2244         * select-x.c (Fx_store_cutbuffer_internal):
2245         * buffer.h (TO_EXTERNAL_FORMAT): New function.
2246         * buffer.h (TO_INTERNAL_FORMAT): New function.
2247         * emacs.c (make_arg_list_1):
2248         * emacs.c (make_argc_argv):
2249         * emacs.c (main_1):
2250         * emacs.c (Fdump_emacs):
2251         * emacs.c (split_string_by_emchar_1):
2252         * file-coding.h:
2253         * lisp.h:
2254         * lstream.h:
2255         * symsinit.h:
2256         * device-x.c (x_init_device):
2257         * device-x.c (Fx_valid_keysym_name_p):
2258         * device-x.c (Fx_get_font_path):
2259         * device-x.c (Fx_set_font_path):
2260         * glyphs.c (bitmap_to_lisp_data):
2261         * glyphs.c (pixmap_to_lisp_data):
2262         * alloc.c (make_ext_string): Use coding system arguments.  Update
2263         all callers.
2264         * alloc.c (build_string):
2265         * callproc.c (child_setup):
2266         * callproc.c (init_callproc):
2267         * fileio.c (lisp_strerror):
2268         * fileio.c (directory_file_name):
2269         * fileio.c (Fexpand_file_name):
2270         * fileio.c (Ffile_truename):
2271         * fileio.c (Fsysnetunam):
2272         * fileio.c (Fdo_auto_save):
2273         * sysdep.c (sys_readdir):
2274         * tests.c: New file.  Allow adding C tests.
2275         Replace GET_* macros with a more comprehensible and flexible
2276         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
2277         Modify all calls.
2278         Any coding system can be used to do format conversion.
2279         Eliminate enum external_data_format.
2280         Eliminate convert_to_external_format.
2281         Eliminate convert_to_internal_format.
2282         Make sure file-name, keyboard, terminal, and ctext are always
2283         defined as coding systems or aliases.  Make
2284         file-name-coding-system, terminal-coding-system, and
2285         keyboard-coding-system magical variables that are equivalent to
2286         defining the corresponding coding system aliases.
2287
2288         * file-coding.c (Fcoding_system_canonical_name_p): New function.
2289         * file-coding.c (Fcoding_system_alias_p): New function.
2290         * file-coding.c (Fcoding_system_aliasee): New function.
2291         * file-coding.c (append_suffix_to_symbol): New function.
2292         * file-coding.c (dangling_coding_system_alias_p): New function.
2293         * file-coding.c (Ffind_coding_system):
2294         * file-coding.c (Fcopy_coding_system):
2295         * file-coding.c (encode_coding_no_conversion):
2296         * file-coding.c (syms_of_file_coding):
2297         * file-coding.c (vars_of_file_coding):
2298         Rewrite coding system alias code.
2299         Allow nested aliases, like symbolic links.
2300         Allow redefinition of coding system aliases.
2301         Prevent existence of dangling coding system aliases.
2302
2303         * dired.c (Fuser_name_completion_1):
2304         * dired.c (Fuser_name_all_completions):
2305         A crash would happen if user did QUIT in the middle of building
2306         user_name_cache.  Remove redundant code in mainline and unwind_protect.
2307
2308         * lisp.h:
2309         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
2310
2311         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
2312         an unsigned char *.  Update all callers.
2313
2314 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2315
2316         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
2317
2318 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2319
2320         * elhash.c (hentry_description): Use more portable definition.
2321         (resize_hash_table): Initialize new hentries using
2322         xnew_array_and_zero, thereby simplifying the code.
2323
2324         * mule-charset.c (make_charset): Make sure entire object is
2325         intialized, to avoid Purify warnings.
2326
2327         * alloc.c (resize_string): Fix unlikely crash with big strings.
2328
2329 2000-01-24  Martin Buchholz  <martin@xemacs.org>
2330
2331         * realpath.c (xrealpath):
2332         Don't call getwd().
2333
2334 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2335
2336         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
2337
2338 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
2339
2340         * unexelfsgi.c (unexec): Change the way we decide which segment
2341         should be extended.
2342
2343         Assumption that .bss section should be outside the PT_LOADable
2344         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
2345         it's present) is inside the 'data' segment. This would fail the
2346         test which was used to find a segment to grow and cover new
2347         heap. Instead of this assumption, I created another one - on IRIX
2348         the segment to grow should start below .bss and it's address
2349         should extent above the end of .bss. Once this segment is
2350         identified, it's grown to accommodate the new heap and new
2351         zero-length .bss section is added at the end of .data2.
2352
2353 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2354
2355         * eval.c (Feval): Wrong number of arguments should use original
2356         function, not the indirect_function version of it.
2357
2358 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
2359
2360         * glyphs-x.c (x_button_instantiate): Don't add image if
2361         it is not a pixmap.
2362         (x_locate_pixmap_file): Call Fexpand_file_name when file name
2363         is relative.
2364
2365 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
2366
2367         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
2368         declaration.
2369         (DEFVAR_INT_MAGIC): Ditto.
2370         (DEFVAR_BOOL_MAGIC): Ditto.
2371         * glyphs.h: Reindent backslash.
2372
2373 2000-01-24  Martin Buchholz  <martin@xemacs.org>
2374
2375         * glyphs-widget.c (layout_query_geometry):
2376         (layout_layout): Use correct types for gheight, gwidth.
2377
2378 2000-01-24  Martin Buchholz  <martin@xemacs.org>
2379
2380         * EmacsManager.c (QueryGeometry): Purified.
2381
2382 2000-01-23  Martin Buchholz  <martin@xemacs.org>
2383
2384         * alloc.c (make_float): Make sure entire object is intialized, to
2385         avoid Purify warnings.
2386         (pdump_register_sub): Remove useless assignment.
2387         (pdump): Use xmalloc, not malloc.
2388         (pdump_load): Use xmalloc, not malloc.
2389
2390 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2391
2392         * callproc.c:
2393         * dired-msw.c:
2394         * fileio.c:
2395         * process-nt.c:
2396         * redisplay-msw.c:
2397         * sysdep.c: Removed redundant #include <windows.h>
2398
2399 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2400
2401         * frame.c (delete_frame_internal): Do not delete device when its
2402         implementation so declares.
2403         (delete_frame_internal): Set device selected frame to nil when
2404         last frame goes away.
2405
2406         * device-msw.c (msprinter_device_system_metrics): Implemented.
2407         (mswindows_device_system_metrics): Added 'device-dpi property.
2408
2409         * device.c: (Fdevice_printer_p): Added.
2410         Added 'offset-workspace device metric.
2411
2412         * console.h (device_metrics): Declared DM_offset_workspace.
2413
2414 2000-01-23  Martin Buchholz  <martin@xemacs.org>
2415
2416         * fileio.c (Ffile_truename): Remove pointless and confusing
2417         initialization of elen.
2418
2419         * glyphs-widget.c: Compiler warning fixes.
2420
2421 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2422
2423         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
2424         instead of a Lisp_Object as argument to make it consistent with
2425         the other LIVE_P macros.
2426         (CHECK_LIVE_PROCESS): New macro.
2427
2428         * process.c: Declare Qprocess_live_p.
2429         (Fprocess_live_p): New function.
2430         (create_process): Use PROCESS_LIVE_P.
2431         (read_process_output): Ditto.
2432         (set_process_filter): Ditto.
2433         (Fdelete_process): Ditto.
2434         (kill_buffer_processes): Ditto
2435         (process_send_signal): Use CHECK_LIVE_PROCESS.
2436         (Fprocess_input_coding_system): Check whether process is still
2437         alive (fix PR#1061).
2438         (Fprocess_output_coding_system): Ditto.
2439         (Fprocess_coding_system): Ditto.
2440         (Fset_process_input_coding_system): Ditto.
2441         (Fset_process_output_coding_system): Ditto.
2442
2443 2000-01-23  Andy Piper  <andy@xemacs.org>
2444
2445         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
2446         layout and widget.
2447
2448         * glyphs.c (mark_image_instance): take into account changed
2449         image_instance format.
2450         (image_instance_equal): ditto.
2451         (image_instance_hash): ditto.
2452
2453         * glyphs-widget.c (widget_instantiate): Incorporate layout
2454         instantiation here. Delay layout of the layout until later.
2455         (layout_instantiate): deleted.
2456         (layout_query_geometry): new function. get the geometry of a
2457         layout.
2458         (layout_layout): layout a layout dynamically.
2459         (image_instantiator_widget): New function - splitting up
2460         image_instantiator_format_create_glyphs_widget for netwinder
2461         compilation.
2462         (image_instantiator_buttons):
2463         (image_instantiator_edit_fields):
2464         (image_instantiator_combo_box):
2465         (image_instantiator_scrollbar):
2466         (image_instantiator_progress_guage):
2467         (image_instantiator_tree_view):
2468         (image_instantiator_tab_control):
2469         (image_instantiator_labels):
2470         (image_instantiator_layout): ditto.
2471         (image_instantiator_format_create_glyphs_widget): Call preceeding
2472         functions.
2473
2474 2000-01-22  Martin Buchholz  <martin@xemacs.org>
2475
2476         * process.c (Fset_process_coding_system):
2477         * device-x.c (Fx_keysym_hash_table):
2478         Docstring fixes.
2479
2480         * lstream.c (Lstream_write): Return documented value, not 0.
2481
2482         * fileio.c (directory_file_name):
2483         (Fsubstitute_in_file_name):
2484         (Fsubstitute_insert_file_contents_internal):
2485         (Fwrite_region_internal):
2486         * emacs.c:
2487         * sysdep.c:
2488         * getloadavg.c:
2489         * systty.h:
2490         Remove vestigial APOLLO-conditional code.
2491
2492 2000-01-21  Martin Buchholz  <martin@xemacs.org>
2493
2494         * getpagesize.h: Add guard macros.
2495         * libsst.h: Add guard macros.
2496         * libst.h: Add guard macros.
2497         * line-number.h: Add guard macros.
2498         * ndir.h: Add guard macros.
2499         * sysfloat.h: Add guard macros.
2500         * sysfile.h: Add guard macros.
2501         * sysproc.h: Add guard macros.
2502         * syswait.h: Add guard macros.
2503         * xintrinsic.h: Add guard macros.
2504         * xintrinsicp.h: Add guard macros.
2505         * xmmanager.h: Add guard macros.
2506         * xmmanagerp.h: Add guard macros.
2507         * xmprimitive.h: Add guard macros.
2508         * xmu.h: Add guard macros.
2509         * gpmevent.h: Add copyright statement. Add guard macros.
2510         * miscplay.h: Add guard macros.
2511         * *.h: Use consistent C-standards-approved guard macro names.
2512
2513         * opaque.c (make_opaque): Switch parameter order.
2514         * opaque.h (make_opaque): Switch parameter order.
2515         Update all callers.
2516         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
2517
2518         * config.h.in (type_checking_assert): Added.
2519         (bufpos_checking_assert): Added.
2520
2521 2000-01-21  Martin Buchholz  <martin@xemacs.org>
2522
2523         * alloc.c: Harmless pdump changes.
2524         - Use countof().
2525         - spell alignment correctly.
2526         * sysdep.c: Use countof()
2527
2528 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2529
2530         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
2531         initially_selected_for_input() console method, default to 0.
2532         (semi_canonicalize_console_connection): Try to delegate to
2533         canonicalize_console_connection if no such console method.
2534         (canonicalize_console_connection): Vice versa.
2535         (print_console): Do not print nil connection.
2536
2537         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
2538         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
2539         (XDEVIMPF_FRAMELESS_OK): Added.
2540         (CONSOLE_INHERITS_METHOD): Added.
2541
2542         * console-msw.c (mswindows_canonicalize_console_connection):
2543         Added.
2544         (mswindows_canonicalize_device_connection): Added.
2545
2546         * console-msw.h (struct msprinter_device): Added this struct and
2547         accessor macros.
2548         (mswindows_device): Made fontlist a lisp object.
2549
2550         * device.c (semi_canonicalize_device_connection):  Try to delegate
2551         to canonicalize_device_connection if no such console method.
2552         (canonicalize_device_connection): Vice versa.
2553         (print_device): Do not print nil connection.
2554
2555         * device-msw.c (mswindows_init_device): Call InitCommonControls
2556         when have widgets.
2557         (mswindows_delete_device): Removed fontlist deallocation.
2558         (mswindows_mark_device): Added.
2559
2560         * events.c (event_equal): Added abort() at unreached code.
2561         (event_hash): Ditto.
2562
2563         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
2564         fallback tags of Windows devices.
2565
2566         * general.c (syms_of_general): Initialized Qmsprinter.
2567
2568         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
2569         of fallback tags of Windows devices.
2570
2571         * lisp.h: Declared Qmsprinter.
2572
2573         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
2574         of strings.
2575         (mswindows_list_fonts): Ditto.
2576         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
2577         that it can be used by both mswindows and msprinter devices.
2578         (initialize_font_instance): Added.
2579         (mswindows_initialize_font_instance): Use it.
2580         (msprinter_initialize_font_instance): Added.
2581
2582         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
2583         and implementation flags check.
2584         (redisplay_without_hooks): Changed the call to the above.
2585         (Fredraw_device): Ditto.
2586         (Fredisplay_device): Ditto.
2587
2588         * redisplay-msw.c (get_frame_dc): Implemented.
2589         (get_frame_compdc): Implemented.
2590         (many functions): Use the two functions above to get device
2591         contexts, ether for a window or a printer.
2592
2593 2000-01-21  Olivier Galibert  <galibert@pobox.com>
2594
2595         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
2596         initialization here.
2597         (init_symbols_once_early): Call it.
2598         * emacs.c (main_1): Call it.
2599         * symsinit.h: Declare it.
2600
2601 2000-01-19  Olivier Galibert  <galibert@pobox.com>
2602
2603         * alloc.c: Use a lrecord_header * in the backtrace instead of a
2604         Lisp_Object.
2605         (pdump_backtrace): Ditto.
2606         (pdump_register_object): Ditto.  Cleanup use of the pointers.
2607         (pdump_get_entry): Abort if trying to register a null pointer.
2608         (pdump_dump_data): Cleanup types when relocating.
2609         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
2610         (pdump_dump_rtables): Remove bad casts.
2611         (pdump_load): Cleanup relocation w.r.t union type.  Use a
2612         Lisp_Object instead of a EMACS_INT for the hashtable
2613         reorganization.
2614
2615 2000-01-20  Martin Buchholz  <martin@xemacs.org>
2616
2617         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
2618
2619         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
2620
2621         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
2622
2623         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
2624
2625 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2626
2627         * faces.h (FACE_STRIKETHRU_P): Added.
2628
2629         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
2630         of font variants.
2631
2632         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
2633         (mswindows_set_dc_font): New function, aware of font variants,
2634         separated from mswindows_update_dc.
2635
2636         * objects-msw.h (struct mswindows_font_instance_data): Added
2637         definition.
2638
2639         * objects-msw.c (mswindows_finalize_font_instance): Delete all
2640         cached fonts and the data structure.
2641         (mswindows_initialize_font_instance): Added creation of font data
2642         structure.
2643         (mswindows_print_font_instance): Print at least something.
2644         (mswindows_create_font_variant): Implemented.
2645         (mswindows_get_hfont): Implemented.
2646
2647 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
2648
2649         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
2650         prototyping problem with msvc.
2651
2652         * emacs.c (main_1): added syms_of_gui_mswindows() call
2653
2654         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
2655         syms_of_gui_mswindows() function
2656
2657         * symsinit.h: added the prototype for syms_of_gui_mswindows()
2658
2659 2000-01-18  Martin Buchholz <martin@xemacs.org>
2660
2661         * XEmacs 21.2.27 is released.
2662
2663 2000-01-18  Martin Buchholz  <martin@xemacs.org>
2664
2665         * glyphs-eimage.c (struct tiff_error_struct):
2666         (tiff_error_func):
2667         (tiff_warning_func):
2668         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
2669
2670         * unexmips.c:
2671         * unexhp9k3.c:
2672         * unexfreebsd.c:
2673         * unexec.c: Remove vestigial Lucid C code.
2674         * unexalpha.c:
2675         * unexaix.c:
2676         * termcap.c:
2677         * libsst.c: Ansify.
2678         Remove declarations of errno and strerror().
2679
2680         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
2681
2682         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
2683
2684 2000-01-16  Martin Buchholz  <martin@xemacs.org>
2685
2686         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
2687         Optimize.
2688
2689 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2690
2691         * md5.c:
2692         * file-coding.c:
2693         * file-coding.h:
2694         Change enum eol_type to eol_type_t.
2695
2696 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2697
2698         * gui.c (get_gui_callback): Check cons before accessing car.
2699
2700 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2701
2702         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
2703         (XSETSPECIFIER_TYPE): Ditto.
2704
2705 2000-01-17  Didier Verna  <didier@xemacs.org>
2706
2707         * redisplay.c (generate_fstring_runes): compute string size in
2708         characters, not bytes.
2709
2710 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
2711
2712         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
2713
2714 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
2715
2716         * print.c (print_error_message): Call print_prepare().
2717
2718 2000-01-14  Martin Buchholz  <martin@xemacs.org>
2719
2720         * .dbxrc: Renamed from dbxrc.
2721
2722         * events.c (event_to_character):
2723         Use `assert (foo)' instead of `if (!foo) abort()'
2724
2725         * .gdbinit (xtype): Add documentation.
2726         * .gdbinit (check-temacs): New function.
2727         * .gdbinit (check-xemacs): New function.
2728         * dbxrc (check-xemacs): New function.
2729         * dbxrc (check-xemacs): New function.
2730
2731 2000-01-14  Andy Piper  <andy@xemacs.org>
2732
2733         * glyphs-widget.c (widget_query_geometry): Make sure that we
2734         calculate default dimensions correctly.
2735
2736 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2737
2738         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
2739
2740         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
2741         pdump_wire'd variable.
2742
2743         * emacs.c: (main_1): Conditionalized calls to
2744         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
2745
2746 2000-01-13  Martin Buchholz  <martin@xemacs.org>
2747
2748         * window.c (Fset_window_configuration):
2749         * sysdep.c (_start):
2750         * input-method-motif.c (res):
2751         * event-Xt.c (Xt_process_to_emacs_event):
2752         Simple compiler warning fixes.
2753
2754         * bytecode.c (funcall_compiled_function): Use the original
2755         function symbol on the backtrace list in preference to the
2756         compiled_function object in error messages.
2757
2758 2000-01-13  Andy Piper  <andy@xemacs.org>
2759
2760         * glyphs-x.c (update_widget_face): Make sure we update the widget
2761         background as well as foreground.
2762
2763 2000-01-13  Andy Piper  <andy@xemacs.org>
2764
2765         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
2766         fields to subwindow.
2767         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
2768         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
2769         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
2770         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
2771
2772         * glyphs-widget.c (check_valid_tab_orientation): new function.
2773         (initialize_widget_image_instance): zero orientation and
2774         justification.
2775         (widget_instantiate): pick up orientation.
2776         (tab_control_query_geometry): return appropriate values for
2777         vertical tabs.
2778
2779         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
2780         appropriate creation flags for left, right and bottom tabs.
2781
2782         * s/cygwin32.h: add tab definitions.
2783
2784 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2785
2786         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
2787         frame upon hiding a subwindow.
2788         (mswindows_button_instantiate): Changed the push button style to
2789         BS_PUSHBUTTON.
2790         (mswindows_button_instantiate): Removed button BS_NOTIFY
2791         style.
2792         (mswindows_button_instantiate): Removed redundant check for
2793         a disabled gui item.
2794         (mswindows_button_instantiate): Made use of WS_TABSTOP
2795         consistent: "operable" controls (edit, button, tree, scroll) have
2796         this style, "display-only" ones (static, progress gauge) do
2797         not. This style is currently ignored by XEmacs though. Also,
2798         removed the WS_EX_CONTROLPARENT style - it is not for children,
2799         it is for their parents!
2800         (mswindows_edit_field_instantiate): Ditto.
2801         (mswindows_progress_gauge_instantiate): Ditto.
2802         (mswindows_tree_view_instantiate): Ditto.
2803         (mswindows_tab_control_instantiate): Ditto.
2804         (mswindows_scrollbar_instantiate): Ditto.
2805         (mswindows_combo_box_instantiate): Ditto.
2806         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
2807         style to the "clip" window.
2808         (mswindows_button_instantiate): Removed compilation warning by
2809         equally typing terms of the ?: operator.
2810
2811 2000-01-12  Didier Verna  <didier@xemacs.org>
2812
2813         * redisplay.c (generate_fstring_runes): new parameter holding the
2814         last modeline-format extent.
2815         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
2816         extent, fill the glyph block with it.
2817         (generate_fstring_runes): handle these parameters.
2818         (generate_formatted_string_db): ditto.
2819
2820         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
2821         glyphs'extents in the modeline.
2822
2823 1999-01-11  Mike Woolley  <mike@bulsara.com>
2824
2825         * ntheap.c: Reduced the reserved heap space from 1Gb down to
2826         256Mb, as a workaround for the non-starting problem many people
2827         have experienced.
2828
2829 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2830
2831         * console-tty.c (Fset_console_tty_output_coding_system):
2832         Force redrawing tty frame.
2833
2834 2000-01-10  Didier Verna  <didier@xemacs.org>
2835
2836         * redisplay.c (generate_fstring_runes): fix size computation bug.
2837
2838 2000-01-09  William M. Perry <wmperry@aventail.com>
2839
2840         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
2841
2842 2000-01-09  Andy Piper  <andy@xemacs.org>
2843
2844         * glyphs-msw.c: index -> i to avoid shadows.
2845         (xbm_create_bitmap_from_data): make static.
2846         (check_valid_string_or_int): deleted.
2847         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
2848
2849         * glyphs-x.c (x_update_subwindow): remove unused args.
2850
2851         * glyphs.c (glyph_image_instance): return the thing. Don't set the
2852         back pointer - this is done in allocate_image_instance.
2853         (query_string_font): return Qnil to make the compiler happy.
2854         (unmap_subwindow): set to ~0 to make the compiler happy.
2855         (glyph_query_geometry): comment out until used.
2856         (glyph_layout): ditto.
2857
2858 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
2859
2860         * insdel.c (signal_after_change): Remove extraneous unbind_to().