anchor.diff:  (define-stupid-show restart)
   (define-stupid-show abort)
   
  -(defgeneric default-handler (condition))
  +(defgeneric default-handler (condition-like))
   (defmethod default-handler ((c condition))
     nil)
   (defmethod default-handler ((c warning))
  
positive.code: (defmacro dynamic-bind-1 (binding &rest body)
    (let ((name (compound-elt binding 0))
          (value (compound-elt binding 1)))
      #`(let ((old-value (dynamic ,name)))
          (setq (dynamic ,name) ,value)
          (unwind-protect (progn ,@body)
            (setq (dynamic ,name) old-value)))))
  
  ;;;; Conditions
  
  
negative.code: 
  ;;;; Dynamic variables
  
  (defclass dynamic ()
    (.dynamic-value))
  
  (defun make-dynamic (value)
    (let ((d (make dynamic)))
      (setf (.dynamic-value d) value)
      d))
  
  (defmacro dynamic-id (name)
    #`(identifier ,name dynamic))
  
  (defmacro dynamic (name)
    #`(.dynamic-value (dynamic-id ,name)))
  
  (defmacro defdynamic (name &optional (value #'nil))
    #`(defvar (dynamic-id ,name) (make-dynamic ,value)))
  
  (defmacro dynamic-bind (bindings &rest body)
    (if (compound-empty? bindings)
  