diff --git a/basis/libc/libc.factor b/basis/libc/libc.factor index 6b025e957a..95ed73c7e6 100644 --- a/basis/libc/libc.factor +++ b/basis/libc/libc.factor @@ -72,7 +72,7 @@ M: realloc-error summary [ unregister-disposable ] when* ; : malloc-exists? ( alien -- ? ) - disposables get key? ; + disposables get in? ; PRIVATE> diff --git a/basis/tools/destructors/destructors.factor b/basis/tools/destructors/destructors.factor index a8a1b35e87..b923c7ba94 100644 --- a/basis/tools/destructors/destructors.factor +++ b/basis/tools/destructors/destructors.factor @@ -1,16 +1,19 @@ ! Copyright (C) 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: assocs classes destructors fry kernel math namespaces -prettyprint sequences sets sorting continuations accessors arrays -io io.styles combinators.smart ; +USING: accessors arrays assocs classes combinators.smart +continuations destructors fry io io.styles kernel namespaces +prettyprint sequences sets sorting ; +FROM: sets => members ; IN: tools.destructors alist [ first2 [ length ] keep 3array ] map [ second ] sort-with standard-table-style [ [ @@ -39,7 +42,7 @@ PRIVATE> disposables get (disposables.) ; : disposables-of-class. ( class -- ) - [ disposables get values sort-disposables ] dip + [ disposables get members sort-disposables ] dip '[ _ instance? ] filter stack. ; : leaks ( quot -- ) @@ -48,4 +51,4 @@ PRIVATE> [ [ call disposables get clone ] dip ] [ f debug-leaks? set-global ] [ ] cleanup - assoc-diff (disposables.) ; inline + diff (disposables.) ; inline diff --git a/core/destructors/destructors.factor b/core/destructors/destructors.factor index 0cb15ad40a..7aa3fd2476 100755 --- a/core/destructors/destructors.factor +++ b/core/destructors/destructors.factor @@ -17,10 +17,10 @@ SLOT: continuation : register-disposable ( obj -- ) debug-leaks? get-global [ current-continuation >>continuation ] when - disposables get conjoin ; + disposables get adjoin ; : unregister-disposable ( obj -- ) - disposables get 2dup key? [ delete-at ] [ drop already-unregistered ] if ; + disposables get 2dup in? [ delete ] [ drop already-unregistered ] if ; PRIVATE> @@ -92,7 +92,7 @@ PRIVATE> ] with-scope ; inline [ - H{ } clone disposables set-global + HS{ } clone disposables set-global V{ } clone always-destructors set-global V{ } clone error-destructors set-global ] "destructors" add-startup-hook