+2000-03-21 Ben Wing <ben@xemacs.org>
+
+ * event-msw.c (mswindows_need_event): Horrible kludge to fix
+ process brokenness. Proper implementation to come.
+ * callproc.c:
+ Rename call-process-internal to old-call-process-internal.
+ New impl. in process.el.
+
+2000-03-21 Martin Buchholz <martin@xemacs.org>
+
+ * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
+
+2000-03-20 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (full_list_hash): make hashes of the same elements in
+ different orders return different values.
+
+2000-03-20 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.32 is released.
+
+2000-03-20 Martin Buchholz <martin@xemacs.org>
+
+ * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
+ (DFC_MALLOC_USE_CONVERTED_DATA):
+ Add aliasing-safe casts to allow use with char* or unsigned char*
+ lvalues.
+
+ * eldap.c (Fldap_open):
+ (Fldap_search_basic):
+ (Fldap_add):
+ (Fldap_modify):
+ Make C++-compilable.
+ Make sure GCPRO'ed variables are initialized.
+ Use temp variables to avoid repeated calls to Flength.
+
+2000-03-16 Martin Buchholz <martin@xemacs.org>
+
+ * sysfile.h:
+ Make sure PATH_MAX is always defined.
+ Include limits.h for PATH_MAX.
+ Deprecate use of MAXPATHLEN.
+
+2000-03-10 Martin Buchholz <martin@xemacs.org>
+
+ * emacs.c: Add reinit_vars_of_fileio.
+ * symsinit.h: Add reinit_vars_of_fileio.
+ * fileio.c (reinit_vars_of_fileio): New.
+ * fileio.c (Fmake_temp_name):
+ Initialize temp_name random number from microseconds to make
+ collisions even less likely. Initialize always at process startup
+ time. (make-temp-name) used to return the same file name twice in
+ a row when PDUMP.
+ Random stylistic fiddling.
+ Comment fixes.
+
+2000-03-20 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (image_instantiate): allow text glyphs to be
+ instantiated in the minibuffer window.
+
+2000-03-19 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (image_instance_hash): be careful about which items we
+ hash on.
+
+ * glyphs-widget.c (tab_control_set_property): record into pending
+ items rather than the actual items.
+
+ * glyphs-x.c (x_update_widget): use pending items to update with.
+
+ * glyphs-msw.c (mswindows_tab_control_update): use pending items
+ to update with.
+
+ * glyphs.c (mark_image_instance): mark pending items.
+
+ * window.c (Fset_window_configuration): record the buffer.
+ (Fselect_window): totally revert previous change which breaks many
+ things.
+
+2000-03-18 Andy Piper <andy@xemacs.org>
+
+ * glyphs-msw.c (mswindows_tab_control_update): force selected
+ item.
+
+ * glyphs.c (image_instantiate): don't allow the minibuffer as a
+ window domain cache, otherwise we get inconsistencies at
+ startup. There is something fishy at startup which can lead to the
+ minibuffer being the selected window when the gutter content is
+ instantiated.
+
+ * gui.c (parse_gui_item_tree_list): add probably unnecessary
+ gcpros.
+ (parse_gui_item_tree_children): ditto.
+ (parse_gui_item_tree_item): ditto.
+
+ * glyphs.c (Fupdate_widget_instances): return something.
+
+2000-03-18 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * window.c (Fselect_window): Undo 2000-03-17 change.
+
+2000-03-17 SL Baur <steve@musashimaru.m17n.org>
+
+ * postgresql.c (Fpq_setenv): Remove this turkey when linking
+ against v7.0 libraries. Insta-coredump city until the postgres
+ folks fix it.
+
+2000-03-17 Andy Piper <andy@xemacs.org>
+
+ * faces.c (complex_vars_of_faces): don't give the widget face an
+ inherited background pixmap.
+
+ * glyphs-msw.c (mswindows_tab_control_instantiate): select the
+ selected item.
+
+ * event-stream.c (Fdispatch_non_command_events): return something.
+
+ * gutter.c (output_gutter): use widget face.
+ (clear_gutter): ditto.
+
+ * NEWS: adjust again.
+
+ * window.c (Fselect_window): make sure this runs to completion to
+ avoid oddities with Fset_window_configuration.
+ (Fcurrent_window_configuration): in general do not save the
+ minibuffer as the selected window.
+
+ * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
+
+2000-03-16 Olivier Galibert <galibert@pobox.com>
+
+ * emacs.c (Frunning_temacs_p): Revert previous patch.
+ (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
+
+2000-03-16 Andy Piper <andy@xemacs.org>
+
+ * glyphs-x.c (x_tab_control_update): if no widget values then
+ return.
+
+ * NEWS: update for new features.
+
+ * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
+ synthetic event to the native system.
+ (reinit_vars_of_event_Xt): set force_event_pending to
+ emacs_Xt_force_event_pending.
+
+ * events.h (struct event_stream): add force_event_pending.
+
+ * specifier.c (recompute_one_cached_specifier_in_window): add
+ comment.
+
+ * redisplay.c (redisplay_frame): don't call
+ update_frame_subwindows. Reset subwindow cachels when
+ subwindows_changed, removing this was an optimization too far.
+
+ * redisplay-output.c (compare_runes): reorganize so that we catch
+ glyph changes when we want them. Set optimize_output when this
+ would help layouts.
+ (redisplay_output_layout): remove frame_really_changed, use
+ optimize_output instead.
+
+ * redisplay-msw.c (mswindows_output_display_block): reset
+ optimize_output after outputting a glyph.
+ * redisplay-x.c (x_output_display_block): ditto.
+ * redisplay-tty.c (tty_output_display_block): ditto.
+
+ * gutter.c: (specifier_vars_of_gutter): use new spec changed
+ functions.
+ (gutter_specs_changed): do specific gutter positions.
+ (top_gutter_specs_changed): new function. Only update the
+ specified gutter specs.
+ (bottom_gutter_specs_changed): ditto.
+ (left_gutter_specs_changed): ditto.
+ (right_gutter_specs_changed): ditto.
+
+ * gui.c (gui_item_hash_internal): new function, does a real hash.
+ (gui_item_id_hash): use it.
+ (gui_item_hash): hash the eval'ed gui_item.
+
+ * gui-x.c (popup_selection_callback): send an eval event to call
+ Fupdate_widget_instances.
+
+ * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
+ to call Fupdate_widget_instances.
+
+ * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
+ (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
+
+ * glyphs.c: (update_frame_subwindows): deleted.
+ (Fupdate_widget_instances): new function for updating the dirty
+ state of widgets that might have changed.
+ (syms_of_glyphs): add Qupdate_widget_instances.
+ (full_list_hash): hash a list completely.
+ (image_instance_hash): use it for items and properties.
+
+ * frame-msw.c (mswindows_size_frame_internal): remove unused
+ variable.
+
+ * faces.h (struct face_cachel): fix comment.
+
+ * event-stream.c (Fdispatch_non_command_events): new
+ function. Process non-command events, forcing an event cycle
+ beforehand.
+ (syms_of_event_stream): declare.
+ (event_stream_force_event_pending): new function. Force an event
+ on the native event queue so that an event cycle will occur next
+ time we check.
+
+ * event-msw.c:
+ (struct ntpipe_shove_stream):
+ (mswindows_enqueue_dispatch_event):
+ (mswindows_dequeue_dispatch_event):
+ (mswindows_cancel_dispatch_event):
+ (mswindows_pump_outstanding_events):
+ (mswindows_drain_windows_queue):
+ (mswindows_handle_paint):
+ (mswindows_wnd_proc):
+ (mswindows_key_to_emacs_keysym):
+ (get_process_input_waitable):
+ (emacs_mswindows_delete_stream_pair): re-indent file.
+ (mswindows_need_event): do not process further fds if the windows
+ fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
+ fixes the 100% cpu problem.
+ (reinit_vars_of_event_mswindows): set force_event_pending to 0.
+
+2000-03-15 Olivier Galibert <galibert@pobox.com>
+
+ * alloc.h: New.
+ * dumper.h: New.
+ * dumper.c: New.
+
+ * emacs.c: Moved dump file searching to dumper.c.
+ (Frunning_temacs_p): Fixed.
+
+ * alloc.c: Moved everything pdump-related to dumper.c. Removed
+ last_lrecord_type_index_assigned.
+
+2000-02-20 Olivier Galibert <galibert@pobox.com>
+
+ * symsinit.h: Added reinit parameter to init_console_stream
+ declaration.
+
+ * lisp.h: Added file parameter to pdump_load declaration.
+
+ * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
+ support. Added dump file searching.
+
+ * config.h.in: Added EMACS_PROGNAME.
+
+ * console-stream.c (init_console_stream): Fix reinitialisation
+ when running from temacs.
+
+ * alloc.c (pdump): Add id support.
+ (pdump_load): Add file parameter and signature/id support.
+
+ * Makefile.in.in: Add full pdump support.
+
+2000-03-15 SL Baur <steve@musashimaru.m17n.org>
+
+ * postgresql.c: Update documentation to reflect latest code
+ status.
+ (print_result): Show tuple counts in printed representation when
+ appropriate.
+ (Fpq_put_nbytes): MULE-ize.
+ (Fpq_get_line_async): Ditto.
+
+2000-03-14 SL Baur <steve@musashimaru.m17n.org>
+
+ * postgresql.c (Fpq_lo_import): Fix return value.
+ Suggested by: Kenji Itoh <keit@tpj.co.jp>.
+
+2000-03-13 Ben Wing <ben@xemacs.org>
+
+ * alloc.c (pdump_load):
+ Fix compile warning under mswin.
+
+2000-03-14 SL Baur <steve@musashimaru.m17n.org>
+
+ * postgresql.c: Mule-ization, bug fixes.
+ Use PG_CODING to encapsulate coding system name changes.
+ Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
+ (pg-coding-system): Create.
+
+ (Fpq_conn_defaults): Mule-ize.
+ (Fpq_connectdb): Mule-ize & bug fix.
+ (Fpq_connect_start): Mule-ize.
+ (Fpq_set_client_encoding): Mule-ize.
+ (Fpq_finish): Document `DEAD' connection status.
+ (Fpq_clear): Ditto.
+ (Fpq_pgconn): Mule-ize.
+ (Fpq_exec): Mule-ize & bug fix.
+ (Fpq_send_query): Ditto.
+ (Fpq_get_result): Ditto.
+ (Fpq_res_status): Mule-ize.
+ (Fpq_result_error_message): Mule-ize.
+ (Fpq_ntuples): fix comments.
+ (Fpq_fname): Mule-ize.
+ (Fpq_fnumber): Mule-ize.
+ (Fpq_ftype): fix comments.
+ (Fpq_get_value): Mule-ize.
+ (Fpq_cmd_status): Ditto.
+ (Fpq_cmd_tuples): Ditto.
+ (Fpq_oid_value): Ditto.
+ (Fpq_notifies): Ditto.
+ (Fpq_lo_import): Ditto.
+ (Fpq_lo_export): Ditto.
+ (Fpq_get_line): Ditto.
+ (Fpq_put_line): Mule-ize and bug fix.
+ (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
+
+2000-03-10 SL Baur <steve@musashimaru.m17n.org>
+
+ * postgresql.c (vars_of_postgresql): Mule-ize.
+ (Fpq_conn_defaults): Ditto.
+
+2000-03-12 Ben Wing <ben@xemacs.org>
+
+ * alloc.c (Fmake_byte_code):
+ * alloc.c (debug_string_purity_print):
+ * alloc.c (pdump_backtrace):
+ * alloc.c (pdump_get_indirect_count):
+ * alloc.c (pdump_register_sub):
+ * alloc.c (pdump_register_object):
+ * alloc.c (pdump_register_struct):
+ * alloc.c (pdump_dump_data):
+ * alloc.c (pdump_reloc_one):
+ Minor cleanups.
+
+ * console-msw.c:
+ * console-msw.c (GetConsoleHwnd):
+ * console-msw.c (msw_hide_console):
+ * console-msw.c (msw_show_console):
+ * console-msw.c (msw_ensure_console_buffered):
+ * console-msw.c (msw_output_console_string):
+ * console-msw.c (console_type_create_mswindows):
+
+ a) Added functions to manipulate the console window for use with
+ shell support.
+
+ b) Added support for writing text to the console, which is now
+ used under Windows when xemacs is not being run non-interactively,
+ to write text that would otherwise be destined for stdout because
+ under these circumstances, text written to stdout tends to
+ disappear and not be seen.
+
+ * console-msw.h:
+ * event-Xt.c:
+ * event-Xt.c (x_event_to_emacs_event):
+ * event-Xt.c (describe_event_window):
+ * events-mod.h (XEMACS_MOD_CONTROL):
+ * events.c:
+ * events.c (Fmake_event):
+ * events.c (character_to_event):
+ * events.c (event_to_character):
+ * events.c (format_event_object):
+ * events.c (Fevent_modifiers):
+ * events.h:
+ * events.h (struct key_data):
+ * events.h (struct button_data):
+ * events.h (struct misc_user_data):
+ * frame-x.c (Fcde_start_drag_internal):
+ * frame-x.c (Foffix_start_drag_internal):
+ * gpmevent.c (Freceive_gpm_event):
+ * keymap.c:
+ * keymap.c (bucky_sym_to_bucky_bit):
+ * keymap.c (control_meta_superify):
+ * keymap.c (make_key_description):
+ * keymap.c (keymap_lookup_directly):
+ * keymap.c (create_bucky_submap):
+ * keymap.c (keymap_store):
+ * keymap.c (define_key_check_and_coerce_keysym):
+ * keymap.c (define_key_parser):
+ * keymap.c (define_key_alternate_name):
+ * keymap.c (Fdefine_key):
+ * keymap.c (raw_lookup_key_mapper):
+ * keymap.c (struct map_keymap_unsorted_closure):
+ * keymap.c (map_keymap_unsorted_mapper):
+ * keymap.c (map_keymap_sort_predicate):
+ * keymap.c (map_keymap_sorted):
+ * keymap.c (accessible_keymaps_mapper_1):
+ * keymap.c (where_is_recursive_mapper):
+ * keymap.c (describe_map_mapper):
+ * keymap.c (describe_map_sort_predicate):
+ * keymap.c (describe_map):
+ * keymap.c (complex_vars_of_keymap):
+ And a number of other files, the key modifier preprocessor
+ constants that xemacs uses have names that conflict with constants
+ defined under MS Windows for other purposes, so they were renamed
+ to begin with the prefix XEMACS_. The variables that hold such
+ modifiers were changed to consistently be of type int to fix
+ various compile warnings.
+
+ * console.c (complex_vars_of_console):
+ * device.c:
+ * device-msw.c:
+ * device-msw.c (mswindows_finish_init_device):
+ * device-msw.c (msw_get_workspace_coords):
+ * device-msw.c (mswindows_device_system_metrics):
+ and various other files, added support for a new
+ device property called offset-workspace which returns the position
+ of the upper left corner of the workspace area and goes along with
+ the existing size-workspace property.
+
+ * dialog-msw.c:
+ * dialog-msw.c (push_bufbyte_string_as_unicode):
+ * dialog-msw.c (mswindows_popup_dialog_box):
+ Added support for XEmacs-style accelerator specifications in
+ button text. Note: I didn't add support for this under X Windows,
+ and somebody needs to do this.
+
+ * dialog.c:
+ * dialog.c (Fpopup_dialog_box):
+ Documented the support for accelerators that was just mentioned.
+
+ editfns.c (get_home_directory): Changed behavior under Windows
+ when HOME not defined; former behavior was irretrievably broken.
+
+ * emacs.c:
+ * emacs.c (main_1):
+ * emacs.c (main):
+ * minibuf.c (clear_echo_area_internal):
+ * minibuf.c (echo_area_append):
+ * print.c:
+ * print.c (std_handle_out_external):
+ * print.c (std_handle_out_va):
+ * print.c (fatal):
+ * print.c (write_string_to_stdio_stream):
+ * print.c (output_string):
+ * print.c (debug_print):
+ * print.c (debug_backtrace):
+ * print.c (debug_short_backtrace):
+ Cleaned up the code that prints text to stdout so that this can be
+ changed to output into a console window instead under MS Windows,
+ as described above.
+
+ * eval.c:
+ * eval.c (DEFEND_AGAINST_THROW_RECURSION):
+ * eval.c (internal_catch):
+ * eval.c (unwind_to_catch):
+ * eval.c (throw_or_bomb_out):
+ * eval.c (condition_case_1):
+ * eval.c (signal_1):
+ * eval.c (check_error_state_sanity):
+ * eval.c (call_with_suspended_errors_1):
+ * eval.c (call_with_suspended_errors):
+ * eval.c (reinit_vars_of_eval):
+ Added code to catch throw loops and check for a pesky bug that may
+ be gone now.
+
+ * event-msw.c:
+ * event-msw.c (key_needs_default_processing_p):
+ * event-msw.c (mswindows_wnd_proc):
+ * event-msw.c (mswindows_modifier_state):
+ * event-msw.c (emacs_mswindows_quit_p):
+ * event-msw.c (vars_of_event_mswindows):
+ a) Added support for using the alt key to select menu items as is
+ standard under MS Windows. This is controlled using the variable
+ menu-accelerator-enabled, just like under X Windows. There is an
+ option on the options menu to turn this support on. I really
+ think that it should be on by default under Windows, but I'm not
+ going to make this change yet.
+
+ b) Added support for dynamic display size changes under Windows.
+
+ * event-stream.c:
+ * event-stream.c (maybe_echo_keys):
+ * event-stream.c (Fnext_event):
+ * event-stream.c (command_builder_find_leaf):
+ * event-stream.c (lookup_command_event):
+ * event-stream.c (execute_command_event):
+ * event-stream.c (pre_command_hook):
+ * event-stream.c (post_command_hook):
+ * event-stream.c (syms_of_event_stream):
+ * event-stream.c (vars_of_event_stream):
+ * event-stream.c (complex_vars_of_event_stream):
+ * events.h (struct command_builder):
+
+ a) Tried to clean up a little bit the horribly written x-specific
+ accelerator code that crept into this file. I moved this code
+ into menubar-x.c where it belongs. I also needed to move the
+ command builder structure into the file events.h because it is
+ accessed directly by this accelerator code. What I didn't do, but
+ which should be done at some point, is to properly abstract this
+ code using device methods instead of the kludgy way that it
+ currently hooks into the event code.
+
+ b) Added the lisp variables this-command-properties and
+ last-command- properties, which should be used to synchronize two
+ adjacent commands in preference to playing games with the variable
+ this-command, which is typically what happens.
+
+ c) Added some slightly nasty code to hook into the lisp support
+ for shifted- motion-key selection. This is actually necessary for
+ somewhat complicated reasons, which are described in
+ simple.el. (NB: I think the proper thing would be to have the code
+ that calls the pre and post command hooks also call out to generic
+ lisp functions in simple.el, where all built-in stuff could be
+ added. I will think about this more.)
+
+ * event-unixoid.c (poll_fds_for_input):
+ * lread.c (readchar):
+ * redisplay-tty.c (tty_clear_frame):
+ * redisplay-x.c (x_get_gc):
+ * signal.c (interrupt_signal):
+ And a whole bunch of other files: fixed up places that printed
+ directly to stderr to instead call the function stderr_out so that
+ the changes I made under Windows work correctly.
+
+ * filemode.c (mode_string):
+ Warning fixes.
+
+ * frame-msw.c:
+ * frame-msw.c (mswindows_size_frame_internal):
+ Fixed the computation of frame size and position to keep the frame
+ within the workspace area, rather than within the physical
+ dimensions of the screen, so that the frame doesn't overlap window
+ manager decorations, such as the start menu and toolbar, typically
+ at the bottom of the screen.
+
+ * frame.c (vars_of_frame):
+ Changed the default frame title format under MS Windows to consist
+ of buffername-XEmacs, which is standard under MS Windows. I think
+ it might be a good idea to change this everywhere because I think
+ it is superior to the current frame title format, but this is the
+ kind of change that is likely to cause some people to get annoyed,
+ so I'm not making it.
+
+ * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
+
+ * gui-msw.c (mswindows_handle_gui_wm_command):
+ Fixed compile warnings.
+
+ * gui-x.c:
+ * gui-x.c (strdup_and_add_accel):
+ * gui-x.c (button_item_to_widget_value):
+ * gui-x.h:
+ Added code to automatically put an accelerator onto the beginning
+ of menu items that don't have one as is now the standard, and is
+ described more later. Also fixed things so that the menu item
+ name can be an evaluated expression, again a new standard.
+
+ * gui.c:
+ * gui.c (gui_item_add_keyval_pair):
+ * gui.c (make_gui_item_from_keywords_internal):
+ * gui.c (gui_add_item_keywords_to_plist):
+ * gui.c (gui_item_accelerator):
+ * gui.c (gui_name_accelerator):
+ * gui.c (gui_item_included_p):
+ * gui.c (gui_item_display_flush_left):
+ * gui.c (gui_item_display_flush_right):
+ * gui.c (parse_gui_item_tree_item):
+ * gui.c (parse_gui_item_tree_children):
+ * gui.c (parse_gui_item_tree_list):
+ Mule-ized. Cleanup. GCPRO addition.
+
+ * line-number.c (buffer_line_number):
+ * lisp.h:
+ * lisp.h (EMACS_INT_MAX):
+ Added the manifest constant EMACS_INT_MIN corresponding to the
+ existing constant EMACS_INT_MAX. This is partially to fix compile
+ warnings under Windows, and partly for cleanliness.
+
+ * menubar-msw.c:
+ * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
+ * menubar-msw.c (msw_translate_menu_or_dialog_item):
+ * menubar-msw.c (displayable_menu_item):
+ * menubar-msw.c (populate_menu_add_item):
+ * menubar-msw.c (populate_or_checksum_helper):
+ * menubar-msw.c (populate_menu):
+ * menubar-msw.c (update_frame_menubar_maybe):
+ * menubar-msw.c (prune_menubar):
+ * menubar-msw.c (msw_char_is_accelerator):
+ * menubar-msw.c (unsafe_handle_wm_initmenu_1):
+ * menubar-msw.c (mswindows_handle_wm_command):
+ * menubar-msw.c (mswindows_handle_wm_initmenupopup):
+ * menubar-msw.c (mswindows_handle_wm_initmenu):
+ * menubar-msw.c (mswindows_update_frame_menubars):
+ * menubar-msw.c (mswindows_free_frame_menubars):
+ * menubar-msw.c (mswindows_popup_menu):
+ Fixed a bug in handling accelerators where an extra character
+ would be displayed in the menu item. Also generalized the
+ function displayable_menu_item because it is now used by the
+ dialog box code as well. And finally, added code in the functions
+ that create the menubar to extract a list of accelerators for the
+ top level menubar, which is used in the event code to determine
+ whether a particular alt-key combination should be used to invoke
+ a menu item, or should be passed through to access the standard
+ XEmacs keymap binding for this key combination.
+
+ Much needed GCPROing.
+
+ * menubar-x.c:
+ * menubar-x.c (menu_item_descriptor_to_widget_value_1):
+ * menubar-x.c (menu_item_descriptor_to_widget_value):
+ * menubar-x.c (restore_in_menu_callback):
+ * menubar-x.c (x_popup_menu):
+ * menubar-x.c (menu_move_up):
+ * menubar-x.c (menu_move_down):
+ * menubar-x.c (menu_move_left):
+ * menubar-x.c (menu_move_right):
+ * menubar-x.c (menu_select_item):
+ * menubar-x.c (command_builder_operate_menu_accelerator):
+ * menubar-x.c (menu_accelerator_junk_on_error):
+ * menubar-x.c (command_builder_find_menu_accelerator):
+ * menubar-x.c (Faccelerate_menu):
+ * menubar.h:
+ Moved a whole bunch of code here that was previously in
+ event-stream.c as described above. There is also code connected
+ to the new standard of adding an accelerator to the beginning of
+ menu items that don't have one as described above and below.
+
+ * menubar.c:
+ * menubar.c (menu_parse_submenu_keywords):
+ * menubar.c (Fmenu_find_real_submenu):
+ * menubar.c (Fnormalize_menu_item_name):
+ * menubar.c (syms_of_menubar):
+ * menubar.c (vars_of_menubar):
+ * menubar.c (complex_vars_of_menubar):
+
+ a) Cleaned up a bunch of documentation and improved it.
+
+ b) XEmacs now automatically adds an accelerator onto the beginning
+ of any menu items that don't have one. I did this because there
+ will inevitably be some menu items on the main menubar that don't
+ have accelerators on them because the package that adds that
+ particular menu item hasn't yet been fixed up to have accelerators
+ in them and it looked rather strange to have some items with and
+ some items without accelerators, especially since even in items
+ without accelerators, you can, at least under windows, still
+ access the item through an accelerator corresponding to the first
+ character in the item's name. If people don't like this behavior,
+ I can add a variable to turn it off optionally, but I'm not sure
+ this is a good idea because we really do need to have accelerators
+ on all of the menu items, and if a package doesn't like the
+ accelerators being put on the first character, then it should put
+ the accelerators where they belong.
+
+ c) I made a behavior change, which is that the descriptor that
+ specifies the text of the menu item, which formerly was just a
+ string, can now also be an evaluated expression. This makes this
+ descriptor parallel with all of the others, which could also be
+ evaluated expressions. This also obviates the need for the
+ keyword :label, which was previously listed in the documentation
+ as unimplemented, and which was for the same purpose.
+
+ d) GCPROing.
+
+ * ntproc.c:
+ * ntproc.c (new_child):
+ * ntproc.c (sys_spawnve):
+ * ntproc.c (find_child_console):
+ * ntproc.c (sys_kill):
+ Fixed compile warnings. By the way, this file should really go
+ away entirely, and this will happen as soon as Kirill makes his
+ final round of process cleanups, which affect the function
+ call-process.
+
+ * process-nt.c:
+ * process-nt.c (struct nt_process_data):
+ * process-nt.c (find_process_from_pid):
+ * process-nt.c (send_signal_the_nt_way):
+ * process-nt.c (enable_child_signals):
+ * process-nt.c (find_child_console):
+ * process-nt.c (send_signal_the_95_way):
+ * process-nt.c (nt_finalize_process_data):
+ * process-nt.c (ensure_console_window_exists):
+ * process-nt.c (nt_create_process):
+ * process-nt.c (nt_kill_child_process):
+ * process-nt.c (nt_kill_process_by_pid):
+ * process-nt.c (nt_open_network_stream):
+ * process-nt.c (vars_of_process_nt):
+ Copied over code from Emacs 20.5 to correctly send signals to sub-
+ processes under Windows 95. Also added code to automatically
+ create and hide console window when a sub-process is created under
+ Windows 95, which obviates the need for the separate runemacs.exe
+ executable, and finally implemented some variables that were
+ implemented in Emacs 20.5, but previously not in XEmacs. These
+ include mswindows- start-process-share-console and
+ mswindows-start-process-inherit-error-mode. (Both of these only
+ apply to Windows 95.)
+
+ * regex.c (regex_compile): Fixed a compile warning.
+
+ * select-msw.c:
+ * select-msw.c (mswindows_own_selection):
+ * select-msw.c (mswindows_get_foreign_selection):
+ * select-msw.c (mswindows_disown_selection):
+ * select-msw.c (console_type_create_select_mswindows):
+ * select-msw.c (syms_of_select_mswindows):
+ Cleaned up the file and implemented the device method
+ selection_exists_p, which had accidentally been left out. Also
+ removed four lisp functions that were remnants from before the
+ time when the selection code was properly device abstracted.
+ These functions are no longer needed because there are generic
+ equivalents, and because they were added recently and don't exist
+ in FSF Emacs, I don't think there's any problem with just deleting
+ them.
+
+ * sysdep.c:
+ * sysdep.c (sys_subshell):
+ Fixed a compile warning, although in this case there's probably
+ something wrong with this code, and it ought to be looked into
+ more thoroughly by somebody who understands it.
+
+ * window.c:
+ * window.c (Fwindow_text_area_height):
+ * window.c (Fwindow_width):
+ * window.c (Fwindow_full_width):
+ * window.c (Fwindow_pixel_width):
+ * window.c (debug_print_window):
+ * window.c (syms_of_window):
+ Added functions window-text-area-height and window-full-width,
+ which are functions for returning various width and height
+ characteristics of a window. (One of these functions is necessary
+ for making the file dialog box work correctly, and the other one
+ was added for completeness.) Also added a table to the
+ documentation for window-height which describes the entire scheme
+ for accessing width and height characteristics of a window.
+
+2000-03-12 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * nt.c (fstat): Added a comment for another problem with
+ non-encapsulated [f]stat(), reported by Adrian Aichner
+ <aichner@ecf.teradyne.com>.
+
+2000-03-11 Andy Piper <andy@xemacs.org>
+
+ * window.c (make_dummy_parent): initialize subwindow instance
+ cache.
+ (Fset_window_configuration): zero extent_modiff.
+
+2000-03-10 Andy Piper <andy@xemacs.org>
+
+ * redisplay.c (Fredraw_frame): reset the changed_set flags so that
+ more changes can be triggered.
+ (Fredisplay_frame): ditto.
+ (Fredraw_device): ditto.
+ (Fredisplay_device): ditto.
+ (redisplay_frame): make non-static.
+ (redisplay_frame): call update_frame_gutter_geometry outside of
+ display proper.
+
+ * gutter.h: declare update_frame_gutter_geometry.
+
+ * redisplay.h: declare redisplay_frame.
+
+ * gutter.c (update_frame_gutter_geometry): move geometry changes
+ in update_frame_gutters here. Geometry changes can only occur
+ outside of redisplay.
+ (update_frame_gutters): remove geometry change code.
+ (Fredisplay_gutter_area): make sure that we are in display when we
+ update and that we have flushed any size changes.
+
+2000-03-11 Andy Piper <andy@xemacs.org>
+
+ * alloc.c (pdump_dump_data): remove i & count shadows.
+
+2000-02-27 Mike Alexander <mta@arbortext.com>
+
+ * sysdep.h: Declare pdump_read_file
+
+ * sysdep.c (pdump_read_file): New function
+
+ * alloc.c (pdump_load): Call pdump_read_file to get the portable
+ dump data
+
+2000-03-10 SL Baur <steve@musashimaru.m17n.org>
+
+ * lrecord.h: add `lrecord_type_pgsetenv'.
+
+2000-03-08 SL Baur <steve@musashimaru.m17n.org>
+
+ * symsinit.h: declare (vars|syms)_of* functions.
+ * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
+
+2000-03-06 SL Baur <steve@musashimaru.m17n.org>
+
+ * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
+
+ * inline.c: Include postgresql.h lrecord stuffs to placate buggy
+ GCCs.
+
+ * emacs.c (main_1): Call postgres initialization code.
+
+ * postgresql.h: New file. PostgreSQL RDBMS support.
+ * postgresql.c: New file.
+
+2000-03-08 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * redisplay-output.c (redisplay_output_display_block): Disable
+ redundant code.
+
+2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
+ (Fcanna_henkan_next): Ditto.
+ (Fcanna_bunsetu_henkou): Ditto.
+ (Fcanna_henkan_kakutei): Ditto.
+ (Fcanna_henkan_end): Ditto.
+ (Fcanna_henkan_quit): Ditto.
+ (Fcanna_henkan_next): Set retun value correctly.
+ (c2mu): Use unsigned char instead of signed char.
+
+2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * emacs.c (main_1): Always call syms_of_gui.
+ * inline.c: include gui.h
+
+2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * redisplay.c (Vvisible_bell): Renamed from visible_bell and
+ converted to Lisp_Object.
+ (Qtop_bottom): New variable.
+ (syms_of_redisplay): Initialize it.
+ * redisplay.h (Vvisible_bell): Ditto.
+ * sound.c (ding): Ditto and check if Vvisible_bell is nil.
+ * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
+ only flash top and bottom.
+
+2000-03-08 Andy Piper <andy@xemacs.org>
+
+ * buffer.c (Frename_buffer): record new buffer name the right way.
+
+2000-03-08 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (update_subwindow): increase hash depth so that widget
+ items get picked up properly.
+
+ * redisplay-output.c (compare_runes): increase hash depth so that
+ widget items get picked up properly.
+
+2000-03-08 Andy Piper <andy@xemacs.org>
+
+ * gutter.c (output_gutter): add some debug.
+
+ * glyphs.h (struct Lisp_Image_Instance): add display_hash.
+ (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
+ (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
+
+ * redisplay-output.c (compare_runes): use display_hash to
+ determine if glyphs really are not the same.
+
+ * glyphs.c (update_subwindow): check display_hash to see if
+ anything really needs to be updated. If not then do
+ nothing. Record the display_hash after updating.
+ (image_instance_equal): compare the image_instance face also.
+
+2000-03-07 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * redisplay.h: Fix comment style.
+
+2000-03-08 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * consle-msw.h (struct mswindows_frame):
+ Added new member paint_pending to indicate whether a WM_PAINT
+ magic event has been queued for this frame.
+
+ * event-msw.c (mswindows_drain_windows_queue):
+ Don't queue a WM_PAINT magic event if one is already queued.
+ (emacs_mswindows_handle_magic_event): clear paint_pending flag.
+
+ * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
+
+2000-03-07 Didier Verna <didier@xemacs.org>
+
+ * dired.c: #include `regex.h' after `sysfile.h'.
+
+2000-03-06 Martin Buchholz <martin@xemacs.org>
+
+ * sound.c (init_nas_sound): Fix compiler warning.
+
+ * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
+ (FREE_STRUCT_P):
+ (MARK_STRUCT_AS_FREE):
+ (MARK_STRUCT_AS_NOT_FREE):
+ Make `gcc -fstrict-aliasing' work properly.
+
+2000-03-07 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
+ (mswindows_delete_device): Call CoUnnitialize().
+
+ * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
+
+2000-02-25 <CraigL@DyCon.com>
+
+ * process-nt.c: MinGW now has <shellapi.h>, but still needs
+ <errno.h>.
+
+ * sysdep.c: This extern declaration for environ prevents MinGW
+ from finding the variable in CRTDLL.DLL.
+
+ * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
+ windows headers.
+ (SHGFI_EXETYPE): ..
+ (WM_MOUSEWHEEL): ..
+ (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
+ definitions.
+ (MMRESULT): Removed, now defined in cygwin's windows headers.
+ (TIMECAPS): ..
+ (uid_t,gid_t,pid_t,ssize_t): ..
+ (_timeb): Removed, MinGW defines both _timeb and timeb.
+ (HAVE_H_ERRNO): Added.
+ (HAVE_TZNAME): Added, configure is not detecting this.
+
+2000-02-03 IKEYAMA Tomonori <tomonori@suiyokai.org>
+
+ * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
+ * syntax.c (syntax_match): Use it.
+
+ * cmds.c: Import auto-fill-chars from FSF Emacs.
+ (Vauto_fill_chars): New variables.
+ (internal_self_insert): Check Vauto_fill_chars.
+ (vars_of_cmds):
+ Declare auto-fill-chars as a Lisp variable and initialize it.
+
+2000-03-05 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * fileio.c (Fmake_symbolic_link):
+ (Ffile_symlink_p):
+ Run handlers even if local machine doesn't have symlinks.
+
+2000-03-05 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * event-msw.c (mswindows_drain_windows_queue):
+ Don't generate paint magic events for non-XEmacs frames.
+
+2000-03-05 Andy Piper <andy@xemacs.org>
+
+ * redisplay.c (redisplay_frame): generate_displayable_area and
+ friends assumes that we are not in GC, we therefore have to make
+ sure that this doesn't happen.
+
+ * gutter.c (calculate_gutter_size): generate_displayable_area
+ assumes that we are not in GC, we therefore have to make sure that
+ this doesn't happen.
+
+2000-03-05 Martin Buchholz <martin@xemacs.org>
+
+ * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
+
+2000-03-03 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * redisplay.c (regenerate_window): Make sure we set a sane value
+ for end_pos even if we jump out of the loop.
+ (regenerate_window): Answer Ben's question :-).
+ (start_end_of_last_line): Add may_error argument.
+ (start_of_last_line):
+ (end_of_last_line): Pass may_error = 0.
+ (end_of_last_line_may_error): New function.
+ (pixel_to_glyph_translation): Use it, so we don't crash in
+ event_to_glyph.
+
+2000-03-04 Andy Piper <andy@xemacs.org>
+
+ * window.h (struct window): add gutter_extent_modiff.
+
+ * window.c (allocate_window): zero out gutter_extent_modiff.
+
+ * redisplay.h: declare sync_display_line_structs.
+
+ * redisplay.c (add_glyph_rune): add a better comment.
+
+ * redisplay-output.c (sync_display_line_structs): made non-static.
+ (compare_runes): remove unneccesary glyph cachel access.
+
+ * gutter.h: declare gutter_extent_signal_changed_region_maybe.
+
+ * gutter.c (output_gutter): don't output the gutter if extent
+ changes only involve extents in buffers. use 4 sets of display
+ lines.
+ (gutter_extent_signal_changed_region_maybe): new function. Mark
+ extents in gutters as changed.
+ (update_frame_gutters): use 4 sets of display lines.
+ (reset_gutter_display_lines): ditto.
+ (free_frame_gutters): ditto.
+ (redraw_exposed_gutter): force output of gutters.
+
+ * frame.h (struct frame): add 4 sets of gutter display lines.
+
+ * extents.c: (extent_changed_for_redisplay): signal changes to
+ extents in strings in the gutter as well as extents in buffers.
+
+2000-03-02 Andy Piper <andy@xemacs.org>
+
+ * gutter.c (specifier_vars_of_gutter): cosmetic changes.
+
+ * frame.c (Fmake_frame): make sure the gutters get initialized
+ after the frame is visible.
+ (set_frame_selected_window): re-arrange compilation macros a
+ little.
+ (change_frame_size_1): mark gutters changed.
+
+ * device.c (Fset_device_class): mark gutters changed.
+
+2000-03-01 Andy Piper <andy@xemacs.org>
+
+ * window.c (window_top_frame_gutter_height): deleted.
+ (window_bottom_frame_gutter_height): ditto.
+ (window_left_frame_gutter_height): ditto.
+ (window_right_frame_gutter_height): ditto.
+ (window_top_gutter_height): don't use them.
+ (window_bottom_gutter_height): ditto.
+ (window_left_gutter_width): ditto.
+ (window_right_gutter_width): ditto.
+ (Fsplit_window): ditto.
+ (Fwindow_pixel_edges): don't use border dimensions here.
+
+ * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
+ (update_scrollbar_instance): ditto.
+
+ * redisplay.c (generate_modeline): don't take gutters into account.
+ (generate_modeline): ditto.
+ (redisplay_frame): small gutter display optimization.
+
+ * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
+
+ * redisplay-msw.c (mswindows_output_vertical_divider): don't take
+ gutters into account.
+
+ * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
+ for window position and type.
+
+ * gutter.c (get_gutter_coords): fix for frame gutters.
+ (update_frame_gutters): update frame geometry if the gutters have
+ changed.
+ (init_frame_gutters): record current gutter geometries.
+
+ * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
+ var.
+ (mswindows_widget_instantiate): ditto.
+
+ * frame.h (struct frame): add current_gutter_bounds.
+
+ * frame.c (change_frame_size_1): position window and minibuffer
+ appropriately taking into account the frame gutters.
+
+ * frame-x.c: (x_initialize_frame_size): take into account the
+ frame gutters.
+
+2000-02-29 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * emacs.c (data-directory): Xref `locate-data-file' in docstring.
+
+2000-02-29 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
+
+1999-12-30 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
+
+ * file-coding.c (reset_decoding_stream): Clear previous
+ detection state when autodetect.
+
+2000-02-29 Didier Verna <didier@xemacs.org>
+
+ * extents.c (set_extent_glyph_1): don't require extents to be
+ attached.
+
+2000-02-27 Andy Piper <andy@xemacs.org>
+
+ * gutter.c (Fset_default_gutter_position): don't default left and
+ right gutter visibility to t.
+ (Fset_default_gutter_position): run
+ default-gutter-position-changed-hook.
+ (syms_of_gutter): add default-gutter-position-changed-hook.
+
+2000-02-26 Andy Piper <andy@xemacs.org>
+
+ * specifier.c (Fmake_specifier): add gutter references.
+
+ * gutter.h (RAW_WINDOW_GUTTER): new macro.
+
+ * lisp.h: declare Fvalid_plist_p.
+
+ * gutter.c (gutter_geometry_changed_in_window): mark the modeline
+ as changed.
+ (default_gutter_visible_p_changed_in_window): invalidate gutter as
+ well as its visibility so that it gets reconstructed.
+ (construct_window_gutter_spec): new function. Construct a string
+ to be displayed in the gutter from a plist of strings. Take care
+ to only use elements that are declared as visible.
+ (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
+ WINDOW_GUTTER.
+ (gutter_validate): allow plists of strings in the specifier.
+ (gutter_specs_changed): construct the real_gutter from the gutter
+ specs using construct_window_gutter_spec.
+ (gutter_visible_validate): gutter-visible is a new specifier type.
+ (Fgutter_visible_specifier_p): new function for the new specifier.
+ (syms_of_gutter): declare gutter-visible and
+ Fgutter_visible_specifier_p.
+ (specifier_type_create_gutter): intitalize new gutter-visible
+ specifier.
+ (reinit_specifier_type_create_gutter): ditto.
+ (specifier_vars_of_gutter): use new specifier type for gutter
+ visibility.
+ (init_frame_gutters): construct real_gutter correctly.
+ (Fgutter_specifier_p): beef up documentation.
+ (Fgutter_size_specifier_p): ditto.
+
+ * winslots.h: add real_gutter slots.
+
+2000-02-25 Andy Piper <andy@xemacs.org>
+
+ * device-msw.c: Be kind to older cygwin versions. From Raymond
+ Toy <toy@rtp.ericsson.se>.
+
+ * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
+ earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
+
+2000-02-25 Martin Buchholz <martin@xemacs.org>
+
+ * elhash.c (MARK_OBJ): Practice macro hygiene.
+
+2000-02-24 Martin Buchholz <martin@xemacs.org>
+
+ * miscplay.c: s/__inline__/inline/g;
+ * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
+ (get_device_compdc): INLINE ==> static inline
+ * *.[ch]: Change INLINE to INLINE_HEADER globally.
+ find -name '*.h' | \
+ xargs global-replace \
+ 's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
+
+2000-02-25 Andy Piper <andy@xemacs.org>
+
+ * window.c (window_top_frame_gutter_height): new function.
+ (window_top_window_gutter_height): ditto.
+ (window_top_gutter_height): use them.
+ (window_bottom_frame_gutter_height): new function.
+ (window_bottom_window_gutter_height): ditto.
+ (window_bottom_gutter_height): use them.
+ (window_left_window_gutter_width): new function.
+ (window_left_frame_gutter_width): ditto.
+ (window_left_gutter_width): use them.
+ (window_right_window_gutter_width): new function.
+ (window_right_frame_gutter_width): ditto.
+ (window_right_gutter_width): use them.
+ (window_pixel_height): new function. calulate window pixel height
+ with frame gutter involvement.
+ (Fsplit_window): calculate new sizes taking frame gutters into
+ account.
+ (window_char_height_to_pixel_height): don't include frame gutters.
+ (window_char_height): use window_pixel_height.
+ (window_pixheight): rename from window_pixel_height.
+ (change_window_height): use it.
+ (window_pixel_height_to_char_height): don't include frame gutters.
+ (window_char_width_to_pixel_width): ditto.
+
+2000-02-25 Andy Piper <andy@xemacs.org>
+
+ * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
+ if it is.
+
+2000-02-24 Martin Buchholz <martin@xemacs.org>
+
+ * alloc.c (staticpro):
+ (staticpro_nodump):
+ (dumpstruct):
+ (dumpopaque):
+ (pdump_wire):
+ (pdump_wire_list):
+ (compact_string_chars):
+ (pdump_dump_wired):
+ Convert: if (foo) abort(); ==> assert (! foo);
+
+ * eldap.c (Fldap_search_basic):
+ (Fldap_add):
+ (Fldap_modify):
+ (Fldap_delete):
+ Fix compiler warnings, and possible crashes if (random) return
+ value were to be used.
+
+2000-02-21 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * device-msw.c: Workaround ResetDC failure.
+
+ * frame-msw.c (msprinter_init_frame_3): Added an assertion before
+ applying a devmode.
+
+ * redisplay-msw.c (get_frame_dc): Added start_page_p.
+ (mswindows_text_width): Do not start printer page.
+
+ * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
+
+ * glyphs-msw.c: Added image methods to msprinter console and
+ msprinter-specific image instantiation.
+
+2000-02-20 Mike Alexander <mta@arbortext.com>
+
+ * select-msw.c (Fmswindows_set_clipboard): GC protect more things
+ to avoid crashes when selection-sets-clipboard is on
+ (mswindows_own_selection): ditto
+
+2000-02-19 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * glyphs-msw.c:
+ * redisplay-msw.c (get_frame_dc):
+ (get_frame_compdc):
+ * console-msw.h:
+ * device-msw.c (mswindows_init_device):
+ (mswindows_delete_device):
+ (msprinter_init_device):
+ (msprinter_delete_device):
+ * frame-msw.c (mswindows_init_frame_1):
+ (mswindows_delete_frame):
+ (msprinter_init_frame_3):
+ (msprinter_delete_frame): Move compatible DC to device object from
+ frame object, for both mswindows and msprinter. Only one at a time
+ is needed, it is a real waste to have one per frame!
+
+2000-02-23 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c: add dynamic width and height elements.
+ (image_instance_equal): ditto.
+
+ * glyphs-widget.c (widget_query_geometry): calculate width and
+ height dynamically if required.
+ (initialize_widget_image_instance): initialize dynamic dimensions.
+ (widget_instantiate): pick-up dynamic dimensions.
+
+ * glyphs.h (struct Lisp_Image_Instance): add width and height for
+ dynamic determination. Add appropriate macros.
+
+ * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
+ dimensions safe.
+ (WINDOW_GUTTER_SIZE): ditto.
+ (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
+
+ * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
+ inline.
+ (get_frame_dc): ditto.
+
+ * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
+ here.
+
+2000-02-23 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.31 is released.
+
+2000-02-22 Ben Wing <ben@xemacs.org>
+
+ * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
+
+2000-02-22 Andy Piper <andy@xemacs.org>
+
+ * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
+
+2000-02-21 Mike Sperber <mike@xemacs.org>
+
+ * .dbxrc:
+ * .gdbinit:
+ * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
+ variables.
+
+2000-02-21 Mike Sperber <mike@xemacs.org>
+
+ * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
+
+2000-02-21 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.30 is released.
+
+2000-02-20 Martin Buchholz <martin@xemacs.org>
+
+ Performance hacking.
+ * *.c (syms_of_*):
+ Add INIT_LRECORD_IMPLEMENTATION macros, paired with
+ DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
+ * emacs.c (main_1):
+ * lisp.h (DEFUN):
+ * console.c (DEFVAR_CONSOLE_LOCAL_1):
+ * buffer.c (DEFVAR_BUFFER_LOCAL_1):
+ * symeval.h (DEFVAR_SYMVAL_FWD):
+ * symbols.c (guts_of_unbound_marker):
+ Make all c_readonly objects also lisp_readonly and marked for life.
+ * lrecord.h (struct lrecord_implementation):
+ Document flags better.
+ * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
+ * lrecord.h (DECLARE_LRECORD):
+ * lrecord.h (XSETRECORD):
+ * lrecord.h (RECORDP):
+ * lrecord.h (RECORD_TYPEP):
+ * lrecord.h (RECORD_MARKER): New.
+ * lrecord.h (error_check_*):
+ * lrecord.h (CONCHECK_NONRECORD):
+ * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
+ * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
+ * lrecord.h (set_lheader_implementation):
+ * lrecord.h (enum lrecord_type): New.
+ * symeval.h (SYMBOL_VALUE_MAGIC_P):
+ * alloc.c (disksave_object_finalization_1):
+ * alloc.c (mark_object):
+ * alloc.c (lrecord_type_index):
+ * alloc.c (tick_lcrecord_stats):
+ * alloc.c (Fgarbage_collect):
+ * alloc.c (init_alloc_once_early):
+ * alloc.c (pdump_load):
+ * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
+ * alloc.c (lrecord_type_index): Delete.
+ Make lisp object type indexes be constant.
+ Makes (byte-compile) 5% faster.
+ Put all marker functions into their own array.
+ Makes (garbage-collect) 5% faster.
+ Optimize SYMBOL_VALUE_MAGIC_P.
+ Makes (byte-compile) 2-3% faster.
+ * config.h.in (gc_checking_assert): New.
+ * alloc.c: Use gc_checking_assert().
+ * .dbxrc: Make compatible with new object type implementation.
+ * .gdbinit: Make compatible with new object type implementation.
+ * alloc.c: Delete all symbols defined only for debugging, such as
+ Lisp_Type_Vector and lrecord_charset.
+
+2000-02-21 Andy Piper <andy@xemacs.org>
+
+ * gui-msw.c (Fmswindows_shell_execute): fix file location
+ problems.
+
+ * buffer.c (Fkill_buffer): remove buffer from alist buffer
+ unshowing so that set_window_buffer doesn't undo
+ kill_buffer_hook's hard work.
+
+ * glyphs-widget.c (tab_control_query_geometry): don't count the
+ first item when calculating geometry.
+
+ * glyphs.c (map_subwindow): remove redundant code.
+ (update_frame_subwindows): be more circumspect about when to
+ update subwindows.
+
+ * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
+ when items haven't changed. Update faces if faces have changed as
+ well as just the widget face.
+ (x_tab_control_update): Update faces if faces have changed as well
+ as just the widget face.
+
+2000-02-21 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * device-msw.c: (mswindows_delete_device): Remove redundant DDE
+ registration.
+ (build_syscolor_string): Use mswindows_color_to_string to try to
+ get a named color.
+ (mswindows_device_system_metrics): Reverse the foreground and
+ background colors so that they match the documentation.
+
+ * objects-msw.c: (mswindows_X_color_map): tweak some values so
+ they match the default Windows palette.
+ (mswindows_color_to_string): New function.
+
+2000-02-21 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
+
+2000-02-18 Olivier Galibert <galibert@pobox.com>
+
+ * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
+ WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
+
+ * symbols.c (init_symbols_once_early): Removed obsolete
+ DATA_SEG_BITS related kludge.
+ (defvar_magic): Ditto.
+
+ * malloc.c: Removed obsolete DATA_SEG_BITS
+ * ralloc.c: Ditto.
+ * mem-limits.h: Ditto.
+
+ * Makefile.in.in: Removed obsolete HAVE_SHM
+ * emacs.c: Ditto.
+
+2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * device-msw.c (mswindows_delete_device): Free DDE string
+ handles.
+
+2000-02-16 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * keymap.c (get_keyelt):
+ * unexnt.c (unexec):
+ * vm-limit.c (memory_warnings):
+ * ntheap.c (recreate_heap):
+ * ntheap.h (UNINIT_PTR):
+ * select-msw.c (Fmswindows_get_clipboard):
+ (Fmswindows_set_clipboard):
+ * objects-msw.h (MSWINDOWS_BAD_HFONT):
+ * objects-msw.c:
+ * menubar-msw.c (displayable_menu_item):
+ * glyphs-msw.c:
+ * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
+ * sysdep.c (sys_subshell):
+ * process-nt.c (nt_create_process):
+ * nt.c (normalize_filename):
+ (dostounix_filename):
+ (unixtodos_filename):
+ * ntproc.c (win32_executable_type):
+ * ntplay.c (play_sound_data_1):
+ (play_sound_file):
+ * editfns.c (get_home_directory):
+ * event-msw.c (struct winsock_stream):
+ (mswindows_dde_callback):
+ * device-msw.c (msprinter_init_device):
+ (msprinter_get_devmode_copy): Frobbed syntax frivolities.
+
+ * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
+ mswindows_clear_toolbar were swapped!
+
+ * objects-msw.c:(colormap_t):
+ (fontmap_t):
+ * emacs.c (struct standard_args): Fixed const jumble.
+
+ * glyphs-widget.c (update_widget): Fixed comparison notation.
+
+ * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
+
+ * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
+ __declspec(noreturn) syntax.
+
+2000-02-19 Martin Buchholz <martin@xemacs.org>
+
+ * eldap.c (Fldap_open):
+ (Fldap_search_basic):
+ (Fldap_add):
+ (Fldap_modify):
+ Use new coding system conversion macros.
+
+2000-01-06 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
+
+ * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
+
+1999-11-27 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
+
+ * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
+ (Fldap_add, Fldap_modify, Fldap_delete): New functions
+
+ * eldap.c (Qadd, Qreplace): New constant symbols
+ (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
+ interruptions by XEmacs signals
+ Remove unnecessary calls to slow_down_interrupts and
+ speed_up_interrupts
+ (Fldap_search_basic): Renamed from Fldap_search_internal
+ Added new optional parameter VERBOSE that triggers the
+ display of progress messages
+ Remove unnecessary calls to slow_down_interrupts and
+ speed_up_interrupts
+ LDAP result code analysis rewritten
+ (Fldap_add, Fldap_modify, Fldap_delete): New functions
+ (syms_of_eldap): Define the new symbols and functions
+
+
+2000-02-17 Martin Buchholz <martin@xemacs.org>
+
+ * realpath.c: Determine PATH_MAX maximally portably.
+
+ * insdel.c (bytecount_to_charcount): Optimize.
+ The function used to be optimized for entirely ASCII sequences.
+ Now it is optimized for successive characters from the same
+ charset. This also wins big for _mostly_ ASCII sequences.
+
+ * fileio.c (Ffile_truename): convert return from realpath() using
+ Qfile_name, not Qbinary. Fixes obvious bug with non-ASCII symlinks.
+ - Rewrite GCPROing slightly.
+
+ * sysdep.c (sys_open): Do filename conversion, like all other
+ sys_* functions. Fixes bug:
+ (let ((file-name-coding-system 'iso-8859-2))
+ (write-region x y latin2-name))
+ ==> writes filename using internal encoding.
+
+2000-02-18 Martin Buchholz <martin@xemacs.org>
+
+ * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
+ * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
+ * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
+ * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
+ * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
+ * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
+ * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
+ (CONST_IF_NOT_DEBUG): Delete.
+ * alloc.c (this_one_is_unmarkable): Delete.
+ (mark_object): Don't check for this_one_is_unmarkable. Use the
+ c_readonly flag instead.
+ * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
+
+2000-02-18 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * event-msw.c (mswindows_drain_windows_queue):
+ (emacs_mswindows_handle_magic_event): Remove attempt to optimise
+ away redundant repaint events.
+
+2000-02-17 Andy Piper <andy@xemacs.org>
+
+ * redisplay.h: declare mark_redisplay_structs.
+
+ * redisplay.c (redisplay_window):
+ (redisplay_frame): don't check subwindows_state_changed.
+ (mark_redisplay): mark gutters here.
+
+ * glyphs.c: (instantiate_image_instantiator): always layout if we
+ haven't done so already.
+ (allocate_image_instance): don't mark as dirty.
+ (update_subwindow): bind inhibit_quit.
+
+ * gutter.c (mark_gutters): new function.
+
+ * glyphs-x.c (x_update_widget): Always resize to get round a
+ widget bug.
+
+ * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
+ breaking absolutely everything.
+
+ * gutter.h: declare mark_gutters.
+
+2000-02-16 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.29 is released.
+
+2000-02-15 Olivier Galibert <galibert@pobox.com>
+
+ * fns.c (size_bit_vector): Fix computation of the size.
+
+2000-02-15 Martin Buchholz <martin@xemacs.org>
+
+ * *.[ch]: Change CONST to const globally.
+ find -name '*.[ch]' | \
+ xargs global-replace \
+ 's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
+ - Remove vestigial references to CONST_IS_LOSING
+
+2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * event-msw.c (mswindows_drain_windows_queue): Remove hack to
+ bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
+ events instead of dispatching them directly.
+ (mswindows_handle_paint): New function to do repainting.
+ (mswindows_wnd_proc):
+ (emacs_mswindows_handle_magic_event): Call above function.
+
+2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * objects-msw.c (mswindows_create_font_variant): Return the new
+ font handle.
+ (initialize_font_instance): Get font metrics from the underlined
+ variant of the font to cope with the case where the underlined
+ font has a bigger descent.
+
+2000-02-08 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
+
+ * gui.c (gui_item_accelerator): Return the first underlined
+ character in item name.
+
+2000-02-11 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * lisp.h: Added Qprinter.
+
+ * general.c (syms_of_general): Initialized it.
+
+ * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
+ (get_frame_dc):
+ (get_frame_compdc): Made inline.
+
+ * console.h (struct console_methods): Added eject_page method.
+
+ * frame.h: Added FRAME_DISPLAY_P and friends.
+ Aligned backslahes in many macros in more readable fashion.
+ Added page_number to struct frame, and an accessor macro
+ for it.
+
+ * defice.h: Added DEVICE_DISPLAY_P and friends.
+
+ * device.c (Fdevice_printer_p): Used these.
+
+ * frame.c (allocate_frame_core): Initialize page number.
+ (Fprint_job_page_number):
+ (Fprint_job_eject_page): Implemented.
+
+ * frame-msw.c (msprinter_eject_page): Added method.
+ (msprinter_start_page): Added.
+
+ * window.c (Fwindow_truncated_p): Fixed docstring.
+ (Fwindow_last_line_visible_height): Implemented.
+
+2000-02-09 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * frame.c (change_frame_size_1): Undo 2000-02-03 change.
+
+1999-12-20 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
+
+ * syntax.c (scan_words): Always advance at least one character.
+
+2000-02-13 Andy Piper <andy@xemacs.org>
+
+ * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
+ to make sure the glyph is in the cachels.
+
+ * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
+ global image instance flag.
+ (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
+ (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
+
+ * glyphs.c (allocate_image_instance): set dirty bits correctly.
+ (Fset_image_instance_property): mark layout as changed.
+ (invalidate_glyph_geometry_maybe): mark layout as changed.
+ (glyph_width): use new NEEDS_LAYOUT macro.
+ (glyph_ascent): ditto.
+ (glyph_descent): ditto.
+ (glyph_height): ditto.
+ (image_instance_layout): mark layout as clean after laying out.
+ (update_subwindow): don't mark layout as clean here.
+
+ * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
+ should no longer be needed.
+
+ * glyphs-x.c (x_update_widget): sanitize asserts.
+ (x_finalize_image_instance): sanitize assignment to widgets.
+
+ * glyphs-widget.c (widget_instantiate): don't need to clear the
+ layout flag here.
+
+2000-02-13 Martin Buchholz <martin@xemacs.org>
+
+ * sysdep.c (getcwd): Use standard prototype.
+ * sysdep.h (getcwd): Use standard prototype.
+
+ * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
+ (sequence, start, end).
+ Remove redundant type checking.
+ (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
+ view of `caller-protects') to avoid a crash where the real fix was
+ found elsewhere.
+
+2000-02-12 Martin Buchholz <martin@xemacs.org>
+
+ * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
+
+ * s/sol2.h: Remove feature macro initialization.
+
+ * alloc.c (alloc_lcrecord): Add more type checking assertions.
+ (vector_hash): New. Code from internal_hash.
+ * lrecord.h:
+ Fix up allocation subsystem comments.
+
+ * config.h.in: Add __EXTENSIONS__ for Solaris.
+
+ * systime.h (EMACS_GETTIMEOFDAY): New.
+ (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
+ Remove Solaris-specific code.
+ Use void* for the (ignored) second arg for gettimeofday().
+
+ * elhash.c (hash_table_hash): Implement it, finally.
+ * elhash.c: Use hashcode_t.
+
+ * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
+ * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
+
+ * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
+ * fns.c (size_bit_vector):
+ * alloc.c (size_vector):
+ (make_vector_internal):
+ (make_bit_vector_internal):
+ (sweep_bit_vectors_1):
+ Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
+
+2000-02-10 Martin Buchholz <martin@xemacs.org>
+
+ * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
+ Include strings.h to avoid warnings for bzero and strcasecmp.
+
+2000-02-10 Olivier Galibert <galibert@pobox.com>
+
+ * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
+ * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
+
+ * fns.c (size_bit_vector): New. Declare bit vectors as a
+ sequence.
+
+2000-02-10 Olivier Galibert <galibert@pobox.com>
+
+ * symeval.h (struct symbol_value_magic): Remove "next" kludge and
+ use a value field instead.
+ (symbol_value_forward_forward): Use value field.
+ (DEFVAR_SYMVAL_FWD): Use value field.
+ (DEFVAR_SYMVAL_FWD_INT): Added. Dumps the int with dumpopaque.
+ (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
+ (DEFVAR_CONST_INT): Ditto.
+ (DEFVAR_BOOL): Ditto.
+ (DEFVAR_CONST_BOOL): Ditto.
+ (DEFVAR_INT_MAGIC): Ditto.
+ (DEFVAR_BOOL_MAGIC): Ditto.
+
+ * symbols.c (guts_of_unbound_marker): Use value field.
+ * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
+ * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
+
+ * lisp.h: Declare dumpopaque and noninteractive1.
+
+ * alloc.c (dumpopaque): Added.
+ (pdump_dump_opaquevec): Added.
+ (pdump): Call pdump_dump_opaquevec to dump opaque data.
+ (pdump_load): Reload opaque data. Sync noninteractive1 with
+ noninteractive.
+
+2000-02-10 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (image_instance_layout): if the size changes, mark it
+ as such.
+
+ * redisplay-output.c (redisplay_output_layout): Update the
+ subwindow here.
+ (redisplay_output_subwindow): ditto.
+
+ * glyphs.c (update_subwindow): make sure we reset flags for
+ layouts as well as everything else.
+
+ * glyphs-widget.c (layout_layout): don't need to set the instances
+ dimensions here.
+
+2000-02-09 Martin Buchholz <martin@xemacs.org>
+
+ * device-x.c (x_init_device): Wrap calls to dll_* in HAVE_SHLIB,
+ not HAVE_DLOPEN, which is a lower-level thing.
+
+ * .cvsignore: Ignore gmon.out
+
+2000-02-09 Hamish Macdonald <hamishm@lucent.com>
+
+ * .cvsignore: Ignore portable dumper xemacs.dmp file
+
+2000-02-09 Andy Piper <andy@xemacs.org>
+
+ * redisplay-output.c (redisplay_output_layout): be more clever
+ about when we output based on the changed flags.
+
+ * glyphs.h (struct image_instantiator_methods): add update_method.
+ (struct Lisp_Image_Instance): add changed flags. Declare new
+ macros for manipulating them.
+
+ * glyphs.c (allocate_image_instance): renamed glyph -> parent.
+ (image_instance_parent_glyph): find an image_instance's parent
+ glyph or image_instance.
+ (image_instance_layout): mark the size as changed.
+ (set_image_instance_dirty_p): new function. mark an image
+ instance, plus all of its parents, as dirty.
+ (Fset_image_instance_property): use it.
+ (Fglyph_animated_timeout_handler): use it.
+ (update_subwindow): call update_widget and device methods for
+ update_subwindow. Mark all changed flags as clean.
+ (Fresize_subwindow): mark size as changed.
+
+ * glyphs-x.c (x_finalize_image_instance): try and detect gc
+ failures.
+ (x_update_subwindow): only resize subwindows here.
+ (x_update_widget): new function. Update all changed properties of
+ a widget.
+ (x_resize_subwindow): deleted.
+ (x_widget_set_property): deleted.
+ (x_progress_gauge_set_property): deleted.
+ (x_progress_gauge_update): new function. Implement recorded
+ changes.
+ (x_tab_control_update): ditto.
+ (x_tab_control_set_property): deleted.
+ (console_type_create_glyphs_x): declare new functions.
+ (image_instantiator_format_create_glyphs_x): ditto.
+
+ * glyphs-widget.c (widget_set_property): mark text changed.
+ (update_widget): new function. Update properties of a widget.
+ (widget_instantiate): for layouts make sure we set their
+ children's parent correctly.
+ (tab_control_set_property): new function. Record changes that will
+ take place under redisplay's control.
+ (progress_gauge_set_property): ditto.
+ (image_instantiator_progress_guage): declare new functions.
+ (image_instantiator_tab_control): ditto.
+
+ * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
+ now.
+ (mswindows_update_widget): new function. Update all properties on
+ a widget that have changed.
+ (mswindows_button_update): new function. Update a button's set
+ state.
+ (mswindows_tab_control_update): new function. Update the items in
+ a tab.
+ (mswindows_tab_control_set_property): deleted.
+ (mswindows_progress_gauge_update): new function. Update the
+ progress gauge's progress.
+ (mswindows_widget_set_property): deleted. This is all done
+ asynchronously now.
+ (mswindows_progress_gauge_set_property): ditto.
+ (console_type_create_glyphs_mswindows): declare new methods.
+ (image_instantiator_format_create_glyphs_mswindows): ditto.
+
+ * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
+ (msprinter_set_frame_properties): ditto.
+
+ * console.h (struct console_methods): Add update_widget_method.
+
+2000-02-09 Andy Piper <andy@xemacs.org>
+
+ * gui-msw.c (Fmswindows_shell_execute): Make
+ mswindows-shell-execute industrial strength.
+
+2000-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * lrecord.h: Make macro argument `props' match member function `plist'.
+ * fns.c (Fget):
+ * fns.c (Fput):
+ * fns.c (Fremprop):
+ * fns.c (Fobject_plist):
+ * alloc.c:
+ * symbols.c:
+ Object property list frobbing cleanup.
+ - Allow any lisp object (compared with `eq'), not just symbols, as
+ keys in object plists.
+ - Move symbol plist frobbing into symbols.c, where it belongs.
+ - Move string plist frobbing into alloc.c, where it belongs.
+ - Everything's an lrecord now, so no need to test for symbolp, etc.
+ - Fix up doc strings to refer to PROPERTY, not PROPNAME.
+
+ * extents.c: Reorder code to remove declarations.
+
+ * frame.h (store_in_alist): Remove useless declaration.
+
+2000-02-07 Martin Buchholz <martin@xemacs.org>
+
+ * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
+ * config.h.in: Add HAVE_XCONVERTCASE.
+
+2000-02-07 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (image_instance_layout): undo 2000-01-29 change since
+ it breaks many things.
+
+2000-02-07 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * src/syntax.h (SYNTAX_START_P): Check whether the two chars
+ actually can start a common comment type.
+ * src/syntax.h (SYNTAX_END_P): ditto for end.
+
+2000-02-07 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.28 is released.
+
+2000-02-06 Martin Buchholz <martin@xemacs.org>
+
+ * event-Xt.c (x_keysym_to_character): New.
+ (maybe_define_x_key_as_self_inserting_character): New.
+ (x_has_keysym): New.
+ Auto-define all keys on the keyboard as self-insert-key.
+
+2000-02-02 Martin Buchholz <martin@xemacs.org>
+
+ * menubar.c (vars_of_menubar): A small code simplification.
+
+ * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
+
+ * ExternalShell.c:
+ * ExternalClient.c:
+ * EmacsShell-sub.c:
+ * EmacsManager.c:
+ * EmacsFrame.c:
+ Use consistent style for specifying X resources.
+
+ * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
+ This makes (dontusethis-set-symbol-value-handler) actually usable.
+
+ * lrecord.h (lrecord_decription_type):
+ * alloc.c (pdump_register_sub):
+ (pdump_dump_data):
+ (pdump_reloc_one):
+ Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
+ Comply with XEmacs coding style.
+ All lrecord descriptions updated to use XD_LISP_OBJECT with 2
+ args, and XD_LISP_OBJECT_ARRAY with 3 args.
+
+ * keymap.c (Faccessible_keymaps):
+ Make (accessible-keymaps map "\C-h") do the Right Thing.
+ Make (accessible-keymaps map []) do the Right Thing.
+ Make (accessible-keymaps map "") do the Right Thing.
+ (check_keymap_definition_loop): New function.
+ (keymap_store_internal): Keep luser from shooting self in foot,
+ via (define-key ctl-x-4-map "p" global-map).
+ Remove fullness slot from struct Lisp_Keymap, since hash tables
+ are now reliable.
+ (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
+
+2000-01-30 Martin Buchholz <martin@xemacs.org>
+
+ * redisplay.c (init_redisplay): Fix small memory leak.
+ * elhash.h:
+ * elhash.c (pdump_reorganize_hash_table):
+ Rename from reorganize_hash_table. Change prototype.
+ Reuse the original memory for hentries. Save 100k.
+ * alloc.c (PDUMP_READ): new macro.
+ * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
+ * alloc.c: No need to #ifndef before #undef.
+
+ * print.c: Allow debug_print() to print readably by modifying
+ debug_print_readably. Use consistent variable names.
+
+ * .dbxrc: Try to get things to work even if stopped in a function
+ without source available by explicitly specifying source files.
+2000-02-03 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * unexnt.c (_start): Removed bogus code which caused loading heap
+ from differrent executable file.
+ Removed bogus assignment to _fmode, which caused inconsistencies.
+
+2000-02-03 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
+ Have spawnve encapsulation regard DONT_ENCAPSULATE.
+ Do not preliminary `#define signal sigset'.
+
+ * systime.h: Do not prototype environ on windows nt and cygwin,
+ this conflicts with system header.
+
+ * syssignal.h: Use correct define for WINDOWSNT
+
+ * sysdep.h: Do not prototype environ on windows nt, this conflicts
+ with system header.
+
+ * sysdep.c (near start of file): Fixed commentary and rearranged
+ ifdefs in readable order.
+ (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
+ (start_of_text):
+ (end_of_text):
+ (end_of_data): Do not compile in if using PDUMP.
+
+ * symsinit.h: Prototyped vars_of_nt().
+
+ * ntproc.c (windows9x_p): Added, instead of os_subtype.
+ (find_child_console): Use it.
+ (sys_kill): Use it.
+
+ * ntheap.h: Do not extern os_subtype.
+
+ * ntheap.c (cache_system_info): Do not cache unneeded:
+ nt_major_version, nt_minor_version and os_subtype.
+ (recreate_heap): Do not compile in when PDUMPing.
+
+ * nt.c (geteuid and friends): Use the new varibale
+ nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
+ (init_user_info): Removed the above mentioned hackery.
+ (fstat, stat): Do not compile in if using MSVC 5.0 and above -
+ stat has been fixed in the C runtime.
+ (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
+
+ * file-coding.c (struct file_coding_dump): Do not define
+ ucs_to_mule_table in the struct if not MULE.
+ (struct struct lrecord_description fcd_description_1): Do not dump
+ the above.
+
+ * emacs.c (main_1): Call vars_of_nt().
+ (right before Fdump_emacs_data): Don't need lastfile if using both
+ portabe dumper and system malloc.
+
+ * alloc.c (Fmemory_limit): Conditionalized out.
+ (pdump): Use OPEN_BINARY for the portable dump file.
+ (pdump_load): Ditto.
+
+2000-02-02 Mike Alexander <mta@arbortext.com>
+
+ * nt.c (convert_time): Set tm_isdst before calling mktime and
+ avoid calling it at all if the compiler supports 64 bit integers.
+ Also initialize utc_base_ft before using it.
+
+2000-02-03 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
+
+ * frame.c (change_frame_size_1): Take f->internal_border_width
+ into consideration when calculating the width of the frame.
+
+2000-02-01 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * window.c (frame_min_height):
+ (frame_size_valid_p):
+ (frame_pixsize_valid_p): Added.
+ (check_frame_size): Generalized.
+
+ * window.h: Prototyped the above.
+
+ * lisp.h:
+ * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
+ Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
+ Deleted Vwin32_* and Vbinary_process_* unused variables.
+
+ * device-msw.c (msprinter_init_device): Do not get printer font
+ list; Added DEVMODE functions.
+
+ * frame-msw.c: Added lots of printer code.
+
+ * faces.c: Moved 'left-margin and 'right-margin defsymbols to
+ general.c.
+
+ * console-msw.h: Added more msprinter device private slots.
+
+2000-02-01 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * event-msw.c (key_needs_default_processing_p): Added.
+ (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
+
+2000-01-29 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * glyphs.c (image_instance_layout): Mark image instance as clean
+ after layout.
+ (glyph_dirty_p): Removed redundant function.
+ (invalidate_glyph_geometry_maybe): Added.
+ (update_glyph_cachel_data): Call it.
+
+ * glyphs.h: Prototyped it.
+
+ * redisplay.c (add_glyph_rune): Call it.
+ (redisplay_window): Reset glyphs cachels when frame faces have
+ changed, thus forcing recomputation of built-in border glyphs.
+
+2000-01-30 Martin Buchholz <martin@xemacs.org>
+
+ * Makefile.in.in: Make portable dumper and purify play well together.
+ Add imperfect, but better than nothing, support for pdump.
+ Remove xemacs.dmp when temacs is re-generated.
+ Don't ignore errors when dumping xemacs.
+
+ * symbols.c (maybe_call_magic_handler): Remove one magic number.
+
+2000-01-28 Andy Piper <andy@xemacs.org>
+
+ * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
+ (setup_normal_frame): ditto.
+ (setup_frame_without_minibuffer): ditto.
+ (setup_minibuffer_frame): ditto.
+ (delete_frame_internal): ditto.
+ (Fmake_frame_invisible): ditto.
+ (Ficonify_frame): ditto.
+
+ * window.h: change Fset_window_buffer signature.
+
+ * window.c (Fsplit_window): Use new Fset_window_buffer signature.
+ (Fset_window_buffer): allow recording of buffer if the window is
+ the selected window.
+ (window_loop): Use new Fset_window signature.
+
+2000-01-23 Daniel Pittman <daniel@danann.net>
+
+ * config.h.in: Added template for `HAVE_ATHENA_3D'
+
+2000-01-29 Andy Piper <andy@xemacs.org>
+
+ * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
+
+ * gutter.c (output_gutter): Don't output if the window isn't live.
+
+2000-01-28 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
+ of 01/12/00: Moved SetFocus back here where it belongs.
+
+2000-01-23 Andy Piper <andy@xemacs.org>
+
+ * s/cygwin32.h: declare printer things.
+
+2000-01-26 Andy Piper <andy@xemacs.org>
+
+ * select.c (Fown_selection_internal): GCPRO bug fix from Mike
+ Alexander.
+
+2000-01-24 Andy Piper <andy@xemacs.org>
+
+ * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
+ (mswindows_button_instantiate): Make sure glyph is a pixmap.
+
+ * glyphs-widget.c (widget_instantiate): Avoid shadows.
+
+ * frame-msw.c (msprinter_init_frame_3): Nuke warning.
+
+ * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
+
+ * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
+ (mswindows_output_display_block): Avoid local shadows.
+
+ * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
+ (mswindows_enqueue_mouse_button_event): ditto.
+ (mswindows_handle_gui_wm_command): remove declaration.
+
+ * console-msw.c (mswindows_canonicalize_console_connection): Avoid
+ warnings.
+
+ * console-msw.h: Avoid shadows.
+ (mswindows_get_toolbar_button_text):
+ (emacs_mswindows_create_stream_pair):
+ (emacs_mswindows_delete_stream_pair):
+ (mswindows_handle_toolbar_wm_command): declare.
+
+ * device-msw.c (build_syscolor_string): Avoid shadows.
+
+2000-01-23 Andy Piper <andy@xemacs.org>
+
+ * glyphs-widget.c (widget_instantiate): reverse the items for
+ layouts so that children are in the expected order.
+
+2000-01-28 Martin Buchholz <martin@xemacs.org>
+
+ * ralloc.c: safe_bcopy ==> memmove
+ * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
+ * s/msdos.h: Remove BCOPY macros.
+ * insdel.c (gap_right): Remove BCOPY conditional code.
+ * insdel.c (gap_left): Remove BCOPY conditional code.
+ XEmacs demands a working ANSI C compiler - hence memmove.
+
+ * regex.c (regex_compile): Remove accidental use of trigraphs.
+
+2000-01-27 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
+ event timestamp.
+
+2000-01-26 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * event-msw.c (mswindows_drain_windows_queue): Added the
+ parameter.
+ (mswindows_need_event): Commented the call to
+ mswindows_drain_windows_queue().
+ (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
+ only.
+
+ * console-msw.h: Moved a few function prototypes here from
+ event-msw.c.
+
+ * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
+ parameter from unsigned short to unsigned long.
+ (Fmswindows_shell_execute): Added return value.
+
+2000-01-27 URA Hiroshi <ura@hiru.aoba.yokohama.jp>
+
+ * sysdep.c (init_system_name):
+ process-unix.c (unix_canonicalized_host_name):
+ Don't call freeaddrinfo() if getaddrinfo() fails.
+
+ * process-unix.c (unix_open_unix_network_stream):
+ Moved the code to get a port # into address loop.
+
+2000-01-27 Martin Buchholz <martin@xemacs.org>
+
+ * buffer.c (reinit_vars_of_buffer):
+ The right place to initialize conversion_in_dynarr and
+ conversion_out_dynarr.
+
+ * alloc.c (pdump): Use the real open() till sys_open() is functional.
+
+ * process-unix.c (unix_canonicalize_host_name): Muleize.
+ (unix_open_network_stream): Muleize.
+
+ * buffer.h: Fix up prototypes for ralloc.c functions.
+
+2000-01-27 URA Hiroshi <ura@hiru.aoba.yokohama.jp>
+ * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
+ * sysdep.c: In init_system_name(), add code to use getaddrinfo()
+ instead of gethostbyname()
+ * process-unix.c: In unix_canonicalize_host_name() and
+ unix_open_network_stream(), add code to use getaddrinfo()
+ instead of gethostbyname().
+
+2000-01-27 Daniel Pittman <daniel@danann.net>
+
+ * device-x.c (x_init_device): Warn at run-time if using Athena 3d
+ libs when built with flat Athena.
+
+2000-01-27 Martin Buchholz <martin@xemacs.org>
+
+ * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
+ Use coding standards for function prototypes.
+
+2000-01-25 Martin Buchholz <martin@xemacs.org>
+
+ * dialog-msw.c (push_lisp_string_as_unicode):
+ * doc.c (unparesseuxify_doc_string):
+ * dired.c (Fuser_name_completion_1):
+ * dired.c (Fuser_name_all_completions):
+ * dired.c (free_user_cache):
+ * dired.c (user_name_completion):
+ * console-x.c (get_display_arg_connection):
+ * minibuf.c (clear_echo_area_internal):
+ * minibuf.c (echo_area_append):
+ * eldap.c (Fldap_open):
+ * eldap.c (Fldap_search_internal):
+ * frame-x.c (x_set_frame_text_value):
+ * frame-x.c (x_set_frame_properties):
+ * frame-x.c (x_create_widgets):
+ * redisplay-tty.c (term_get_fkeys_1):
+ * objects-x.c (x_parse_nearest_color):
+ * objects-x.c (x_valid_color_name_p):
+ * objects-x.c (x_initialize_font_instance):
+ * objects-x.c (x_list_fonts):
+ * objects-x.c (x_find_charset_font):
+ * tooltalk.c (Fadd_tooltalk_message_arg):
+ * tooltalk.c (Fadd_tooltalk_pattern_attribute):
+ * tooltalk.c (Fadd_tooltalk_pattern_arg):
+ * process-unix.c (unix_create_process):
+ * ntproc.c (sys_spawnve):
+ * sound.c (Fplay_sound_file):
+ * sound.c (Fplay_sound):
+ * buffer.c (init_initial_directory):
+ * buffer.c (init_buffer):
+ * editfns.c (init_editfns):
+ * editfns.c (Ftemp_directory):
+ * editfns.c (Fuser_full_name):
+ * editfns.c (uncache_home_directory):
+ * editfns.c (get_home_directory):
+ * editfns.c (Fuser_home_directory):
+ * editfns.c (Fformat_time_string):
+ * editfns.c (Fcurrent_time_string):
+ * gui-x.c (button_item_to_widget_value):
+ * database.c (Fopen_database):
+ * event-Xt.c (x_to_emacs_keysym):
+ * event-Xt.c (x_event_to_emacs_event):
+ * event-Xt.c (describe_event_window):
+ * event-msw.c (mswindows_wnd_proc):
+ * glyphs-eimage.c (jpeg_instantiate):
+ * glyphs-eimage.c (gif_instantiate):
+ * glyphs-eimage.c (png_instantiate):
+ * glyphs-eimage.c (tiff_instantiate):
+ * glyphs-x.c (xbm_instantiate_1):
+ * glyphs-x.c (x_xbm_instantiate):
+ * glyphs-x.c (x_xface_instantiate):
+ * glyphs-x.c (autodetect_instantiate):
+ * glyphs-x.c (cursor_font_instantiate):
+ * glyphs-x.c (x_widget_instantiate):
+ * glyphs-x.c (x_widget_set_property):
+ * glyphs-x.c (x_widget_property):
+ * glyphs-x.c (BUILD_GLYPH_INST):
+ * print.c (write_string_to_stdio_stream):
+ * print.c (output_string):
+ * print.c (Falternate_debugging_output):
+ * print.c (Fexternal_debugging_output):
+ * glyphs-msw.c (extract_xpm_color_names):
+ * glyphs-msw.c (mswindows_xpm_instantiate):
+ * glyphs-msw.c (bmp_instantiate):
+ * glyphs-msw.c (resource_name_to_resource):
+ * glyphs-msw.c (mswindows_resource_instantiate):
+ * glyphs-msw.c (xbm_instantiate_1):
+ * glyphs-msw.c (mswindows_xbm_instantiate):
+ * glyphs-msw.c (mswindows_xface_instantiate):
+ * glyphs-msw.c (mswindows_widget_instantiate):
+ * glyphs-msw.c (add_tree_item):
+ * glyphs-msw.c (add_tab_item):
+ * glyphs-msw.c (mswindows_combo_box_instantiate):
+ * glyphs-msw.c (mswindows_widget_property):
+ * glyphs-msw.c (mswindows_combo_box_property):
+ * glyphs-msw.c (mswindows_widget_set_property):
+ * console.c (stuff_buffered_input):
+ * objects-msw.c (mswindows_initialize_color_instance):
+ * objects-msw.c (mswindows_valid_color_name_p):
+ * objects-msw.c (mswindows_list_fonts):
+ * objects-msw.c (mswindows_font_instance_truename):
+ * bytecode.c (optimize_compiled_function):
+ * select-x.c (symbol_to_x_atom):
+ * select-x.c (x_atom_to_symbol):
+ * select-x.c (hack_motif_clipboard_selection):
+ * select-x.c (selection_data_to_lisp_data):
+ * select-x.c (lisp_data_to_selection_data):
+ * select-x.c (Fx_get_cutbuffer_internal):
+ * select-x.c (Fx_store_cutbuffer_internal):
+ * buffer.h (TO_EXTERNAL_FORMAT): New function.
+ * buffer.h (TO_INTERNAL_FORMAT): New function.
+ * emacs.c (make_arg_list_1):
+ * emacs.c (make_argc_argv):
+ * emacs.c (main_1):
+ * emacs.c (Fdump_emacs):
+ * emacs.c (split_string_by_emchar_1):
+ * file-coding.h:
+ * lisp.h:
+ * lstream.h:
+ * symsinit.h:
+ * device-x.c (x_init_device):
+ * device-x.c (Fx_valid_keysym_name_p):
+ * device-x.c (Fx_get_font_path):
+ * device-x.c (Fx_set_font_path):
+ * glyphs.c (bitmap_to_lisp_data):
+ * glyphs.c (pixmap_to_lisp_data):
+ * alloc.c (make_ext_string): Use coding system arguments. Update
+ all callers.
+ * alloc.c (build_string):
+ * callproc.c (child_setup):
+ * callproc.c (init_callproc):
+ * fileio.c (lisp_strerror):
+ * fileio.c (directory_file_name):
+ * fileio.c (Fexpand_file_name):
+ * fileio.c (Ffile_truename):
+ * fileio.c (Fsysnetunam):
+ * fileio.c (Fdo_auto_save):
+ * sysdep.c (sys_readdir):
+ * tests.c: New file. Allow adding C tests.
+ Replace GET_* macros with a more comprehensible and flexible
+ interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
+ Modify all calls.
+ Any coding system can be used to do format conversion.
+ Eliminate enum external_data_format.
+ Eliminate convert_to_external_format.
+ Eliminate convert_to_internal_format.
+ Make sure file-name, keyboard, terminal, and ctext are always
+ defined as coding systems or aliases. Make
+ file-name-coding-system, terminal-coding-system, and
+ keyboard-coding-system magical variables that are equivalent to
+ defining the corresponding coding system aliases.
+
+ * file-coding.c (Fcoding_system_canonical_name_p): New function.
+ * file-coding.c (Fcoding_system_alias_p): New function.
+ * file-coding.c (Fcoding_system_aliasee): New function.
+ * file-coding.c (append_suffix_to_symbol): New function.
+ * file-coding.c (dangling_coding_system_alias_p): New function.
+ * file-coding.c (Ffind_coding_system):
+ * file-coding.c (Fcopy_coding_system):
+ * file-coding.c (encode_coding_no_conversion):
+ * file-coding.c (syms_of_file_coding):
+ * file-coding.c (vars_of_file_coding):
+ Rewrite coding system alias code.
+ Allow nested aliases, like symbolic links.
+ Allow redefinition of coding system aliases.
+ Prevent existence of dangling coding system aliases.
+
+ * dired.c (Fuser_name_completion_1):
+ * dired.c (Fuser_name_all_completions):
+ A crash would happen if user did QUIT in the middle of building
+ user_name_cache. Remove redundant code in mainline and unwind_protect.
+
+ * lisp.h:
+ * dynarr.c (Dynarr_min_size): Make static. Increase value to 8.
+
+ * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
+ an unsigned char *. Update all callers.
+
+2000-01-26 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
+
+2000-01-25 Martin Buchholz <martin@xemacs.org>
+
+ * elhash.c (hentry_description): Use more portable definition.
+ (resize_hash_table): Initialize new hentries using
+ xnew_array_and_zero, thereby simplifying the code.
+
+ * mule-charset.c (make_charset): Make sure entire object is
+ initialized, to avoid Purify warnings.
+
+ * alloc.c (resize_string): Fix unlikely crash with big strings.
+
+2000-01-24 Martin Buchholz <martin@xemacs.org>
+
+ * realpath.c (xrealpath):
+ Don't call getwd().
+
+2000-01-25 Martin Buchholz <martin@xemacs.org>
+
+ * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
+
+1999-12-28 Max Matveev <max@melbourne.sgi.com>
+
+ * unexelfsgi.c (unexec): Change the way we decide which segment
+ should be extended.
+
+ Assumption that .bss section should be outside the PT_LOADable
+ segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
+ it's present) is inside the 'data' segment. This would fail the
+ test which was used to find a segment to grow and cover new
+ heap. Instead of this assumption, I created another one - on IRIX
+ the segment to grow should start below .bss and it's address
+ should extent above the end of .bss. Once this segment is
+ identified, it's grown to accommodate the new heap and new
+ zero-length .bss section is added at the end of .data2.
+
+2000-01-25 Martin Buchholz <martin@xemacs.org>
+
+ * eval.c (Feval): Wrong number of arguments should use original
+ function, not the indirect_function version of it.
+
+2000-01-24 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * glyphs-x.c (x_button_instantiate): Don't add image if
+ it is not a pixmap.
+ (x_locate_pixmap_file): Call Fexpand_file_name when file name
+ is relative.
+
+2000-01-21 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
+ declaration.
+ (DEFVAR_INT_MAGIC): Ditto.
+ (DEFVAR_BOOL_MAGIC): Ditto.
+ * glyphs.h: Reindent backslash.
+
+2000-01-24 Martin Buchholz <martin@xemacs.org>
+
+ * glyphs-widget.c (layout_query_geometry):
+ (layout_layout): Use correct types for gheight, gwidth.
+
+2000-01-24 Martin Buchholz <martin@xemacs.org>
+
+ * EmacsManager.c (QueryGeometry): Purified.
+
+2000-01-23 Martin Buchholz <martin@xemacs.org>
+
+ * alloc.c (make_float): Make sure entire object is initialized, to
+ avoid Purify warnings.
+ (pdump_register_sub): Remove useless assignment.
+ (pdump): Use xmalloc, not malloc.
+ (pdump_load): Use xmalloc, not malloc.
+
+2000-01-23 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * callproc.c:
+ * dired-msw.c:
+ * fileio.c:
+ * process-nt.c:
+ * redisplay-msw.c:
+ * sysdep.c: Removed redundant #include <windows.h>
+
+2000-01-22 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * frame.c (delete_frame_internal): Do not delete device when its
+ implementation so declares.
+ (delete_frame_internal): Set device selected frame to nil when
+ last frame goes away.
+
+ * device-msw.c (msprinter_device_system_metrics): Implemented.
+ (mswindows_device_system_metrics): Added 'device-dpi property.
+
+ * device.c: (Fdevice_printer_p): Added.
+ Added 'offset-workspace device metric.
+
+ * console.h (device_metrics): Declared DM_offset_workspace.
+
+2000-01-23 Martin Buchholz <martin@xemacs.org>
+
+ * fileio.c (Ffile_truename): Remove pointless and confusing
+ initialization of elen.
+
+ * glyphs-widget.c: Compiler warning fixes.
+
+2000-01-23 Gunnar Evermann <ge204@eng.cam.ac.uk>
+
+ * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
+ instead of a Lisp_Object as argument to make it consistent with
+ the other LIVE_P macros.
+ (CHECK_LIVE_PROCESS): New macro.
+
+ * process.c: Declare Qprocess_live_p.
+ (Fprocess_live_p): New function.
+ (create_process): Use PROCESS_LIVE_P.
+ (read_process_output): Ditto.
+ (set_process_filter): Ditto.
+ (Fdelete_process): Ditto.
+ (kill_buffer_processes): Ditto
+ (process_send_signal): Use CHECK_LIVE_PROCESS.
+ (Fprocess_input_coding_system): Check whether process is still
+ alive (fix PR#1061).
+ (Fprocess_output_coding_system): Ditto.
+ (Fprocess_coding_system): Ditto.
+ (Fset_process_input_coding_system): Ditto.
+ (Fset_process_output_coding_system): Ditto.
+
+2000-01-23 Andy Piper <andy@xemacs.org>
+
+ * glyphs.h (struct Lisp_Image_Instance): change format by unifying
+ layout and widget.
+
+ * glyphs.c (mark_image_instance): take into account changed
+ image_instance format.
+ (image_instance_equal): ditto.
+ (image_instance_hash): ditto.
+
+ * glyphs-widget.c (widget_instantiate): Incorporate layout
+ instantiation here. Delay layout of the layout until later.
+ (layout_instantiate): deleted.
+ (layout_query_geometry): new function. get the geometry of a
+ layout.
+ (layout_layout): layout a layout dynamically.
+ (image_instantiator_widget): New function - splitting up
+ image_instantiator_format_create_glyphs_widget for netwinder
+ compilation.
+ (image_instantiator_buttons):
+ (image_instantiator_edit_fields):
+ (image_instantiator_combo_box):
+ (image_instantiator_scrollbar):
+ (image_instantiator_progress_guage):
+ (image_instantiator_tree_view):
+ (image_instantiator_tab_control):
+ (image_instantiator_labels):
+ (image_instantiator_layout): ditto.
+ (image_instantiator_format_create_glyphs_widget): Call preceding
+ functions.
+
+2000-01-22 Martin Buchholz <martin@xemacs.org>
+
+ * process.c (Fset_process_coding_system):
+ * device-x.c (Fx_keysym_hash_table):
+ Docstring fixes.
+
+ * lstream.c (Lstream_write): Return documented value, not 0.
+
+ * fileio.c (directory_file_name):
+ (Fsubstitute_in_file_name):
+ (Fsubstitute_insert_file_contents_internal):
+ (Fwrite_region_internal):
+ * emacs.c:
+ * sysdep.c:
+ * getloadavg.c:
+ * systty.h:
+ Remove vestigial APOLLO-conditional code.
+
+2000-01-21 Martin Buchholz <martin@xemacs.org>
+
+ * getpagesize.h: Add guard macros.
+ * libsst.h: Add guard macros.
+ * libst.h: Add guard macros.
+ * line-number.h: Add guard macros.
+ * ndir.h: Add guard macros.
+ * sysfloat.h: Add guard macros.
+ * sysfile.h: Add guard macros.
+ * sysproc.h: Add guard macros.
+ * syswait.h: Add guard macros.
+ * xintrinsic.h: Add guard macros.
+ * xintrinsicp.h: Add guard macros.
+ * xmmanager.h: Add guard macros.
+ * xmmanagerp.h: Add guard macros.
+ * xmprimitive.h: Add guard macros.
+ * xmu.h: Add guard macros.
+ * gpmevent.h: Add copyright statement. Add guard macros.
+ * miscplay.h: Add guard macros.
+ * *.h: Use consistent C-standards-approved guard macro names.
+
+ * opaque.c (make_opaque): Switch parameter order.
+ * opaque.h (make_opaque): Switch parameter order.
+ Update all callers.
+ * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
+
+ * config.h.in (type_checking_assert): Added.
+ (bufpos_checking_assert): Added.
+
+2000-01-21 Martin Buchholz <martin@xemacs.org>
+
+ * alloc.c: Harmless pdump changes.
+ - Use countof().
+ - spell alignment correctly.
+ * sysdep.c: Use countof()
+
+2000-01-20 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * console.c (create_console): Use CONMETH_OR_GIVEN when calling
+ initially_selected_for_input() console method, default to 0.
+ (semi_canonicalize_console_connection): Try to delegate to
+ canonicalize_console_connection if no such console method.
+ (canonicalize_console_connection): Vice versa.
+ (print_console): Do not print nil connection.
+
+ * console.h (XDEVIMPF_IS_A_PRINTER): Added.
+ (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
+ (XDEVIMPF_FRAMELESS_OK): Added.
+ (CONSOLE_INHERITS_METHOD): Added.
+
+ * console-msw.c (mswindows_canonicalize_console_connection):
+ Added.
+ (mswindows_canonicalize_device_connection): Added.
+
+ * console-msw.h (struct msprinter_device): Added this struct and
+ accessor macros.
+ (mswindows_device): Made fontlist a lisp object.
+
+ * device.c (semi_canonicalize_device_connection): Try to delegate
+ to canonicalize_device_connection if no such console method.
+ (canonicalize_device_connection): Vice versa.
+ (print_device): Do not print nil connection.
+
+ * device-msw.c (mswindows_init_device): Call InitCommonControls
+ when have widgets.
+ (mswindows_delete_device): Removed fontlist deallocation.
+ (mswindows_mark_device): Added.
+
+ * events.c (event_equal): Added abort() at unreached code.
+ (event_hash): Ditto.
+
+ * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
+ fallback tags of Windows devices.
+
+ * general.c (syms_of_general): Initialized Qmsprinter.
+
+ * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
+ of fallback tags of Windows devices.
+
+ * lisp.h: Declared Qmsprinter.
+
+ * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
+ of strings.
+ (mswindows_list_fonts): Ditto.
+ (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
+ that it can be used by both mswindows and msprinter devices.
+ (initialize_font_instance): Added.
+ (mswindows_initialize_font_instance): Use it.
+ (msprinter_initialize_font_instance): Added.
+
+ * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
+ and implementation flags check.
+ (redisplay_without_hooks): Changed the call to the above.
+ (Fredraw_device): Ditto.
+ (Fredisplay_device): Ditto.
+
+ * redisplay-msw.c (get_frame_dc): Implemented.
+ (get_frame_compdc): Implemented.
+ (many functions): Use the two functions above to get device
+ contexts, ether for a window or a printer.
+
+2000-01-21 Olivier Galibert <galibert@pobox.com>
+
+ * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
+ initialization here.
+ (init_symbols_once_early): Call it.
+ * emacs.c (main_1): Call it.
+ * symsinit.h: Declare it.
+
+2000-01-19 Olivier Galibert <galibert@pobox.com>
+
+ * alloc.c: Use a lrecord_header * in the backtrace instead of a
+ Lisp_Object.
+ (pdump_backtrace): Ditto.
+ (pdump_register_object): Ditto. Cleanup use of the pointers.
+ (pdump_get_entry): Abort if trying to register a null pointer.
+ (pdump_dump_data): Cleanup types when relocating.
+ (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
+ (pdump_dump_rtables): Remove bad casts.
+ (pdump_load): Cleanup relocation w.r.t union type. Use a
+ Lisp_Object instead of a EMACS_INT for the hashtable
+ reorganization.
+
+2000-01-20 Martin Buchholz <martin@xemacs.org>
+
+ * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
+
+ * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
+
+ * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
+
+ * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
+
+2000-01-17 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * faces.h (FACE_STRIKETHRU_P): Added.
+
+ * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
+ of font variants.
+
+ * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
+ (mswindows_set_dc_font): New function, aware of font variants,
+ separated from mswindows_update_dc.
+
+ * objects-msw.h (struct mswindows_font_instance_data): Added
+ definition.
+
+ * objects-msw.c (mswindows_finalize_font_instance): Delete all
+ cached fonts and the data structure.
+ (mswindows_initialize_font_instance): Added creation of font data
+ structure.
+ (mswindows_print_font_instance): Print at least something.
+ (mswindows_create_font_variant): Implemented.
+ (mswindows_get_hfont): Implemented.
+
+2000-01-13 Fabrice Popineau <Fabrice.Popineau@supelec.fr>
+
+ * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
+ prototyping problem with msvc.
+
+ * emacs.c (main_1): added syms_of_gui_mswindows() call
+
+ * gui-msw.c: added "mswindows-shell-execute" lisp subr and
+ syms_of_gui_mswindows() function
+
+ * symsinit.h: added the prototype for syms_of_gui_mswindows()
+
+2000-01-18 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.27 is released.
+
+2000-01-18 Martin Buchholz <martin@xemacs.org>
+
+ * glyphs-eimage.c (struct tiff_error_struct):
+ (tiff_error_func):
+ (tiff_warning_func):
+ #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
+
+ * unexmips.c:
+ * unexhp9k3.c:
+ * unexfreebsd.c:
+ * unexec.c: Remove vestigial Lucid C code.
+ * unexalpha.c:
+ * unexaix.c:
+ * termcap.c:
+ * libsst.c: Ansify.
+ Remove declarations of errno and strerror().
+
+ * eval.c (Fbacktrace): Small Purify-cation. Fix docstring.