mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-26 15:21:51 -08:00
* buffer.c (Fkill_buffer): When unchaining the marker,
reset it's buffer pointer to NULL (Bug#12652).
This commit is contained in:
parent
f0863a5468
commit
d556ebf9b8
2 changed files with 18 additions and 12 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2012-10-17 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* buffer.c (Fkill_buffer): When unchaining the marker,
|
||||
reset it's buffer pointer to NULL (Bug#12652).
|
||||
|
||||
2012-10-17 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
Do not verify indirection counters of killed buffers (Bug#12579).
|
||||
|
|
|
|||
25
src/buffer.c
25
src/buffer.c
|
|
@ -1881,19 +1881,20 @@ cleaning up all windows currently displaying the buffer to be killed. */)
|
|||
|
||||
if (b->base_buffer)
|
||||
{
|
||||
{ /* 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. */
|
||||
struct Lisp_Marker **mp;
|
||||
for (mp = &BUF_MARKERS (b); *mp; )
|
||||
{
|
||||
struct Lisp_Marker *m = *mp;
|
||||
if (m->buffer == b)
|
||||
/* 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. */
|
||||
struct Lisp_Marker **mp = &BUF_MARKERS (b);
|
||||
while ((m = *mp))
|
||||
{
|
||||
if (m->buffer == b)
|
||||
{
|
||||
m->buffer = NULL;
|
||||
*mp = m->next;
|
||||
else
|
||||
mp = &m->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
mp = &m->next;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue