[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