• Jim Blandy's avatar
    * textprop.c (copy_text_properties): Pass a copy of POS to · 15e4954b
    Jim Blandy authored
    	validate_interval_range; that function increments its arguments,
    	which isn't what we want.
    	* 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.
    	* textprop.c (copy_text_properties): New function, from David
    	* intervals.h: Declare copy_text_properties.
    	* fns.c: #include "intervals.h".
    	(Fsubstring): Copy text properties to result string.
    	(concat): Copy text properties to result string.
    	* ymakefile (fns.o): Note that this depends on INTERVAL_SRC.
textprop.c 31.5 KB