anchor.diff:  		   (load (cim_home "/lib/repl.lisp") :verbose nil :print nil))
   		  (*argv*
   		   (let ((*load-print* nil))
  -		     (load (if (opt :sexp)
  -			       (make-string-input-stream (opt :sexp))
  -			       (remove-shebang (open (pop *argv*) :if-does-not-exist :error)))
  -			   :verbose nil :print nil)))
  +		     (if (opt :sexp)
  +			 (with-input-from-string (in (opt :sexp))
  +			   (loop :for sexp := (read in nil nil)
  +			      :while sexp :do
  +			      (eval sexp)))
  +			 (load (remove-shebang (open (pop *argv*) :if-does-not-exist :error))
  +			       :verbose nil :print nil))))
   		  ((not *argv*)
   		   (loop (handler-case
   			     (eval (read))
  
positive.code:     (if x (cdr x) default))
    #-CMU
    (or
     #+Allegro (sys:getenv name)
     #+CLISP (ext:getenv name)
     #+ECL (si:getenv name)
     #+GCL (si::getenv name)
     #+SBCL (sb-unix::posix-getenv name)
     #+LISPWORKS (lispworks:environment-variable name)
     #+ABCL (java:jstatic "getenv" "java.lang.System" name)
     default))
  
  (defun cim_home (path)
  
negative.code: 
  (defun opt (key)
    (gethash key *options*))
  (defsetf opt (key) (obj)
    `(setf (gethash ,key *options*) ,obj))
  
  (defun remove-shebang (in)
    (let ((line (read-line in nil "#!")))
  