anchor.diff:        (format os "~&<div id='symbols-exported-with-no-definition' class='markdown-report'>~%")
         (format os "~&<h1>Exported Symbols with no apparent use</h1>~%")
         (cond (packages
  -	     (format os "~&<div>~%")
  -	     (format os "~&<h2>From packages:</h2>~%")
  -	     (format os "~&~{~&<span>~a</span>~^~}"
  -		     (mapcar #'package-name packages))
  -	     (format os "~&</div>~%")
  -	     (format os "~&<h2>Symbols</h2>~%")
  -	     (loop for s in (symbols-exported-with-no-definition
  -			     packages :excluded-symbols excluded)
  -		do (format os "~&<span>~s</span>~%" s))
  -	     (when excluded
  -	       (format os "~&<div class='excluded-symbols'>~%")
  -	       (format os "~&<h2>Ignoring the following symbols</h2>~%")
  -	       (format os "~&~{<span class='excluded-symbol'>~s</span>~^~%~}~%"
  -		       excluded)
  -	       (format os "~&</div>~%")))
  +	     (let ((symbols (symbols-exported-with-no-definition
  +			     packages :excluded-symbols excluded)))
  +	       (format os "~&<div>~%")
  +	       (format os "~&<h2>From packages:</h2>~%")
  +	       (format os "~&~{~&<span>~a</span>~^ ~}"
  +		       (mapcar #'package-name packages))
  +	       (format os "~&</div>~%")
  +	       (cond ((> (length symbols) 0)
  +		      (format os "~&<h2>~:d Symbols</h2>~%" 
  +			      (length symbols))
  +		      (loop for s in symbols do
  +			   (format os "~&<span>~s</span> ~%" s)))
  +		     (t 
  +		      (format os "~&All exported symbols are accounted for~%" 
  +			      (length symbols))))
  +	       (when excluded
  +		 (format os "~&<div class='excluded-symbols'>~%")
  +		 (format os "~&<h2>Ignoring the following ~:d symbols</h2>~%"
  +			 (length excluded))
  +		 (format os "~&~{<span class='excluded-symbol'>~s</span> ~^ ~%~}~%"
  +			 excluded)
  +		 (format os "~&</div>~%"))))
   	    (t
   	     (format os "~&<p>There are no packages specified by the 
   property :documentation-packages~%")))
         (format os "~&</div>~%"))))
   
  -(defextension (undocumented-symbols-report
  +(defextension (unmentioned-symbols-report
   	       :arguments ((packages :keyword)
   			   (excluded-symbols :keyword)
   			   (donot-display-excluded-symbols :keyword)))
  
positive.code:     (symbols-that-should-be-documented
       packages :excluded-packages excluded-packages
       :excluded-symbols excluded-symbols) 
      (symbols-documented-by-documents multi-doc))
     #'string-lessp))
   
  #+ignore
  
negative.code: 	:sparql
  	:net.cluster)))
  
  (defun symbols-documented-by-document (document default-package)
    (let ((*package* (or (let ((*current-document* document))
  			 (document-property :docs-package))
  		       (find-package default-package)))
  	(markdown-package (find-package :cl-markdown)))
      (flet ((fix-symbol (symbol)
  	     (if (eql (symbol-package symbol) markdown-package)
  		 (intern (symbol-name symbol) *package*)
  		 symbol)))
        (mapcar
         (lambda (thing)
  	 (etypecase thing
  	   (symbol (fix-symbol thing))
  	   (cons (list (first thing) (fix-symbol (second thing))))))
         (cl-containers:collect-keys
  	(first (cl-containers:item-at-1 
  		(cl-markdown::properties document) :documentation-anchors)) 
  	:transform #'car)))))
  
  (defun symbols-documented-by-documents (documents default-package)
    (remove-duplicates
     (loop for document in documents append
  	(symbols-documented-by-document document default-package))))
  
  (defun symbols-not-documented-by-multi-document 
      (multi-doc packages default-package &key
       (excluded-packages (list :common-lisp
  			      #+allegro :excl))
       (excluded-symbols nil))
  