Commit Graph

26 Commits

Author SHA1 Message Date
Matthew Flatt
3f59309634 ffi/unsafe doc repairs
Closes PR 13143
2012-09-27 08:12:56 -06:00
Matthew Flatt
8bd5dbf7cc ffi/unsafe: change `cast' to avoid pitfalls for you
The old `cast' didn't work right for a mismatch between
a pointer GCableness and the source or target types, and
it didn't work right for an GCable pointer with a non-zero
offset. While those pitfalls were documented, the first
of them definitely has been a source of bugs in code that
I wrote.

Also added `cpointer-gcable?'
2012-09-04 15:28:18 -06:00
Matthew Flatt
42ef79c2ad add `ffi/unsafe/custodian' 2012-08-12 20:17:29 -06:00
Matthew Flatt
85a2267e6c ffi/unsafe: new error message convention at primitives
Also, fix FFI procedures to preserve names: change `ptr-ref' with
`_fpointer' on an `ffi-obj' value to return the `ffi-obj'
value, so that the name in the `ffi-obj' value can be used
by `_cprocedure'.

Closes PR 12645
2012-06-01 19:03:43 -07:00
Matthew Flatt
738cac3d24 generalize `malloc' to allow a 0-sized request
Past experience suggests that this is generally better than adding
`zero?' tests at various places that might otherwise call `malloc'.
2012-03-29 14:55:14 -06:00
Matthew Flatt
6cd2e3c71b add `prop:cpointer'
Extend `define-cstruct' to support #:property specs, which causes
the constructor and C->Racket coercsions to wrap the pointer in
a structure instance with the specified properties. Of course,
the wrapper structure has a `prop:cpointer' property so that the
wrapper can be used transparently as a C pointer.

Add missing tests and documentation for the id`->list', `list->'id,
id`->list*', and `list*->'id bindings created by `define-cstruct'.
2012-02-14 14:25:55 -07:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Eli Barzilay
debd1f9f1e Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files.
(Some other minor things here and there.)
2011-06-20 04:27:14 -04:00
Matthew Flatt
bd28f2ab54 make `equal?' equate C pointers that refer to the same address 2010-11-24 13:41:11 -07:00
John Clements
c636aeb840 added docs for 'type' argument to memset 2010-08-27 16:42:32 -07:00
Eli Barzilay
28946a0a43 More reformatting 2010-05-21 20:41:35 -04:00
Eli Barzilay
2d9601089d A lot of "MzScheme" -> "Racket"s. 2010-05-16 18:26:26 -04:00
Matthew Flatt
1a5e662433 doc corrections and completions 2010-05-08 11:46:14 -06:00
Matthew Flatt
4acba84b5b reorganize and extend FFI under racket/unsafe/ffi 2010-04-26 17:10:55 -06:00
Matthew Flatt
c49b22fa2c change _pointer to mean a reference to non-GCed memory; add _gcpointer (v4.2.2.6)
svn: r16546
2009-11-04 19:28:04 +00:00
Eli Barzilay
4288c6c2c7 The Scribble reader was improved to make it pull out the syntax
punctuations outside of the form, as it does with quote punctuations.
So things like this

  #, @foo{...}

that required the space to make the @foo read as a scribble form are
now better written as

  @#,foo{...}

This changes all such occurrences.  (In case you see this change in
your files and are worried that there might be changes: I mechanically
verified that the result of `read'ing the modified files is identical
to the previous version.)

svn: r15111
2009-06-07 10:12:32 +00:00
Eli Barzilay
c0a8a01222 Changed @itemize{...} to @itemize[...] (done after comparing the doc
tree and verifying that there are no changes).
(Also fixed a few bugs that were in the code)

svn: r14427
2009-04-05 17:46:20 +00:00
Matthew Flatt
7dc8e077ed add 'not-provide-all-defined and 'nonimal-id suport for rename transformers; fix scheme/foreign and foreign docs to use it
svn: r14195
2009-03-20 16:59:28 +00:00
Eli Barzilay
078a8a2424 obviously that wasnt correct
svn: r13347
2009-02-01 09:22:55 +00:00
Eli Barzilay
eac9eb42ae typo (I hope I got it right)
svn: r13344
2009-02-01 03:02:19 +00:00
Matthew Flatt
d596401804 scheme/foreign: allow #f as NULL function pointer, allow callback as cpointer
svn: r12992
2009-01-03 18:51:15 +00:00
Matthew Flatt
2c813c53c5 fix '(nonnegative|positive)-exact-integer?' contracts (moving 'exact-' to the front where it belongs)
svn: r10960
2008-07-29 12:56:05 +00:00
Matthew Flatt
7fc41024c0 3.99.0.9: binding links in docs use nominal import sources
svn: r8196
2008-01-03 19:07:02 +00:00
Eli Barzilay
c71d064da6 many typos
svn: r8045
2007-12-18 04:27:01 +00:00
Matthew Flatt
d7e8371254 finish FFI scribbling
svn: r7944
2007-12-11 00:32:41 +00:00
Matthew Flatt
102249efc4 FFI reference mostly Scribbled
svn: r7942
2007-12-10 22:39:38 +00:00