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

5408 commits

Author SHA1 Message Date
Kevin Ryde
1469729406 *** empty log message *** 2007-03-07 22:06:55 +00:00
Kevin Ryde
c6e540513f * struct.c, struct.h (scm_make_vtable): New function, providing
`make-vtable'.
	* stacks.c (scm_init_stacks): Use it.
2007-03-07 21:39:34 +00:00
Kevin Ryde
b73aa1222a (scm_make_vtable): New function, providing `make-vtable'. 2007-03-07 21:38:40 +00:00
Kevin Ryde
c071ffc8d7 unused variable in last change 2007-03-06 00:20:13 +00:00
Kevin Ryde
f548a5d7ff *** empty log message *** 2007-03-05 23:56:47 +00:00
Kevin Ryde
a27c31be58 (scm_make_struct): Check for R,W,O at end of layout when
allocating a tail array.  If there's no such then those tail fields
are uninitialized and garbage SCMs there can cause a segv if printed
(after fetching with struct-ref).
2007-03-05 23:49:50 +00:00
Kevin Ryde
b2f4bde905 *** empty log message *** 2007-02-21 23:58:36 +00:00
Kevin Ryde
18cece63b8 (scm_sleep): In docstring, cross refence usleep.
(scm_usleep): Update docstring per manual, cross reference sleep.
2007-02-21 22:59:49 +00:00
Kevin Ryde
0140f86338 *** empty log message *** 2007-02-21 22:55:18 +00:00
Kevin Ryde
c8fdac963e (scm_make_struct): Move SCM_CRITICAL_SECTION_END up so that
scm_struct_init is not within that section.  scm_struct_init can
thrown an error, which within a critical section results in an
abort().
2007-02-21 22:43:05 +00:00
Neil Jerram
f7cd9d07e1 *** empty log message *** 2007-02-18 23:34:34 +00:00
Neil Jerram
97084119ee Merge of IA64 fix from CVS HEAD. 2007-01-28 16:36:38 +00:00
Kevin Ryde
5722243989 *** empty log message *** 2007-01-26 23:53:35 +00:00
Kevin Ryde
e871bc12ff copyright year 2007-01-26 23:52:05 +00:00
Kevin Ryde
e00abb1fe0 * ports.c (scm_port_line, scm_set_port_line_x), read.c
(scm_i_input_error, scm_lreadr, scm_lreadrecparen): Corrections to
	port line number type, should be "long" not "int", as per line_number
	field of scm_t_port.  (Makes a difference only on 64-bit systems, and
	only then for a linenum above 2Gig.)
2007-01-26 23:50:57 +00:00
Kevin Ryde
34d4f03c54 *** empty log message *** 2007-01-24 23:10:57 +00:00
Kevin Ryde
0f0be63aac *** empty log message *** 2007-01-24 23:08:20 +00:00
Kevin Ryde
2081b955ad (scm_stable_sort): Return empty list for input empty list, as
done in guile 1.6 and as always done by plain `sort'.  Was falling
through to SCM_WRONG_TYPE_ARG.
2007-01-24 23:04:09 +00:00
Han-Wen Nienhuys
c010108334 * gc.c (s_scm_gc_stats): return total cells allocated in a run as
'total-cells-allocated in gc-stats output. This allows profiling
of a program's memory use.

* gc-segment.c (scm_i_sweep_some_cards): update
scm_gc_cells_allocated_acc when sweeping happens.

* gc.h: add scm_gc_cells_allocated_acc, scm_last_cells_allocated.
2007-01-23 03:00:18 +00:00
Ludovic Courtès
09c9ec0533 Changes from arch/CVS synchronization 2007-01-19 09:11:43 +00:00
Kevin Ryde
f697d9dbe7 copyright year 2007-01-15 23:30:28 +00:00
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