mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-19 11:27:34 +00:00
* textprop.c (set_text_properties_1): Do not allow NULL interval.
Rename 4th argument since it may be buffer or string. Adjust comment. * intervals.c (graft_intervals_info_buffer): Find an interval here.
This commit is contained in:
parent
87523aedc8
commit
1687fb14cd
3 changed files with 16 additions and 11 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2012-12-20 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* textprop.c (set_text_properties_1): Do not allow NULL interval.
|
||||
Rename 4th argument since it may be buffer or string. Adjust comment.
|
||||
* intervals.c (graft_intervals_info_buffer): Find an interval here.
|
||||
|
||||
2012-12-19 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* coding.c (Fdetect_coding_region): Do not check start and end with
|
||||
|
|
|
|||
|
|
@ -1624,7 +1624,8 @@ graft_intervals_into_buffer (INTERVAL source, ptrdiff_t position,
|
|||
XSETBUFFER (buf, buffer);
|
||||
set_text_properties_1 (make_number (position),
|
||||
make_number (position + length),
|
||||
Qnil, buf, 0);
|
||||
Qnil, buf,
|
||||
find_interval (tree, position));
|
||||
}
|
||||
/* Shouldn't be necessary. --Stef */
|
||||
buffer_balance_intervals (buffer);
|
||||
|
|
|
|||
|
|
@ -1323,14 +1323,13 @@ set_text_properties (Lisp_Object start, Lisp_Object end, Lisp_Object properties,
|
|||
}
|
||||
|
||||
/* Replace properties of text from START to END with new list of
|
||||
properties PROPERTIES. BUFFER is the buffer containing
|
||||
properties PROPERTIES. OBJECT is the buffer or string containing
|
||||
the text. This does not obey any hooks.
|
||||
You can provide the interval that START is located in as I,
|
||||
or pass NULL for I and this function will find it.
|
||||
You should provide the interval that START is located in as I.
|
||||
START and END can be in any order. */
|
||||
|
||||
void
|
||||
set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object properties, Lisp_Object buffer, INTERVAL i)
|
||||
set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object properties, Lisp_Object object, INTERVAL i)
|
||||
{
|
||||
register INTERVAL prev_changed = NULL;
|
||||
register ptrdiff_t s, len;
|
||||
|
|
@ -1349,8 +1348,7 @@ set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object propertie
|
|||
else
|
||||
return;
|
||||
|
||||
if (i == NULL)
|
||||
i = find_interval (buffer_intervals (XBUFFER (buffer)), s);
|
||||
eassert (i);
|
||||
|
||||
if (i->position != s)
|
||||
{
|
||||
|
|
@ -1361,11 +1359,11 @@ set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object propertie
|
|||
{
|
||||
copy_properties (unchanged, i);
|
||||
i = split_interval_left (i, len);
|
||||
set_properties (properties, i, buffer);
|
||||
set_properties (properties, i, object);
|
||||
return;
|
||||
}
|
||||
|
||||
set_properties (properties, i, buffer);
|
||||
set_properties (properties, i, object);
|
||||
|
||||
if (LENGTH (i) == len)
|
||||
return;
|
||||
|
|
@ -1388,7 +1386,7 @@ set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object propertie
|
|||
/* We have to call set_properties even if we are going to
|
||||
merge the intervals, so as to make the undo records
|
||||
and cause redisplay to happen. */
|
||||
set_properties (properties, i, buffer);
|
||||
set_properties (properties, i, object);
|
||||
if (prev_changed)
|
||||
merge_interval_left (i);
|
||||
return;
|
||||
|
|
@ -1399,7 +1397,7 @@ set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object propertie
|
|||
/* We have to call set_properties even if we are going to
|
||||
merge the intervals, so as to make the undo records
|
||||
and cause redisplay to happen. */
|
||||
set_properties (properties, i, buffer);
|
||||
set_properties (properties, i, object);
|
||||
if (!prev_changed)
|
||||
prev_changed = i;
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in a new issue