> No, regex.c is also missing from the distribution, and then you don't
> need regex.h.

Looking into the makefile I mentioned that REGEX is set to 'lyxregex.h
regex.c' so regex.c is needed, too. But when compiling regex.c there should
exist regex.h because it is included. So I think you need regex.h, too!

> Why do you need a '#' to execute in foreground?

Right, I don't need it ;-). The better way is to use '#ifndef WIN9X'! I
inserted the #-sign to better mention it in the minibuffer when running LyX!
So I'm able to detect missing call patches.

> The whole figinset class will eventually be rewritten and I think much
> of the problems will go away then.

I don't think that this fixes all win-problems. There must be a serious
problem within cygnus' fork mechanismus because those background shell calls
with the &-sign don't work, too!

> We don't want to much signal hackery, we also plan to move to posix
> signals: sigaction and friends.

This is the win-problem! MingW32 only supports ANSI signals and NOT posix
signals due to the use of the Microsoft C runtime environment! I've
contacted the developer of mingw32 - Mumit Khan - who send me the following
mail some time ago:
# --------------------------------------------------------------------------
---------
On Thu, 25 Nov 1999, Claus Hentschel wrote:

> Is it true, that mingw32 do not support signals due to the underlaying
> windows opsys? I got messages that struct sigaction (usually defined in
> sys/signal.h) is not known, so my var did not have a valid type. I cannot
> found any signal defination in any header file and signal.h seems not be
> implemented for mingw32.

Mingw32 simply uses Microsoft's C-runtime, which is ANSI and does not
support POSIX signals. You can either use Win32 event primitives to do
the same, or if you don't to rewrite parts of your code, use Cygwin.

Mingw distribution contains signal.h that defines the ANSI signals. See
<installroot>/i386-mingw32/include directory.

Here's a table that shows what is ANSI (and supplied by Mingw) and what is
POSIX (supplied by Cygwin just like mos Unix systems).

       Primary          Symbol                   Prerequisite
Std.   Header           Type      Symbol         Headers
====   =======          ======    ======         ============
POSIX  <signal.h>       function  kill()         <sys/types.h>
ANSI   <signal.h>       function  raise()
POSIX  <signal.h>       function  sigaction()
POSIX  <signal.h>       function  sigaddset()
POSIX  <signal.h>       function  sigdelset()
POSIX  <signal.h>       function  sigemptyset()
POSIX  <signal.h>       function  sigfillset()
POSIX  <signal.h>       function  sigismember()
ANSI   <signal.h>       function  signal()
POSIX  <signal.h>       function  sigpending()
POSIX  <signal.h>       function  sigprocmask()
POSIX  <signal.h>       function  sugsuspend()
POSIX  <signal.h>       macro     SA_NOCLDSTOP
POSIX  <signal.h>       macro     SIGABRT
ANSI   <signal.h>       macro     SIGABRT
POSIX  <signal.h>       macro     SIGALRM
POSIX  <signal.h>       macro     SIGCHLD
POSIX  <signal.h>       macro     SIGCONT
POSIX  <signal.h>       macro     SIGFPE
ANSI   <signal.h>       macro     SIGFPE
POSIX  <signal.h>       macro     SIGHUP
POSIX  <signal.h>       macro     SIGILL
ANSI   <signal.h>       macro     SIGILL
POSIX  <signal.h>       macro     SIGINT
ANSI   <signal.h>       macro     SIGINT
POSIX  <signal.h>       macro     SIGKILL
POSIX  <signal.h>       macro     SIGPIPE
POSIX  <signal.h>       macro     SIGQUIT
POSIX  <signal.h>       macro     SIGSEGV
ANSI   <signal.h>       macro     SIGSEGV
POSIX  <signal.h>       macro     SIGSTOP
POSIX  <signal.h>       macro     SIGTERM
ANSI   <signal.h>       macro     SIGTERM
POSIX  <signal.h>       macro     SIGTSTP
POSIX  <signal.h>       macro     SIGTTIN
POSIX  <signal.h>       macro     SIGTTOU
POSIX  <signal.h>       macro     SIGUSR1
POSIX  <signal.h>       macro     SIGUSR2
POSIX  <signal.h>       macro     SIG_BLOCK
ANSI   <signal.h>       macro     SIG_DFL
POSIX  <signal.h>       macro     SIG_DLF
POSIX  <signal.h>       macro     SIG_ERR
ANSI   <signal.h>       macro     SIG_ERR
ANSI   <signal.h>       macro     SIG_IGN
POSIX  <signal.h>       macro     SIG_SETMASK
POSIX  <signal.h>       macro     SIG_UNBLOCK
POSIX  <signal.h>       struct    sigaction
ANSI   <signal.h>       typedef   sig_atomic_t
POSIX  <signal.h>       typeset   sigset_t
#---------------------------------------------------------------------------
----
Regards,
Claus



Reply via email to