1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00

* buffer.c (Fkill_buffer): When killing an indirect buffer,

re-attach intervals to its base buffer (Bug#16502).
* intervals.c (set_interval_object): Move from here...
* intervals.h (set_interval_object): ... to here.  Fix comments.
This commit is contained in:
Dmitry Antipov 2014-01-21 06:28:57 +04:00
parent 8750379121
commit 5004c3bfbb
4 changed files with 25 additions and 10 deletions

View file

@ -1868,6 +1868,7 @@ cleaning up all windows currently displaying the buffer to be killed. */)
if (b->base_buffer)
{
INTERVAL i;
/* Unchain all markers that belong to this indirect buffer.
Don't unchain the markers that belong to the base buffer
or its other indirect buffers. */
@ -1882,6 +1883,14 @@ cleaning up all windows currently displaying the buffer to be killed. */)
else
mp = &m->next;
}
/* Intervals should be owned by the base buffer (Bug#16502). */
i = buffer_intervals (b);
if (i)
{
Lisp_Object owner;
XSETBUFFER (owner, b->base_buffer);
set_interval_object (i, owner);
}
}
else
{