| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
for edge effects.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
(Fprevious_single_property_change): Likewise.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
the case where there are no intervals.
(Fprevious_single_property_change, Fprevious_property_change)
Extra arg LIMIT. Return value was off by 1.
(Fnext_single_property_change, Fnext_property_change):
Extra arg LIMIT.
(Fnext_single_property_change): Require at least 2 args.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
in loop, before looking at next->position.
|
| |
|
|
|
|
|
|
|
| |
(syms_of_textprop): Set them up.
(Qhidden): New variable.
(syms_of_textprop): Set up Qhidden.
(property_change_between_p): New function.
|
| | |
|
| |
|
|
|
| |
(Qinsert_behind_hooks): Moved to buffer.c.
(syms_of_textprop): Lisp vars setup deleted.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
* textprop.c (Ftext_property_not_all): Renamed from
Ftext_property_all, and changed sense of return value, so that it
returns useful information if not all characters have properties
EQ to value. Now all the existential and universal questions can
be asked.
* textprop.c (syms_of_textprop): Don't forget defsubr for
Stext_property_all.
* textprop.c (Ftext_property_any, Ftext_property_all): Use EQ to
compare property values, not Fequal.
* textprop.c (Ftext_property_any, Ftext_property_all): New
functions, from David Gillespie.
* intervals.h (Ftext_property_any, Ftext_property_all): Declare them.
|
| |
|
|
|
|
|
|
| |
(syms_of_textprop): Set them up.
(set_properties): Call modify_region.
(remove_properties): Call modify_region before record_property_change.
(add_properties): Likewise.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
* intervals.c (intervals_equal): Call EQ, not Fequal.
* textprop.c (interval_has_all_properties, add_properties): Same.
|
| |
|
|
|
| |
*begin and *end if they point to the same thing.
(validate_plist): Call QUIT while scanning LIST.
|
| |
|
|
|
|
|
|
| |
new properties. Only record old property values for those
properties whose values have changed.
* textprop.c (set_properties): Don't try to make undo records if
OBJECT is a string.
|
| |
|
|
| |
Really do next_interval when skipping the first interval.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
interval specially, aside from splitting off the part starting
where we want to start changing things.
(Fremove_text_properties): Likewise.
For ending interval, split it left as in Fadd_text_properties.
(Fset_text_properties): Don't set starting interval if it goes
past END. Instead, split it left and set the left part.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
than the current one.
* insdel.c (modify_region): New argument BUFFER. Select that
buffer while we prepare for the modification, and switch back when
we're done.
* textprop.c (add_properties, remove_properties): Pass
the buffer being modified as the first argument to modify_region.
* editfns.c (Fsubst_char_in_region, Ftranslate_region): Pass the
current_buffer as the first argument to modify_region.
* casefiddle.c (casify_region): Same.
|
| |
|
|
|
| |
Fprevious_single_property_change): Pass arguments to textget in
the right order.
|
| |
|
|
|
|
| |
Use a "for (;;)" loop at the end of the function, to indicate that
all exiting is taken care of inside the loop.
(Fremove_text_properties): Same.
|
| |
|
|
|
|
|
| |
(Fnext_single_property_change): Likewise.
(Fprevious_single_property_change): Likewise.
(syms_of_textprop): Set up Qcategory, Qlocal_map.
|
| |
|
|
| |
(syms_of_textprop): Changed accordingly.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add len>0 as condition for main loop.
Abort if reach a null interval.
(Fset_text_properties): Abort if reach a null interval.
(Ftext_properties_at, Fget_text_property):
Return nil if POS is end of OBJECT.
(add_properties): Use NILP to test result of Fequal.
No longer inline.
(remove_properties): No longer inline.
(set_properties): Total rewrite as function.
(validate_interval_range): Don't alter *begin at end of buffer.
But do search for a position just before the end.
Return null for an empty string.
(validate_interval_range): Allow 0 as position in string.
Add 1 to specified string positions.
(Fprevious_single_property_change): Subtract 1 if object is string.
(Fnext_single_property_change): Likewise.
(Fprevious_property_change, Fnext_property_change): Likewise.
(remove_properties): Call modify_buffer.
(add_properties): Likewise.
(Fadd_text_properties): Pass new arg to add_properties.
(Fremove_text_properties): Likewise.
(add_properties, remove_properties): New arg OBJECT. Record undo info.
(Fput_text_property): New function.
|
| |
|
|
|
|
| |
* keyboard.c (Fread_key_sequence): Backslash the newlines in this
docstring.
* textprop.c (Fget_text_property): Same.
|
| |
|
|
|
|
|
|
| |
(Fset_text_properties, Fremove_text_properties): Likewise.
(Fnext_single_property_change, Fprevious_single_property_change):
(Fnext_property_change, Fprevious_property_change): Likewise.
(Ferase_text_properties): #if 0.
(Fget_text_property): New function.
|
| |
|
|
|
|
|
| |
* frame.c (Fnext_frame): Same.
* textprop.c (Fprevious_single_property_change): Same.
(syms_of_textprop): Same, for DEFVAR for
`interval_balance_threshold'.
|
| | |
|
| |
|
|
| |
"USE_TEXT_PROPERTIES".
|
| | |
|
| | |
|
| | |
|
| | |
|