Commit graph

62 commits

Author SHA1 Message Date
Richard M. Stallman
173f2a642c (verify_overlay_modification): New function.
(call_overlay_mod_hooks): New function.
1993-07-13 21:05:26 +00:00
Jim Blandy
718cde7d8e * buffer.c (list_buffers_1): Make desired_point a lisp object; set
it to nil, unless we find the current buffer.
	(Flist_buffers): Don't try to set point in the buffer list unless
	list_buffers_1 actually returns an integer.  Don't use a full
	save_excursion; just save and restore the buffer.
1993-06-22 07:39:26 +00:00
Jim Blandy
db732e5a3d Don't let the 'B' interactive spec default to buffers viewed in
any visible frame.
	* buffer.c (Fother_buffer): Pass Qt as the second argument
	to Fget_buffer_window.
	* window.c (window_loop): In GET_BUFFER_WINDOW case, ignore
	non-visible frames.
	(Fget_buffer_window): Change doc string to mention that passing Qt
	for the FRAME argument returns windows on visible frames only.
1993-06-17 05:05:53 +00:00
Jim Blandy
75d8f6686c Don't let the 'B' interactive spec default to buffers viewed in
any visible frame.
	* buffer.c (Fother_buffer): Pass Qvisible as the second argument
	to Fget_buffer_window.
	* window.c (Qvisible): New symbol.
	(window_loop): In GET_BUFFER_WINDOW case, if frames is Qvisible,
	ignore non-visible frames.
	(Fget_buffer_window): Expand doc string to mention that Qvisible
	is an interesting value for FRAME argument.
	(syms_of_window): Init and staticpro Qvisible.
	* lisp.h (Qvisible): New declaration.
1993-06-17 00:39:37 +00:00
Jim Blandy
e87f38ef9d * buffer.c (list_buffers_1): Return the desired point.
(Flist_buffers): Put point there in the buffer summary.
1993-06-16 16:29:40 +00:00
Richard M. Stallman
638e4fc3ad (Fgenerate_new_buffer_name): GENTEMP is the value compare against IGNORE. 1993-06-11 20:50:08 +00:00
Jim Blandy
eb8c3be94e Apply typo patches from Paul Eggert. 1993-06-09 11:59:12 +00:00
Richard M. Stallman
0a4469c908 (Fdelete_overlay): Do nothing if overlay already deleted.
Bind inhibit-quit to t.
(Fmove_overlay): Properly handle changing buffers, or no prev buffer.
Bind inhibit-quit to t.
1993-06-07 05:07:34 +00:00
Richard M. Stallman
a96b68f119 (syms_of_buffer): Set up Lisp var inhibit-read-only.
(Vinhibit_read_only): Declared.
(Fbarf_if_buffer_read_only): Check Vinhibit_read_only.
1993-06-04 18:08:07 +00:00
Richard M. Stallman
136351b742 (init_buffer): Init default-directory of minibuffer. 1993-06-03 22:07:18 +00:00
Roland McGrath
03bdd54cf0 (Fgenerate_new_buffer_name): Doc fix. 1993-05-30 23:24:09 +00:00
Richard M. Stallman
e8b3a22d82 (reset_buffer): Clear mark_active field here.
(reset_buffer_local_variables): Not here.
(Fswitch_to_buffer, Fpop_to_buffer): Return the buffer.
(Fmove_overlay): Fix data types in last change.
1993-05-30 04:51:33 +00:00
Richard M. Stallman
dfda7a7fc5 (reset_buffer): Clear mark_active field here.
(reset_buffer_local_variables): Not here.
1993-05-29 05:48:29 +00:00
Richard M. Stallman
c273e6471e (Fgenerate_new_buffer_name): New arg IGNORE.
(Frename_buffer): Pass new arg.
1993-05-28 23:58:29 +00:00
Jim Blandy
c82ed7283a * buffer.c (Fmove_overlay): If the overlay is changing buffers,
do a thorough redisplay.
1993-05-28 06:50:23 +00:00
Jim Blandy
883047b99c * buffer.c (Fmake_overlay): Put beg and end in the
right order.
	(Fmove_overlay): If beg and end are markers, make sure they're in
	the right buffer.
1993-05-24 20:57:32 +00:00
Jim Blandy
c6c5df7f76 Updated copyright years. 1993-05-22 21:34:42 +00:00
Richard M. Stallman
61d54cd540 (overlays_at): New arg EXTEND.
(Foverlays_at, Fnext_overlay_change): Pass 1.
1993-05-16 22:31:48 +00:00
Jim Blandy
3ece337ad9 * buffer.c (Fmove_overlay): If the overlay is in no buffer and the
BUFFER argument has been omitted, put it in the current buffer,
	for symmetry with move-marker.

	* buffer.c (Fdelete_overlay): Make the overlay's markers point
	nowhere, not at 1.  Do this after calling redisplay_region, so
	that code knows what section has changed.
1993-05-14 22:57:10 +00:00
Jim Blandy
8ebafa8d4d * buffer.c (Foverlay_start, Foverlay_end, Foverlay_buffer,
Foverlay_properties): Functions moved here from subr.el.
1993-05-14 15:35:17 +00:00
Jim Blandy
52f8ec734e * lisp.h (Lisp_Overlay): New tag.
(OVERLAYP): New predicate.
	(CHECK_OVERLAY): New type-checker.
	(Qoverlayp): New extern declaration.
	* buffer.c (Foverlayp): New function.
	(Qoverlayp): New atom.
	(overlays_at, recenter_overlay_lists): Abort if we encounter an
	invalid overlay.
	(syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
	(Fdelete_overlay): Set the overlay's markers to point nowhere.
	Use CHECK_OVERLAY instead of signalling a special error.
	(Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
	signalling a special error.
	(Foverlay_get): Use CHECK_OVERLAY.
	* fns.c (internal_equal): Define this for overlays.
	* buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
	* print.c (print): Give overlays their own print syntax.
	* alloc.c (mark_object): Treat overlays like conses.

	* buffer.c (Foverlay_get): Return Qnil if the requested property
	is missing from the property list.
1993-05-14 14:36:01 +00:00
Jim Blandy
b61982dd6e Arrange to tell redisplay about changes in overlays.
* xdisp.c (redisplay_region): New function.
	* buffer.c (Fmove_overlay): Call redisplay_region on the areas the
	overlay has enclosed or left.
	(Fdelete_overlay): Call redisplay_region on the area the overlay
	used to occupy.
	(Foverlay_put): Call redisplay_region on the area the overlay now
	occupies; we may have put a face property on it.

	* buffer.c (Fmove_overlay): Doc fix.
1993-05-10 00:15:02 +00:00
Jim Blandy
6158b3b00b * buffer.c (syms_of_buffer): Doc fix for buffer-display-table.
* buffer.c (Fmake_overlay, Fmove_overlay): New optional BUFFER
	arguments.
	(recenter_overlay_lists): New argument BUF, to use instead of the
	current buffer.
	(Foverlay_recenter): Pass the appropriate arguments to
	recenter_overlay_lists.

	* buffer.c (Fdelete_overlay): Don't assume that overlay is in the
	current buffer.  Don't forget to declare the argument a Lisp_Object.
1993-05-04 02:23:12 +00:00
Eric S. Raymond
a97c374aa7 (Qmode-line-format): Describe %l in the doc string. 1993-04-25 06:14:25 +00:00
Jim Blandy
5c4f68f179 * buffer.c (Fmake_overlay, Fmove_overlay): New optional BUFFER
arguments.
	(recenter_overlay_lists): New argument BUF, to use instead of the
	current buffer.
	(Foverlay_recenter): Pass the appropriate arguments to
	recenter_overlay_lists.

	* buffer.c (Fdelete_overlay): Don't assume that overlay is in the
	current buffer.  Don't forget to declare the argument a Lisp_Object.
1993-04-10 07:57:57 +00:00
Richard M. Stallman
542143d701 (Fkill_all_local_variables): Store each var's current value
in the buffer's alist entry, before reverting to the default value.
1993-04-08 07:10:42 +00:00
Richard M. Stallman
d014bf88d3 Include blockinput.h. 1993-04-07 22:11:21 +00:00
Jim Blandy
9ac0d9e041 Put interrupt input blocking in a separate file from xterm.h.
This isn't specific to X, and it allows us to avoid #including
	xterm.h in files that don't really have anything to do with X.
	* blockinput.h: New file.
	* xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT,
	UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h.
	(x_input_blocked, x_pending_input): Deleted; there are analogs
	in blockinput.h called interrupt_input_blocked and
	interrupt_input_pending.
	* keyboard.c (interrupt_input_blocked, interrupt_input_pending):
	New variables, used by the macros in blockinput.h.
	* xterm.c: #include blockinput.h.
	(x_input_blocked, x_pending_input): Deleted.
	(XTread_socket): Test and set interrupt_input_blocked and
	interrupt_input_pending instead of the old variables.
	* alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c:
	#include blockinput.h.
	* eval.c: #include blockinput.h instead of xterm.h.
	* keyboard.c: #include blockinput.h.
	(input_poll_signal): Just test
	interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and
	x_input_blocked.

	Block the processing of interrupt input while we're manipulating the
	malloc heap.
	* alloc.c: (xfree): New function, to make it easy to free things
	safely.
	(xmalloc, xrealloc): Block X input while doing the deed.
	(VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree
	instead of free.
	(uninterrupt_malloc): New function, to install input-blocking
	hooks into the GNU malloc routines.
	* emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc
	on startup.
	* alloc.c: (make_interval, make_float, Fcons, Fmake_vector,
	Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect):
	Use xmalloc instead of malloc; don't bother to check if out of
	memory here.
	(Fgarbage_collect): Call xrealloc instead of realloc.
	* buffer.c: Use xmalloc and xfree instead of malloc and free;
	don't bother to check if out of memory here.
	(Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around
	calls to ralloc routines.
	* insdel.c: Same.
	* lisp.h (xfree): New extern declaration.
	* xfaces.c (xfree): Don't #define this to be free; use the
	definition in alloc.c.
	* dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c,
	xmenu.c, xterm.c: Use xfree instead of free.
	* hftctl.c: Use xfree and xmalloc instead of free and malloc.
	* keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc
	and malloc.
	* search.c: Since the regexp routines can malloc, BLOCK_INPUT
	while runing them.  #include blockinput.h.
	* sysdep.c: #include blockinput.h.  Call xfree and xmalloc instead
	of free and malloc.  BLOCK_INPUT around routines which we know
	will call malloc.

	ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o,
	xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that
	these depend on blockinput.h.
1993-03-31 10:55:33 +00:00
Richard M. Stallman
2eec3b4e0c (init_buffer_once, reset_buffer):
Delete last vestige of fieldlist slot.
(Fregion_fields): Finally deleted.

(overlays_at, recenter_overlay_lists): New functions.
(Fmake_overlay, Fdelete_overlay, Foverlay_get, Foverlay_put): Likewise.
(Fmove_overlay, Foverlays_at, Fnext_overlay_change): Likewise.
(Foverlay_lists, Foverlay_recenter): Likewise.
1993-03-27 18:03:10 +00:00
Jim Blandy
2e94b81346 Doc fix. 1993-03-16 18:36:27 +00:00
Jim Blandy
6bbb0d4aaa * cmds.c (overwrite_binary_mode): Deleted; this implements the
wrong feature.
	(Qoverwrite_mode_binary): New variable.
	(internal_self_insert): If current_buffer->overwrite_mode is
	`overwrite-mode-binary', do as overwrite_binary_mode used to.
	(syms_of_cmds): Remove defvar of overwrite_binary_mode; initialize
	Qoverwrite_mode_binary.
	* buffer.c (syms_of_buffer): Doc fix for overwrite_mode.
	* buffer.h (struct buffer): Doc fix.
1993-03-16 18:18:05 +00:00
Roland McGrath
188d4d111d (syms_of_buffer): Make erase-buffer a disabled command. 1993-03-07 23:41:34 +00:00
Richard M. Stallman
c48f61ef04 (reset_buffer_local_variables): Reset mark_active.
(syms_of_buffer): New buffer-local var `mark-active'.
(init_buffer_once): Initialize mechanism for it.
1993-03-07 09:24:18 +00:00
Richard M. Stallman
a354518d21 (check_protected_fields): Variable deleted.
(syms_of_buffer): Delete vars buffer-field-list and check-protected-fields.
1993-03-06 02:59:13 +00:00
Jim Blandy
bec44fd6f6 * buffer.c (buffer-undo-list): Doc fix.
* buffer.c (syms_of_buffer): Add the extra argument to the
	commented-out DEFVAR_PER_BUFFER for `mode-line-format', so
	make-docfile will find the docstring properly.
1993-03-02 08:09:42 +00:00
Roland McGrath
c922bc5514 (Ferase_buffer): Added interactive spec. 1993-02-24 23:37:46 +00:00
Richard M. Stallman
483c1fd3e2 (syms_of_buffer): Doc fix. 1993-02-24 23:20:51 +00:00
Jim Blandy
5fcd022dab * buffer.c (Fswitch_to_buffer): Pass the correct number of
arguments to Fnext_window.

	* buffer.c (Fbury_buffer): Pass the correct number of arguments to
	Fother_buffer.

	* buffer.c (buffer_slot_type_mismatch): Make symbol_name an
	unsigned char *, to match the type of a string's data.
1993-02-22 14:22:37 +00:00
Richard M. Stallman
3bd779aadb (Frename_buffer): Make prefix arg set UNIQUE. 1993-02-14 23:08:25 +00:00
Jim Blandy
dbc4e1c129 JimB's changes since January 18th 1993-01-26 01:58:16 +00:00
Jim Blandy
76f590d740 * buffer.c (Frename_buffer): Set update_mode_lines. 1992-12-24 06:03:20 +00:00
Jim Blandy
a56118855c * buffer.c (Ferase_buffer): Doc fix.
* buffer.c (Fbury_buffer): Make this behave as in 18.59, although
that behavior is very odd - only remove the buffer from the
selected window if BUFFER was nil or omitted.
1992-11-16 00:33:17 +00:00
Jim Blandy
2381d13338 * buffer.c (init_buffer): If PWD is accurate, use it instead of
calling getwd.
	#include <sys/types.h> and <sys/stat.h>, for the call to stat.
1992-11-07 07:00:04 +00:00
Jim Blandy
291026b51f * buffer.c (reset_buffer): Don't assign to b->save_length as if it
were an int; use XFASTINT.
1992-10-31 04:50:51 +00:00
Richard M. Stallman
172a9c1f72 (Fkill_buffer): Pass 2nd arg to Fother_buffer.
(Fswitch_to_buffer, Fpop_to_buffer, Fbury_buffer):
1992-10-06 00:03:29 +00:00
Joseph Arceneaux
21cf4cf8a9 * buffer.c: #include intervals.h. 1992-10-02 23:43:16 +00:00
Joseph Arceneaux
33f7013e52 * buffer.c (reset_buffer): Do INITIALIZE_INTERVAL on the buffer's
interval component.
	(Fkill_buffer): Likewise.
1992-10-01 01:22:22 +00:00
Jim Blandy
a0ebb746f1 * buffer.c (Fother_buffer): Add back the VISIBLE_OK argument. It
got removed with no comment or ChangeLog entry, and
	append-to-buffer uses it.
1992-09-30 18:16:11 +00:00
Jim Blandy
a080486e57 * data.c (Frem): Use the `fmod' function under SunOS, Ultrix, and
HP/UX, not just under USG systems.
1992-09-29 04:54:28 +00:00
Jim Blandy
b271272a9a * buffer.c (Fbury_buffer): This used to undisplay the buffer being
buried only if the BUFFER argument was nil.  Instead, undisplay the
	buffer whenever it's displayed in the selected window, no matter
	how it was specified by BUFFER.  This is how it behaves in 18.58,
	and I can't find any ChangeLog entry in 18.58 or 19.0 saying why
	they differ.  Fix the doc string accordingly.
1992-09-29 04:08:04 +00:00