diff --git a/collects/scribblings/foreign/types.scrbl b/collects/scribblings/foreign/types.scrbl index 595968b27e..44975a2e96 100644 --- a/collects/scribblings/foreign/types.scrbl +++ b/collects/scribblings/foreign/types.scrbl @@ -282,7 +282,9 @@ PLT Scheme's C API.} Similar to @scheme[_pointer], except that when an @scheme[_fpointer] is extracted from a pointer produced by @scheme[ffi-obj-ref], then a level of indirection is skipped. A level of indirection is similarly -skipped when extracting a pointer via @scheme[get-ffi-obj]. +skipped when extracting a pointer via @scheme[get-ffi-obj]. Also +unlike @scheme[_pointer], @scheme[_fpointer] does not convert +@scheme[#f] to @cpp{NULL}. A type generated by @scheme[_cprocedure] builds on @scheme[_fpointer], and normally @scheme[_cprocedure] should be used instead of @@ -439,9 +441,11 @@ For example, specifies a function that receives an integer and a string, but the foreign function receives the string first.} -@defproc[(function-ptr [ptr cpointer?] [fun-type ctype?]) cpointer?]{ +@defproc[(function-ptr [ptr-or-proc (or cpointer? procedure?)] + [fun-type ctype?]) + cpointer?]{ -Casts @scheme[ptr] to a function pointer of type @scheme[fun-type].} +Casts @scheme[ptr-or-proc] to a function pointer of type @scheme[fun-type].} @; ----------------------------------------------------------------------