Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Bug#844710: Fwd: Re: [Pkg-zsh-devel] Bug#844710: autocorrection suggested rm for typing mr without typing "y"
- X-seq: zsh-workers 39982
- From: Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx>
- To: Martin Steigerwald <martin.steigerwald@xxxxxxxxx>, 844710@xxxxxxxxxxxxxxx
- Subject: Re: Bug#844710: Fwd: Re: [Pkg-zsh-devel] Bug#844710: autocorrection suggested rm for typing mr without typing "y"
- Date: Sat, 19 Nov 2016 07:55:42 +0000
- Cc: zsh-workers@xxxxxxx, Axel Beckert <abe@xxxxxxxxxx>
- Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= daniel.shahaf.name; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s= mesmtp; bh=gb101LlrfARj7YAKhar3vkota+A=; b=2n4rq8wIRYzBwqaafeET5 8qGPP7gJ7EkDjTGroKRsylSxrb0M0lKmlSnX3IgJPzj59L415vvA7oRAXq5SfeJ6 CzbbZrs+5Ll3g2Fmyem7pMrfaqUZLW39sfOw4DgvjoMeHSie2pxISapw2pZ3B05x MZ0ioyGhqh4kGWSpBxWuFM=
- Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s= smtpout; bh=gb101LlrfARj7YAKhar3vkota+A=; b=elq5zgEFi0UYfBtaObC0 lwhsf73GMdeirVaR+7wLZThOIxIuE5o4ol75wLJd/vhc1KSkxEE1T+y3ATqtCGmj XHuFVJo77H+WIRhNik5DkbN0Ahg/DmHrw8beewku7AwvtZ7JO5P5XIYpag2fp62A rsjrqQjV2+87ZE4FY7GDKXg=
- In-reply-to: <3574167.p9ErITdPmY@merkaba>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <3574167.p9ErITdPmY@merkaba>
Martin Steigerwald wrote on Fri, Nov 18, 2016 at 14:15:51 +0100:
> So two fixes to consider:
>
> 1) Don´t confirm on space, as thats to easy to trigger accidentally. :)
The code confirms on both tabs (since commit 7f1ce570) and spaces (since
before CVS). Does anyone know a reason for doing this?
The patch also downscopes a couple of local variables, with no
functional change.
diff --git a/README b/README
index 855e764..4834e00 100644
--- a/README
+++ b/README
@@ -116,6 +116,11 @@ are output as "export" commands unless the parameter is also local, and
other parameters not local to the scope are output with the "-g" option.
Previously, only "typeset" commands were output, never using "-g".
+8) At spelling-correction prompt ($SPROMPT), where the choices offered are
+[nyae], previously <Enter> would be accepted to mean [N] and <Space> and
+<Tab> would be accepted to mean [Y]. Now <Space> and <Tab> are invalid
+choices: typing either of them remains at the prompt.
+
Incompatibilities between 5.0.8 and 5.2
---------------------------------------
diff --git a/Src/utils.c b/Src/utils.c
index 7bbd588..7f3ddad 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -2944,9 +2944,7 @@ mod_export void
spckword(char **s, int hist, int cmd, int ask)
{
char *t, *correct_ignore;
- int x;
char ic = '\0';
- int ne;
int preflen = 0;
int autocd = cmd && isset(AUTOCD) && strcmp(*s, ".") && strcmp(*s, "..");
@@ -3015,6 +3013,7 @@ spckword(char **s, int hist, int cmd, int ask)
} else {
guess = *s;
if (*guess == Tilde || *guess == String) {
+ int ne;
ic = *guess;
if (!*++t)
return;
@@ -3059,6 +3058,7 @@ spckword(char **s, int hist, int cmd, int ask)
if (errflag)
return;
if (best && (int)strlen(best) > 1 && strcmp(best, guess)) {
+ int x;
if (ic) {
char *u;
if (preflen) {
@@ -3088,14 +3088,14 @@ spckword(char **s, int hist, int cmd, int ask)
free(pptbuf);
fflush(shout);
zbeep();
- x = getquery("nyae \t", 0);
+ x = getquery("nyae", 0);
if (cmd && x == 'n')
pathchecked = path;
} else
x = 'n';
} else
x = 'y';
- if (x == 'y' || x == ' ' || x == '\t') {
+ if (x == 'y') {
*s = dupstring(best);
if (hist)
hwrep(best);
On a tangent: what do "nyae" mean? I couldn't find the answer in the
manual.
> 2) Don´t autocorrect to dangerous commands like "rm". Could be a bit
> challenging to make a list of commands which are dangerous and can easily
> trigger unwanted actions. "rm" would IMO definately be one of this, while with
> "dd" it would be harder to trigger an unwanted action by accident due to
> syntax requirements.
>
> Axel made me aware that I tell Z-Shell to ignore dangerous commands with
> CORRECT_IGNORE=rm, but I think it would be good to reconsider the standard
> behavior.
Well, it _does_ prompt the user asking whether "rm" is correct. Isn't
that sufficient?
Cheers,
Daniel
Messages sorted by:
Reverse Date,
Date,
Thread,
Author