anchor.diff:       (%var ,name)
   	 (%setq ,name ,val)))
   
  +(define-js-std-macro make-string (&optional len)
  +  `"")
  +
  +;; XXX This is the same like it is in the environment.
  +;; XXX Try to get along without it.
   (define-js-std-macro defstruct (name &rest fields-and-options)
     (apply #'%defstruct-expander name fields-and-options))
  -
  -(define-js-std-macro dont-obfuscate (&rest symbols)
  -  (append! (transpiler-obfuscation-exceptions tr) symbols)
  -  nil)
   
   (define-js-std-macro funcall (fun &rest x)
     `(,fun ,@x))
   
  -(define-js-std-macro apply (&rest x)
  -  `(%apply ,@x))
  -
  +;; XXX Isn't this already in the environment?
   (define-js-std-macro slot-value (place slot)
     `(%slot-value ,place ,(second slot)))
   
  +;; XXX Can't we do this in one macro?
   (define-js-std-macro bind (fun &rest args)
     (unless (%slot-value? fun)
       (error "function must be a SLOT-VALUE, got ~A" fun))
     `(%bind ,(second fun) ,fun))
   
  +;; X-browser MAKE-HASH-TABLE.
   (defun js-transpiler-make-new-hash (x)
     `(make-hash-table
   	 ,@(mapcan (fn (list (if (and (not (stringp _.))
  
positive.code: 	  (js-transpiler-make-new-hash x)
  	  (js-transpiler-make-new-object x)))
  
  (define-js-std-macro doeach ((var seq &rest result) &rest body)
    (with-gensym (evald-seq idx)
      `(with (,evald-seq ,seq)
  
negative.code: 						 (second _)))
  			   (group x 2))))
  
  ;; Translate arguments for call to native 'new' operator.
  (defun js-transpiler-make-new-object (x)
    `(%new ,x.
  		 ,@(if (transpiler-function-arguments? *js-transpiler* x.)
  