* textprop.c (copy_text_properties): Pass a copy of POS to
authorJim Blandy <jimb@redhat.com>
Tue, 6 Jul 1993 14:55:20 +0000 (14:55 +0000)
committerJim Blandy <jimb@redhat.com>
Tue, 6 Jul 1993 14:55:20 +0000 (14:55 +0000)
commit15e4954b14b9b4a2e188cca694ee3fba1b6d2f0d
treed4f574e713bcd0352d87306993d130b6b14ffe79
parent15e92abada1c887a3692912dceb8bfeb3bfbfd10
* textprop.c (copy_text_properties): Pass a copy of POS to
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
Gillespie.
* 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.
src/textprop.c