summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1997-08-14 15:00:03 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1997-08-14 15:00:03 +0000
commit0824b52425e03fe1b3c0b6e6b29b127b39ad37ef (patch)
treea4c8c5a4123fdf48ec35a5ed97d13f5cc316ae92
parentadc02cce188dbc20400197af7ee6f7ceac2e108e (diff)
downloadguile-0824b52425e03fe1b3c0b6e6b29b127b39ad37ef.tar.gz
* stacks.c (scm_make_stack), coop-threads.c, mit-pthreads.c
(scm_call_with_new_thread): Bugfix: SCM_WNA should go as third argument to SCM_ASSERT. Furthermore, the name of the function should be passed as first argument when signalling SCM_WNA. (Thanks to Thomas Morgan)
-rw-r--r--libguile/ChangeLog20
-rw-r--r--libguile/coop-threads.c12
-rw-r--r--libguile/mit-pthreads.c12
-rw-r--r--libguile/stacks.c5
4 files changed, 42 insertions, 7 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index ae773cdbf..2771382db 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,3 +1,23 @@
+1997-08-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * stacks.c (scm_make_stack), coop-threads.c, mit-pthreads.c
+ (scm_call_with_new_thread): Bugfix: SCM_WNA should go as third
+ argument to SCM_ASSERT. Furthermore, the name of the function
+ should be passed as first argument when signalling
+ SCM_WNA. (Thanks to Thomas Morgan)
+
+ * gsubr.c (scm_gsubr_apply): From Radey Shouman
+ <shouman@zianet.com>: "The switch in scm_gsubr_apply that
+ dispatches on the number of actual args has a default case
+ reporting an internal error. This is a vestige from a version
+ that mallocated a SCM vector to hold the arguments. In the
+ current version this check is too late: if it ever happens we will
+ have already overstepped the bounds of the array.
+
+ Also, the patch [...] adds a check for too many actual arguments."
+
+ mdj: Removed check for "internal programming error".
+
Wed Aug 13 15:38:44 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
* * gh_io.c (gh_write): New function.
diff --git a/libguile/coop-threads.c b/libguile/coop-threads.c
index 0d88f7ca4..b3fad95f4 100644
--- a/libguile/coop-threads.c
+++ b/libguile/coop-threads.c
@@ -236,20 +236,26 @@ scm_call_with_new_thread (argl)
{
register SCM args = argl;
SCM thunk, handler;
- SCM_ASSERT (SCM_NIMP (args), argl, SCM_WNA, s_call_with_new_thread);
+ SCM_ASSERT (SCM_NIMP (args),
+ scm_makfrom0str (s_call_with_new_thread),
+ SCM_WNA, NULL);
thunk = SCM_CAR (args);
SCM_ASSERT (SCM_NFALSEP (scm_thunk_p (thunk)),
thunk,
SCM_ARG1,
s_call_with_new_thread);
args = SCM_CDR (args);
- SCM_ASSERT (SCM_NIMP (args), argl, SCM_WNA, s_call_with_new_thread);
+ SCM_ASSERT (SCM_NIMP (args),
+ scm_makfrom0str (s_call_with_new_thread),
+ SCM_WNA, NULL);
handler = SCM_CAR (args);
SCM_ASSERT (SCM_NFALSEP (scm_procedure_p (handler)),
handler,
SCM_ARG2,
s_call_with_new_thread);
- SCM_ASSERT (SCM_NULLP (SCM_CDR (args)), argl, SCM_WNA, s_call_with_new_thread);
+ SCM_ASSERT (SCM_NULLP (SCM_CDR (args)),
+ scm_makfrom0str (s_call_with_new_thread),
+ SCM_WNA, NULL);
}
/* Make new thread. */
diff --git a/libguile/mit-pthreads.c b/libguile/mit-pthreads.c
index a00aa54f1..2270f5cb0 100644
--- a/libguile/mit-pthreads.c
+++ b/libguile/mit-pthreads.c
@@ -294,20 +294,26 @@ scm_call_with_new_thread (argl)
{
register SCM args = argl;
SCM thunk, handler;
- SCM_ASSERT (SCM_NIMP (args), argl, SCM_WNA, s_call_with_new_thread);
+ SCM_ASSERT (SCM_NIMP (args),
+ scm_makfrom0str (s_call_with_new_thread),
+ SCM_WNA, NULL);
thunk = SCM_CAR (args);
SCM_ASSERT (SCM_NFALSEP (scm_thunk_p (thunk)),
thunk,
SCM_ARG1,
s_call_with_new_thread);
args = SCM_CDR (args);
- SCM_ASSERT (SCM_NIMP (args), argl, SCM_WNA, s_call_with_new_thread);
+ SCM_ASSERT (SCM_NIMP (args),
+ scm_makfrom0str (s_call_with_new_thread),
+ SCM_WNA, NULL);
handler = SCM_CAR (args);
SCM_ASSERT (SCM_NFALSEP (scm_procedure_p (handler)),
handler,
SCM_ARG2,
s_call_with_new_thread);
- SCM_ASSERT (SCM_NULLP (SCM_CDR (args)), argl, SCM_WNA, s_call_with_new_thread);
+ SCM_ASSERT (SCM_NULLP (SCM_CDR (args)),
+ scm_makfrom0str (s_call_with_new_thread),
+ SCM_WNA, NULL);
}
/* Make new thread. */
diff --git a/libguile/stacks.c b/libguile/stacks.c
index 6be4ffca1..0e6598351 100644
--- a/libguile/stacks.c
+++ b/libguile/stacks.c
@@ -351,7 +351,10 @@ scm_make_stack (args)
SCM stack, id;
SCM obj, inner_cut, outer_cut;
- SCM_ASSERT (SCM_NIMP (args) && SCM_CONSP (args), SCM_WNA, args, s_make_stack);
+ SCM_ASSERT (SCM_NIMP (args) && SCM_CONSP (args),
+ scm_makfrom0str (s_make_stack),
+ SCM_WNA,
+ NULL);
obj = SCM_CAR (args);
args = SCM_CDR (args);