Option "recexact" doesn't seem to work quite right for me under 3.1.6, or
at least not as well as it did under 3.1.5:
Under 3.1.5:
% /usr/local/bin/zsh-3.1.5 -f
% setopt recexact menucomplete noautolist noautomenu
% touch note note.old
% ls
note note.old
% vi note<TAB>
-> % vi note # (where # indicates cursor position)
Under 3.1.6:
% /usr/local/bin/zsh-3.1.6 -f
% setopt recexact menucomplete noautolist noautomenu
% touch note note.old
% ls
note note.old
% vi note<TAB>
(beep)
-> % vi note#
Besides a beep when I didn't expect one, it tends to make me think that I
mis-typed something, because it's the same behavior as if I were trying to
complete a non-existant file:
% ls
% vi badfile<TAB>
(beep)
-> % vi badfile#
At least now I finally know why zsh has been beeping at me so much
recently. :) Looking over Src/Zle/zle_tricky., I can see where
do_ambiguous() handles REC_EXACT, but after substituting all the
variables, it appears to handle it only if:
isset(RECEXACT) && unset(MENUCOMPLETE)
whereas before it appeared to be if:
isset(RECEXACT) && (unset(MENUCOMPLETE) || unset(AUTOMENU))
--
Will Day <PGP mail preferred> OIT / O&E / Technical Support
willday@xxxxxxxxxxxxxxxxxx Georgia Tech, Atlanta 30332-0715
-> Opinions expressed are mine alone and do not reflect OIT policy <-
Those who would give up essential Liberty, to purchase a little temporary
Safety, deserve neither Liberty nor Safety.
Benjamin Franklin, Pennsylvania Assembly, Nov. 11, 1755
Attachment:
pgprZFi59vbAO.pgp
Description: PGP signature