diff --git a/basis/calendar/calendar.factor b/basis/calendar/calendar.factor index 7683c2592f..522e0c52f3 100644 --- a/basis/calendar/calendar.factor +++ b/basis/calendar/calendar.factor @@ -211,7 +211,7 @@ M: real +minute ( timestamp n -- timestamp ) M: number +second ( timestamp n -- timestamp ) [ over second>> + seconds/minutes [ >>second ] dip +minute ] unless-zero ; -: (time+) ( timestamp duration -- timestamp' ) +: (time+) ( timestamp duration -- timestamp' duration ) [ second>> +second ] keep [ minute>> +minute ] keep [ hour>> +hour ] keep diff --git a/basis/compiler/cfg/linearization/linearization.factor b/basis/compiler/cfg/linearization/linearization.factor index 6926ce7b4b..584c4cd662 100644 --- a/basis/compiler/cfg/linearization/linearization.factor +++ b/basis/compiler/cfg/linearization/linearization.factor @@ -37,7 +37,7 @@ M: insn linearize-insn , drop ; M: ##branch linearize-insn drop dup successors>> first emit-branch ; -: (binary-conditional) ( basic-block insn -- basic-block successor1 successor2 src1 src2 cc -- ) +: (binary-conditional) ( basic-block insn -- basic-block successor1 successor2 src1 src2 cc ) [ dup successors>> first2 ] [ [ src1>> ] [ src2>> ] [ cc>> ] tri ] bi* ; inline diff --git a/basis/compiler/codegen/codegen.factor b/basis/compiler/codegen/codegen.factor index 6e76badc9c..0dc5a855e3 100644 --- a/basis/compiler/codegen/codegen.factor +++ b/basis/compiler/codegen/codegen.factor @@ -95,7 +95,7 @@ M: ##dispatch-label generate-insn label>> %dispatch-label ; M: ##dispatch generate-insn [ src>> register ] [ temp>> register ] [ offset>> ] tri %dispatch ; -: >slot< +: >slot< ( insn -- dst obj slot tag ) { [ dst>> register ] [ obj>> register ] diff --git a/basis/concurrency/combinators/combinators.factor b/basis/concurrency/combinators/combinators.factor old mode 100644 new mode 100755 index 932605fc36..3d18b9e029 --- a/basis/concurrency/combinators/combinators.factor +++ b/basis/concurrency/combinators/combinators.factor @@ -28,7 +28,8 @@ PRIVATE> : [future] ( quot -- quot' ) '[ _ curry future ] ; inline -: future-values dup [ ?future ] change-each ; inline +: future-values ( futures -- futures ) + dup [ ?future ] change-each ; inline PRIVATE> diff --git a/basis/cpu/x86/64/64.factor b/basis/cpu/x86/64/64.factor index 2077f51e0a..841a4e4c55 100644 --- a/basis/cpu/x86/64/64.factor +++ b/basis/cpu/x86/64/64.factor @@ -37,7 +37,7 @@ M:: x86.64 %dispatch ( src temp offset -- ) M: x86.64 param-reg-1 int-regs param-regs first ; M: x86.64 param-reg-2 int-regs param-regs second ; -: param-reg-3 int-regs param-regs third ; inline +: param-reg-3 ( -- reg ) int-regs param-regs third ; inline M: int-regs return-reg drop RAX ; M: float-regs return-reg drop XMM0 ; diff --git a/basis/io/backend/windows/nt/nt.factor b/basis/io/backend/windows/nt/nt.factor index bb8175b35c..b8887debed 100755 --- a/basis/io/backend/windows/nt/nt.factor +++ b/basis/io/backend/windows/nt/nt.factor @@ -21,6 +21,9 @@ C: io-callback [ (make-overlapped) ] dip handle>> ptr>> [ over set-OVERLAPPED-offset ] when* ; +M: winnt FileArgs-overlapped ( port -- overlapped ) + make-overlapped ; + : ( handle existing -- handle ) f 1 CreateIoCompletionPort dup win32-error=0/f ; diff --git a/basis/io/files/windows/nt/nt.factor b/basis/io/files/windows/nt/nt.factor index 37c6e3190a..d0d9d5174a 100755 --- a/basis/io/files/windows/nt/nt.factor +++ b/basis/io/files/windows/nt/nt.factor @@ -1,10 +1,10 @@ USING: continuations destructors io.buffers io.files io.backend -io.timeouts io.ports io.pathnames io.files.private io.backend.windows -io.files.windows io.backend.windows.nt io.encodings.utf16n -windows windows.kernel32 kernel libc math threads system -environment alien.c-types alien.arrays alien.strings sequences -combinators combinators.short-circuit ascii splitting alien -strings assocs namespaces make accessors tr ; +io.timeouts io.ports io.pathnames io.files.private +io.backend.windows io.files.windows io.encodings.utf16n windows +windows.kernel32 kernel libc math threads system environment +alien.c-types alien.arrays alien.strings sequences combinators +combinators.short-circuit ascii splitting alien strings assocs +namespaces make accessors tr ; IN: io.files.windows.nt M: winnt cwd @@ -44,9 +44,6 @@ M: winnt normalize-path ( string -- string' ) M: winnt CreateFile-flags ( DWORD -- DWORD ) FILE_FLAG_OVERLAPPED bitor ; -M: winnt FileArgs-overlapped ( port -- overlapped ) - make-overlapped ; - M: winnt open-append 0 ! [ dup file-info size>> ] [ drop 0 ] recover [ (open-append) ] dip >>ptr ; diff --git a/basis/math/bitwise/bitwise.factor b/basis/math/bitwise/bitwise.factor old mode 100644 new mode 100755 index 11a623113a..2c03164ae7 --- a/basis/math/bitwise/bitwise.factor +++ b/basis/math/bitwise/bitwise.factor @@ -67,7 +67,7 @@ DEFER: byte-bit-count 256 [ 0 swap [ [ 1+ ] when ] each-bit ] B{ } map-as '[ HEX: ff bitand _ nth-unsafe ] -(( -- table )) define-declared +(( byte -- table )) define-declared \ byte-bit-count make-inline diff --git a/basis/sequences/next/next.factor b/basis/sequences/next/next.factor index a0a441ab50..19b406cc58 100644 --- a/basis/sequences/next/next.factor +++ b/basis/sequences/next/next.factor @@ -3,7 +3,8 @@ IN: sequences.next grid-lines SYMBOL: grid-dim -: half-gap grid get gap>> [ 2/ ] map ; inline +: half-gap ( -- gap ) grid get gap>> [ 2/ ] map ; inline : grid-line-from/to ( orientation point -- from to ) half-gap v- diff --git a/basis/unix/unix.factor b/basis/unix/unix.factor index 2652a95d3e..8e73a212d9 100644 --- a/basis/unix/unix.factor +++ b/basis/unix/unix.factor @@ -4,31 +4,31 @@ USING: alien alien.c-types alien.syntax kernel libc sequences continuations byte-arrays strings math namespaces system combinators vocabs.loader qualified accessors stack-checker macros locals generalizations unix.types -io vocabs vocabs.loader ; +io vocabs vocabs.loader constants ; IN: unix -: PROT_NONE 0 ; inline -: PROT_READ 1 ; inline -: PROT_WRITE 2 ; inline -: PROT_EXEC 4 ; inline +CONSTANT: PROT_NONE 0 +CONSTANT: PROT_READ 1 +CONSTANT: PROT_WRITE 2 +CONSTANT: PROT_EXEC 4 + +CONSTANT: MAP_FILE 0 +CONSTANT: MAP_SHARED 1 +CONSTANT: MAP_PRIVATE 2 -: MAP_FILE 0 ; inline -: MAP_SHARED 1 ; inline -: MAP_PRIVATE 2 ; inline +: MAP_FAILED ( -- alien ) -1 ; inline -: MAP_FAILED -1 ; inline +CONSTANT: NGROUPS_MAX 16 -: NGROUPS_MAX 16 ; inline - -: DT_UNKNOWN 0 ; inline -: DT_FIFO 1 ; inline -: DT_CHR 2 ; inline -: DT_DIR 4 ; inline -: DT_BLK 6 ; inline -: DT_REG 8 ; inline -: DT_LNK 10 ; inline -: DT_SOCK 12 ; inline -: DT_WHT 14 ; inline +CONSTANT: DT_UNKNOWN 0 +CONSTANT: DT_FIFO 1 +CONSTANT: DT_CHR 2 +CONSTANT: DT_DIR 4 +CONSTANT: DT_BLK 6 +CONSTANT: DT_REG 8 +CONSTANT: DT_LNK 10 +CONSTANT: DT_SOCK 12 +CONSTANT: DT_WHT 14 C-STRUCT: group { "char*" "gr_name" } diff --git a/core/math/math-docs.factor b/core/math/math-docs.factor index 3c2b7f67e2..2f7ab75103 100644 --- a/core/math/math-docs.factor +++ b/core/math/math-docs.factor @@ -180,6 +180,7 @@ HELP: 1- } ; HELP: ?1+ +{ $values { "x" { $maybe number } } { "y" number } } { $description "If the input is not " { $link f } ", adds one. Otherwise, outputs a " { $snippet "0" } "." } ; HELP: sq diff --git a/core/math/math.factor b/core/math/math.factor old mode 100644 new mode 100755 index 2434bf8ec6..7c9be868b3 --- a/core/math/math.factor +++ b/core/math/math.factor @@ -64,7 +64,7 @@ PRIVATE> : recip ( x -- y ) 1 swap / ; inline : sgn ( x -- n ) dup 0 < [ drop -1 ] [ 0 > 1 0 ? ] if ; inline -: ?1+ [ 1+ ] [ 0 ] if* ; inline +: ?1+ ( x -- y ) [ 1+ ] [ 0 ] if* ; inline : rem ( x y -- z ) abs tuck mod over + swap mod ; foldable @@ -114,15 +114,15 @@ M: float fp-infinity? ( float -- ? ) diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 80b2849f25..865a074ad3 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -121,7 +121,7 @@ INSTANCE: integer immutable-sequence : (tail) ( seq n -- from to seq ) over length rot ; inline -: from-end [ dup length ] dip - ; inline +: from-end ( seq n -- seq n' ) [ dup length ] dip - ; inline : (2sequence) ( obj1 obj2 seq -- seq ) tuck 1 swap set-nth-unsafe diff --git a/extra/formatting/formatting-docs.factor b/extra/formatting/formatting-docs.factor index 4203dd891f..8db3567c23 100644 --- a/extra/formatting/formatting-docs.factor +++ b/extra/formatting/formatting-docs.factor @@ -111,9 +111,9 @@ HELP: strftime } } { $examples - { $example - "USING: calendar formatting ;" - "now \"%c\" strftime" + { $unchecked-example + "USING: calendar formatting io ;" + "now \"%c\" strftime print" "Mon Dec 15 14:40:43 2008" } } ;