Re: Possible bug with chere 1.4 when configuring for fish

2014-04-11 Thread Andrey Repin
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

2014-04-10 Thread Ronald Otto Valentin Fischer
 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

2014-04-10 Thread Ronald Fischer
 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

2014-04-10 Thread Dave Kilroy

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

2014-04-09 Thread Ronald Fischer
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

2014-04-08 Thread Dave Kilroy

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

2014-04-07 Thread Dave Kilroy

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