     [ drop convert-general-form ] if ;
   
 : convert-form ( lisp-form -- quot )
-  dup s-exp?  [ body>> convert-list-form ]
-              [ [ , ] bake ] if ;
+  { { [ dup s-exp? ] [ body>> convert-list-form ] }
+    { [ dup lisp-symbol? ] [ [ , lookup-var ] bake ] }
+    [ [ , ] bake ]
+  } cond ;
                 
 : lisp-string>factor ( str -- quot )
   lisp-expr parse-result-ast convert-form lambda-rewrite call ;

  rest convert-form ;
  
: convert-cond ( s-exp -- quot )  
  rest [ [ convert-form map ] map ] [ % cond ] bake ;
  
: convert-general-form ( s-exp -- quot )
  unclip convert-form swap convert-body [ , lookup-vars % funcall ] bake ;

! words for convert-lambda  
<PRIVATE  


DEFER: convert-form
DEFER: funcall
DEFER: lookup-var

! Functions to convert s-exps to quotations
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
