This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Any progress on "Fork issues ith long command lines and long $PATH"?


On 1/20/2016 9:20 PM, Richard Heintze wrote:
On 1/19/2016 6:34 PM, Richard Heintze wrote:
Regarding my choice of terms: I was trying use terms consistent with that old link
"https://cygwin.com/ml/cygwin/2011-02/msg00416.html";.

That message doesn't even mention emacs.  That's why I said in my first
reply to you that I couldn't make much sense of what you wrote.

(1) So is there a fix for the problem described in this link "https://cygwin.com/ml/cygwin/2011-02/msg00416.html";? According to
Corinna Vinschen's comments it is a Cygwin problem, not an emacs problem. I would love to have a fix.

I still don't know the connection between that message and emacs.  Could
you say exactly what problem you're having?

(2) I was using $USERPROFILE as an example. We have dozens of these environment variables pointing to dozens directories. They enable us to type in the same file name to emacs's find file (ctrl-x-ctrl-f) regardless >of who is logged in or which computer we are logged into (assuming that every account has the same directory structure and propertly defined environment variables).  Yes we can manually translate them at a bash >prompt but this is a lot more typing, cutting and pasteing. We also share the same .emacs file that contains thousands of file names that contain these environment variables. We will really missing feature of native >emacs.

The fact that C-x C-f expands environment variables is not a special
feature of native Windows emacs.  But the expansion has to yield a valid
file name.  In the case of Cygwin emacs, that means a Posix path.

Maybe you could write a script that uses cygpath to convert the relevant
environment variables to Posix paths, and then call this script from
your .bashrc.


Ken
Ken:
Thanks for being persistent! I'm sorry for the confusion. I had to google search "top post". I hope I'm doing it right now.

Yes, thank you.

When I run the bash prompt directly by clicking on the Cygwin icon, everything is fine.
When I run Cygwin or native emacs on win 8 and use the emacs compile or async shell command to run a bash command everything is fine.
When I run Cygwin emacs on win 10 and use the compile or asynch shell command run bash command everything is fine.
However, when I run native (FSF/windows) emacs on win10 and use the compile or asynch shell command to run bash commands that contain a pipe ("|") or child ($(bashcommand)), I get very similar symptoms (maybe the same) as "https://cygwin.com/ml/cygwin/2011-02/msg00416.html";.

Please give details. What command did you give? How long is your PATH? What error message did you get?

For example perl -e 'print "hello"' is fine. However, echo $(perl -e 'print "hello"') causes a stack trace like "https://cygwin.com/ml/cygwin/2011-02/msg00416.html";
After reading Corinna's comments  I'm thinking this is a Cygwin/bash problem. What do you think?

I really have no idea whether your problem is the same as the one in the bug report you cite. But that report says the problem occurs when the command line or PATH is very long. You haven't given enough details for us to know whether that's the case in your setting. Also, the fact that you have problems only on Windows 10 makes me think something completely different might be going on.

In the meantime, I'm looking into patching emacs so that the Cygwin build will accept Windows file names, at least under some circumstances. If I can do that without breaking anything else, I'll put out a test release.

Ken

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]