anchor.diff:        (list
          "up" 'backward-line
          "down" 'forward-line
  -       "left" 'forward-char
  +       "left" 'backward-char
          "right" 'forward-char
  -       "escape" 'visual-mode)
  +       "escape" 'visual-mode
  +       "keypadend" 'end-line
  +       "space" 'forward-char
  +       "backspace" 'backward-char
  +       "keypadhome" 'beginning-line)
         scheme:emacs
         (list
          "C-h" 'select-paragraph
  
positive.code:        "l" 'forward-char
         "w" 'forward-word
         "$" 'end-line
         "keypadend" 'end-line
         "space" 'forward-char
         "backspace" 'backward-char
         "0" 'beginning-line
         "keypadhome" 'beginning-line
         "v" 'visual-mode
         "C-c" 'visual-mode)))
     (destructor
      (lambda (mode)
        (make-page-uneditable)
        (unlock-page-keypresses)
        (defparameter *mark-set* nil)))
     (constructor
      (lambda (mode)
        (make-page-editable)
  
negative.code:       (select-paragraph)
        ;; imitating visual mode in vim
        (if (equal (keymap-scheme-name (buffer mode)) scheme:vi-normal)
            (setf (mark-set mode) t))))))
  
  (define-parenscript %add-paragraph-hints (&key annotate-visible-only-p)
    (defun qs (context selector)
  