emacs-devel
[Top][All Lists]
Advanced

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

Re: C-g while exiting the minibuffer


From: martin rudalics
Subject: Re: C-g while exiting the minibuffer
Date: Sat, 30 Nov 2013 13:16:47 +0100

> But the problem remains of what to do with a C-g interrupting a unwind
> form: in the case of an Fset_window_configuration in an unwind form, the
> intention is to make that "no matter what happens, we end up recovering
> the original state", but a C-g at the wrong time will break this promise.

I'm afraid that C-g at the wrong time might produce an inconsistent
state which IMO seems more fatal than a non-original state.

> - we used to have a "DOLIST" kind of macro which did the hare/tortoise
>   thing in lisp.h.  Not sure what happened to it, but I'd rather use
>   such a macro then duplicate the corresponding code wherever we have
>   such a loop.

Agreed.

> - checking cycles here gives us no guarantee since the caller can do
>
>     (set-window-prev-buffers w bufs)
>     (setcdr bufs bufs)
>
>   and you again end up with a cycle in your window-prev-buffers.

Right.  So we'd need a safe implementation of delq and I wouldn't know
how to do that reasonably via DOLIST.  I'd rather use a simple routine
to find out whether the original argument list of delq is infinite (if
we think this could be a real problem).

martin



reply via email to

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