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

Ken Brown kbrown@cornell.edu
Mon Dec 15 19:44:00 GMT 2008


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

2.  Does the fact that my problem occurs less often without the patch 
provide any clues?

Thanks.

Ken

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