diff --git a/extra/io/launcher/launcher.factor b/extra/io/launcher/launcher.factor index e9fbdaea62..e8eb973e34 100755 --- a/extra/io/launcher/launcher.factor +++ b/extra/io/launcher/launcher.factor @@ -221,3 +221,9 @@ M: duplex-stream underlying-handle [ in>> underlying-handle ] [ out>> underlying-handle ] bi [ = [ "Invalid duplex stream" throw ] when ] keep ; + +M: encoder underlying-handle + stream>> underlying-handle ; + +M: decoder underlying-handle + stream>> underlying-handle ; diff --git a/extra/ui/ui.factor b/extra/ui/ui.factor index e864d39f39..7aca45a210 100755 --- a/extra/ui/ui.factor +++ b/extra/ui/ui.factor @@ -41,8 +41,9 @@ SYMBOL: stop-after-last-window? windows global [ [ first = not ] with filter ] change-at ; : raised-window ( world -- ) - windows get-global [ second eq? ] with find drop - windows get-global [ length 1- ] keep exchange ; + windows get-global + [ [ second eq? ] with find drop ] keep + [ nth ] [ delete-nth ] [ nip ] 2tri push ; : focus-gestures ( new old -- ) drop-prefix <reversed> diff --git a/extra/windows/com/wrapper/wrapper.factor b/extra/windows/com/wrapper/wrapper.factor old mode 100644 new mode 100755 index 7f63f529a6..ae5f03a594 --- a/extra/windows/com/wrapper/wrapper.factor +++ b/extra/windows/com/wrapper/wrapper.factor @@ -29,7 +29,7 @@ unless >r find-com-interface-definition family-tree r> 1quotation [ >r iid>> r> 2array ] curry map ] map-index concat - [ f ] add , + [ f ] prefix , \ case , "void*" heap-size [ * rot <displaced-alien> com-add-ref 0 rot set-void*-nth S_OK ] @@ -99,7 +99,7 @@ unless PRIVATE> : <com-wrapper> ( implementations -- wrapper ) - (make-vtbls) f com-wrapper construct-boa ; + (make-vtbls) f com-wrapper boa ; M: com-wrapper dispose t >>freed?