anchor.diff:    "Create a local scope where STREAM-VAR is a socket stream connected to the EPMD."
     (let ((socket-var (gensym)))
       `(let* ((,socket-var (handler-case (usocket:socket-connect
  -					,host
  -					,port
  -					:element-type '(unsigned-byte 8))
  -			   (usocket:connection-refused-error ()
  -			     (error 'epmd-unreachable-error))
  -			   (usocket:unknown-error ()
  -			     (error 'epmd-host-unknown-error))))
  -	    (,stream-var (usocket:socket-stream ,socket-var)))
  +                                        ,host
  +                                        ,port
  +                                        :element-type '(unsigned-byte 8))
  +                           (usocket:connection-refused-error ()
  +                             (error 'epmd-unreachable-error))
  +                           (usocket:unknown-error ()
  +                             (error 'epmd-host-unknown-error))))
  +            (,stream-var (usocket:socket-stream ,socket-var)))
          (unwind-protect (progn ,@body)
  -	 (usocket:socket-close ,socket-var))) ))
  +         (usocket:socket-close ,socket-var))) ))
   
   (defun node-name (node-string)
     "Return the name part of a node identifier"
     ;; All characters up to a #\@ is the name
     (let ((pos (position #\@ node-string)))
       (if pos
  -	(subseq node-string 0 pos)
  -	node-string)))
  +        (subseq node-string 0 pos)
  +        node-string)))
   
   (defun node-host (node-string)
     "Return the host part of a node identifier"
     ;; All characters after a #\@ is the host
     (let ((pos (position #\@ node-string)))
       (if pos
  -	(subseq node-string (1+ pos))
  -	"localhost"))) ;; OK with localhost??
  +        (subseq node-string (1+ pos))
  +        "localhost"))) ;; OK with localhost??
   
   (defun epmd-lookup-node (node-name &optional (host "localhost"))
     "Query the EPMD about a node. Returns a REMOTE-NODE object that represents the node."
  
positive.code:     ;; 1 byte:  Result            [0 means OK, >0 means ERROR]
      ;; 2 bytes: Creation          [?]
      (handler-case
  	(let* ((alive2-response (read-bytes 4 epmd))
  	       (tag (aref alive2-response 0))
  	       (result (aref alive2-response 1))
  	       (creation (bytes-to-uint16 (subseq alive2-response 2))))
  	  (declare (ignore creation))
  	  (cond
  	    ((/= tag +alive2-resp+)
  	     (error 'unexpected-message-tag-error
  		    :tag tag
  		    :expected-tags (list +alive2-resp+)))
  	    ((/= 0 result)
  	     (error 'epmd-response-error))
  	    (t
  	     socket)))
        (end-of-file () (error 'connection-closed-error))) ))
  
  (defun epmd-unpublish (socket)
  
negative.code:     ;; 2 bytes: Length of the Extra field
      ;; M bytes: Extra             [???]
      (let* ((node-name-length (length node-name))
             (extra-field-length 0) ; Extra field is empty
             (message-length (+ 13 node-name-length extra-field-length))
             (alive2-req (concatenate 'vector
                                      (uint16-to-bytes message-length)
                                      (vector +alive2-req+)
                                      (uint16-to-bytes port)
                                      (vector +node-type-hidden+
                                              +protocol-tcpip4+
                                              +lowest-version-supported+
                                              +highest-version-supported+)
                                      (uint16-to-bytes node-name-length)
                                      (string-to-bytes node-name)
  
                                      (uint16-to-bytes extra-field-length)
                                      #| No extra field |#)))
        (write-sequence alive2-req epmd)
        (finish-output epmd))
      ;;;; ALIVE2_RESP ;;;;
  