anchor.diff:    (let* ((name-fact (first (lookup book :b :notebook-name)))
   	 (same? (equal (third name-fact) new-name)))
       (unless same?
  -      (change! book name-fact (list (first name-fact) :notebook-name new-name)))
  +      (change! book name-fact (list (first name-fact) :notebook-name new-name))
  +      (unless (lookup book :b :package-edited?)
  +	(repackage-notebook! book (default-package book))))
       (values book (not same?))))
   
   ;;;;;;;;;; Notebooks table and related functions
  
positive.code: (defmethod notebook-id ((book notebook))
    (file-namestring (file-name book)))
  
  (defmethod notebook-name ((book notebook))
    (caddar (lookup book :b :notebook-name)))
  
  (defmethod rename-notebook! ((book notebook) (new-name string))
    "Takes a book and a new name.
  
negative.code:       (loop for entry = (fact-base::read-entry! s) while entry
  	 do (incf (fact-base::entry-count book))
  	 do (fact-base::apply-entry! book entry)))
      (setf (namespace book) (notebook-package! book))
      (register-notebook! book)))
  
  (defmethod kill! ((book notebook))
  