1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 04:10:27 -08:00
Commit graph

37 commits

Author SHA1 Message Date
Richard M. Stallman
08b0527265 (graft_intervals_into_buffer): If SOURCE is null
and TREE is null, no need to call Fset_text_properties.
1993-12-23 01:58:56 +00:00
Richard M. Stallman
b5f37d3f7c (merge_properties_sticky): Declared. 1993-11-25 07:47:14 +00:00
Richard M. Stallman
0b79989fc4 (graft_intervals_into_buffer): New arg LENGTH.
If source has no intervals, set dest properties to nil.
1993-11-25 06:28:03 +00:00
Richard M. Stallman
328c0f1fe5 Include puresize.h.
(create_root_interval): Check to see if PARENT is in
pure memory.  If so, we cannot write it.
1993-11-10 20:11:44 +00:00
Richard M. Stallman
7ea69158f0 (graft_intervals_into_buffer): New arg INHERIT. 1993-09-14 12:10:53 +00:00
Roland McGrath
18160b98ce Include <config.h> instead of "config.h". 1993-09-10 06:15:46 +00:00
Richard M. Stallman
2313b945f2 (adjust_intervals_for_insertion): If inserting in middle
of interval that is sticky in neither direction, don't copy props.
(merge_properties_sticky): Handle non-list as front-sticky or
rear-nonsticky property.
1993-08-15 03:49:28 +00:00
Richard M. Stallman
7ce503fdda (adjust_intervals_for_insertion): Handle insertion
between two unlike intervals via merge_properties_sticky.
(merge_properties_sticky): New function.
(graft_intervals_into_buffer): Leave handling of `sticky'-ness to
adjust_intervals_for_insertion, then merge properties of the
inserted text onto the old ones.
(textget_direct): New function.
(set_point): Fix calculating of fromprev.
(verify_interval_modification): Check for `read-only' property
and take its `sticky'-ness into account.

(set_point): Ignore `invisible' property unless property value is `hidden'.
1993-07-31 21:58:03 +00:00
Richard M. Stallman
ddd931ff51 (set_point): Test Vinhibit_point_motion_hooks. 1993-07-23 07:59:08 +00:00
Richard M. Stallman
b8e4857c81 (graft_intervals_into_buffer): When TREE is null,
pass buffer as 2nd arg to reproduce_tree.
1993-07-22 08:06:55 +00:00
Jim Blandy
2bc7a79bdc * intervals.c (split_interval_left, split_interval_right): Change
OFFSET argument of these functions to be origin 0, not origin 1.
	This is what all the callers currently want.
	* intervals.c, textprop.c: All callers changed.

	* intervals.c (graft_intervals_into_buffer): Properly compute
	length of buffer.
1993-07-18 06:24:25 +00:00
Richard M. Stallman
f1ca901238 (verify_interval_modification): Use Qinsert_in_front_hooks and
Qinsert_behind_hooks instead of previous names.
1993-07-13 21:08:45 +00:00
Richard M. Stallman
c36494197b (verify_interval_modification):
For insertion, run the insert-before-hooks and insert-after-hooks,
not the modification-hooks.
1993-07-13 02:19:50 +00:00
Jim Blandy
24e3d3bf9e * intervals.c (find_interval): Doc fixes, computation of
tree->position rearranged for clarity.

	* intervals.c (find_interval): Consistently treat POSITION as an
	actual buffer position, i.e. origin 1.  The old code seemed
	undecided on this point.  Treat the end of the buffer as being
	part of the rightmost interval.
	(adjust_intervals_for_insertion): Consistently treat POSITION as
	origin 1.
	(interval_deletion_adjustment): The exception: FROM should be
	origin zero here.  Consistently treat it as such.  Simplify code
	which shrinks and possibly deletes intervals.
	(adjust_intervals_for_deletion): Treat start as origin 1; our
	caller does.
	(set_point): Use buffer positions throughout, not a mix of buffer
	posns and origin zero posns.
	(get_local_map): Remove special case for POSITION at end of buffer;
	find_interval handles that case correctly.
	(verify_interval_modification): Remove special case for START at
	end of buffer.
	* textprop.c (validate_interval_range): End-of-buffer/string
	positions no longer need special handling.

	* intervals.c (make_new_interval): #if 0 this out.  Nobody calls it.
1993-07-06 14:53:54 +00:00
Jim Blandy
734c51b2dd Compare the values of text properties using EQ, not Fequal.
* intervals.c (intervals_equal): Call EQ, not Fequal.
	* textprop.c (interval_has_all_properties, add_properties): Same.
1993-07-06 02:23:22 +00:00
Jim Blandy
375aa801ba * intervals.c (intervals_equal): Test the return value of Fequal
against Qnil, not 0.
1993-07-05 07:57:34 +00:00
Richard M. Stallman
7c92db56e0 (verify_interval_modification): Don't just test
Qread_only prop; use INTERVAL_WRITABLE_P.
1993-06-20 08:48:58 +00:00
Richard M. Stallman
eebaeadde2 (adjust_intervals_for_insertion): By default, copy
properties from before the insertion.
1993-06-15 07:48:27 +00:00
Richard M. Stallman
0df8950e08 (set_point): When moving over invis chars,
don't screw up at end of buffer.
1993-06-15 05:27:54 +00:00
Jim Blandy
eb8c3be94e Apply typo patches from Paul Eggert. 1993-06-09 11:59:12 +00:00
Richard M. Stallman
95e3e1ef65 (copy_intervals): Don't adjust total_length at the end.
Set lengths of subintervals properly.
(balance_intervals): Balance left as well as right.
1993-06-05 07:57:32 +00:00
Richard M. Stallman
97562e5ee9 (interval_deletion_adjustment): Delete unreachable abort. 1993-05-31 00:08:24 +00:00
Jim Blandy
620567645f * intervals.c (set_point): Check for point out of bounds before
checking for an empty interval tree.
1993-05-14 14:40:56 +00:00
Richard M. Stallman
5cae0ec66c (set_point): Check invisibility of following character, not previous character.
(textget): Handle categories.
(get_local_map): New function.
(verify_interval_modification): Call textget correctly.
1993-03-10 05:12:42 +00:00
Richard M. Stallman
294efdbeb8 (verify_interval_modification): Handle insertions
specially.  For non-insertions, check only the chars being changed.
`modification-hooks' property is now a list of functions.
(set_point): Ignore chars outside current restriction.
1993-03-07 09:34:39 +00:00
Richard M. Stallman
323a7ad4fd (intervals_equal): Handle one arg null and other not.
(set_point): Considerable rewrite.  Handle intervals both
before and after the old and new point values.
Redo handling of invisible intervals, and of motion hooks.
(textget): New function.

(graft_intervals_into_buffer):
create_root_interval needs Lisp object arg.
Set tree to new root interval.
Don't test TREE_LENGTH if buffer has no intervals.
Rearrange code to copy properties so that it really
does merge the inserted ones into the inherited ones.
(traverse_intervals): Pass `arg' on recursive calls.
(split_interval_left): Use new_length as basis for length of new.

(traverse_intervals): New arg ARG.
1993-03-01 08:56:22 +00:00
Richard M. Stallman
4a93c90596 (traverse_intervals): New arg ARG. 1993-02-25 20:24:43 +00:00
Joseph Arceneaux
e0b634930e * intervals.c (traverse_intervals): New parameter `depth'.
Increment this when passing recursively.
1992-10-14 23:12:09 +00:00
Joseph Arceneaux
7b1d5b85f8 * intervals.c: `copy_intervals()' no longer static. 1992-10-03 00:05:48 +00:00
Joseph Arceneaux
249a6da954 Fixed typos. 1992-10-02 22:33:18 +00:00
Joseph Arceneaux
db3563a8a2 * intervals.c: Removed #include of "screen.h". 1992-10-02 20:13:46 +00:00
Joseph Arceneaux
d2f7a8023e * intervals.c: Conditionalize all functions on
"USE_TEXT_PROPERTIES".
1992-10-02 20:02:51 +00:00
Joseph Arceneaux
d7e3e52b6e Various comment changes. 1992-10-01 00:56:11 +00:00
Joseph Arceneaux
9c79dd1b20 See ChangeLog 1992-09-24 01:29:22 +00:00
Joseph Arceneaux
1d1d7ba08e comment changes 1992-09-21 23:57:58 +00:00
Joseph Arceneaux
90ba40fc70 entered into RCS 1992-09-19 01:11:21 +00:00
Joseph Arceneaux
a50699fdb4 Initial revision 1992-09-17 02:26:53 +00:00