]> git.eshelyaron.com Git - emacs.git/commitdiff
* buffer.c (Fkill_buffer): When unchaining the marker,
authorDmitry Antipov <dmantipov@yandex.ru>
Wed, 17 Oct 2012 05:22:23 +0000 (09:22 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Wed, 17 Oct 2012 05:22:23 +0000 (09:22 +0400)
reset it's buffer pointer to NULL (Bug#12652).

src/ChangeLog
src/buffer.c

index bea7c9331db5a90b4648792f59c95dab4902e9f9..2f2fa27c3b7ea29ee134a22c54c6c15c5977c570 100644 (file)
@@ -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).
index 8e77db66d4386e83ec4d168d5c3e745be6142761..0b3dde279680d02fd80e344b97a344814ce8eff6 100644 (file)
@@ -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
     {