1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 21:10:27 +02:00
Commit graph

5387 commits

Author SHA1 Message Date
Kevin Ryde
7b6cfe9d35 *** empty log message *** 2007-01-15 22:25:45 +00:00
Kevin Ryde
b98236412a (scm_init_filesys): Use scm_from_int rather than scm_from_long for
F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETOWN, F_SETOWN, these
are all ints (per command arg to fcntl).  Likewise FD_CLOEXEC which is
an int arg to fcntl.
2007-01-15 21:52:52 +00:00
Kevin Ryde
43c6dfffaa (scm_init_filesys): Use scm_from_int rather than
scm_from_long for O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, O_EXCL,
O_NOCTTY, O_TRUNC, O_APPEND, O_NONBLOCK, O_NDELAY, O_SYNC and
O_LARGEFILE.  These are all int not long.
2007-01-15 21:49:44 +00:00
Kevin Ryde
335e478e4b (scm_init_regex_posix): Use scm_from_int for
REG_BASIC, REG_EXTENDED, REG_ICASE, REG_NEWLINE, REG_NOTBOL,
REG_NOTEOL; they're all ints not longs (per args to regcomp and
regexec).
2007-01-15 21:45:32 +00:00
Kevin Ryde
3f6c07ff8b (scm_regexp_exec): Remove SCM_CRITICAL_SECTION_START
and SCM_CRITICAL_SECTION_END, believe not needed.  Their placement
meant #\nul in the input (detected by scm_to_locale_string) and a bad
flags arg (detected by scm_to_int) would throw from a critical
section, causing an abort().
2007-01-15 21:44:40 +00:00
Kevin Ryde
4920a9b613 (scm_set_program_arguments_scm): New function,
implementing `set-program-arguments'.
2007-01-15 21:28:52 +00:00
Kevin Ryde
2c1ca00535 (scm_putenv): Correction to "len" variable, was defined only
for __MINGW32__ but used under any !HAVE_UNSETENV (such as solaris).
Move it to where it's used.  Reported by Hugh Sasse.
2007-01-15 21:18:20 +00:00
Kevin Ryde
fa7bade131 *** empty log message *** 2007-01-03 21:31:47 +00:00
Kevin Ryde
95764e4ce3 * deprecated.h (scm_create_hook), version.h.in (scm_major_version,
scm_minor_version, scm_micro_version, scm_effective_version,
	scm_version, scm_init_version): Use SCM_API instead of just extern,
	for the benefit of mingw.  Reported by Cesar Strauss.
2007-01-03 21:13:22 +00:00
Kevin Ryde
4a317cc5a8 *** empty log message *** 2006-12-27 00:01:51 +00:00
Kevin Ryde
4d9ad6e23f (signal_delivery_thread): Restrict scm_i_pthread_sigmask
to HAVE_PTHREAD_SIGMASK, it doesn't exist on mingw.  Reported by Nils
Durner.
2006-12-27 00:00:44 +00:00
Kevin Ryde
b9054dfaea bit more comment on MacOS 2006-12-26 22:38:44 +00:00
Kevin Ryde
9af06b7cb2 *** empty log message *** 2006-12-26 22:35:18 +00:00
Kevin Ryde
682ddca7b8 *** empty log message *** 2006-12-26 22:23:59 +00:00
Kevin Ryde
4b4b66cb00 (get_thread_stack_base): Add a version using
pthread_get_stackaddr_np (when available), for the benefit of MacOS.
2006-12-26 22:07:05 +00:00
Kevin Ryde
152e4fc2f5 *** empty log message *** 2006-12-26 20:15:07 +00:00
Kevin Ryde
2ca35efa8e (get_thread_stack_base): In mingw with pthreads we can use
the basic scm_get_stack_base.  As advised by Nils Durner.
2006-12-26 19:52:09 +00:00
Kevin Ryde
cb3fdcc116 *** empty log message *** 2006-12-24 09:44:38 +00:00
Kevin Ryde
3a56ef17cf (scm_write, scm_display, scm_write_char): Disable port close
on EPIPE.  This was previously disabled but introduction of HAVE_PIPE
check in configure.in unintentionally enabled it.  Believe that
testing errno after scm_prin1 or scm_putc is bogus, a long ago error
can leave errno in that state.  popen.test "no duplicates" output test
provoked that.
2006-12-24 09:43:02 +00:00
Kevin Ryde
cff13e3395 *** empty log message *** 2006-12-23 23:29:11 +00:00
Kevin Ryde
9af1874285 (scm_kill): When only raise() is available, throw an ENOSYS
error if pid is not our own process, instead of silently doing nothing.
2006-12-23 23:27:50 +00:00
Han-Wen Nienhuys
f82ca609d3 * numbers.c (scm_i_fraction_reduce): move logic into
scm_i_make_ratio(), so fractions are only read.
scm_i_fraction_reduce() modifies a fraction when reading it.  A
race condition might lead to fractions being corrupted by reading
them concurrently.

* numbers.h: remove SCM_FRACTION_SET_NUMERATOR,
SCM_FRACTION_SET_DENOMINATOR, SCM_FRACTION_REDUCED_BIT,
SCM_FRACTION_REDUCED_SET, SCM_FRACTION_REDUCED_CLEAR,
SCM_FRACTION_REDUCED.
2006-12-23 20:55:47 +00:00
Kevin Ryde
8ab9e0c0f9 *** empty log message *** 2006-12-17 00:02:21 +00:00
Kevin Ryde
e7767c90b7 (scm_raise): Use raise() rather than kill(), as this is
more direct for a procedure called raise.
(kill): Remove mingw fake fallback.
2006-12-15 23:52:11 +00:00
Kevin Ryde
500ab304ce *** empty log message *** 2006-12-14 23:22:15 +00:00
Kevin Ryde
12fa431a82 Conditionalize process.h, add io.h believe needed for _pipe on mingw. 2006-12-14 23:20:59 +00:00
Kevin Ryde
1169fab3c4 Bit more of:
* threads.c (thread_print): Cope with the case where pthread_t is a
	struct, as found on mingw.  Can't just cast to size_t for printing.
	Reported by Nils Durner.
Should be scm_i_pthread_t of course, to cope with null-threads.h.
2006-12-14 23:13:51 +00:00
Kevin Ryde
52e23749fe *** empty log message *** 2006-12-14 00:48:51 +00:00
Kevin Ryde
9d37521121 Add <fcntl.h> and <process.h> needed by mingw. Copy the
fallback pipe() using _pipe() from posix.c.  Reported by Nils Durner.
2006-12-14 00:06:07 +00:00
Kevin Ryde
f81e1a7b7c *** empty log message *** 2006-12-13 23:58:03 +00:00
Kevin Ryde
31a691a58e (thread_print): Cope with the case where pthread_t is a
struct, as found on mingw.  Can't just cast to size_t for printing.
2006-12-13 23:55:51 +00:00
Kevin Ryde
c31f534e18 *** empty log message *** 2006-12-12 22:55:15 +00:00
Kevin Ryde
1905076ed0 (scm_crypt): Check for NULL return from crypt(), which the
linux man page says is a possibility.
2006-12-12 22:50:00 +00:00
Kevin Ryde
9a2e827c0e *** empty log message *** 2006-12-12 22:34:39 +00:00
Kevin Ryde
0238dc9de2 (scm_m_define): Set 'name procedure property on any
scm_procedure_p, not just SCM_CLOSUREP.  In particular this picks up
procedures with setters as used in srfi-17.
2006-12-12 22:14:52 +00:00
Ludovic Courtès
2ef21bf169 Changes from arch/CVS synchronization 2006-12-12 14:09:08 +00:00
Kevin Ryde
51f39e6c17 *** empty log message *** 2006-12-05 00:59:40 +00:00
Kevin Ryde
924a59a7b9 (scm_product): For flonum*inum and complex*inum, return
exact 0 if inum==0.  Already done for inum*flonum and inum*complex,
and as per R5RS section "Exactness".
2006-12-05 00:58:04 +00:00
Kevin Ryde
4b563595ca *** empty log message *** 2006-12-02 23:41:22 +00:00
Kevin Ryde
b5461d0b1a (.c.doc): Remove the "test -n" apparently attempting to
allow $AWK from the environment to override.  It had syntax gremlins,
and the presence of a $(AWK) variable set by AC_PROG_AWK in the
Makefile stopped it having any effect.  Use just $(AWK), which can be
overridden with "make AWK=xxx" in the usual way if desired.
2006-12-02 23:39:56 +00:00
Ludovic Courtès
51785a23a8 Changes from arch/CVS synchronization 2006-11-29 09:25:32 +00:00
Ludovic Courtès
25ee3008f7 Changes from arch/CVS synchronization 2006-11-29 09:08:04 +00:00
Kevin Ryde
5f488a0900 spurious blank line 2006-10-09 23:03:51 +00:00
Kevin Ryde
b5f91eb57c *** empty log message *** 2006-10-02 20:25:18 +00:00
Kevin Ryde
6f96fdfc89 (SCM_APPLY): For scm_tc7_subr_2o, throw wrong-num-args on 0
arguments or 3 or more arguments.  Previously 0 called proc with
SCM_UNDEFINED, and 3 or more silently used just the first 2.
2006-10-02 20:10:04 +00:00
Kevin Ryde
de62474622 *** empty log message *** 2006-09-28 01:16:42 +00:00
Kevin Ryde
67227767f7 (truncate): Use "const char *" and "off_t" for parameters, per usual
definition of this function, rather than "char *" and "int".  Use
ftruncate instead of chsize.  Check for error on final close.
2006-09-28 01:15:35 +00:00
Kevin Ryde
f3dbe1aff3 (truncate): Conditionalize on "HAVE_FTRUNCATE && ! HAVE_TRUNCATE" so
as not to hard-code mingw.
2006-09-28 01:05:55 +00:00
Kevin Ryde
3527bdc71b (ftruncate): Use "HAVE_CHSIZE && ! HAVE_FTRUNCATE"
for chsize fallback, instead of hard-coding mingw.  Mingw in fact
supplies ftruncate itself these days.
2006-09-28 01:03:51 +00:00
Kevin Ryde
423b201902 (fcntl.h): Can include this unconditionally, no need for __MINGW32__. 2006-09-28 01:01:23 +00:00