anchor.diff:                (foreign-bitfield-value 'event-types events)) 0))
   
   (defun poll-item-socket (poll-item)
  -  "Return the `socket' of the given `poll-item'"
  +  "Return the SOCKET of the poll item POLL-ITEM."
     (foreign-slot-value poll-item 'pollitem 'socket))
   
   (defun poll (items nb-items timeout)
  
positive.code:   (call-ffi -1 '%msg-move destination source))
  
  (defun send (socket message &optional flags)
    "Queue MESSAGE to be on SOCKET."
    (call-ffi -1 '%send socket message
              (foreign-bitfield-value 'send-options flags)))
  
  
negative.code:             (foreign-bitfield-value 'recv-options flags)))
  
  (defmacro with-poll-items ((items-var size-var) items &body body)
    "Evaluate BODY in an environment where ITEMS-VAR is bound to a foreign array
    of poll items, and SIZE-VAR is bound to the number of polled items. Poll
    items are filled according to ITEMS. ITEMS is a list where each element
    describe a poll item. Each description is a list where the first element is
    a socket or file descriptor, and other elements are the events to watch
    for, :POLLIN, :POLLOUT or :POLLERR."
    (let ((i 0)
          (pollitem-size (foreign-type-size 'pollitem)))
      `(with-foreign-object (,items-var 'pollitem ,(length items))
  