From df4023b6a76f695e91d6c50dcc7fefff1c6c9b38 Mon Sep 17 00:00:00 2001 From: James Cash Date: Thu, 24 Apr 2008 22:50:23 -0400 Subject: [PATCH] Fixed bug in convert-list-form --- extra/lisp/lisp.factor | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/extra/lisp/lisp.factor b/extra/lisp/lisp.factor index be43d50a18..624f190fb1 100644 --- a/extra/lisp/lisp.factor +++ b/extra/lisp/lisp.factor @@ -61,15 +61,15 @@ PRIVATE> [ swap localize-body convert-body ] dipd pop-locals swap ; : convert-list-form ( lisp-form -- quot ) -dup first - { { [ dup "if" equal? ] [ drop convert-if ] } - { [ dup "begin" equal? ] [ drop convert-begin ] } - { [ dup "cond" equal? ] [ drop convert-cond ] } - { [ dup "lambda" equal? ] [ drop convert-lambda ] } +dup first dup lisp-symbol? [ name>> + { { "lambda" [ convert-lambda ] } + { "if" [ convert-if ] } + { "begin" [ convert-begin ] } + { "cond" [ convert-cond ] } [ drop convert-general-form ] - } cond ; + } case ] [ drop convert-general-form ] if ; : convert-form ( lisp-form -- quot ) - { { [ dup [ sequence? ] [ number? not ] bi and ] [ convert-list-form ] } + { { [ dup vector? ] [ convert-list-form ] } [ [ , ] [ ] make ] } cond ; \ No newline at end of file