Adapt for Autoconf v2. Use the standard argument
parser, host type canonicalizer, X11 finder, and message
printing macros. Use the new macro names. Use `test' instead of `['.
(easy-menu-define): Call `easy-menu-do-define' to do
the real work. Document XEmacs keyword arguments.
(easy-menu-do-define): New function.
(easy-menu-create-keymaps): Support XEmacs keyword arguments in
menu definition.
Karl Heuer [Thu, 27 Oct 1994 22:35:14 +0000 (22:35 +0000)]
(Fset_buffer_major_mode): New function. Set the default major mode here.
(Fget_buffer_create): Not here.
(Fswitch_to_buffer): Call Fset_buffer_major_mode.
(syms_of_buffer): defsubr the new function.
* man.el (Man-fontify-manpage-flag): defvar put at outer level.
(manual-program, Man-untabify-command, Man-untabify-command-args,
Man-sed-command, Man-awk-command, Man-mode-line-format,
Man-mode-map, Man-mode-hook, Man-cooked-hook, Man-name-regexp,
Man-section-regexp, Man-page-header-regexp, Man-heading-regexp,
Man-see-also-regexp, Man-first-heading-regexp,
Man-reference-regexp, Man-switches, Man-specified-section-option):
Make them normal defvars, no more user options.
(Man-overstrike-face, Man-undeline-face): New user options.
(Man-init-defvars): Man-fontify-manpage-flag removed from here.
(man-fontify-manpage): Use the new user options above.
Paul Eggert [Wed, 26 Oct 1994 22:43:45 +0000 (22:43 +0000)]
(re_comp, re_exec): Define this obsolete 4.2bsd
interface only if the new feature test macro _REGEX_RE_COMP is defined.
This avoids a clash with Cray YMP include files.
(x_catch_errors, x_check_errors, x_had_errors_p)
(x_uncatch_errors): Make the argument a display, not a frame.
(XTread_socket_fake_io_error): New variable.
(XTread_socket): Obey XTread_socket_fake_io_error.
(x_initialize): Init x_noop_count, x_focus_frame
and x_highlight_frame here.
(x_term_init): Not here.
(x_term_init): Open the connection first thing;
if that fails, don't allocate dpyinfo.
(x_delete_display): New function.
(x_connection_closed): New args dpyinfo and error_message.
Delete all frames on the dead display
and all frames using them for minibuffers.
Call x_delete_display.
Maybe signal a Lisp error.
(x_term_init): Set up x_id_name field.
(x_id_name): Variable deleted.
(x_font_table, x_font_table_size, x_n_fonts): Vars deleted.
(x_new_font): Use new fields.
(warp_mouse_on_deiconify): Unused variable deleted.
(x_term_init): Set up dpyinfo->xrdb.
Set up dpyinfo->vertical_scroll_bar_cursor.
(x_scroll_bar_create): Use vertical_scroll_bar_cursor slot.
(x_vertical_scroll_bar_cursor): Variable deleted.
(x_term_init): Really return dpyinfo.
(x_term_init): Call add_keyboard_wait_descriptor,
not change_keyboard_wait_descriptor.
(x_term_init): Pass new arg to init_sigio.
Don't set old_fcntl_owner.
Don't call change_input_fd.
(XTread_socket): Loop over displays and process input from each.
(x_display_name_list): New variable.
(syms_of_xterm): staticpro it.
Don't staticpro slots in the_x_screen.
(x_term_init): Update x_display_name_list along with x_display_list.
Actually malloc the x_display_info.
(the_x_screen): Variable deleted.
(Brk): Declare as unsigned long.
(unexec): Do CHECH_SCNHDR on _RCONST if that's defined.
Ignore rdata_section if there is none.
(update_dynamic_symbols): New arg new_name. Call changed.
Fix some calls to WRITE.
(fatal_unexec): Declare all arguments.
(struct x_display_info): New fields bitmaps, bitmaps_size, bitmaps_last.
(struct x_bitmap_record): Structure moved here.
(struct font_info): New type.
(struct x_display_info): New fields font_table, font_table_size and n_fonts.
(struct x_display_info): New field scratch_cursor_gc.
(mouse_face_*): New fields.
(struct x_display_info): New field x_id_name.
(struct x_display_info): Replace elements `name'
and `face_list_cache' with one cons cell `name_list_element'.
(x_display_name_list): Variable declared.
(Fx_create_frame): Don't increment refernce_count
until the frame is put on the frame list.
(Fx_close_connection): Call x_delete_display.
(x_display_info_for_name, Fx_open_connection):
Signal error if x_term_init fails.
(Fx_open_connection): New arg must_succeed.
(x_real_positions): Catch errors and retry if error happens.
No need to block input here.
(Fx_create_frame): Don't store the frame name
till after FRAME_X_DISPLAY_INFO is set up.
(Fx_close_connection): Renamed from Fx_close_current_connection
Many doc fixes and Lisp function arg renamings.
(x_bitmaps, x_bitmap_size, x_bitmap_last):
Variables deleted. Use fields in x_display_info instead.
(x_bitmaps_free): Variable deleted.
(x_destroy_bitmap, x_allocate_bitmap_record): Don't use or set it.
(x_allocate_bitmap_record): New arg f. Callers changed.
(x_lookup_pixmap): Function deleted.
(x_destroy_all_bitmaps): New function.
(Fx_close_current_connection): Call x_destroy_all_bitmaps.
Free the fonts in the font table. Free various other data
that dpyinfo points to. Avoid using Fdelq.
(x_set_name, Fx_create_frame): Use x_id_name field.
(Fx_close_current_connection): Call check_x_display_info.
Delete the display from x_display_list and x_display_name_list.
(Fx_display_list): New function.
(syms_of_xfns): defsubr it.
(Fx_list_fonts): Use `name_list_element' field.
(x_display_info_for_name): Scan x_display_name_list
along with x_display_list.
(record_char): New subroutine.
(read_char): Use record_char.
Split up menu-bar mouse click events here.
Call record_char for both halves; likewise echo_char and add_command_key.
Never use input_fd if using X.
(stuff_char): Do nothing if read_socket_hook.
(setpgrp_of_tty): Function deleted.
(init_sigio): Take fd as argument. Callers changed.
Don't call request_sigio; do the work here.
(request_sigio, unrequest_sigio): Do nothing if read_socket_hook.
(init_sys_modes): Don't call EMACS_GET_TTY unless we are going
to change the settings.
Handle multiple keyboard input descriptors.
(non_keyboard_wait_mask): New variable.
(Fset_process_filter): Update non_keyboard_wait_mask
(create_process, Fopen_network_stream, deactivate_process):
(init_process, sigchld_handler): Likewise.
(wait_reading_process_input): Maybe use non_keyboard_wait_mask.
(add_keyboard_wait_descriptor):
Renamed from change_keyboard_wait_descriptor.
Clear the old descriptor's bit only the first call.
(delete_keyboard_wait_descriptor): New function.
(keyboard_bit_set): New function.
(wait_reading_process_input): Use keyboard_bit_set.
Start the loop over process descs from 0, and explicitly
ignore non-process input descs.
(init_process): Don't init keyboard_descriptor.
(keyboard_descriptor): Variable deleted.
(add_keyboard_wait_descriptor): Don't set keyboard_descriptor.
(delete_keyboard_wait_descriptor): New function.
(getline): When a search of already-read input for CRLF
fails, store the fact that we've searched it and don't search it
again after reading more data.
(getline): When determining whether or not it's necessary
to grow the input buffer, take into account the null that's stored
at the end of already-read input in the buffer.
(Xatom_*): Variables deleted.
Use slots in x_display_info structure instead.
(symbol_to_x_atom, x_atom_to_symbol):
New arg dpyinfo. All callers changed.
(xatoms_of_xselect): Function deleted.
(menu-bar-file-menu): Add item `Make Frame On Display'.
(menu-bar-update-buffers-maxbuf): Declare variable.
(menu-bar-update-buffers-1, menu-bar-update-buffers):
Rename local var maxbuf to menu-bar-update-buffers-maxbuf.
(struct heap): New fields first_bloc, last_bloc.
(struct bp): New field heap.
(get_bloc, free_bloc, obtain, r_alloc_sbrk): Update new fields.
(reorder_bloc): New function.
(update_heap_bloc_correspondence):
Renamed from update_heap_free_pointers. Update new fields.
(relinquish): Add error check for new fields.
(set-face-background): If color is gray, and frame
can't display that directly, use corresponding stipple.
(face-try-color-list): Assume gray colors are valid on any display.
(struct x_display_info): Struct renamed from x_screen.
(x_display): x_screen field renamed to display_info.
(FRAME_X_DISPLAY): Use new name.
(FRAME_X_DISPLAY_INFO): Likewise; also renamed from FRAME_X_SCREEN.
Use FRAME_X_DISPLAY instead of x_current_display and XDISPLAY.
(x_make_frame_visible, x_make_frame_invisible):
Pass a frame ptr to x_sync.
(x_term_init): Init all the components of dpyinfo.
(x_display_info_for_display): New function.
(x_*_mod_mask): Variables deleted.
(x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
New arg dpyinfo; all callers changed.
Store the masks in that structure.
(icon_bitmap): Variable deleted.
(x_bitmap_icon): Use icon_bitmap_id in x_display_info.
(icon_font_info): Variable deleted.
(x_term_init): Set up `connection' field.
(x_find_modifier_meanings):
Arg is now struct x_display_info *.
(x_term_init): Return an x_display_info *.
Store all the data in it, including X atoms and xrdb.
Put the x_display_info structure on x_display_list.
Pass name as Lisp_Object.
(the_x_screen): Variable moved here.
(syms_of_xterm): Staticpro parts of the_x_screen.
(windowinfo): Variable deleted.
(Xatom_*): Variables deleted.
(x_iconify_frame, XTread_socket): Get atoms from the x_display_info,
(XTread_socket): Don't update Vmouse_depressed.
(x_mouse_grabbed): Variable deleted.
(note_mouse_highlight): Use grabbed field instead.
(XTmouse_position, XTread_socket): Likewise.
(x_calc_absolute_position, x_wm_set_size_hint):
Get screen height, width from the x_display_info structure.
(check_x_display_info): New function.
(Fx_create_frame): Use it.
(x_screen_planes): New function.
(EMACS_CLASS): Macro moved to xterm.h.
(Qdisplay): New variable.
(syms_of_xfns): Set it up.
(Fx_create_frame): Handle display parameter
which says where to get the FRAME_X_DISPLAY_INFO.
(x_display_info_for_name): New function.
(select_visual): New arg dpy.
(Fx_open_connection): Get dpyinfo from x_term_init.
Don't set up atoms, xrdb here. Pass name as Lisp_Object.
(the_x_screen): Variable moved to xterm.c.
(syms_of_xfns): Don't staticpro it here.
(xrdb): Variable deleted.
(Fx_get_resource): Use selected_frame's xrdb.
(x_get_resource_string): Likewise.
(Fx_open_connection): Store the atoms in x_display_info.
(hack_wm_protocols): New arg f. Get atoms from x_display_info.
(x_window): Get atoms from x_display_info.
(Vmouse_depressed, mouse_buffer_offset): Variables deleted.
(syms_of_xfns): Delete Lisp variables too.
(Fx_synchronize): Take frame as arg.
(Fx_close_current_connection): Take frame as arg. Error is not fatal.
(mouse_timestamp): Variable deleted.
(screen_visual, x_screen_planes): Variables deleted.
(x_screen, x_screen_height, x_screen_width): Variables deleted.
(Fx_open_connection): Don't set them here.
Put that info in the x_display_info structure.
(x_window): Get the visual from x_display_info structure.
(x_decode_color): Use n_planes from x_display_info structure.
Use FRAME_X_DISPLAY instead of x_current_display and XDISPLAY.
(x_in_use): New variable,
(check_x, using_x_p): Test x_in_use.
(Fx_open_connection): Set x_in_use.
(check_x_frame): New function.
(defined_color): New arg f specifies frame. Callers changed.
(x_decode_color): New arg f. All callers changed.
(Fx_color_values, Fx_color_defined_p): New arg FRAME.
Use check_x_frame.
(Fx_list_fonts): Use check_x_frame.
(timer-error, timer-abnormal-termination,
timer-filter-error): New error conditions.
(timer-process-filter, timer-process-sentinel): Signal an error,
don't just print a message.