# HG changeset patch # User Richard M. Stallman # Date 782798054 0 # Node ID 4295137050dd1d1b64895e08d3472fb0efca5dc4 # Parent 910da93766c859768ac8786b5f0d5e3bb57d1c20 (Fframe_or_buffer_changed_p): Detect deletion of a buffer at the end of the buffer list. diff -r 910da93766c8 -r 4295137050dd src/dispnew.c --- a/src/dispnew.c Sat Oct 22 03:51:12 1994 +0000 +++ b/src/dispnew.c Sat Oct 22 03:54:14 1994 +0000 @@ -1886,6 +1886,10 @@ FOR_EACH_FRAME (tail, frame) if (!EQ (*vecp++, frame)) goto changed; + /* Check that the buffer info matches. + No need to test for the end of the vector + because the last element of the vector is lambda + and that will always cause a mismatch. */ for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) { buf = XCONS (XCONS (tail)->car)->cdr; @@ -1896,8 +1900,11 @@ if (!EQ (*vecp++, Fbuffer_modified_p (buf))) goto changed; } - return Qnil; + /* Detect deletion of a buffer at the end of the list. */ + if (*vecp == Qlambda) + return Qnil; changed: + /* Start with 1 so there is room for at least on lambda at the end. */ n = 1; FOR_EACH_FRAME (tail, frame) n++;