anchor.diff:                       (character-offset point 1)))))))))
   
   (define-command slime-indent-sexp () ()
  -  (lem.lisp-mode:lisp-indent-sexp))
  +  (with-point ((end (current-point) :right-inserting))
  +    (when (form-offset end 1)
  +      (indent-region (current-point) end))))
   
   (define-command slime-set-package (package-name) ((list (read-package-name)))
     (check-connection)
  
positive.code:     (self-connect)))
  
  (defun buffer-package (buffer &optional default)
    (or (lem.lisp-mode::lisp-buffer-package buffer)
        default))
  
  (defun current-package ()
    (or (buffer-package (current-buffer))
  
negative.code: (defun repl-get-prompt ()
    (format nil "~A> " *slime-prompt-string*))
  
  (defun repl-paren-correspond-p (point)
    (loop :with count := 0
          :do
          (insert-character point #\))
          (incf count)
          (unless (form-offset (copy-point point :temporary) -1)
            (delete-character point (- count))
            (return (= 1 count)))))
  
  (defun repl-reset-input ()
    (let ((buffer (repl-buffer)))
      (when buffer
        (setf (variable-value 'lem.listener-mode:listener-get-prompt-function :buffer buffer)
              'repl-get-prompt
              (variable-value 'lem.listener-mode:listener-check-confirm-function :buffer buffer)
              'repl-paren-correspond-p
              (variable-value 'lem.listener-mode:listener-confirm-function :buffer buffer)
              'repl-confirm))))
  
  