anchor.diff:  	      "}" ,*c-newline*))))
   
   ;; XXX same in js-transpiler
  -(define-c-macro %setq (dest val)
  -  `("    "
  -	(%transpiler-native ,dest) "="
  +(defun codegen-%setq (dest val)
  +  `((%transpiler-native ,dest) "="
           ,(if (and (consp val)
                     (not (stringp val.))
                     (not (in? val.
                               '%transpiler-string '%transpiler-native)))
                `(,val. ,@(parenthized-comma-separated-list .val))
  -             val)
  +             val)))
  +
  +(define-c-macro %setq (dest val)
  +  `(,*c-indent*
  +	,@(codegen-%setq dest val)
       ,*c-separator*))
   
   (define-c-macro %setq-atom (dest val)
  
positive.code: ;; Lexical scope
  (define-c-macro make-array (size)
    `("trearray_get (_trelist_get (" ,(c-compiled-number size) ", treptr_nil))"))
  
negative.code: 		,val
  		")" ,*c-separator*))
  
  ;; XXX used for local functions
  (define-c-macro %set-atom-fun (dest val)
    `(%transpiler-native ,dest "=" ,val))
  
  ;  `(%transpiler-native "treatom_set_function (" ,dest " ,"
  ;		,val
  ;		")" ,*c-separator*))
  
  (define-c-macro %var (name)
    `(%transpiler-native ,*c-indent* "treptr " ,name ,*c-separator*))
  