GNU bug report logs -
#11983
24.1; Electric-command-loop broken?
Previous Next
Full log
Message #14 received at 11983 <at> debbugs.gnu.org (full text, mbox):
> (unwind-protect
> (catch 'return-tag
> (Electric-command-loop 'return-tag))
> (cleanup-form))
But in which way is this different from `recursive-edit'?
Hmmm... I guess it is different in that it is easier to exit an
Electric-command-loop than a recursive-edit, so it is like
a "transient/lightweight" recursive-edit.
I think it would be good to try to describe it by comparing it to
recursive-edit.
It seems that it requires a fair bit of extra surrounding code to use it
right. E.g. electric-buffer-list is buggy because it lacks this extra
code: after popping up the electric-buffer-list, you can select some
other window and work there, but the behavior is then all
messed up.
>> > - The doc string says
>> > ;; Given third argument non-nil, it
>> > ;; INHIBITS quitting unless the user types C-g at toplevel. This is
>> > ;; so user can do things like C-u C-g and not get thrown out.
>> > Yet it appears to me, that even for C-u C-g the user gets thrown out.
>>
>> I have no idea what this "C-u C-g" refers to, indeed.
> If you type a plain C-g, Electric-command-loop throws
> 'return-tag. Now the idea is that if you type C-u, then you
> change your mind and want to cancel it by typing C-g, then the
> code should not leave the temporary command loop.
I see, yes. This inhibit-quitting seems dangerous since it binds
inhibit-quit. But yes, I see in the code it tries to handle C-g after
some prefix key. Not sure why it now fails or whether it ever worked.
Stefan
This bug report was last modified 12 years and 331 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.