Commit Graph

108 Commits

Author SHA1 Message Date
Matthew Flatt
745c4b6470 fix another way that `racket/gui' instances can leak 2011-12-02 15:48:29 -07:00
Matthew Flatt
be89a1c1c4 ffi/unsafe/objc: at least load on platforms without libobjc 2011-11-28 13:51:25 -07:00
Jon Rafkind
8ba0551fe5 add version 3 of libmagickwand to the ffi example 2011-11-18 09:59:43 -07:00
Matthew Flatt
75dd61ebc3 fix leak in `racket/draw' instantiation 2011-11-11 16:32:16 -07:00
Matthew Flatt
8bd81f4806 fix ffi retain of callbacks
The FFI's weak table of callback procedures (to map Racket procedures
to FFI callback objects) suffered from the classic key-in-value
problem.

Closes PR 12228, probably

Merge to 5.2
2011-10-09 09:01:15 -06:00
Matthew Flatt
f38e57ff68 add #:get-lib-dirs and #:fail args to `ffi-lib'
Not currently used, because an experiment that used the additions
was abandoned, but another use in the future seems likely.
2011-10-05 06:28:30 -06:00
Matthew Flatt
0197902309 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Matthew Flatt
231b352bec fix NSProcessInfo arguments hack
The target of the change is actually `hack-argument-replacement' in
`mred/private/coco/queue'. The replaced method can get called in
a different OS-level thread than the main thread.

Closes PR 12086
2011-09-09 22:27:34 -06:00
Eli Barzilay
57ea31cca2 With 4f83f7f, the hack around PR7104 is no longer needed. 2011-08-29 16:36:24 -04:00
Kevin Tew
a810b30b87 remove underscore from cpointer key 2011-08-29 08:44:32 -06:00
Kevin Tew
fa4bb9dda0 Change cpointer tag to be a symbol 2011-08-23 13:33:06 -06:00
Matthew Flatt
345b06838d FFI: add C arrays and unions 2011-08-20 10:24:32 -06:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Matthew Flatt
59731368fc add ffi/winapi; use it in mzlib/os
Closes PR 12007
2011-07-01 10:42:17 -06:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Matthew Flatt
49aadc599a ffi: add `#:in-original-place?' to deal with thread-unsafe libs
and use it for Pango, which is not thread-safe at the C level
2011-05-13 08:55:04 -06:00
Robby Findler
507b1cd8fd moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
  one library
2011-05-05 16:10:42 -05:00
Matthew Flatt
3bf438f580 rewrite `ffi-lib' docs with better guidance on versions 2011-05-03 13:16:21 -06:00
Matthew Flatt
2ada6d0e89 break link to namespaces from from closures over top-/module-level vars
- the `lam' structure from `compiler/zo-struct' changed to include a
   `toplevel-map' field

 This change helps solve a finalization problem in `racket/draw',
 which in turn sigificantly reduces the peak memory use of `raco setup'
 during the doc-building phase (because some documents load `racket/draw'
 to render images, and multiple copies of `racket/draw' were retained
 before finalization was fixed).

 The change is an extreme way to solve a specific finalization
 problem, but it's a kind of space-safety improvement; space safety
 almost never matters, but when it does, then working around a lack of
 space safety is practically impossible. In this case, it's not clear
 how to otherwise solve the `racket/draw' finalization problem.

 The improvement doesn't change the representation of closures, but it
 requires special cooperation with the GC. All closures in a module
 continue to share the same array of globals (plus syntax objects);
 that is, instead of completely flat closures, Racket uses a two-level
 environment where top-/module-level variables are grouped
 together. The code half of a closure now records which
 top-/module-level variables the body code actually uses, and the mark
 phase of GC consults this information to retain only parts of the
 top-/module-level environment frame that are actually used by some
 closure (or all of the frame if it is accessible through some other
 route).  In other words, the GC supports a kind of "dependent
 reference" to an array that is indexed by positions into the array
 --- except that the code is more in the "Racket" directory instead of
 the "GC" directory, since it's so specific to the closure
 representation.
2011-05-03 06:57:49 -06:00
Robby Findler
e7d0029aea added lots of new tests that our documentation is complete 2011-04-25 13:24:43 -05:00
Jon Rafkind
3f572809c9 better error message when pre: or post: is used incorrectly 2011-04-18 17:27:21 -06:00
Ryan Culpepper
9bc3457bbd renamed ffi/unsafe/security to ffi/file 2011-04-15 14:47:29 -06:00
Ryan Culpepper
a19a0340aa added ffi/unsafe/security 2011-04-07 09:47:20 -06:00
David Van Horn
760a58b65d Fixes more spelling errors. 2011-02-04 19:44:13 -07:00
Matthew Flatt
cbea645284 fix try-atomic bug related to cont-mark-set-first and recent prompt fix 2011-01-20 07:10:05 -07:00
Matthew Flatt
4d008e3021 fix for pre-v2.0 Objective-C 2010-12-27 16:12:36 -07:00
Matthew Flatt
4a6af2a81e another try-atomic repair 2010-12-22 19:09:21 -07:00
Matthew Flatt
78b2e47541 fix more try-atomic problems 2010-12-21 18:45:36 -07:00
Matthew Flatt
1a190c08f6 remove debugging log message 2010-12-14 14:53:00 -07:00
Matthew Flatt
ea789fc481 further avoid nested try-atomics
to avoid the possibility of deadlock when, for example,
  `yield' is called during a try-atomic callback
2010-12-14 11:49:23 -07:00
Matthew Flatt
1d0adfd8f2 fix problem with nested try-atomic regions 2010-12-14 11:49:23 -07:00
Matthew Flatt
3479f5fb92 cocoa: hack around NSApplication's handling of command-line arguments 2010-12-02 11:53:18 -07:00
Matthew Flatt
ca8b32725e fix bloking operations during a try-atomic
and remove old delim-cont support used by gr1
2010-11-30 15:08:16 -07:00
Matthew Flatt
0d6d285423 clear objc ivar on `dealloc'
so that a field is not incorrectly used if the super `dealloc' triggers
 callbacks
2010-11-24 07:08:54 -07:00
Eli Barzilay
b8bbed6eb4 Throw an error when translating an unknown enum integer to a symbol.
Also, add a keyword argument that can be used to get the old behavior
back.

Also, improve the way the `_enum' and `_bitmask' functions are wrapped.
2010-11-16 15:19:38 -05:00
Eli Barzilay
4f36ce9635 Redo `define-cstruct' with proper errors and more concisely. 2010-11-12 17:21:11 -05:00
Jon Rafkind
de16fb118e improve define-cstruct error messages. closes pr11422 2010-11-11 13:27:49 -07:00
Eli Barzilay
735c4deac7 Throw a proper syntax error on uses of the ffi `->'.
Closes PR 11421
2010-11-11 13:39:49 -05:00
Matthew Flatt
af6cad4913 destroy windows via finalization outside of the event loop 2010-11-05 15:54:52 -06:00
Matthew Flatt
58e1e37734 fix bug in ffi struct alignment 2010-11-05 15:54:51 -06:00
Matthew Flatt
20ab31743d fix yet another mistake in atomic-mode implementation 2010-11-05 15:54:47 -06:00
Matthew Flatt
d2275f4179 level-2 finalization from ffi/unsafe and late-weak references 2010-11-05 15:54:47 -06:00
Matthew Flatt
40a65a46d2 overhaul GC finalization 2010-11-05 15:54:47 -06:00
Matthew Flatt
3294d3427a fix nested atomic escape 2010-11-05 15:54:46 -06:00
Matthew Flatt
2cebc60eca ppc cocoa 2010-11-05 15:54:45 -06:00
Matthew Flatt
391cbe1315 more pre-2.0 objc fixes 2010-11-05 15:54:45 -06:00
Matthew Flatt
8c5db384d4 more obj-c pre-2.0 fixes 2010-11-05 15:54:45 -06:00
Matthew Flatt
789563f82b support pre-2.0 Objective-C 2010-11-05 15:54:45 -06:00