This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: [1.7] Problem - emacs fails to get shell-command output
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/