1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-14 17:50:22 +02:00
Commit graph

8144 commits

Author SHA1 Message Date
Andy Wingo
4650d11502 fix struct-ref and struct-set! on "light" structs
* libguile/struct.c (scm_struct_ref, scm_struct_set_x): "Light" structs
have no hidden words (members of the SCM_STRUCT_DATA(x) array accessed
with negative indices). In that case, determine the number of fields
from the length of the struct layout descriptor. (Most GOOPS instances
are light structs.)
2008-04-10 23:21:30 +02:00
Andy Wingo
4125c76761 initialize 'u' slots to 0, not SCM_UNPACK(SCM_GOOPS_UNBOUND)
* goops.c (wrap_init): Initialize 'u' slots to 0, not some random
SCM value.
2008-04-10 23:21:30 +02:00
Andy Wingo
54ee7cdfce respect slot allocation, e.g. for <read-only-slot>
* libguile/goops.c (get_slot_value, set_slot_value): In the struct
	allocation case, don't poke the slots array directly -- we should
	go through struct-ref/struct-set! code so that we get the
	permissions and allocation ('u' versus 'p') correct.
2008-04-10 23:21:30 +02:00
Ludovic Courtès
979eade651 Fix inline machinery for GCC 4.3 and later in C99 mode. 2008-04-07 23:57:03 +02:00
Ludovic Courtès
89e3e0dcea More `.gitignore'. 2008-04-07 23:48:48 +02:00
Neil Jerram
2a1d06886e (to_timespec): Change 1000000 multiplier to
1000000000.
(unchecked_unlock_sym, allow_external_unlock_sym,
recursive_sym): Use SCM_SYMBOL.
(scm_make_mutex_with_flags): When raising unsupported option
error, report what the unsupported option was.
(fat_mutex_unlock): When raising errors, unlock m->lock first.
(fat_cond_timedwait): Removed.
(scm_timed_wait_condition_variable): Call fat_mutex_unlock
directly instead of via fat_cond_timedwait.
2008-03-24 21:51:09 +00:00
Ludovic Courtès
c2ad98ad41 Fix `alloca' on FreeBSD 6. 2008-03-10 22:34:40 +00:00
Neil Jerram
bca69a9fba Only define scm_from_complex_double if it will
actually be used.
2008-03-09 21:57:00 +00:00
Neil Jerram
6180e336b2 Core enhancements, by Julian Graham, to Guile's thread, mutex and
condvar primitives, in preparation for SRFI-18 support.
2008-03-08 16:22:40 +00:00
Ludovic Courtès
61b6542aa6 Fix type-checking for the second argument of `eval'. 2008-03-06 09:51:44 +00:00
Ludovic Courtès
3f52096714 Fix "mixed linkage" errors in `inline.h'. 2008-03-02 17:03:42 +00:00
Neil Jerram
fa80e2809e (errno): Remove declarations that have been there
forever, and are known to conflict on some platforms with that
provided by <errno.h>, which we include unconditionally.  If
<errno.h> doesn't provide a errno declaration, what is the point
of it?
2008-02-27 23:00:37 +00:00
Ludovic Courtès
a2c25234fb Use imaginary_part' instead of imaginary' to fix build on Solaris 2.10. 2008-02-23 11:28:11 +00:00
Ludovic Courtès
4fcb27c471 Look for `strncasecmp' declaration. 2008-02-22 09:55:22 +00:00
Ludovic Courtès
bfb64eb408 Fix build issue in `gc.c' on GNU/Linux IA64. 2008-02-22 09:53:02 +00:00
Ludovic Courtès
5305df84f8 Fix bug #22369: segfault in `scm_add_slot ()'. 2008-02-21 08:43:54 +00:00
Ludovic Courtès
25a640ca6e Merge 1.8.4 release commit. 2008-02-21 08:41:24 +00:00
Ludovic Courtès
9a6fac59b1 Fix NetBSD/alpha support. 2008-02-16 19:45:41 +00:00
Neil Jerram
b226295af8 Release stuff: missing NEWS and 2007/2008 copyrights. 2008-02-15 23:13:59 +00:00
Ludovic Courtès
5b5179f895 guile-snarf: Honor $TMPDIR. 2008-02-12 14:26:37 +00:00
Neil Jerram
4b26c03ec7 * numbers.c (SCM_COMPLEX_VALUE): Use GUILE_I instead of _Complex_I
directly, and only if GUILE_I was defined by the configure step.
(scm_log, scm_log10, scm_exp, scm_sqrt): Use SCM_COMPLEX_VALUE
code only if SCM_COMPLEX_VALUE is defined.

* configure.in (--without-64-calls): Use AC_MSG_CHECKING and
AC_MSG_RESULT instead of just echo.
(GUILE_I): New programs to try using _Complex_I or 1.0fi for the
imaginary unit.
2008-02-11 21:20:14 +00:00
Ludovic Courtès
7f74cf9a67 More compilation fixes with Sun CC (bug #21378). 2008-02-07 09:54:47 +00:00
Neil Jerram
86a597f8b3 * threads.c (do_thread_exit, scm_cancel_thread,
scm_set_thread_cleanup_x, scm_thread_cleanup): Lock on thread-specific
	admin mutex instead of `thread_admin_mutex'.
	* threads.h (scm_i_thread)[admin_mutex]: New field.
	* throw.c (make_jmpbuf): Don't enter critical section during thread
	spawn -- there is a possibility of deadlock if other threads are
	exiting.
2008-02-07 01:24:31 +00:00
Neil Jerram
4a19ed0452 (scm_gc_malloc): Return NULL if requested size is 0.
(scm_gc_free): Don't call `free' if mem is NULL.
2008-02-06 22:22:14 +00:00
Ludovic Courtès
189171c5bb Fix compilation of `numbers.c' with Sun CC. 2008-02-06 13:51:05 +00:00
Neil Jerram
d05bcb2ede * fports.c (fport_seek): Make dependent on GUILE_USE_64_CALLS.
* _scm.h: Make definition of CHOOSE_LARGEFILE depend on
GUILE_USE_64_CALLS.

* configure.in (--without-64-calls): New option.
2008-02-05 23:14:21 +00:00
Neil Jerram
3ac8359afd * modules.c (the_root_module): Moved before scm_current_module.
(scm_current_module): Return the root module if `the-module' fluid
gives #f.

* standalone/Makefile.am: Add stanza for test-with-guile-module.

* standalone/test-with-guile-module.c: New test.
2008-02-01 22:51:34 +00:00
Neil Jerram
7df13834d4 * LICENSE: Change COPYING.LIB to COPYING.LESSER.
* COPYING.LESSER: Renamed, previously COPYING.LIB.

* COPYING: Removed.

* COPYING: Removed.

* COPYING: Removed.

* COPYING: Removed.

* COPYING: Removed.

* COPYING: Removed.

* COPYING: Removed.

* COPYING: Removed.
2008-01-22 21:46:24 +00:00
Neil Jerram
d3cf93bc25 * srfi-39.scm: Update copyright statement to LGPL.
* __scm.h, _scm.h, weaks.c: Update copyright statement to LGPL.

* compat/compat.h: Update copyright statement to LGPL.

* oldfmt.c: Update copyright statement to LGPL.

* libguile.h: Update copyright statement to LGPL.
2008-01-22 21:06:22 +00:00
Neil Jerram
15bd90eafd * hashtab.c (scm_hash_fn_create_handle_x): If supplied assoc_fn
returns neither a pair nor #f, signal a wrong-type-arg error.
(Thanks to Gregory Marton for reporting this.)

* tests/hash.test: New "hashx" test supplied by Gregory Marton;
prior to today's fix in libguile/hashtab.c, this caused a
segmentation fault.
2008-01-18 23:33:41 +00:00
Neil Jerram
5c004b6d6a * gc.c (mark_gc_async): Change "func_data" to "fn_data", to avoid
clash with AIX header file.
* hooks.c (scm_c_hook_add, scm_c_hook_remove): Same again.
* hooks.h (scm_t_c_hook_function, scm_c_hook_add,
scm_c_hook_remove): Same again.
2007-12-29 01:35:33 +00:00
Ludovic Courtès
9cc37597af Changes from arch/CVS synchronization 2007-12-08 16:00:56 +00:00
Ludovic Courtès
693758d5a8 Changes from arch/CVS synchronization 2007-12-04 17:57:44 +00:00
Ludovic Courtès
7d1fc87217 Changes from arch/CVS synchronization 2007-12-04 17:32:59 +00:00
Ludovic Courtès
dbd1132b9c Changes from arch/CVS synchronization 2007-10-27 18:40:41 +00:00
Ludovic Courtès
8b0f07460a Changes from arch/CVS synchronization 2007-10-27 17:41:35 +00:00
Ludovic Courtès
ee834df41f Changes from arch/CVS synchronization 2007-10-27 15:15:23 +00:00
Neil Jerram
acbfb5946b (unmemoize_delay): Extend the environment before
unmemoizing the promise thunk.  This fixes a segmentation fault
reported by Frank Schwidom.
2007-10-21 20:43:14 +00:00
Ludovic Courtès
2e77f7202b Changes from arch/CVS synchronization 2007-10-20 11:09:58 +00:00
Ludovic Courtès
d41668faec Changes from arch/CVS synchronization 2007-10-17 21:56:10 +00:00
Ludovic Courtès
6630261802 Changes from arch/CVS synchronization 2007-10-10 16:46:26 +00:00
Ludovic Courtès
1445e4492f Changes from arch/CVS synchronization 2007-10-04 16:22:05 +00:00
Ludovic Courtès
29776e85da Changes from arch/CVS synchronization 2007-10-02 16:06:25 +00:00
Ludovic Courtès
61d3568bff Changes from arch/CVS synchronization 2007-10-01 20:22:08 +00:00
Kevin Ryde
68eccd8bc2 *** empty log message *** 2007-09-11 00:47:34 +00:00
Kevin Ryde
5b7ecf1b30 (scm_putenv): Confine the putenv("NAME=") bit to mingw, use
putenv("NAME") as the fallback everywhere else.  In particular this is
needed for solaris 9.  Reported by Frank Storbeck.
2007-09-11 00:46:15 +00:00
Ludovic Courtès
454866e052 Changes from arch/CVS synchronization 2007-09-03 16:58:20 +00:00
Ludovic Courtès
f43f362018 Changes from arch/CVS synchronization 2007-09-02 22:56:56 +00:00
Kevin Ryde
8d4d5dfcf9 *** empty log message *** 2007-09-02 22:40:23 +00:00
Kevin Ryde
90709cd75f (scm_log): Test HAVE_CLOG as well as HAVE_COMPLEX_DOUBLE
before using clog().  It's possible for gcc to provide the "complex
double" type, but for the system not to have the complex funcs.
(scm_exp): Ditto HAVE_CEXP for cexp().
(clog, cexp, carg): Remove fallback definitions.  These only
duplicated the code within scm_log and scm_exp, and the latter have to
exist for the case when there's no "complex double".  So better just
fix up the conditionals selecting between the complex funcs and plain
doubles than worry about fallbacks.
2007-09-02 22:36:23 +00:00