zsh-workers
 help / color / mirror / code / Atom feed
* Bug: magic-space and expand-history delete part of line since 5.0.8
@ 2015-09-01  2:32 Jacob Niehus
  2015-09-01  5:27 ` Bart Schaefer
  2015-09-01 10:19 ` Bug: magic-space and expand-history delete part of line since 5.0.8 Peter Stephenson
  0 siblings, 2 replies; 5+ messages in thread
From: Jacob Niehus @ 2015-09-01  2:32 UTC (permalink / raw)
  To: zsh-workers

Since zsh 5.0.8, using magic-space or expand-history can delete part of the
command line for no apparent reason. This does not occur in 5.0.7 or 5.0.5.

To reproduce:

    $ zsh -f
    $ bindkey ' ' magic-space

type this:

    $ vim =(ls) -c 'foo'

move the cursor between 's)' and type '|' then space, and it changes to this:

    $ vim =(ls| )

"-c 'foo'" has been deleted. Many times now I'll edit a command and the whole
right half will just disappear. The same problem happens when using
expand-history.

I git bisected this down to a single commit:
    https://github.com/zsh-users/zsh/commit/c0d01a6fe0c67911650730cf13a2b9a0db16e59b

The commit info/message:

>     commit c0d01a6fe0c67911650730cf13a2b9a0db16e59b
>     Author: Peter Stephenson <pws@zsh.org>
>     Date:   Tue Jan 6 17:05:17 2015 +0000
>
>         Fix command substitutions to parse contents as they are read in.
>
>         Do this by refactoring misnamed lexsave()/lexrestore() to allow
>         continuity of history and input.
>
>         Add test.

-Jacob Niehus


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Bug: magic-space and expand-history delete part of line since 5.0.8
  2015-09-01  2:32 Bug: magic-space and expand-history delete part of line since 5.0.8 Jacob Niehus
@ 2015-09-01  5:27 ` Bart Schaefer
  2015-09-02  8:31   ` 5.1.1? Peter Stephenson
  2015-09-01 10:19 ` Bug: magic-space and expand-history delete part of line since 5.0.8 Peter Stephenson
  1 sibling, 1 reply; 5+ messages in thread
From: Bart Schaefer @ 2015-09-01  5:27 UTC (permalink / raw)
  To: zsh-workers

On Aug 31,  7:32pm, Jacob Niehus wrote:
}
}     $ vim =(ls) -c 'foo'
} 
} move the cursor between 's)' and type '|' then space, and it changes to this:
} 
}     $ vim =(ls| )
} 
} "-c 'foo'" has been deleted.

Confirmed this with zsh-5.1-3-g6e825e7 (recall my question about whether
fixing things like this will be 5.1.1 or ...?)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Bug: magic-space and expand-history delete part of line since 5.0.8
  2015-09-01  2:32 Bug: magic-space and expand-history delete part of line since 5.0.8 Jacob Niehus
  2015-09-01  5:27 ` Bart Schaefer
@ 2015-09-01 10:19 ` Peter Stephenson
  1 sibling, 0 replies; 5+ messages in thread
From: Peter Stephenson @ 2015-09-01 10:19 UTC (permalink / raw)
  To: zsh-workers

On Mon, 31 Aug 2015 19:32:23 -0700
Jacob Niehus <jacob.niehus@gmail.com> wrote:
> Since zsh 5.0.8, using magic-space or expand-history can delete part of the
> command line for no apparent reason. This does not occur in 5.0.7 or 5.0.5.
> 
> To reproduce:
> 
>     $ zsh -f
>     $ bindkey ' ' magic-space
> 
> type this:
> 
>     $ vim =(ls) -c 'foo'
> 
> move the cursor between 's)' and type '|' then space, and it changes to this:
> 
>     $ vim =(ls| )
> 
> "-c 'foo'" has been deleted.

This function is low-level enough, and ctxtlex() already nasty enough,
that I hope the following is good enough.

It would be good to add a test for this, but I think this is way beyond
my interactive-test-fu.

pws

diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 97bdcc0..b1a6f9e 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -2812,6 +2812,8 @@ doexpandhist(void)
     do {
 	ctxtlex();
     } while (tok != ENDINPUT && tok != LEXERR);
+    if (tok == LEXERR)
+	lexstop = 0;
     while (!lexstop)
 	hgetc();
     /* We have to save errflags because it's reset in zcontext_restore. Since  *


^ permalink raw reply	[flat|nested] 5+ messages in thread

* 5.1.1?
  2015-09-01  5:27 ` Bart Schaefer
@ 2015-09-02  8:31   ` Peter Stephenson
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Stephenson @ 2015-09-02  8:31 UTC (permalink / raw)
  To: zsh-workers

On Mon, 31 Aug 2015 22:27:22 -0700
Bart Schaefer <schaefer@brasslantern.com> wrote:
> Confirmed this with zsh-5.1-3-g6e825e7 (recall my question about whether
> fixing things like this will be 5.1.1 or ...?)

If the freeze Vincent found gets resolved, we might have enough tweaks
for a 5.1.1, i.e. 5.1 with a few fixes, in a week or two,

pws


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 5.1.1?
@ 2015-09-02  8:50 Mikael Magnusson
  0 siblings, 0 replies; 5+ messages in thread
From: Mikael Magnusson @ 2015-09-02  8:50 UTC (permalink / raw)
  To: Peter Stephenson; +Cc: zsh workers

On Wed, Sep 2, 2015 at 10:31 AM, Peter Stephenson
<p.stephenson@samsung.com> wrote:
> On Mon, 31 Aug 2015 22:27:22 -0700
> Bart Schaefer <schaefer@brasslantern.com> wrote:
>> Confirmed this with zsh-5.1-3-g6e825e7 (recall my question about whether
>> fixing things like this will be 5.1.1 or ...?)
>
> If the freeze Vincent found gets resolved, we might have enough tweaks
> for a 5.1.1, i.e. 5.1 with a few fixes, in a week or two,

Just got this report on #zsh,

% f() { cat << x << y; }
foo
x
bar
y
% which f
f () {
    cat <<x <<y
foo
xbar
y
}

There should be a newline between x and bar in the output. The
function itself works fine.

Also, every time I do vared 'functions[f]' it adds on an extra xy at
the end, after a while:
% vared functions\[f\]
        cat <<x <<y
foo
xbar
yxyxyxyxy

This (obviously) makes the function not work so well anymore.

PS I get this recently for all your emails,
"Gmail couldn't verify that this message was sent by samsung.com."

-- 
Mikael Magnusson


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-09-02  8:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-01  2:32 Bug: magic-space and expand-history delete part of line since 5.0.8 Jacob Niehus
2015-09-01  5:27 ` Bart Schaefer
2015-09-02  8:31   ` 5.1.1? Peter Stephenson
2015-09-01 10:19 ` Bug: magic-space and expand-history delete part of line since 5.0.8 Peter Stephenson
2015-09-02  8:50 5.1.1? Mikael Magnusson

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