anchor.diff:             (insert-string point (completion-item-label item))))))
   
   (defun create-completion-buffer (items back-attribute)
  -  (let ((buffer (get-buffer-create "*Completion*")))
  +  (let ((buffer (or (completion-buffer)
  +                    (make-buffer " *Completion*" :enable-undo-p nil))))
  +    (setf *completion-buffer* buffer)
       (erase-buffer buffer)
       (setf (variable-value 'truncate-lines :buffer buffer) nil)
       (let ((point (buffer-point buffer))
  
positive.code: 
  (defvar *completion-overlay* nil)
  (defvar *completion-window* nil)
  (defvar *completion-restart-function* nil)
  
  (defun completion-buffer ()
    (get-buffer "*Completion*"))
  
  (defun completion-buffer-point ()
    (let ((buffer (completion-buffer)))
  
negative.code:   (delete-window *completion-window*)
    (let ((buffer (completion-buffer)))
      (when buffer
        (delete-buffer buffer)
        (setf *completion-buffer* nil)))
    (redraw-display t))
  
  (defun completion-again ()
  