refresh-all fix, new show word for debugging
parent
46e02fa30d
commit
f2af000ed0
|
@ -2,16 +2,16 @@ USING: help.markup help.syntax math ;
|
||||||
IN: io.crc32
|
IN: io.crc32
|
||||||
|
|
||||||
HELP: crc32
|
HELP: crc32
|
||||||
{ $values { "seq" "a sequence" } { "n" integer } }
|
{ $values { "seq" "a sequence of bytes" } { "n" integer } }
|
||||||
{ $description "Computes the CRC32 checksum of a sequence of bytes." } ;
|
{ $description "Computes the CRC32 checksum of a sequence of bytes." } ;
|
||||||
|
|
||||||
HELP: file-crc32
|
HELP: lines-crc32
|
||||||
{ $values { "path" "a pathname string" } { "n" integer } }
|
{ $values { "lines" "a sequence of strings" } { "n" integer } }
|
||||||
{ $description "Computes the CRC32 checksum of a file's contents." } ;
|
{ $description "Computes the CRC32 checksum of a sequence of lines of bytes." } ;
|
||||||
|
|
||||||
ARTICLE: "io.crc32" "CRC32 checksum calculation"
|
ARTICLE: "io.crc32" "CRC32 checksum calculation"
|
||||||
"The CRC32 checksum algorithm provides a quick but unreliable way to detect changes in data."
|
"The CRC32 checksum algorithm provides a quick but unreliable way to detect changes in data."
|
||||||
{ $subsection crc32 }
|
{ $subsection crc32 }
|
||||||
{ $subsection file-crc32 } ;
|
{ $subsection lines-crc32 } ;
|
||||||
|
|
||||||
ABOUT: "io.crc32"
|
ABOUT: "io.crc32"
|
||||||
|
|
|
@ -23,8 +23,6 @@ IN: io.crc32
|
||||||
: crc32 ( seq -- n )
|
: crc32 ( seq -- n )
|
||||||
>r HEX: ffffffff dup r> [ (crc32) ] each bitxor ;
|
>r HEX: ffffffff dup r> [ (crc32) ] each bitxor ;
|
||||||
|
|
||||||
: file-crc32 ( path -- n ) file-contents crc32 ;
|
|
||||||
|
|
||||||
: lines-crc32 ( seq -- n )
|
: lines-crc32 ( seq -- n )
|
||||||
HEX: ffffffff tuck [
|
HEX: ffffffff tuck [
|
||||||
[ (crc32) ] each CHAR: \n (crc32)
|
[ (crc32) ] each CHAR: \n (crc32)
|
||||||
|
|
|
@ -74,3 +74,10 @@ M: object <file-writer>
|
||||||
|
|
||||||
M: object <file-appender>
|
M: object <file-appender>
|
||||||
"ab" fopen <c-writer> <plain-writer> ;
|
"ab" fopen <c-writer> <plain-writer> ;
|
||||||
|
|
||||||
|
: show ( msg -- )
|
||||||
|
#! A word which directly calls primitives. It is used to
|
||||||
|
#! print stuff from contexts where the I/O system would
|
||||||
|
#! otherwise not work (tools.deploy.shaker, the I/O
|
||||||
|
#! multiplexer thread).
|
||||||
|
"\r\n" append stdout-handle fwrite stdout-handle fflush ;
|
||||||
|
|
|
@ -17,7 +17,7 @@ uses definitions ;
|
||||||
|
|
||||||
: (source-modified?) ( path modified checksum -- ? )
|
: (source-modified?) ( path modified checksum -- ? )
|
||||||
pick file-modified rot [ 0 or ] 2apply >
|
pick file-modified rot [ 0 or ] 2apply >
|
||||||
[ swap file-crc32 number= not ] [ 2drop f ] if ;
|
[ swap file-lines lines-crc32 = not ] [ 2drop f ] if ;
|
||||||
|
|
||||||
: source-modified? ( path -- ? )
|
: source-modified? ( path -- ? )
|
||||||
dup source-files get at [
|
dup source-files get at [
|
||||||
|
|
|
@ -8,11 +8,6 @@ debugger io.streams.c io.streams.duplex io.files io.backend
|
||||||
quotations words.private tools.deploy.config compiler.units ;
|
quotations words.private tools.deploy.config compiler.units ;
|
||||||
IN: tools.deploy.shaker
|
IN: tools.deploy.shaker
|
||||||
|
|
||||||
: show ( msg -- )
|
|
||||||
#! Use primitives directly so that we can print stuff even
|
|
||||||
#! after most of the image has been stripped away
|
|
||||||
"\r\n" append stdout-handle fwrite stdout-handle fflush ;
|
|
||||||
|
|
||||||
: strip-init-hooks ( -- )
|
: strip-init-hooks ( -- )
|
||||||
"Stripping startup hooks" show
|
"Stripping startup hooks" show
|
||||||
"command-line" init-hooks get delete-at
|
"command-line" init-hooks get delete-at
|
||||||
|
|
Loading…
Reference in New Issue