anchor.diff:  
   (in-package :next)
   
  +;; TODO: a global isn't satisfactory. Two separate instances of open-file will interfere with this global variable.
  +;; - store it as a class slot ?
  +;; see also: uiop:with-current-directory, uiop:getcwd
   (defvar *current-directory* download-manager::*default-download-directory*
     "Default directory to open files from. Defaults to the downloads directory.")
   
  
positive.code:           "M-Right" 'enter-directory)
  
          (define-key :keymap vi-map
            "M-Left" 'display-parent-directory)
  
          (list :emacs emacs-map
  
negative.code:       (update-display minibuffer))))
  
  (defun clean-up-open-file-mode ()
    "Remove `open-file-mode' from the minibuffer modes.
  So that we don't clutter the usual minibuffers with our keybindings."
    (setf (modes (minibuffer *interface*))
          ;TODO: be more general. Use delete-if.
          (last (modes (minibuffer *interface*)))))
  
  (define-command open-file ()
    "Open a file from the filesystem.
  
  The user is prompted with the minibuffer, files are browsable with
  fuzzy completion.
  
  The default directory is the one computed by
  `download-manager:default-download-directory' (usually `~/Downloads').
  
  Press `Enter' to visit a file, `M-Left' or `C-l' to go one directory
  up, `M-Right' or `C-j' to browse the directory at point.
  