Re: Possible bug with chere 1.4 when configuring for fish
Greetings, Dave Kilroy! -1 mode fails because fish would prefer cygpath was run on the argument first. I'm not sure why this works in bash. Because bash know what is going on. In fact, many cygwin tools recognize native paths. I'll try put together a fix for the latter issue, but it may be a while before I can upload*. Konrad, are you able to chase the former issue? NB Konrad's email provider is out of action. Ronald, your choices as the moment: - Add cygwin\bin to your windows path - Use the above snippet without the check for a login shell, and method -2. If you don't start too many subshells you're probably OK. If you do need subshells, you could change the check to test if /bin is already in the path. -- WBR, Andrey Repin (anrdae...@yandex.ru) 11.04.2014, 14:55 Sorry for my terrible english... -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: Possible bug with chere 1.4 when configuring for fish
I've had more time to look around. If you add the following to the file ~/.config/fish/config.fish (create it if you haven't already got one), then things should work as intended: if status --is-login set PATH /usr/local/bin /usr/bin $PATH end Alternatively drop it in the fish global startup file, /usr/share/fish/config.fish. I tried the variant of putting it into the global startup file, it doesn't resolve the problem for me. I'll play around a bit with it as soon as I have time (I'm a first-time user of fish and am busy with other things right now, so this might take some time). Ronald -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: Possible bug with chere 1.4 when configuring for fish
I've had more time to look around. If you add the following to the file ~/.config/fish/config.fish (create it if you haven't already got one), then things should work as intended: if status --is-login set PATH /usr/local/bin /usr/bin $PATH end Alternatively drop it in the fish global startup file, /usr/share/fish/config.fish. I tried the variant of putting it into the global startup file, it doesn't resolve the problem for me. I'll play around a bit with it as soon as I have time (I'm a first-time user of fish and am busy with other things right now, so this might take some time). Ronald -- Ronald Fischer rona...@eml.cc + If a packet hits a pocket on a socket on a port, + and the bus is interrupted and the interrupt's not caught, + then the socket packet pocket has an error to report. + (cited after Peter van der Linden) -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: Possible bug with chere 1.4 when configuring for fish
On 10/04/2014 11:06, Ronald Fischer wrote: I've had more time to look around. If you add the following to the file ~/.config/fish/config.fish (create it if you haven't already got one), then things should work as intended: if status --is-login set PATH /usr/local/bin /usr/bin $PATH end Alternatively drop it in the fish global startup file, /usr/share/fish/config.fish. I tried the variant of putting it into the global startup file, it doesn't resolve the problem for me. I'll play around a bit with it as soon as I have time (I'm a first-time user of fish and am busy with other things right now, so this might take some time). You're right, when using the default -2. If you switch to -1, things get better, but then the chere functionality of cd'ing to a directory fails. Fun. -2 mode fails because fish recognizes a login shell by $0 being exactly -fish, but chere is using -/bin/fish. There's a trivial patch* to fish.cpp which could make this work better for us. -1 mode fails because fish would prefer cygpath was run on the argument first. I'm not sure why this works in bash. I'll try put together a fix for the latter issue, but it may be a while before I can upload*. Konrad, are you able to chase the former issue? NB Konrad's email provider is out of action. Ronald, your choices as the moment: - Add cygwin\bin to your windows path - Use the above snippet without the check for a login shell, and method -2. If you don't start too many subshells you're probably OK. If you do need subshells, you could change the check to test if /bin is already in the path. Dave. * New employer, need to clarify status of open source contributions etc. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: Possible bug with chere 1.4 when configuring for fish
On Tue, Apr 8, 2014, at 0:35, Dave Kilroy wrote: On 07/04/2014 13:02, Ronald Fischer wrote: I have installed fish 2.1.0. Works fine, when invoking a new fish shell manually. However, when doing a chere -ifcm -t mintty -s fish and invoke the new fish shell from the Windows Explorer context menu, I get plenty of error messages, like this: snip Thanks for the report. I've just checked my x86_64 and x86 installation. Things are working on my installation as I have c:\cygwin\bin on my standard windows path. When I remove it and invoke fish, I get the errors that you highlight. Similarly when echo'ing $PATH under the broken fish, /usr/bin is not one of the entries. Indeed: Once I'm adding the cygwin bin path to my windows system environment, it works, so this is at least a temporary workaround (on the long run, I don't want to have the cygwin path permanently set on this machine). I need to have a play around to see how I can fix this, but I thought cygwin prepended /usr/bin to the path... I don't think cygwin by itself changes the path. It certainly doesn't change the Windows system path (as defined in the Advanced System Settings for Windows). However, when I start a bash shell, /usr/bin is part of the PATH. This happens inside /etc/profile. But this file is not always processed; This depends on how bash is started. You can see the detailed rules in the bash man-page, in the section INVOCATION. My guess is that when doing a chere -2 fish, you start via bash in a way that /etc/profile is not read. As for chere -1 fish, I suspect that this will never work, unless the user has put the Cygwin bin path into his system PATH. Maybe in this case, chere should output a warning message. Ronald -- Ronald Fischer rona...@eml.cc + If a packet hits a pocket on a socket on a port, + and the bus is interrupted and the interrupt's not caught, + then the socket packet pocket has an error to report. + (cited after Peter van der Linden) -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: Possible bug with chere 1.4 when configuring for fish
On 07/04/2014 23:35, Dave Kilroy wrote: On 07/04/2014 13:02, Ronald Fischer wrote: I have installed fish 2.1.0. Works fine, when invoking a new fish shell manually. However, when doing a chere -ifcm -t mintty -s fish and invoke the new fish shell from the Windows Explorer context menu, I get plenty of error messages, like this: snip (more of this kind follow). This looks like there is a problem the PATH, but this happens even when I use the -2 on chere when installing the shell. Note that bash or zsh shells installed via cygwin work fine. Thanks for the report. I've just checked my x86_64 and x86 installation. Things are working on my installation as I have c:\cygwin\bin on my standard windows path. When I remove it and invoke fish, I get the errors that you highlight. Similarly when echo'ing $PATH under the broken fish, /usr/bin is not one of the entries. I need to have a play around to see how I can fix this, but I thought cygwin prepended /usr/bin to the path... I've had more time to look around. If you add the following to the file ~/.config/fish/config.fish (create it if you haven't already got one), then things should work as intended: if status --is-login set PATH /usr/local/bin /usr/bin $PATH end Alternatively drop it in the fish global startup file, /usr/share/fish/config.fish. Konrad, would you consider adding the above fragment to config.fish in the next release? That should bring fish into line with the other shells*. You might also consider adding some of the other environment variables like PRINTER etc etc. Thanks, Dave. --- * FYI Bash gets /usr/local/bin and /usr/bin prefixed to its path by /etc/profile (supplied by base-files) mksh and posh also use /etc/profile tcsh gets these prefixed by /etc/csh.login (supplied by tcsh) zsh uses /etc/zprofile (supplied by zsh) -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: Possible bug with chere 1.4 when configuring for fish
On 07/04/2014 13:02, Ronald Fischer wrote: I have installed fish 2.1.0. Works fine, when invoking a new fish shell manually. However, when doing a chere -ifcm -t mintty -s fish and invoke the new fish shell from the Windows Explorer context menu, I get plenty of error messages, like this: snip (more of this kind follow). This looks like there is a problem the PATH, but this happens even when I use the -2 on chere when installing the shell. Note that bash or zsh shells installed via cygwin work fine. In this 'broken' fish shell, I enter echo $PATH; uname and get the following output: snip /cygdrive/c/windows/system32 /cygdrive/c/windows /cygdrive/c/windows/System32/Wbem /cygdrive/c/windows/System32/WindowsPowerShell/v1.0 /cygdrive/c/windows/System32/WindowsPowerShell/v1.0 /cygdrive/c/Program Files (x86)/Common Files/Citrix/System32 /cygdrive/c/Program Files (x86)/Citrix/ICAService /cygdrive/c/Program Files (x86)/Citrix/System32 snip To compare with, when I output the PATH from a normal fish shell (i.e. one which I have invoked from, say, a bash shell), I get: echo $PATH .:/home/ronald.fischer/bin:/usr/local/bin:/usr/bin:/cygdrive/c/windows/system32:/cygdrive/c/windows:/cygdrive/c/windows/System32/Wbem:/cygdrive/c/windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Common Files/Citrix/System32:/cygdrive/c/Program Files (x86)/Citrix/ICAService:/cygdrive/c/Program Files (x86)/Citrix/System32:/usr/lib/lapack We see that in fish, /usr/bin is missing from the PATH. This is strange, in particular if I install chere fish with option -2, because in this case, fish will be invoked via bash. Ronald Thanks for the report. I've just checked my x86_64 and x86 installation. Things are working on my installation as I have c:\cygwin\bin on my standard windows path. When I remove it and invoke fish, I get the errors that you highlight. Similarly when echo'ing $PATH under the broken fish, /usr/bin is not one of the entries. I need to have a play around to see how I can fix this, but I thought cygwin prepended /usr/bin to the path... Regards, Dave. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple