anchor.diff:    (defbinding selection-data-get-uris () (null-terminated-vector string)
       (selection-data selection-data)))
   
  -(defbinding selection-data-get-targets () boolean
  +(defbinding %selection-data-get-targets () boolean
     (selection-data selection-data)
  -  (targets (vector gdk:atom n-atoms))
  -  (n-atoms int))
  +  (targets (vector gdk:atom n-targets) :out)
  +  (n-targets int :out))
  +
  +(defun selection-data-get-targets (selection-data)
  +  (multiple-value-bind (valid-p targets) 
  +      (%selection-data-get-targets selection-data) 
  +    (when valid-p
  +      (map-into targets #'gdk:atom-name targets))))
   
   #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
   (defbinding selection-data-targets-include-image-p (selection-data &optional writable-p) boolean
     (selection-data selection-data)
     (writable-p boolean))
   
  -(defbinding selection-data-targets-include-text-p (selection-data) boolean
  +(defbinding selection-data-targets-include-text-p () boolean
     (selection-data selection-data))
   
   (defbinding selection-remove-all () boolean
  
positive.code: 
  (defbinding target-list-add (target-list target &optional flags info) nil
    (target-list target-list)
    (target gdk:atom)
    (flags unsigned-int)
    (info unsigned-int))
  
  (defbinding target-list-add-table (target-list targets) nil
  
negative.code:      (target-entry 1))
     int))
  
  (defbinding selection-clear-targets (widget selection) nil
    (widget widget)
    ((gdk:atom-intern selection) gdk:atom))
  
  (defbinding selection-convert (widget selection target time) boolean
    (widget widget)
    ((gdk:atom-intern selection) gdk:atom)
    ((gdk:atom-intern target) gdk:atom)
    (time unsigned-int))
  
  (defbinding selection-data-set (selection-data type format data length) boolean
    (selection-data selection-data)
    ((gdk:atom-intern type) gdk:atom)
    (format int)
    (data pointer)
    (length int))
  