anchor.diff:  
   (defun create-process (program-and-args &key (environment t)
                          (stdin :pipe) (stdout :pipe) (stderr :pipe)
  -                       new-session current-directory uid gid resetids)
  +                       new-session current-directory uid gid resetids
  +                       (external-format :utf-8))
     (flet ((new-ctty-p (stdin stdout stderr)
              (or (eql :pty stdin)
                  (eql :pty stdout)
  
positive.code:    (stdout :initform nil :reader process-stdout)
     (stderr :initform nil :reader process-stderr)))
  
  (defmethod initialize-instance :after ((process process) &key stdin stdout stderr)
    (with-slots ((in stdin) (out stdout) (err stderr))
        process
      (setf in  (and stdin  (make-instance 'iolib.streams:dual-channel-gray-stream :fd stdin))
            out (and stdout (make-instance 'iolib.streams:dual-channel-gray-stream :fd stdout))
            err (and stderr (make-instance 'iolib.streams:dual-channel-gray-stream :fd stderr)))))
  
  (defmethod close ((process process) &key abort)
    (with-slots (pid reaped stdin stdout stderr)
  
negative.code:                                    :environment environment
                                     :stdin nil
                                     :stdout :pipe
                                     :stderr stderr
                                     :external-format external-format)))
        (unwind-protect
             (values (process-wait process)
                     (slurp (process-stdout process))
  