1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 09:51:22 -08:00
Commit graph

10633 commits

Author SHA1 Message Date
Jim Blandy
4bb994d1ad * keyboard.c: Protect all references to kbd_buffer_frames with
#ifdef MULTI_FRAME.

	* frame.h (struct frame): New fields `can_have_scrollbars' and
	`has_vertical_scrollbars'.
	(FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
	accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
	(VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
	WINDOW_VERTICAL_SCROLLBAR_COLUMN,
	WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
	* window.h (struct window): New field `vertical_scrollbar'.
	* xterm.h (struct x_display): vertical_scrollbars,
	judge_timestamp, vertical_scrollbar_extra: New fields.
	(struct scrollbar): New struct.
	(VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
	VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
	VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
	CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
	PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
	* frame.c (make_frame): Initialize the `can_have_scrollbars' and
	`has_vertical_scrollbars' fields of the frame.
	* term.c (term_init): Note that TERMCAP terminals don't support
	scrollbars.
	(mouse_position_hook): Document new args.
	(set_vertical_scrollbar_hook, condemn_scrollbars_hook,
	redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
	* termhooks.h: Declare and document them.
	(enum scrollbar_part): New type.
	(struct input_event): Describe the new form of the scrollbar_click
	event type.  Change `part' from a Lisp_Object to an enum
	scrollbar_part.  Add a new field `scrollbar'.
	* keyboard.c (kbd_buffer_get_event): Pass appropriate new
	parameters to *mouse_position_hook, and make_lispy_movement.
	* xfns.c (x_set_vertical_scrollbar): New function.
	(x_figure_window_size): Use new macros to calculate frame size.
	(Fx_create_frame): Note that X Windows frames do support scroll
	bars.  Default to "yes".
	* xterm.c: #include <X11/cursorfont.h> and "window.h".
	(x_vertical_scrollbar_cursor): New variable.
	(x_term_init): Initialize it.
	(last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
	last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
	variables.
	(XTmouse_position): Use them to return scrollbar movement events.
	Take new arguments, for that purpose.
	(x_window_to_scrollbar, x_scrollbar_create,
	x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
	XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
	XTjudge_scrollbars, x_scrollbar_expose,
	x_scrollbar_background_expose, x_scrollbar_handle_click,
	x_scrollbar_handle_motion): New functions to implement scrollbars.
	(x_term_init): Set the termhooks.h hooks to point to them.
	(x_set_window_size): Use new macros to calculate frame size.  Set
	vertical_scrollbar_extra field.
	(x_make_frame_visible): Use the frame accessor
	FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
	frame's subwindows as well.
	(XTread_socket): Use new size-calculation macros from xterm.h when
	processing ConfigureNotify events.
	(x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
	PIXEL_TO_CHAR_HEIGHT macros.
	* ymakefile (xdisp.o): This now depends on termhooks.h.
	(xterm.o): This now depends on window.h.

	* keyboard.c (Qscrollbar_movement, Qvertical_scrollbar,
	Qabove_handle, Qhandle, Qbelow_handle): New symbols.
	(make_lispy_event): New code to build scrollbar clicks.
	(make_lispy_movement): New code to handle scrollbar movement.
	(head_table): Include Qscrollbar_movement in the event heads.
	(syms_of_keyboard): Init and staticpro Qvertical_scrollbar,
	Qabove_handle, Qhandle, and Qbelow_handle.
	* keyboard.h (Qscrollbar_movement): Declare this along with the
	other event types.
	* lisp.h (Qvertical_scrollbar): Declare this.
	* window.c (window_from_scrollbar): New function.

	* xterm.h (struct x_display): Delete v_scrollbar, v_thumbup,
	v_thumbdown, v_slider, h_scrollbar, h_thumbup,
	h_thumbdown, h_slider, v_scrollbar_width, h_scrollbar_height
	fields.
	* keyboard.c (Qvscrollbar_part, Qvslider_part, Qvthumbup_part,
	Qvthumbdown_part, Qhscrollbar_part, Qhslider_part, Qhthumbup_part,
	Qhthumbdown_part, Qscrollbar_click): Deleted; part of an obsolete
	interface.
	(head_table): Removed from here as well.
	(syms_of_keyboard): And here.
	* keyboard.h: And here.
	(POSN_SCROLLBAR_BUTTON): Removed.
	* xscrollbar.h: File removed - no longer necessary.
	* xfns.c: Don't #include it any more.
	(Qhorizontal_scroll_bar, Qvertical_scroll_bar): Deleted.
	(syms_of_xfns): Don't initialize or staticpro them.
	(gray_bits): Salvaged from xscrollbar.h.
	(x_window_to_scrollbar): Deleted.
	(x_set_horizontal_scrollbar): Deleted.
	(enum x_frame_parm, x_frame_parms): Remove references to
	x_set_horizontal_scrollbar.
	(x_set_foreground_color, x_set_background_color,
	x_set_border_pixel): Remove special code to support scrollbars.
	(Fx_create_frame): Remove old scrollbar setup code.
	(install_vertical_scrollbar, install_horizontal_scrollbar,
	adjust_scrollbars, x_resize_scrollbars): Deleted.
	* xterm.c (construct_mouse_click): This doesn't need to take care of
	scrollbar clicks anymore.
	(XTread_socket): Remove old code to support scrollbars.  Call new
	functions instead for events which occur in scrollbar windows.
	(XTupdate_end): Remove call to adjust_scrollbars; the main
	redisplay code takes care of that now.
	(enum window_type): Deleted.
	* ymakefile: Note that xfns.o no longer depends on xscrollbar.h.

	* keyboard.c (Fread_key_sequence): Doc fix.

	* keyboard.c (make_lispy_event): Buttons are numbered starting
	with zero now.

	* keyboard.c (make_lispy_event): Use the proper accessors when
	manipulating the `x' and `y' fields of struct input_event.

	* keyboard.c (parse_modifiers_uncached): Remember that strncmp
	returns zero if the two substrings are equal.

	* keyboard.c (do_mouse_tracking, Ftrack_mouse): Doc fix.

	* keyboard.c (read_char): Don't put mouse movements in
	this_command_keys.

	Change the meaning of focus redirection to make switching windows
	work properly.  Fredirect_frame_focus has the details.
	* frame.h (focus_frame): Doc fix.
	[not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
	indicates no focus redirection, instead of zero, which is
	selected_frame.
	* frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
	than making it point to frame itself.
	(Fselect_frame): If changing the selected frame from FOO to BAR,
	make all redirections to FOO shift to BAR as well.  Doc fix.
	(Fredirect_frame_focus): Doc fix.  Accept nil as a valid
	redirection, not just as a default for FRAME.
	(Fframe_focus): Doc fix.
	* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
	with focus redirections being nil.
	* xterm.c (XTframe_rehighlight): Doc fix.  Deal with focus
	redirections being nil.

	* keyboard.c (kbd_buffer_frames): New vector, to GCPRO frames in
	kbd_buffer.
	(kbd_buffer_store_event): When we add an event to kbd_buffer, make
	sure to store its frame in kbd_buffer_frames.
	(kbd_buffer_get_event): When we remove an event from kbd_buffer,
	make sure to set the corresponding element of kbd_buffer_frames to
	Qnil, to allow the frame to get GC'd.
	(Fdiscard_input, init_keyboard): Clear all elements of
	kbd_buffer_frames to nil.
	(syms_of_keyboard): Create and staticpro kbd_buffer_frames.
1992-12-24 06:12:04 +00:00
Jim Blandy
46a5c4874d * frame.h (struct frame): New fields `can_have_scrollbars' and
`has_vertical_scrollbars'.
	(FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
	accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
	(VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
	WINDOW_VERTICAL_SCROLLBAR_COLUMN,
	WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
	* window.h (struct window): New field `vertical_scrollbar'.
	* xterm.h (struct x_display): vertical_scrollbars,
	judge_timestamp, vertical_scrollbar_extra: New fields.
	(struct scrollbar): New struct.
	(VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
	VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
	VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
	CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
	PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
	* frame.c (make_frame): Initialize the `can_have_scrollbars' and
	`has_vertical_scrollbars' fields of the frame.
	* term.c (term_init): Note that TERMCAP terminals don't support
	scrollbars.
	(mouse_position_hook): Document new args.
	(set_vertical_scrollbar_hook, condemn_scrollbars_hook,
	redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
	* termhooks.h: Declare and document them.
	(enum scrollbar_part): New type.
	(struct input_event): Describe the new form of the scrollbar_click
	event type.  Change `part' from a Lisp_Object to an enum
	scrollbar_part.  Add a new field `scrollbar'.
	* keyboard.c (kbd_buffer_get_event): Pass appropriate new
	parameters to *mouse_position_hook, and make_lispy_movement.
	* xfns.c (x_set_vertical_scrollbar): New function.
	(x_figure_window_size): Use new macros to calculate frame size.
	(Fx_create_frame): Note that X Windows frames do support scroll
	bars.  Default to "yes".
	* xterm.c: #include <X11/cursorfont.h> and "window.h".
	(x_vertical_scrollbar_cursor): New variable.
	(x_term_init): Initialize it.
	(last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
	last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
	variables.
	(XTmouse_position): Use them to return scrollbar movement events.
	Take new arguments, for that purpose.
	(x_window_to_scrollbar, x_scrollbar_create,
	x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
	XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
	XTjudge_scrollbars, x_scrollbar_expose,
	x_scrollbar_background_expose, x_scrollbar_handle_click,
	x_scrollbar_handle_motion): New functions to implement scrollbars.
	(x_term_init): Set the termhooks.h hooks to point to them.
	(x_set_window_size): Use new macros to calculate frame size.  Set
	vertical_scrollbar_extra field.
	(x_make_frame_visible): Use the frame accessor
	FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
	frame's subwindows as well.
	(XTread_socket): Use new size-calculation macros from xterm.h when
	processing ConfigureNotify events.
	(x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
	PIXEL_TO_CHAR_HEIGHT macros.
	* ymakefile (xdisp.o): This now depends on termhooks.h.
	(xterm.o): This now depends on window.h.

	Change the meaning of focus redirection to make switching windows
	work properly.  Fredirect_frame_focus has the details.
	* frame.h (focus_frame): Doc fix.
	[not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
	indicates no focus redirection, instead of zero, which is
	selected_frame.
	* frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
	than making it point to frame itself.
	(Fselect_frame): If changing the selected frame from FOO to BAR,
	make all redirections to FOO shift to BAR as well.  Doc fix.
	(Fredirect_frame_focus): Doc fix.  Accept nil as a valid
	redirection, not just as a default for FRAME.
	(Fframe_focus): Doc fix.
	* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
	with focus redirections being nil.
	* xterm.c (XTframe_rehighlight): Doc fix.  Deal with focus
	redirections being nil.

	It's a pain to remember that you can't assign to FRAME->visible.
	Let's change all references to the `visible' member of struct
	frame to use the accessor macros, and then write a setter for the
	`visible' field that does the right thing.
	* frame.h (FRAME_VISIBLE_P): Make this not an l-value.
	(FRAME_SET_VISIBLE): New macro.
	* frame.c (make_terminal_frame, Fdelete_frame): Use FRAME_SET_VISIBLE.
	(Fframe_visible_p, Fvisible_frame_list): Use FRAME_VISIBLE_P and
	FRAME_ICONIFIED_P.
	* dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
	FRAME_GARBAGED_P accessors.
	* xdisp.c (redisplay): Use the FRAME_VISIBLE_P accessor.
	* xfns.c (x_set_foreground_color, x_set_background_color,
	x_set_cursor_color, x_set_border_pixel, x_set_icon_type): Use the
	FRAME_VISIBLE_P accessor.
	(Fx_create_frame): Use FRAME_SET_VISIBILITY.
	* xterm.c (clear_cursor, x_display_bar_cursor,
	x_display_box_cursor): Use FRAME_SET_VISIBILITY.
1992-12-24 06:07:02 +00:00
Jim Blandy
a42e972438 * frame.h (struct frame): New fields `can_have_scrollbars' and
`has_vertical_scrollbars'.
	(FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
	accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
	(VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
	WINDOW_VERTICAL_SCROLLBAR_COLUMN,
	WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
	* window.h (struct window): New field `vertical_scrollbar'.
	* xterm.h (struct x_display): vertical_scrollbars,
	judge_timestamp, vertical_scrollbar_extra: New fields.
	(struct scrollbar): New struct.
	(VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
	VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
	VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
	CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
	PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
	* frame.c (make_frame): Initialize the `can_have_scrollbars' and
	`has_vertical_scrollbars' fields of the frame.
	* term.c (term_init): Note that TERMCAP terminals don't support
	scrollbars.
	(mouse_position_hook): Document new args.
	(set_vertical_scrollbar_hook, condemn_scrollbars_hook,
	redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
	* termhooks.h: Declare and document them.
	(enum scrollbar_part): New type.
	(struct input_event): Describe the new form of the scrollbar_click
	event type.  Change `part' from a Lisp_Object to an enum
	scrollbar_part.  Add a new field `scrollbar'.
	* keyboard.c (kbd_buffer_get_event): Pass appropriate new
	parameters to *mouse_position_hook, and make_lispy_movement.
	* xfns.c (x_set_vertical_scrollbar): New function.
	(x_figure_window_size): Use new macros to calculate frame size.
	(Fx_create_frame): Note that X Windows frames do support scroll
	bars.  Default to "yes".
	* xterm.c: #include <X11/cursorfont.h> and "window.h".
	(x_vertical_scrollbar_cursor): New variable.
	(x_term_init): Initialize it.
	(last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
	last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
	variables.
	(XTmouse_position): Use them to return scrollbar movement events.
	Take new arguments, for that purpose.
	(x_window_to_scrollbar, x_scrollbar_create,
	x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
	XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
	XTjudge_scrollbars, x_scrollbar_expose,
	x_scrollbar_background_expose, x_scrollbar_handle_click,
	x_scrollbar_handle_motion): New functions to implement scrollbars.
	(x_term_init): Set the termhooks.h hooks to point to them.
	(x_set_window_size): Use new macros to calculate frame size.  Set
	vertical_scrollbar_extra field.
	(x_make_frame_visible): Use the frame accessor
	FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
	frame's subwindows as well.
	(XTread_socket): Use new size-calculation macros from xterm.h when
	processing ConfigureNotify events.
	(x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
	PIXEL_TO_CHAR_HEIGHT macros.
	* ymakefile (xdisp.o): This now depends on termhooks.h.
	(xterm.o): This now depends on window.h.

	* floatfns.c (Flog): Fix unescaped newline in string.
	* frame.c (Fnext_frame): Same.
	* textprop.c (Fprevious_single_property_change): Same.
	(syms_of_textprop): Same, for DEFVAR for
	`interval_balance_threshold'.

	Change the meaning of focus redirection to make switching windows
	work properly.  Fredirect_frame_focus has the details.
	* frame.h (focus_frame): Doc fix.
	[not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
	indicates no focus redirection, instead of zero, which is
	selected_frame.
	* frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
	than making it point to frame itself.
	(Fselect_frame): If changing the selected frame from FOO to BAR,
	make all redirections to FOO shift to BAR as well.  Doc fix.
	(Fredirect_frame_focus): Doc fix.  Accept nil as a valid
	redirection, not just as a default for FRAME.
	(Fframe_focus): Doc fix.
	* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
	with focus redirections being nil.
	* xterm.c (XTframe_rehighlight): Doc fix.  Deal with focus
	redirections being nil.

	It's a pain to remember that you can't assign to FRAME->visible.
	Let's change all references to the `visible' member of struct
	frame to use the accessor macros, and then write a setter for the
	`visible' field that does the right thing.
	* frame.h (FRAME_VISIBLE_P): Make this not an l-value.
	(FRAME_SET_VISIBLE): New macro.
	* frame.c (make_terminal_frame, Fdelete_frame): Use FRAME_SET_VISIBLE.
	(Fframe_visible_p, Fvisible_frame_list): Use FRAME_VISIBLE_P and
	FRAME_ICONIFIED_P.
	* dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
	FRAME_GARBAGED_P accessors.
	* xdisp.c (redisplay): Use the FRAME_VISIBLE_P accessor.
	* xfns.c (x_set_foreground_color, x_set_background_color,
	x_set_cursor_color, x_set_border_pixel, x_set_icon_type): Use the
	FRAME_VISIBLE_P accessor.
	(Fx_create_frame): Use FRAME_SET_VISIBILITY.
	* xterm.c (clear_cursor, x_display_bar_cursor,
	x_display_box_cursor): Use FRAME_SET_VISIBILITY.
1992-12-24 06:05:56 +00:00
Jim Blandy
950c26286e * dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
FRAME_GARBAGED_P accessors.
	* dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
	FRAME_GARBAGED_P accessors.
1992-12-24 06:04:32 +00:00
Jim Blandy
76f590d740 * buffer.c (Frename_buffer): Set update_mode_lines. 1992-12-24 06:03:20 +00:00
Jim Blandy
307436bb71 * ymakefile (all, xemacs): We build an executable called `emacs' now,
not `xemacs'.
	* Makefile.in (distclean, xemacs, doxemacs): Same.
1992-12-24 06:03:04 +00:00
Roland McGrath
ac21ec406a (tagsfiles): New variable.
(TAGS): Depend on $(tagsfiles); use that in cmds.
(tags): Separate phony rule; depends on TAGS.
1992-12-21 18:26:29 +00:00
Richard M. Stallman
be58fa58a9 (Fcall_interactively): For `s', use Fread_string. 1992-12-21 05:38:25 +00:00
Jim Blandy
e9fab8d3fc * frame.c (make_terminal_frame): Don't forget to set the
`async_visible' flag of the new frame.
1992-12-18 10:42:10 +00:00
David J. MacKenzie
1a4ea60bd2 *** empty log message *** 1992-12-15 02:35:40 +00:00
Jim Blandy
4af46de60c *** empty log message *** 1992-12-14 02:28:29 +00:00
Jim Blandy
fd482be5a7 * window.c (Fset_window_configuration): If we're restoring the
configuration of a dead frame, don't bother rebuilding its window
	tree, restoring its focus redirection, or temporarily resizing it
	to fit the saved window configuration.  If the frame which was
	selected when the configuration was captured is now dead, don't
	try to select it.

	* frame.c (Fdelete_frame): Delete all the windows in the frame's
	window tree, using delete_all_subwindows.
	* window.c (delete_all_subwindows): Don't make this static
	anymore.
1992-12-12 15:38:45 +00:00
Jim Blandy
c1dc99a185 * search.c (Fskip_chars_forward, Fskip_chars_backward): Return the
distance traveled.
	(skip_chars): Return the distance traveled, as a Lisp_Object.
1992-12-12 15:37:30 +00:00
Jim Blandy
1e30af705a Give subprocess creation a way to find a valid current directory
for subprocesses when the buffer's default-directory is a handled
	name.
	* fileio.c (Funhandled_file_name_directory): New function.
	(Qunhandled_file_name_directory): New file-name-handler operation.
	(syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
	initialize and staticpro Qunhandled_file_name_directory.
	* callproc.c (Fcall_process): Call Funhandled_file_name_directory
	on the buffer's default directory.  Do it earlier in the function
	so there's less to GCPRO.
	* process.c (create_process): Don't check the validity of the
	buffer's default directory here...
	(Fstart_process): Instead, do it here; if we call
	Funhandled_file_name_directory here, there's less GCPROing to do.
1992-12-12 15:36:50 +00:00
Jim Blandy
e86f81cc46 * macros.c (Fend_kbd_macro): Don't use XFASTINT to check if arg is
negative; XFASTINT only works on values known to be positive.
	(Fexecute_kbd_macro): Check QUIT in the repetition loop.  If the
	macro is null, no characters are actually being read, so this
	matters.
1992-12-12 15:35:41 +00:00
Jim Blandy
997bf68d0a * fileio.c (find_file_handler): Rename this to
Ffind_file_name_handler, and make it visible to lisp.  Add a QUIT
	to the loop which scans file-name-handler-alist.  All uses
	changed.
	(syms_of_fileio): Mention this new function in the docstring for
	Vfile_name_handler_alist.  defsubr Sfind_file_name_handler.
	* lisp.h (Ffind_file_name_handler): Added extern declaration.
	* dired.c: All uses of find_file_handler changed here too.
1992-12-12 15:35:12 +00:00
Jim Blandy
4a88b3b0fe * frame.c (Fdelete_frame): Delete all the windows in the frame's
window tree, using delete_all_subwindows.
	* window.c (delete_all_subwindows): Don't make this static
	anymore.
1992-12-12 15:34:44 +00:00
Jim Blandy
642ef2454b Give subprocess creation a way to find a valid current directory
for subprocesses when the buffer's default-directory is a handled
	name.
	* fileio.c (Funhandled_file_name_directory): New function.
	(Qunhandled_file_name_directory): New file-name-handler operation.
	(syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
	initialize and staticpro Qunhandled_file_name_directory.
	* callproc.c (Fcall_process): Call Funhandled_file_name_directory
	on the buffer's default directory.  Do it earlier in the function
	so there's less to GCPRO.
	* process.c (create_process): Don't check the validity of the
	buffer's default directory here...
	(Fstart_process): Instead, do it here; if we call
	Funhandled_file_name_directory here, there's less GCPROing to do.

	* fileio.c (find_file_handler): Rename this to
	Ffind_file_name_handler, and make it visible to lisp.  Add a QUIT
	to the loop which scans file-name-handler-alist.  All uses
	changed.
	(syms_of_fileio): Mention this new function in the docstring for
	Vfile_name_handler_alist.  defsubr Sfind_file_name_handler.
	* lisp.h (Ffind_file_name_handler): Added extern declaration.
	* dired.c: All uses of find_file_handler changed here too.

	* fileio.c (syms_of_fileio): Add staticpros for Qexpand_file_name,
	Qdirectory_file_name, Qfile_name_directory,
	Qfile_name_nondirectory, Qfile_name_as_directory.
1992-12-12 15:32:51 +00:00
Jim Blandy
58616e6755 Give subprocess creation a way to find a valid current directory
for subprocesses when the buffer's default-directory is a handled
	name.
	* fileio.c (Funhandled_file_name_directory): New function.
	(Qunhandled_file_name_directory): New file-name-handler operation.
	(syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
	initialize and staticpro Qunhandled_file_name_directory.
	* callproc.c (Fcall_process): Call Funhandled_file_name_directory
	on the buffer's default directory.  Do it earlier in the function
	so there's less to GCPRO.
	* process.c (create_process): Don't check the validity of the
	buffer's default directory here...
	(Fstart_process): Instead, do it here; if we call
	Funhandled_file_name_directory here, there's less GCPROing to do.

	* callproc.c (Fcall_process_region): Return the value returned by
	Fcall_process.
1992-12-12 15:31:32 +00:00
Jim Blandy
9e012fc3b7 * Makefile.in (distclean): Don't delete machine.h or system.h;
they don't exist anymore.

	* Makefile.in (distclean): Don't delete autosave or backup files.
	(extraclean): New target; like distclean, but delete autosave
	and backup files too.

	* Makefile.in (srcdir): New variable, not fully implemented.
	(xmakefile): Turn -g and -O in CFLAGS into C_DEBUG_SWITCH and
	C_OPTIMIZE_SWITCH in C_SWITCH_SITE's definition.  Delete junk.cpp
	when done.
	* ymakefile (archlib): Variable definition deleted.  Run programs
	from ../lib-src directly, or use ${archlibdir}.
	(${etc}DOC): Run make-docfile from ${libsrc}, not ${archlib}.
	(${archlib}make-docfile, ${archlib}emacstool): Use ${libsrc}, not
	${archlib}.
1992-12-12 15:29:40 +00:00
Jim Blandy
71715da973 *** empty log message *** 1992-12-12 14:44:09 +00:00
Jim Meyering
c6b4078874 *** empty log message *** 1992-12-12 02:55:16 +00:00
Jim Blandy
168e32e6e0 *** empty log message *** 1992-12-08 00:39:49 +00:00
Jim Blandy
3a88c23802 * xterm.c (XTread_socket): When we get MapNotify, UnmapNotify,
Expose, ExposeWindow, or UnmapWindow, set f->async_visible, not
	f->visible.
	(x_do_pending_expose, x_raise_frame, x_lower_frame,
	x_make_frame_invisible, x_make_frame_visible, x_iconify_frame):
	Test and set f->async_visible and f->async_iconified, not
	f->visible or f->async_iconified.
1992-12-06 22:22:09 +00:00
Jim Blandy
d7a803df18 * xfns.c (Fx_create_frame): Initialize f->async_visible too. 1992-12-06 22:21:21 +00:00
Jim Blandy
d724d9896d * xdisp.c (redisplay): Call FRAME_SAMPLE_VISIBILITY to set the
visible and iconified flags appropriately for each frame.
	(message1): Call FRAME_SAMPLE_VISIBILITY to set the visible and
	iconified flags for the minibuffer frame.

	* xdisp.c (redisplay): Use FOR_EACH_FRAME to apply
	redisplay_windows to the root window of each frame.  This makes a
	#ifdef MULTI_FRAME unneeded, but it also means we recompute
	buffer_shared from scratch even on non-MULTI_FRAME configurations.
	Don't skip elements of Vframe_list that aren't frames; go ahead
	and crash here.

	* xdisp.c (redisplay): Remove #ifdef MULTI_FRAME around the code
	which updates separate minibuffer frames specially; there's
	nothing there that won't work on a single-frame configuration.
1992-12-06 22:20:47 +00:00
Jim Blandy
016899c07c Tue Dec 1 23:42:25 1992 Jim Blandy (jimb@totoro.cs.oberlin.edu)
* process.c (wait_reading_process_input): Doc fix.
1992-12-06 22:19:47 +00:00
Jim Blandy
ff0b5f4c67 * keyboard.c (kbd_store_ptr): Declare this to be volatile, if
__STDC__ is #defined.
	(Fdiscard_input): Use cast to keep GCC from complaining about the
	assignment of kbd_store_ptr to kbd_fetch_ptr.
1992-12-06 22:18:02 +00:00
Jim Blandy
a46595273a * frame.h (struct frame): New fields called async_visible and
async_iconified.
	(FRAME_SAMPLE_VISIBILITY): New macro, with MULTI_FRAME and
	non-MULTI_FRAME definitions.
1992-12-06 22:17:30 +00:00
Jim Blandy
323405deb6 * frame.c (make_frame): Initialize async_visible and
async_iconified properly.
1992-12-06 22:16:57 +00:00
Jim Blandy
283e1184f3 * doc.c (store_function_docstring): New function, made from part
of Fsnarf_documentation, which handles docstrings for macros
	properly.
	(Fsnarf_documentation): Call store_function_docstring.
1992-12-06 22:16:26 +00:00
Jim Blandy
f76e7178ee * dispnew.c: Remove dyked-out copy of safe_bcopy. 1992-12-06 22:16:01 +00:00
Jim Blandy
8f607ef0e3 * dispextern.h (struct frame_glyphs): Doc fix. 1992-12-06 22:15:29 +00:00
Jim Blandy
a293299024 src/ * data.c (indirect_function): Delete unused argument ERROR. 1992-12-06 22:13:53 +00:00
Jim Blandy
0c22fbcab4 Now partially conforms with GNU coding standards. I'm only checking
it in to RCS so I can check my changes in with FSF Cambridge.
1992-12-06 22:12:37 +00:00
David J. MacKenzie
a8cfc9f7e0 *** empty log message *** 1992-12-01 18:28:07 +00:00
Richard M. Stallman
a22b53407d Copy changes from 18.59:
(NeXT): Defined.
(BIG_ENDIAN): Define only if __BIG_ENDIAN__.
(m68000, COMPILER_REGISTER_BUG): Defs deleted.
(SIGN_EXTEND_CHAR, LIB_X11_LIB, NO_T_CHARS_DEFINES, UNEXEC): Defined.
(LIBS_DEBUG, LIB_GCC, C_SWITCH_MACHINE, ORDINARY_LINK): Defined.
(TEXT_START, TEXT_END, DATA_END, LD_SWITCH_MACHINE): Defined.
(KERNEL_FILE): #undef it.
(environ): Define as _environ.
1992-11-26 18:32:45 +00:00
David J. MacKenzie
d9088577ea *** empty log message *** 1992-11-26 04:42:40 +00:00
David J. MacKenzie
18ec5b0525 *** empty log message *** 1992-11-24 14:17:32 +00:00
Jim Blandy
e684648e8f * Makefile.in (clean): Remove prefix-args. 1992-11-24 02:33:31 +00:00
Richard M. Stallman
7fe7fd40d2 (LD_SWITCH_SYSTEM): Make alternate version for GCC. 1992-11-21 22:12:53 +00:00
Karl Berry
9114e2792f *** empty log message *** 1992-11-21 01:51:33 +00:00
Jim Blandy
1a5aace582 * m/sparc.h: Don't include <sys/param.h> here; that screws up the
xmakefile.  Instead, include it in getloadavg.c, which is the only
	place that uses LOAD_AVE_CVT, which is the only reason
	<sys/param.h> was here in the first place.
1992-11-20 17:21:38 +00:00
Jim Blandy
8e6bef18a1 * xselect.c (Fx_get_cut_buffer): Correct check for buf_num in
range.

	* xselect.c (Fx_get_cut_buffer, Fx_set_cut_buffer): Fix error
	message format; use NUM_CUT_BUFFERS instead of literal 7.
1992-11-16 01:04:24 +00:00
Jim Blandy
b4f5687cd4 * xfns.c (unread_command_char): Change name in extern declaration
to unread_command_event.
1992-11-16 01:03:16 +00:00
Jim Blandy
253c7d2f32 * xdisp.c (display_string): Use w's buffer's value of
tab-width to display the string, instead of the current buffer's,
	which could be anything.
1992-11-16 00:58:49 +00:00
Jim Blandy
7104f9b06c * vmspaths.h: New version from Roland Roberts. 1992-11-16 00:58:28 +00:00
Jim Blandy
e6dd60805c * undo.c (Fprimitive_undo): Remove whitespace in front of #ifdef
and #endif.
1992-11-16 00:57:54 +00:00
Jim Blandy
a04c953598 * systty.h: Doc fix.
* systty.h, process.c, buffer.h, callproc.c, sysdep.c, dired.c:
	Added VMS changes from Roland Roberts.
1992-11-16 00:55:34 +00:00
Jim Blandy
986ffb2446 * systty.h, process.c, buffer.h, callproc.c, sysdep.c, dired.c:
Added VMS changes from Roland Roberts.
1992-11-16 00:54:53 +00:00