1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-31 17:30:54 -08:00
Commit graph

1748 commits

Author SHA1 Message Date
Jim Blandy
371fbaebef * term.c (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
redeem_scrollbar_hook, judge_scrollbars_hook): Removed dumbo
	"externs" from these.  They're supposed to be real definitions.

	* termhooks.h (mouse_position_hook): Doc fix.
	(set_vertical_scrollbar_hook): This doesn't return anything any
	more, and doesn't take a struct scrollbar * argument any more.
	(condemn_scrollbars_hook, redeem_scrollbar_hook,
	judge_scrollbars_hook): Doc fixes.
	* term.c (mouse_position_hook): Doc fix.
	(set_vertical_scrollbar_hook): This doesn't return
	anything any more.  Doc fixes.
	* keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
	window from *mouse_position_hook and pass it to
	make_lispy_movement, instead of working with a pointer to a struct
	scrollbar.
	(make_lispy_event): We don't need a window_from_scrollbar function
	anymore; we are given the window directly in *EVENT.
	Unify the code which generates
	text-area mouse clicks and scrollbar clicks; use the same code to
	distinguish clicks from drags on the scrollbar as in the text area.
	Distinguish clicks from drags by storing a copy of the lispy
	position list returned as part of the event.
	(button_down_location): Make this a lisp vector, rather than an
	array of random structures.
	(struct mouse_position): Remove this; it's been replaced by a lisp
	list.
	(make_lispy_movement): Accept the scrollbar's window as a
	parameter, rather than the scrollbar itself.
	If FRAME is zero, assume that the other arguments are garbage.
	(syms_of_keyboard): No need to staticpro each window of
	button_down_location now; just initialize and staticpro it.
	* window.c (window_from_scrollbar): Function deleted; no longer
	needed.
	* xdisp.c (redisplay_window): Just pass the window to
	set_vertical_scrollbar hook; don't pass the scrollbar object too.
	* xterm.c (XTmouse_position): Don't return a pointer to the
	scrollbar for scrollbar motion; instead, return the scrollbar's
	window.
1993-01-14 15:14:21 +00:00
Jim Blandy
1dc77cc346 * frame.h (FRAME_SAMPLE_VISIBILITY): Make sure frame is marked as
garbaged whenever it goes from invisible to visible.
	* dispextern.h (frame_garbaged): Move extern declaration from here...
	* frame.h (frame_garbaged): ... to here.  The FRAME_SAMPLE_VISIBILITY
	macro uses it now, and this seems to be just as modular.  Make a
	new page, just for this and message_buf_print.
	(struct frame): Doc fix for the `visible' field.
	* process.c: #include "frame.h" instead of "dispextern.h"; the
	only thing we care about from it is the frame_garbaged
	declaration.
	* ymakefile: Note dependency change.
1993-01-14 15:13:19 +00:00
Jim Blandy
02213e820f * window.c (window_internal_width): New function.
* lisp.h (window_internal_height, window_internal_width): Add
	extern declarations for these.
	* dispnew.c (direct_output_for_insert, direct_output_forward_char,
	buffer_posn_from_coords): Use window_internal_width instead of
	writing out its definition.
	* indent.c (compute_motion): Doc fix; mention scrollbars and
	window_internal_width.
	(pos_tab_offset, Fvertical_motion): Use window_internal_width
	instead of writing it out.
	* window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left,
	Fscroll_right): Same.
	* xdisp.c (redisplay, try_window, try_window_id,
	display_text_line): Same.

	* emacs.c (shut_down_emacs): New function.
	(fatal_error_signal, Fkill_emacs): Call it, instead of writing it out.
	* xterm.c (x_connection_closed): Call shut_down_emacs instead of
	Fkill_emacs; the latter will try to perform operations on the X
	server and die a horrible death.
	* lisp.h (shut_down_emacs): Add extern declaration for it.
1993-01-14 15:12:23 +00:00
Jim Blandy
7b4aedb99a * termhooks.h (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return anything any
	more, and doesn't take a struct scrollbar * argument any more.
	(condemn_scrollbars_hook, redeem_scrollbar_hook,
	judge_scrollbars_hook): Doc fixes.
	* term.c (mouse_position_hook): Doc fix.
	(set_vertical_scrollbar_hook): This doesn't return
	anything any more.  Doc fixes.
	* keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
	window from *mouse_position_hook and pass it to
	make_lispy_movement, instead of working with a pointer to a struct
	scrollbar.
	(make_lispy_event): We don't need a window_from_scrollbar function
	anymore; we are given the window directly in *EVENT.
	Unify the code which generates
	text-area mouse clicks and scrollbar clicks; use the same code to
	distinguish clicks from drags on the scrollbar as in the text area.
	Distinguish clicks from drags by storing a copy of the lispy
	position list returned as part of the event.
	(button_down_location): Make this a lisp vector, rather than an
	array of random structures.
	(struct mouse_position): Remove this; it's been replaced by a lisp
	list.
	(make_lispy_movement): Accept the scrollbar's window as a
	parameter, rather than the scrollbar itself.
	If FRAME is zero, assume that the other arguments are garbage.
	(syms_of_keyboard): No need to staticpro each window of
	button_down_location now; just initialize and staticpro it.
	* window.c (window_from_scrollbar): Function deleted; no longer
	needed.
	* xdisp.c (redisplay_window): Just pass the window to
	set_vertical_scrollbar hook; don't pass the scrollbar object too.
	* xterm.c (XTmouse_position): Don't return a pointer to the
	scrollbar for scrollbar motion; instead, return the scrollbar's
	window.

	* keyboard.c (apply_modifiers): Don't assume that the Qevent_kind
	property of BASE is set when we first create the new modified
	symbol.  Check that the Qevent_kind property is properly set each
	time we return any symbol.

	* termhooks.h (struct input_event): Replace the frame member with
	a Lisp_Object member by the name of frame_or_window.  Doc fixes.
	Remove the scrollbar member; instead, use frame_or_window to hold the
	window whose scrollbar was clicked.
	* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event,
	make_lispy_event): Adjust references to frame member of struct
	input_event to use frame_or_window now.
	* xterm.c (construct_mouse_click, XTread_socket): Same.

	* keyboard.c (kbd_buffer_frames): Renamed to
	kbd_buffer_frame_or_window, and made to exist even when
	MULTI_FRAME isn't defined; single-frame systems might have
	scrollbars.  Use it to GCPRO the frame_or_window field in the
	event queue.
	(kbd_buffer_store_event, kbd_buffer_get_event,
	stuff_buffered_input): Set and clear the
	appropriate element of kbd_buffer_frame_or_window, whether or not
	MULTI_FRAME is #defined.
	(read_avail_input): When reading characters directly from stdin,
	set the frame_or_window field of the event appropriately,
	depending on whether or not MULTI_FRAME is #defined.
	(Fdiscard_input, init_keyboard): Zap kbd_buffer_frame_or_window,
	not kbd_buffer_frames.
	(syms_of_keyboard): Initialize and staticpro
	kbd_buffer_frame_or_window, whether or not MULTI_FRAME is
	#defined.

	* keyboard.c (head_table): Make Qscrollbar_movement have a
	Qevent_kind property of Qmouse_movement, not Qscrollbar_movement.

	* keyboard.c (read_key_sequence): If we decide to throw away a
	mouse event which has prefix symbols (`mode-line',
	`vertical-scrollbar', etcetera), remember that we may have to
	unwind two characters, not just one.

	* keyboard.c (read_key_sequence): Doc fixes.

	* keyboard.c (kbd_buffer_store_event): Fix reversed sense of test
	for focus redirection.

	* keyboard.c (read_char): Don't echo mouse movements.
1993-01-14 15:11:19 +00:00
Jim Blandy
fa61c7012f * window.c (window_internal_width): New function.
* lisp.h (window_internal_height, window_internal_width): Add
	extern declarations for these.
	* dispnew.c (direct_output_for_insert, direct_output_forward_char,
	buffer_posn_from_coords): Use window_internal_width instead of
	writing out its definition.
	* indent.c (compute_motion): Doc fix; mention scrollbars and
	window_internal_width.
	(pos_tab_offset, Fvertical_motion): Use window_internal_width
	instead of writing it out.
	* window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left,
	Fscroll_right): Same.
	* xdisp.c (redisplay, try_window, try_window_id,
	display_text_line): Same.
1993-01-14 15:10:14 +00:00
Jim Blandy
20a6c8d708 Make scrollbar structures into lisp objects, so that they can be
GC'd; this allows windows and scrollbars can refer to each other
	without worrying about dangling pointers.
	* xterm.h (struct x_display): vertical_scrollbars and
	judge_timestamp members deleted.
	(struct scrollbar): Redesigned to be a template for a Lisp_Vector.
	(SCROLLBAR_VEC_SIZE, XSCROLLBAR, SCROLLBAR_PACK, SCROLLBAR_UNPACK,
	SCROLLBAR_X_WINDOW, SET_SCROLLBAR_X_WINDOW,
	VERTICAL_SCROLLBAR_INSIDE_WIDTH, VERTICAL_SCROLLBAR_TOP_RANGE,
	VERTICAL_SCROLLBAR_INSIDE_HEIGHT, VERTICAL_SCROLLBAR_MIN_HANDLE):
	New macros, to help deal with the lispy structures, and deal with
	the graphics.
	* frame.h (WINDOW_VERTICAL_SCROLLBAR): Macro deleted.
	(struct frame): New fields `scrollbars' and
	`condemned_scrollbars', for use by the scrollbar implementation.
	[MULTI_FRAME and not MULTI_FRAME] (FRAME_SCROLLBARS,
	FRAME_CONDEMNED_SCROLLBARS): Accessors for the new field.
	* window.h (struct window): Doc fix for vertical_scrollbar field.
	* frame.c (make_frame): Initialize the `scrollbars' and
	`condemned_scrollbars' fields of the new frame.
	* alloc.c (mark_object): Mark the `scrollbars' and
	`condemned_scrollbars' slots of frames.
	* xterm.c (x_window_to_scrollbar): Scrollbars are chained on
	frames' scrollbar field, not their x.display->vertical_scrollbars
	field.
	(x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_move,
	x_scrollbar_remove, XTset_vertical_scrollbar,
	XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars,
	x_scrollbar_expose, x_scrollbar_handle_click,
	x_scrollbar_handle_motion): Substantially rewritten to correct
	typos and brainos, and to accomodate the lispy structures.

	* frame.h (FRAME_SAMPLE_VISIBILITY): Make sure frame is marked as
	garbaged whenever it goes from invisible to visible.
	* dispextern.h (frame_garbaged): Move extern declaration from here...
	* frame.h (frame_garbaged): ... to here.  The FRAME_SAMPLE_VISIBILITY
	macro uses it now, and this seems to be just as modular.  Make a
	new page, just for this and message_buf_print.
	(struct frame): Doc fix for the `visible' field.
	* process.c: #include "frame.h" instead of "dispextern.h"; the
	only thing we care about from it is the frame_garbaged
	declaration.
	* ymakefile: Note dependency change.
1993-01-14 15:09:51 +00:00
Jim Blandy
178577827e * fileio.c (Fdo_auto_save): Add CURRENT_ONLY argument, as
described in doc string.
1993-01-14 15:08:15 +00:00
Jim Blandy
40be253a3b * emacs.c (shut_down_emacs): New function.
(fatal_error_signal, Fkill_emacs): Call it, instead of writing it out.
	* xterm.c (x_connection_closed): Call shut_down_emacs instead of
	Fkill_emacs; the latter will try to perform operations on the X
	server and die a horrible death.
	* lisp.h (shut_down_emacs): Add extern declaration for it.
1993-01-14 15:07:32 +00:00
Jim Blandy
7e1fc708f4 * config.h.in: protect against multiple #inclusions.
* config.h.in: Add a declaration for getenv.
1993-01-14 15:02:14 +00:00
Jim Blandy
6d62a90e1f * scrollbar.el: New file.
* term/x-win.el: Require 'scrollbar.
1993-01-14 14:52:32 +00:00
Jim Blandy
d5ab20330a * simple.el (set-goal-column): Make this command disabled by default. 1993-01-14 14:50:16 +00:00
Jim Blandy
817d6535a9 * page-ext.el (next-page): Correctly handle negative page count. 1993-01-14 14:49:17 +00:00
Jim Blandy
faa3b11db6 * frame.el (frame-notice-user-settings): Don't try to delete the
initial frame if the user took care of that.
1993-01-14 14:48:57 +00:00
Jim Blandy
396890d1bd Initial revision 1993-01-14 06:41:03 +00:00
Richard M. Stallman
08edea3c96 Define MAKE, and use where appropriate. 1993-01-13 22:20:28 +00:00
Richard M. Stallman
7bc18990e1 (Fredraw_display): Redraw all visible frames.
Make the non-multi-frame version interactive.
1993-01-13 05:17:34 +00:00
Richard M. Stallman
40a45a9f94 (mouse-save-then-kill): When deleting, avoid delay
and don't set the mark.  Replace obsolete fn event-point.
(mouse-kill): Replace obsolete fn event-point.
1993-01-13 01:31:45 +00:00
Richard M. Stallman
0601fd3d8f (float_to_string): Add final 0 if text ends with decimal pt. 1993-01-13 00:25:03 +00:00
Richard M. Stallman
c24e9a53b3 (Fset_default_file_modes, Fdefault_file_modes): Renamed from .._mode. 1993-01-12 00:12:21 +00:00
Richard M. Stallman
5f85ea584e (Fset_default_file_mode, Fdefault_file_mode):
Renamed from Fset_umask and Fumask; sense of arg is reversed.
1993-01-12 00:04:37 +00:00
Richard M. Stallman
1d386d28ff (Fwrite_region): Doc fix. 1993-01-11 23:15:30 +00:00
Richard M. Stallman
88c1aa792a (kill-append): Doc fix. 1993-01-11 05:10:15 +00:00
Richard M. Stallman
edb2a7079b (float_to_string): Add `.0' at end if needed. 1993-01-10 20:10:26 +00:00
Richard M. Stallman
51ac6f8388 (Fload): If warn that .elc file is older,
inhibit the ordinary message that would follow.
1993-01-10 16:44:36 +00:00
Richard M. Stallman
487fcdc0a3 (mail-unsent-separator): Add `-- begin message --'. 1993-01-09 14:30:36 +00:00
Richard M. Stallman
22faf17184 (dired-mark-read-regexp): Give dired-read-regexp 1 arg. 1993-01-09 13:54:05 +00:00
Richard M. Stallman
d2cadc4b9d (dired-regexp-history): New history list.
(dired-read-regexp): Use that history list.  Take just one arg.
1993-01-09 13:53:49 +00:00
Roland McGrath
d680e99c81 (update-copyright): Doc fix. 1993-01-09 00:01:00 +00:00
Michael I. Bushnell
a973c898d9 Use process-send-string instead of send-string. 1993-01-08 21:14:11 +00:00
Richard M. Stallman
6d7ee041a2 (add-change-log-entry): Search for existing ChangeLog
in parent dir and its parents.
1993-01-08 21:13:23 +00:00
Michael I. Bushnell
c193197b50 Also, write a newline after the token. 1993-01-08 21:12:58 +00:00
Michael I. Bushnell
07941899b3 Also, write a newline after the token. 1993-01-08 20:36:35 +00:00
Michael I. Bushnell
5319c7c1b9 timer.c (notify): Flush stdout after writing message to avoid lossage
on terminals.
1993-01-08 20:36:14 +00:00
Richard M. Stallman
dbac6e3de7 Doc fixes. 1993-01-08 20:33:12 +00:00
Roland McGrath
dffd312417 (run-at-time): Use a pipe to talk to the timer process. 1993-01-08 20:28:41 +00:00
Michael I. Bushnell
507876f3c7 timer.c (notify): Flush stdout after writing message to avoid lossage
on terminals.
1993-01-08 20:26:54 +00:00
Richard M. Stallman
ac96728dda Initial revision 1993-01-08 15:30:08 +00:00
Richard M. Stallman
2e9c66ab52 entered into RCS 1993-01-08 15:12:37 +00:00
Richard M. Stallman
ce7385cb60 (Frandom): Change arg name. 1993-01-08 09:08:24 +00:00
Richard M. Stallman
f3bca33c57 (unexec): Don't call exit, just return. 1993-01-07 10:22:16 +00:00
Richard M. Stallman
d2561f346f (mail-send): Don't clear modified or delete autosave if visiting a file. 1993-01-07 10:18:46 +00:00
Jim Blandy
7992688912 * simple.el (kill-region): Change interactive spec to signal an
error if the buffer is read-only, and remove the code to do a
	copy-region-as-kill if the buffer is read-only.

	* simple.el (set-mark-command): Clarify doc string.

	* simple.el (prefix-arg-internal): Don't apply string-to-char to
	get the first element of the key sequence - it might be a vector.
1993-01-07 02:50:39 +00:00
Jim Blandy
e33981b69d Small changes to keep people from running Emacs under X. 1993-01-07 02:49:15 +00:00
Jim Blandy
8558648404 *** empty log message *** 1993-01-07 01:47:11 +00:00
Richard M. Stallman
652304c9d3 entered into RCS 1993-01-06 04:35:15 +00:00
Richard M. Stallman
c2fabcbf95 New version received. 1993-01-05 22:25:05 +00:00
Richard M. Stallman
7617f113cd ($os alternatives for sco and isc): Preserve the specified os version if any.
Each alternative handles both 386 and 486, preserving distinction.
($basic_machine alternatives for sco and isc): Deleted.
(i[34]86v32, i[34]86v, i[34]86v4):
Handle both cpus together, preserving distinction.
1993-01-05 05:43:42 +00:00
Richard M. Stallman
5c600c5c2f (apropos-match-keys): Handle non-chars as keys. 1993-01-04 11:36:14 +00:00
Richard M. Stallman
8fabe6f428 (Fx_get_resource): Use EMACS_CLASS to make class_key
even if SUBCLASS is specified.  I don't know whether that is
right, but that's what the doc says.
Cosmetic changes in arg names and doc string.
1993-01-03 23:43:29 +00:00
Richard M. Stallman
ca8efa98ca Translate sunos5 to solaris2, and solaris1 to sunos4. 1993-01-02 21:51:50 +00:00