[ plist> ] NSFastEnumeration-map ;
: (plist-NSDictionary>) ( NSDictionary -- hashtable )
- dup [ tuck -> valueForKey: [ plist> ] bi@ 2array ] with
+ dup [ [ nip ] [ -> valueForKey: ] 2bi [ plist> ] bi@ 2array ] with
NSFastEnumeration-map >hashtable ;
: (read-plist) ( NSData -- id )
dup WIFEXITED [ WEXITSTATUS ] [ WTERMSIG signal boa ] if ;
M: unix wait-for-processes ( -- ? )
- -1 0 <int> tuck WNOHANG waitpid
+ 0 <int> -1 over WNOHANG waitpid
dup 0 <= [
2drop t
] [
DEFER: compose-iter
-: try-noncombining ( char state -- state )
- tuck char>> swap combine-chars
+: try-noncombining ( state char -- state )
+ [ drop ] [ [ char>> ] dip combine-chars ] 2bi
[ >>char to f >>last-class compose-iter ] when* ; inline
: compose-iter ( state -- state )
{ f [ drop ] }
{ 0 [
over last-class>>
- [ drop ] [ swap try-noncombining ] if ] }
+ [ drop ] [ try-noncombining ] if ] }
[ try-compose to compose-iter ]
} case
] when* ; inline recursive