anchor.diff:      (push sender (log5-senders (log-manager)))
       sender))
   
  -(defmacro stop-sender (name)
  -  "Find the sender named `name` and stop it."
  +(defmacro stop-sender (name &key (warn-if-not-found-p t))
  +  "Find the sender named `name` and stop it. If the sender is not active, then
  +a `sender-not-found-warning` will be signaled unless `warn-if-not-found-p` is
  +set to nil."
     `(progn (stop-sender-fn ,name) nil))
   
   (defun stop-sender-fn (name &key (warn-if-not-found-p t))
  
positive.code: (in-package #:common-lisp-user)
  
  (defpackage #:log5
  
negative.code:    sb-ext:without-package-locks
     #-sbcl
     progn
     (multiple-value-bind (sender-postivies sender-negatives)
         (determine-category-variables sender-spec)
       (let* ((cat-positive (category-variables category))
  	    (cat-negative (category-negated-variables category))
  	    (sender-variables (nconc sender-postivies sender-negatives))
  	    (sender-free (remove-if (lambda (x)
  				      (or (member x cat-positive)
  					  (member x cat-negative)))
  				    sender-variables)))
         (eval
  	`(%with-vars ,cat-positive t
  	   (%with-vars ,cat-negative nil
  	     (%with-vars ,sender-free nil
  	       ,sender-spec))))))))
  
  (defun compile-handle-message-fn (fn)
    (compile nil fn))
  