Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

ZLE prefix commands



-----BEGIN PGP SIGNED MESSAGE-----

With an extendable ZLE it will be possible for ZLE function calls to
be nested.  (It is already possible in a couple of limited cases.)
The `lastcmd' variable is therefore going to be fairly meaningless.
Also, most of the flags that go in it reflect the assumption that all ZLE
functions are known, and all have flags set correctly reflecting their
actual behaviour.  This will not be possible with user-defined functions.

This patch removes the use of lastcmd flags in implementing the prefix
commands (repeat counts and vi cut buffer selection).  The flags ZLE_ARG,
ZLE_NEGARG and ZLE_DIGIT are removed.  In their place, there is a flag
`prefixflag' (approximately equivalent to (lastcmd & ZLE_ARG)).  This flag
is set by prefix commands, and cleared by a function handleprefixes()
called from the main loop.  The idea is that this prefix mechanism should
eventually by user-visible, so users can define new prefix commands, and
can write functions that provide a command loop duplicating the main one.

This change has the effect that vi-digit-or-beginning-of-line can be
implemented as a normal function, rather than requiring a kludge in
getkeycmd().  (It might or might not be a prefix command; previously the
ZLE_ARG flag had to be fixed, but now prefix commands are identified by
an action they take.)

With the ZLE_ARG flag gone, getvirange() had to be rewritten.  It now
ignores command flags, executing commands until one wasn't a prefix.
This also means that it can't detect a non-movement command until it
has been executed: it undoes any changes made before returning an error
indication.  This was the only place the used the ZLE_MOVEMENT flag,
so that is also removed.

 -zefram

begin 644 prefix_patch.gz
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
MP?2LN\K*Y"KC,4-+Q_9[K\,TS:-N%\O+UU!C,#[JL0,V$+P,-@xxxxx>>PK*
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
/#?#RIN__`ZO%,BQ:@P``
`
end

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBMs6W0XD/+HJTpU/hAQFjSwP+MlRNcrQXQZJjGRTJiBgycxu1+Re7/CDW
awDDNsN3VEo6ia0UXVSpHpD6qV/UhxmG1+erTGPJctboq28tD2rd1TuRlO+vYaV/
ulZ2c4H025LMaoOhcWPKxlqY+6PP9ifL49QcnLfhgKspVBZ2vlHaKbjpDK8J0idL
Gzh+WvossRs=
=J4Ri
-----END PGP SIGNATURE-----



Messages sorted by: Reverse Date, Date, Thread, Author