From: Peter Stephenson <p.w.stephenson@ntlworld.com>
To: zsh-workers@sunsite.dk
Subject: Re: Unexpected side effect of 'setopt correct'
Date: Mon, 13 Aug 2007 21:07:34 +0100 [thread overview]
Message-ID: <20070813210734.dbe4b58f.p.w.stephenson@ntlworld.com> (raw)
In-Reply-To: <17393e3e0708051936m388bf6e4pdca167f03b8dcd5c@mail.gmail.com>
On Sun, 5 Aug 2007 22:36:38 -0400
"Matt Wozniski" <godlygeek@gmail.com> wrote:
> I just noticed this effect of 'setopt correct'.. Is this intentional behavior?
Ish.
> ~> zsh -f
> mastermind% setopt correct
> mastermind% pid() {
> zsh: correct 'pid' to 'pic' [nyae]? %
>
>
> mastermind% function pid() {
^^ (actually you don't want the () in this case)
> function>
> mastermind%
>
> Is it intentional that it attempts to correct on a function
> definition? Is it intentional that it only attempts to correct one of
> the two types of function definition? Something about this behavior
> caught me off guard. :)
Correction happens as the line is parsed. In the first case, the shell
has read as far as "pid", and assumes to begin with it's a command word,
hence it applies correction. It needs to do this early on because it
has to correct the word before it starts parsing the arguments to it.
To change this would require a lot more lookahead, or we'd have to live
with side effects like not being able to correct to special shell
constructs.
In the second case, since we've found the keyword "function", we know
the next word isn't expected to be an existing command and we can
disable spelling correction immediately,
--
Peter Stephenson <p.w.stephenson@ntlworld.com>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/
next prev parent reply other threads:[~2007-08-13 20:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-06 2:36 Matt Wozniski
2007-08-13 20:07 ` Peter Stephenson [this message]
2007-08-13 20:42 ` Matt Wozniski
2007-08-13 21:24 ` Peter Stephenson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070813210734.dbe4b58f.p.w.stephenson@ntlworld.com \
--to=p.w.stephenson@ntlworld.com \
--cc=zsh-workers@sunsite.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).