anchor.diff:            revert-buffer
             change-directory))
   
  +
   (defun expand-files* (filename)
     (directory-files (expand-file-name filename (buffer-directory))))
  +
  +(defun maybe-create-directory (directory)
  +  (when (prompt-for-y-or-n-p
  +         (format nil "Directory does not exist: ~A. Create" directory))
  +    (ensure-directories-exist directory)))
  +
  +(defun directory-for-file-or-lose (filename)
  +  (let ((directory (directory-namestring filename)))
  +    (unless (or (uiop:directory-exists-p directory)
  +                (maybe-create-directory directory))
  +      (error 'editor-abort))
  +    directory))
   
   (define-key *global-keymap* "C-x C-f" 'find-file)
   (define-command find-file (filename) ("p")
  
positive.code:                  (not (prompt-for-y-or-n-p (format nil
                                                     "~a is opend, overwrite it?"
                                                     expand-file-name))))
        (unless (string= old new)
          (buffer-rename (current-buffer)
                         (if (get-buffer new)
                             (uniq-buffer-name new)
                             new)))
        (setf (buffer-filename) expand-file-name)
        (add-newline-at-eof (current-buffer))
        (save-buffer t))))
  
negative.code:           ((pathnamep filename)
             (setf filename (namestring filename))))
      (dolist (pathname (expand-files* filename))
        (directory-for-file-or-lose pathname)
        (switch-to-buffer (find-file-buffer pathname) t nil)
        t)))
  
  (define-key *global-keymap* "C-x C-r" 'read-file)
  (define-command read-file (filename) ("FRead File: ")
  