> 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