- /* Effectively do f->buffer_alist = delq_no_quit (lynk, f->buffer_alist) */
- if (NILP (prev))
- f->buffer_alist = XCDR (f->buffer_alist);
+ if (buffer_found)
+ {
+ /* Effectively do f->buffer_alist = delq_no_quit (lynk, f->buffer_alist) */
+ if (NILP (prev))
+ f->buffer_alist = XCDR (f->buffer_alist);
+ else
+ XCDR (prev) = XCDR (XCDR (prev));
+ XCDR (lynk) = f->buffer_alist;
+ f->buffer_alist = lynk;
+ }