zsh-workers
 help / color / mirror / code / Atom feed
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/


  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).