[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#11983: 24.1; Electric-command-loop broken?
From: |
Roland Winkler |
Subject: |
bug#11983: 24.1; Electric-command-loop broken? |
Date: |
Fri, 20 Jul 2012 05:43:35 -0500 |
On Fri Jul 20 2012 Stefan Monnier wrote:
> > (unwind-protect
> > (catch 'return-tag
> > (Electric-command-loop 'return-tag))
> > (cleanup-form))
>
> But in which way is this different from `recursive-edit'?
I do not know much about recursive-edit. How would you use it as a
replacement for the above to be sure that after leaving
recursive-edit cleanup-form is always executed?
> 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 amount of protection provided by an Electric-command-loop
depends on the surrounding code (save-excursion,
save-window-excursion, etc.) I believe that the intended usage
pattern of Electric-command-loop does not include too wild things
such as selecting other windows. Or phrased differently: of course,
you can always do whatever you like. But only cleanup-form is
definitely evaluated at the end.
Roland