anchor.diff:  (defun disable-hook ()
     (setf (variable-value 'isearch-next-last :buffer) nil)
     (setf (variable-value 'isearch-prev-last :buffer) nil))
  +
  ++
  +(defun isearch-default-string ()
  +  (unless *isearch-previous-string*
  +    (setf *isearch-previous-string* (config :isearch-previous-string "")))
  +  *isearch-previous-string*)
  +
  +(defun change-previous-string (string)
  +  (setf (config :isearch-previous-string) string
  +        *isearch-previous-string* string))
   
    
  
positive.code:                                       :undef-hook 'isearch-self-insert))
  (defvar *isearch-prompt*)
  (defvar *isearch-string*)
  (defvar *isearch-prev-string* "")
  (defvar *isearch-start-point*)
  (defvar *isearch-search-function*)
  (defvar *isearch-search-forward-function*)
  
negative.code: (define-command isearch-next () ()
    (when (boundp '*isearch-string*)
      (when (string= "" *isearch-string*)
        (setq *isearch-string* (isearch-default-string)))
      (setf (variable-value 'isearch-prev-last :buffer) nil)
      (cond ((variable-value 'isearch-next-last :buffer)
             (setf (variable-value 'isearch-next-last :buffer) nil)
  