(I suggest a recompile after getting this, the ceval.c bugfix may be crucial!)
* Makefile: removed superfluous AR=ar, fixed misleading comment.
* ceval.c: fixed debugging code; save/restore errors in locals_2_fast.
* intrcheck.c: for SunOS etc., turn off syscall resumption.
* regexpr.h: bump number of registers to 100.
diff --git a/Parser/intrcheck.c b/Parser/intrcheck.c
index feab766..4636b3f 100644
--- a/Parser/intrcheck.c
+++ b/Parser/intrcheck.c
@@ -140,6 +140,15 @@
{
if (signal(SIGINT, SIG_IGN) != SIG_IGN)
signal(SIGINT, intcatcher);
+#ifdef SV_INTERRUPT
+ /* This is for SunOS and other modern BSD derivatives.
+ It means that system calls (like read()) are not restarted
+ after an interrupt. This is necessary so interrupting a
+ read() or readline() call works as expected.
+ XXX On old BSD (pure 4.2 or older) you may have to do this
+ differently! */
+ siginterrupt(SIGINT, 1);
+#endif
}
int