anchor.diff:    "Returns a pointer to a foreign symbol NAME."
     (prog1 (ignore-errors
              (ffi:foreign-address
  -            (ffi::foreign-library-variable
  -             name library nil nil)))))
  +            #+#.(cffi-sys::post-2.45-ffi-interface-p)
  +            (ffi::find-foreign-variable name nil library nil nil)
  +            #-#.(cffi-sys::post-2.45-ffi-interface-p)
  +            (ffi::foreign-library-variable name library nil nil)))))
  
positive.code:     `(funcall
        (load-time-value
         (handler-case
             (ffi::foreign-library-function
              ,name
              ,(if (eq library :default)
                   :default
                   (library-handle-form library))
              nil
              ;; As of version 2.40 (CVS 2006-09-03, to be more precise),
              ;; FFI::FOREIGN-LIBRARY-FUNCTION takes an additional
              ;; 'PROPERTIES' argument.
              #+#.(cl:if (cl:= (cl:length (ext:arglist
                                           'ffi::foreign-library-function)) 5)
                         '(and) '(or))
              nil
              (ffi:parse-c-type ',(c-function-type
                                   types rettype calling-convention)))
           (error (err)
             (warn "~A" err))))
        ,@fargs)))
  
negative.code: (defun %load-foreign-library (name path)
    "Load a foreign library from PATH."
    (declare (ignore name))
    #+#.(cffi-sys::post-2.45-ffi-interface-p)
    (ffi:open-foreign-library path)
    #-#.(cffi-sys::post-2.45-ffi-interface-p)
    (ffi::foreign-library path))
  
  (defun %close-foreign-library (handle)
  