* Bug? piping ls to anonymous function changes subsequent behaviour of ls [not found] <1846474183.1100394.1601253063804.ref@mail.yahoo.com> @ 2020-09-28 0:31 ` vapnik spaknik 2020-09-28 0:40 ` Bart Schaefer 0 siblings, 1 reply; 5+ messages in thread From: vapnik spaknik @ 2020-09-28 0:31 UTC (permalink / raw) To: Zsh Users After piping ls to an anonymous function it stops working (i.e. produces no output) on subsequent invocations. I have to start another shell to get it working again: > ls Desktop Downloads Videos... etc. > ls | () {echo foo} foo > ls > # try again.. > ls > #!?*#!!! try in a new shell... > zsh .... > ls Desktop Downloads Videos... etc. > # Yay! working again What's going on? Is this a bug? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug? piping ls to anonymous function changes subsequent behaviour of ls 2020-09-28 0:31 ` Bug? piping ls to anonymous function changes subsequent behaviour of ls vapnik spaknik @ 2020-09-28 0:40 ` Bart Schaefer 2020-09-28 1:02 ` vapnik spaknik 0 siblings, 1 reply; 5+ messages in thread From: Bart Schaefer @ 2020-09-28 0:40 UTC (permalink / raw) To: vapnik spaknik; +Cc: Zsh Users On Sun, Sep 27, 2020 at 5:31 PM vapnik spaknik <vapniks@yahoo.com> wrote: > > After piping ls to an anonymous function it stops working (i.e. produces no output) on subsequent invocations. Not reproducible for me with "zsh -f". Have you tried running "whence -a ls" to find out if or to what it has been redefined? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug? piping ls to anonymous function changes subsequent behaviour of ls 2020-09-28 0:40 ` Bart Schaefer @ 2020-09-28 1:02 ` vapnik spaknik 2020-09-28 2:36 ` Bart Schaefer 0 siblings, 1 reply; 5+ messages in thread From: vapnik spaknik @ 2020-09-28 1:02 UTC (permalink / raw) To: Bart Schaefer; +Cc: Zsh Users [-- Attachment #1: Type: text/plain, Size: 988 bytes --] On Monday, September 28, 2020, 01:41:10 AM GMT+1, Bart Schaefer <schaefer@brasslantern.com> wrote: >Not reproducible for me with "zsh -f". >Have you tried running "whence -a ls" to find out if or to what it has >been redefined? Yep, it was aliased, but that isn't the problem. I've found that the anonymous function is being assigned to the left hand side of the pipe, but only the first time that pipeline is run in a new shell. Very strange. From a new shell: > which -a ls ls: aliased to ls --color=auto /bin/ls > /bin/ls | () {echo foo} foo > /bin/ls foo > which /bin/ls /bin/ls () { echo foo } > unfunction /bin/ls > /bin/ls Downloads Documents etc... > # Yay! now try again in the same shell: > /bin/ls | () {echo foo} foo > /bin/ls Downloads Documents etc... > # back to normal behaviour! If I start a new shell the same thing happens again, i.e. the first time I pipe to the anonymous function it is actually assigned to the left hand side, but subsequently it isn't. [-- Attachment #2: Type: text/html, Size: 1311 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug? piping ls to anonymous function changes subsequent behaviour of ls 2020-09-28 1:02 ` vapnik spaknik @ 2020-09-28 2:36 ` Bart Schaefer 2020-09-29 19:06 ` vapnik spaknik 0 siblings, 1 reply; 5+ messages in thread From: Bart Schaefer @ 2020-09-28 2:36 UTC (permalink / raw) To: vapnik spaknik; +Cc: Zsh Users On Sun, Sep 27, 2020 at 6:02 PM vapnik spaknik <vapniks@yahoo.com> wrote: > > From a new shell: > > which -a ls > ls: aliased to ls --color=auto > /bin/ls > > /bin/ls | () {echo foo} > foo > > /bin/ls > foo > > which /bin/ls > /bin/ls () { > echo foo > } Something else funny is happening here. This is defining /bin/ls as a function with body "echo foo", as if the "|" were not present in the command at all. Try using "set -x" (or "setopt xtrace" if you prefer) before the first attempt to pipe. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug? piping ls to anonymous function changes subsequent behaviour of ls 2020-09-28 2:36 ` Bart Schaefer @ 2020-09-29 19:06 ` vapnik spaknik 0 siblings, 0 replies; 5+ messages in thread From: vapnik spaknik @ 2020-09-29 19:06 UTC (permalink / raw) To: Bart Schaefer; +Cc: Zsh Users [-- Attachment #1: Type: text/plain, Size: 575 bytes --] On Monday, September 28, 2020, 03:36:17 AM GMT+1, Bart Schaefer <schaefer@brasslantern.com> wrote: >Something else funny is happening here. This is defining /bin/ls as a >function with body "echo foo", as if the "|" were not present in the >command at all. > >Try using "set -x" (or "setopt xtrace" if you prefer) before the first >attempt to pipe. After spending some time fiddling with my ~/.zshrc config file I found the culprit: eval "$(fasd --init zsh-hook)" I've submitted a bug report to the fasd repo: https://github.com/clvv/fasd/issues/156 [-- Attachment #2: Type: text/html, Size: 731 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-09-29 19:07 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <1846474183.1100394.1601253063804.ref@mail.yahoo.com> 2020-09-28 0:31 ` Bug? piping ls to anonymous function changes subsequent behaviour of ls vapnik spaknik 2020-09-28 0:40 ` Bart Schaefer 2020-09-28 1:02 ` vapnik spaknik 2020-09-28 2:36 ` Bart Schaefer 2020-09-29 19:06 ` vapnik spaknik
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).