[uim-commit] r2090 - in branches/r5rs/sigscheme: . test
yamaken at freedesktop.org
yamaken at freedesktop.org
Tue Nov 8 09:32:18 PST 2005
Author: yamaken
Date: 2005-11-08 09:32:14 -0800 (Tue, 08 Nov 2005)
New Revision: 2090
Modified:
branches/r5rs/sigscheme/eval.c
branches/r5rs/sigscheme/test/test-exp.scm
Log:
* sigscheme/eval.c
- (ScmExp_cond): Fix the SEGV on invalid (#t =>) clause
* sigscheme/test/test-exp.scm
- Change status of the 3 SEGV'ed tests to FAILED
Modified: branches/r5rs/sigscheme/eval.c
===================================================================
--- branches/r5rs/sigscheme/eval.c 2005-11-08 17:24:02 UTC (rev 2089)
+++ branches/r5rs/sigscheme/eval.c 2005-11-08 17:32:14 UTC (rev 2090)
@@ -985,7 +985,7 @@
* returned by this procedure is returned by the cond expression.
*/
/* FIXME: remove expensive Scm_Intern() */
- if (EQ(Scm_Intern("=>"), CAR(exps))) {
+ if (EQ(Scm_Intern("=>"), CAR(exps)) && !NULLP(CDR(exps))) {
proc = EVAL(CADR(exps), env);
if (FALSEP(ScmOp_procedurep(proc)))
ERR_OBJ("the value of exp after => must be the procedure but got", proc);
Modified: branches/r5rs/sigscheme/test/test-exp.scm
===================================================================
--- branches/r5rs/sigscheme/test/test-exp.scm 2005-11-08 17:24:02 UTC (rev 2089)
+++ branches/r5rs/sigscheme/test/test-exp.scm 2005-11-08 17:32:14 UTC (rev 2090)
@@ -101,18 +101,18 @@
(lambda ()
(cond
(else)))))
-;; SEGV
+;; FAILED
(assert-error "cond invalid form #6"
(lambda ()
(cond
(#t =>))))
-;; SEGV
+;; FAILED
(assert-error "cond invalid form #7"
(lambda ()
(cond
(#t =>)
(else #t))))
-;; SEGV
+;; FAILED
(assert-error "cond invalid form #8"
(lambda ()
(cond
More information about the uim-commit
mailing list