anchor.diff:    (when local-filename
       (bind-address socket (ensure-address local-filename :family :local)))
     (when remote-filename
  -    (connect socket (ensure-address remote-filename :family :local))))
  +    (connect socket (ensure-address remote-filename :family :local)))
  +  (values socket))
   
   (define-socket-creator (:local :datagram :active)
       (family ef &key local-filename remote-filename)
  
positive.code:         (setf (socket-option socket :bind-to-device) interface)))
      (when (plusp remote-port)
        (connect socket (ensure-hostname remote-host)
                 :port remote-port))))
  
  (define-socket-creator (:internet :datagram :active)
      (family ef &key broadcast interface (reuse-address t)
  
negative.code:     (t form)))
  
  (defmacro with-close-on-error ((var value) &body body)
    "Bind `VAR' to `VALUE' and execute `BODY' as implicit PROGN.
  If a non-local exit occurs during the execution of `BODY',
  call CLOSE with :ABORT T on `VAR'."
    `(let ((,var ,value))
       (unwind-protect-case () ,@body
         (:abort (close ,var :abort t)))))
  
  (defmacro %create-internet-socket (family &rest args)
    `(case ,family
  