anchor.diff:  
   (defvar *prompt-attribute* (make-attribute "blue" nil :bold-p t))
   
  -(defvar %listener-marker-indicator (gensym))
  -(defmacro %listener-marker ()
  -  `(get-bvar %listener-marker-indicator))
  +(defvar %listener-point-indicator (gensym))
  +(defmacro %listener-point ()
  +  `(get-bvar %listener-point-indicator))
   
   (defvar %listener-history-indicator (gensym))
   (defmacro %listener-history ()
  
positive.code:                             :attribute *prompt-attribute*
                              'lem.property:read-only t
                              'lem.property:field-separator t))
      (lem::buffer-end cur-marker)
      (buffer-undo-boundary buffer)
      (listener-update-marker)))
  
  (define-key *listener-mode-keymap* (kbd "C-m") 'listener-return)
  (define-command listener-return () ()
  
negative.code:           (end (lem::buffers-end (current-point))))
        (lem::delete-between-points start end)
        (when win (lem::insert-string-at start str))
        (lem::move-point (%listener-point) start))))
  
  (define-key *listener-mode-keymap* (kbd "M-r") 'listener-reset-interactive)
  (define-command listener-reset-interactive (arg) ("P")
  