anchor.diff:                      (setf iolib/pathnames:*default-file-path-defaults* abspath)
                       0)
                     (iolib/syscalls:enoent (v) (declare (ignore v)) 127))))
  +	   (:|umask|
  +	     (umask-command ut))
   	   (:|[|
   	     (run-command (make-program-command "/usr/bin/[" (command-words ut)
   						(command-assignments ut)
   						(command-redirects ut)))))
         (setf (iolib/os:environment) env))))
   
  +(defun return-command (ut)
  +  (when (second (command-words ut))
  +    (setf (se-last-returnval *current-shell-environment*)
  +	  (or (parse-integer (Second (command-words ut)) :junk-allowed t)
  +	      255))
  +    (throw 'plush-return (se-last-returnval *current-shell-environment*))))
  +				 
   (defun dot-command (ut)
     (let* ((script (second (command-words ut)))
   	 (script (if (position #\/ script)
   		     script
   		     (search-path script))))
       (format *error-output* ". ~a~%" script)
  -    (with-open-file (f script)
  -      (posix-repl :input-stream f :prompt nil :debug t))
  -    (format *error-output* "DONE: ~a~%" script)
  +    (catch 'plush-return
  +      (with-open-file (f script)
  +	(posix-repl :input-stream f :prompt nil :debug t))
  +      (format *error-output* "DONE: ~a~%" script))
       (se-last-returnval *current-shell-environment*)))
   
   (defun quote-string (string)
  
positive.code: 					  ("." . make-special-utility)
  					  ("eval" . make-special-utility)
  					  ("exec" . make-special-utility)
  					  ("umask" . make-special-utility)
  					  ("export" . make-special-utility)
  					  ("unset" . make-special-utility)
  					  ("alias" . make-special-utility)
  					  ("exit" . make-special-utility)
  					  ))
  ; TODO implement some utilities
  (defparameter +shell-utilities+ '(("cd" . make-utility)
  				  ("[" . make-utility)))
  
  (defparameter +special-variables+ '(:@ :# :* :? :- :$ :! :0))
  
negative.code:       (t
         (with-redirected-io ((command-redirects ut))
  	 (case cmd-name
  	   (:|break|
  	     (throw-command ut 'break))
  	   (:|:|
  	     0)
  	   (:|continue|
  	     (throw-command ut 'continue))
  	   (:|.|
  	     (dot-command ut))
  	   (:|eval|
  	     (eval-command ut))
  	   (:|exec|
  	     (exec-command ut))
  	   (:|exit|
  	     (exit-command ut))
  	   (:|export|
  	     (export-command ut))
  	   (:|return|
  	     (return-command ut))
  	   (:|unset|
  	     (unset-command ut))
  	   ))))))
  
  (defun assignments-to-env (assignments)
    (let ((env (iolib/os:environment)))
  