[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problems with compile-mode

From: Eli Zaretskii
Subject: Re: Problems with compile-mode
Date: Mon, 10 May 2004 09:11:40 +0200

> Date: Sun, 9 May 2004 20:00:24 +0200
> From: address@hidden (Daniel Pfeiffer)
> > 
> > tipo.h:65: error: (Each undeclared identifier is reported only once for 
> > each function it appears in.)
> > make: *** [build/mingw/debug/main.o] Error 1
> > cd t:\lp0\  # -*-compilation-*-
> > Entering directory `t:\lp0\'
> > make MINGW=1
> > 
> > Compilation exited abnormally with code 2 at Wed May 05 06:39:35
> This looks like either Emacs on Mingw gets mixed up between the subprocesses'
> stderr and stdout.  Or compile gets mixed up with its process marker (where
> the process writes into the buffer).

The latter, most probably.  See below.

> Since this apparently only happens on Mingw, which I don't have, I don't know
> where to start looking.

I saw it once on a different platform, but was unable to reproduce it
when I wanted to debug it.

> As per etc/MACHINES Mingw is not even a supported
> plattform for Emacs...

MinGW is certainly supported.  The "Windows" entry in etc/MACHINES
says to look in nt/INSTALL, and that file does mention MinGW.

> I dare not even hope you have Cygwin, to see if the same thing
> happens there?

I don't think this is a good way of debugging this problem.  The
Cygwin build is a completely different build, it uses porte XFree86
instaed of the native Windows GUI toolkit and a totally different
runtime library.  What useful information could you get from such a
different executable, that you don't already have from the one you
run on your own machine?

My (admittedly, uneducated) guess about this problem would be that
there's a race copndition between Emacs, which inserts the line

   "cd t:\lp0\    # -*-compilation-*-"

into the compilation buffer, and Make and its subsidiary programs
whose output gets inserted into the same buffer.  Could it be that
some subtle timing problems cause these two to come in intertwined,
especially if the process outputs its text very fast, while Emacs, for
some reason (perhaps some customization) inserts its text slowly?  Is
it possible to make sure that Emacs _always_ inserts its text before
the subprocess output has any chance to be read, perhaps even before
the subprocess gets forked?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]