[1.7] Problem - emacs fails to get shell-command output

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Mon Dec 15 23:53:00 GMT 2008


On Mon, Dec 15, 2008 at 02:43:44PM -0500, Ken Brown wrote:
> On 12/15/2008 10:34 AM, Ken Brown wrote:
>> On 12/15/2008 8:52 AM, Corinna Vinschen wrote:
>>> On Dec 14 16:49, Ken Brown wrote:
>>>> On 12/11/2008 2:30 PM, Matt Wozniski wrote:
>>>>> On Thu, Dec 11, 2008 at 1:14 PM, Ken Brown wrote:
>>>>>> One other thing I've noticed, which I think is unrelated, is that 
>>>>>> there is a
>>>>>> glitch in directory listing in emacs under cygwin 1.7:  If you try to 
>>>>>> list a
>>>>>> directory with control-x d, very often the directory listing makes it 
>>>>>> look
>>>>>> like the directory is empty when it isn't.  Typing "g" (to ask emacs 
>>>>>> to
>>>>>> redisplay the directory) usually results in a correct listing.
>>>>>> [...]
>>>>> With no knowledge of cygwin's internals, I'd much sooner guess the
>>>>> changes to the pipe code...
>>>> I should have just reported the symptom instead of trying to guess the 
>>>> cause:  Emacs runs the shell command "ls -al" and thinks there's no 
>>>> output.  Here's a second example.  I used emacs's "ediff" function to 
>>>> compare two buffers, and it reported (incorrectly) that there were no 
>>>> differences.  So it seems that emacs called on the shell to run "diff" 
>>>> but didn't get the output.
>>>
>>> Any chance to create a testcase which reproduces this behaviour without
>>> involving emacs?  Emacs is hell of a testcase which I won't even touch
>>> with gloves...
>> Unfortunately, I have virtually no programming experience.  I was hoping 
>> the emacs maintainer might be able to help.
>
> Here's one more piece of information, in case it means something to the 
> experts.  I had been building emacs with the following patch, which was 
> given to me by the person who told me how to build emacs for cygwin:
>
> --- strftime.c.orig     2007-01-14 04:24:37.000000000 +0100
> +++ strftime.c  2008-02-04 21:40:01.031250000 +0100
> @@ -54,7 +54,7 @@
>  # endif
>  #endif
>  #if HAVE_TZNAME
> -#ifndef USE_CRT_DLL
> +#if !defined (USE_CRT_DLL) && !defined (CYGWIN)
>  extern char *tzname[];
>  #endif
>  #endif
>
> I just rebuilt emacs under cygwin 1.7 without that patch.  The glitch 
> involving directory listings still occurs occasionally, but *much* less 
> often.  It happens so much less often that I was about to send a message 
> saying the problem was solved, but then it happened again.
>
> Two questions:
>
> 1.  For the sake of my education, can someone explain to me what this patch 
> is all about and whether it ought to be necessary for cygwin? (I'm 
> compiling with gcc-4, if that makes a difference.)

Sorry but the patch makes no sense on at least two levels.

1) USE_CRT_DLL should not be set when CYGWIN is defined.

2) declaring tzname should not affect anything timing related.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list