X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Mon, 8 Mar 2010 19:52:03 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: allow executing a path in backslash notation Message-ID: <20100309005203.GA19947@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <513562 DOT 83001 DOT qm AT web88302 DOT mail DOT re4 DOT yahoo DOT com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <513562.83001.qm@web88302.mail.re4.yahoo.com> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Mon, Mar 08, 2010 at 04:21:16PM -0800, Ilguiz Latypov wrote: >The attached patch allows executing a path in backslash notation. This >can be tested in the Cygwin builds of GNU make with the "DOS >compatibility" compile-time option of GNU make enabled, such as those >from Cygwin make packages 3.79 and 3.80. > >$ cat dos-compat.mak >default: > ..\echo.exe test > C:\\echo.exe test > >$ ./make.exe --win32 -f dos-compat.mak >..\echo.exe test >test >C:\\echo.exe test >test > >The patch cannot be tested by simply running a command in backslash >notation in the existing Cygwin build of bash or pdksh because these >shells re-implement the search of the potential executable command. I >believe these re-implementations are for improved user interaction and >platform-independent security. > >The patch is a blind conjecture because I am not fully aware about the >intention of find_exec() in spawn.cc. Its implementation seems >exceedingly complicated to me, and the comments in the middle of the >function about refusing a full Windows path contradict the description >of the function above its prototype. The cygwin mailing list archive should be replete with past discussions about this issue. The bottom line is that if you want to use MS-DOS paths, then use a MinGW or DJGPP version of make.exe. make.exe is not going to be patched. In fact, I'm reconsidering my pledge to adopt some of the changes that are currently in the make source control for allowing MS-DOS paths with Cygwin's make. So it is possible that the next version of make won't have this "ability" either. cgf -- 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