emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Window configurations


From: martin rudalics
Subject: Re: Window configurations
Date: Fri, 04 Jun 2010 16:06:52 +0200
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

>     What was the problem with quitting?
>
> If it is a matter of deleting a window, it is a bug to quit anywhere
> in the middle of that.  It has to be either done completely or not
> done at all.  Therefore it must not use functions that can quit.
> Or else it has to inhibit quitting some other way.

It's not related to window deletion.  When Emacs buries a buffer it
first removes the buffer from the buffer list and then adds it to the
end of that list in the following way:

      aelt = Frassq (buffer, Vbuffer_alist);
      link = Fmemq (aelt, Vbuffer_alist);
      Vbuffer_alist = Fdelq (aelt, Vbuffer_alist);
      XSETCDR (link, Qnil);
      Vbuffer_alist = nconc2 (Vbuffer_alist, link);

If the Fdelq above quits, the buffer is lost (in some sense).  The code
for record_buffer avoids the problem but chokes on circular lists.

martin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]