[climacs-devel] keyboard macros, display protocol
Christophe Rhodes
csr21 at cam.ac.uk
Fri May 5 22:08:28 UTC 2006
Robert Strandh <strandh at labri.fr> writes:
> Christophe Rhodes writes:
> >
> > The below implements keyboard macros with the numeric argument. It
> > seems to work, up to a point.
> >
> > The point at which it stops working is if the keyboard macro changes
> > the number of lines in the display, and indeed the problem can be seen
> > without this patch: start climacs, type (say), abcdefg, put point at
> > the start of line, and do
> > C-x ( C-f RET C-f RET C-f RET C-x ) C-x e
> > (BOOM).
> >
> > The reason that this is a disaster is because we have multiple
> > commands, multiple update-syntaxes, and multiple clear-modifies
> > between successive redisplays, and this plays havoc with the cache
> > maintained in climacs pane.lisp.
>
> That should not be the case. The syntax should be updated and the
> modification cleared only after each user interaction. Executing a
> command as a result of executing a keyboard macro should not update
> the syntax.
I don't think this can be right. If you do that, then sequences of
commands (such as, say "Insert Open Paren" followed by "Up List") will
do different things depending on whether they are executed by
keystrokes or by keyboard macros. Instead, I think that the syntax
must be updated after each command.
Cheers,
Christophe
More information about the climacs-devel
mailing list