diff --git a/basis/alien/data/data-docs.factor b/basis/alien/data/data-docs.factor index f7950bae58..ffc406ca8c 100644 --- a/basis/alien/data/data-docs.factor +++ b/basis/alien/data/data-docs.factor @@ -74,7 +74,7 @@ $nl "If no initial value is specified, the contents of the allocated memory are undefined." } { $warning "Reading or writing a scoped allocation buffer outside of the given quotation will cause memory corruption." } { $examples - { $unchecked-example + { $example "USING: accessors alien.c-types alien.data classes.struct kernel math math.functions prettyprint ; diff --git a/basis/bitstreams/bitstreams-docs.factor b/basis/bitstreams/bitstreams-docs.factor index 7be5514275..cc69a7a501 100644 --- a/basis/bitstreams/bitstreams-docs.factor +++ b/basis/bitstreams/bitstreams-docs.factor @@ -25,7 +25,7 @@ HELP: seek HELP: align { $values { "n" integer } { "bitstream" bit-reader } } -{ $description "Moves the read cursor of the bit-reader forward until its position in bits from the start of the stream is an even multiple of n. If it is already such a multiple, the cursor is not moved at all. " } ; +{ $description "Moves the read cursor of the bit-reader forward until its position in bits from the start of the stream is an even multiple of n. If it is already such a multiple, the cursor is not moved at all." } ; HELP: enough-bits? { $values { "n" integer } { "bs" bit-reader } { "?" boolean } } diff --git a/basis/compiler/cfg/builder/builder-docs.factor b/basis/compiler/cfg/builder/builder-docs.factor index cfe7ef1858..f7e621c588 100644 --- a/basis/compiler/cfg/builder/builder-docs.factor +++ b/basis/compiler/cfg/builder/builder-docs.factor @@ -78,7 +78,7 @@ HELP: emit-loop-call HELP: emit-node { $values { "block" basic-block } { "node" node } { "block'" basic-block } } -{ $description "Emits CFG instructions for the given SSA node. The word can add one or more basic blocks to the " { $link cfg } ". The next block to operate on is pushed onto the stack. " +{ $description "Emits CFG instructions for the given SSA node. The word can add one or more basic blocks to the " { $link cfg } ". The next block to operate on is pushed onto the stack." $nl "The following classes emit-node methods does not change the current block:" { $list diff --git a/basis/compiler/cfg/cfg-docs.factor b/basis/compiler/cfg/cfg-docs.factor index 0aac34fa39..05c46e0b16 100644 --- a/basis/compiler/cfg/cfg-docs.factor +++ b/basis/compiler/cfg/cfg-docs.factor @@ -10,7 +10,7 @@ HELP: basic-block { $table { { $slot "number" } - { "The blocks sequence number. Generated by calling " { $link number-blocks } ". " } + { "The blocks sequence number. Generated by calling " { $link number-blocks } "." } } { { $slot "successors" } diff --git a/basis/compiler/cfg/intrinsics/alien/alien-docs.factor b/basis/compiler/cfg/intrinsics/alien/alien-docs.factor index f151ba4aa0..32c3475527 100644 --- a/basis/compiler/cfg/intrinsics/alien/alien-docs.factor +++ b/basis/compiler/cfg/intrinsics/alien/alien-docs.factor @@ -9,4 +9,4 @@ HELP: inline-accessor { "test" quotation } { "block'" basic-block } } -{ $description "Combinator used to simplify writing intrinsic emitting code. If the 'test' quotation yields " { $link t } " when called on the 'call#' nodes inputs, then the 'quot' quotation is used to emit intrinsic instructions. Otherwise a primitive call is emitted. " } ; +{ $description "Combinator used to simplify writing intrinsic emitting code. If the 'test' quotation yields " { $link t } " when called on the 'call#' nodes inputs, then the 'quot' quotation is used to emit intrinsic instructions. Otherwise a primitive call is emitted." } ; diff --git a/basis/compiler/tree/tree-docs.factor b/basis/compiler/tree/tree-docs.factor index 9bf6d5044e..d7c996b14b 100644 --- a/basis/compiler/tree/tree-docs.factor +++ b/basis/compiler/tree/tree-docs.factor @@ -14,7 +14,7 @@ HELP: alien-invoke# { $see-also alien-invoke } ; HELP: alien-callback# -{ $class-description "SSA tree node that constructs an alien callback. It is not a subclass of " { $link alien-node# } ". " } ; +{ $class-description "SSA tree node that constructs an alien callback. It is not a subclass of " { $link alien-node# } "." } ; HELP: call# { $class-description "SSA tree node that calls a word. It has the following slots:" diff --git a/basis/compression/lzw/lzw-docs.factor b/basis/compression/lzw/lzw-docs.factor index 53945046ae..6b9744ab41 100644 --- a/basis/compression/lzw/lzw-docs.factor +++ b/basis/compression/lzw/lzw-docs.factor @@ -48,7 +48,7 @@ HELP: reset-lzw-uncompress { $values { "lzw" lzw } } -{ $description "Reset the LZW uncompressor state (either at initialization time or immediately after receiving a Clear Code). " } ; +{ $description "Reset the LZW uncompressor state (either at initialization time or immediately after receiving a Clear Code)." } ; ARTICLE: "compression.lzw.differences" "LZW differences between TIFF and GIF" { $vocab-link "compression.lzw" } diff --git a/basis/cpu/x86/x86-docs.factor b/basis/cpu/x86/x86-docs.factor index 205e2a9124..3cfa366c79 100644 --- a/basis/cpu/x86/x86-docs.factor +++ b/basis/cpu/x86/x86-docs.factor @@ -14,7 +14,7 @@ HELP: %boolean HELP: %prepare-var-args { $values { "reg-inputs" sequence } } -{ $description "Emits code needed for calling variadic functions. On " { $link unix } " " { $link x86.64 } ", the " { $link AL } " register must contain the number of float registers used. " } ; +{ $description "Emits code needed for calling variadic functions. On " { $link unix } " " { $link x86.64 } ", the " { $link AL } " register must contain the number of float registers used." } ; HELP: JLE { $values { "dst" "destination offset (relative to the instruction pointer register)" } } diff --git a/basis/db/tuples/tuples-docs.factor b/basis/db/tuples/tuples-docs.factor index 8e22ff3e30..c4846b651a 100644 --- a/basis/db/tuples/tuples-docs.factor +++ b/basis/db/tuples/tuples-docs.factor @@ -231,7 +231,7 @@ ARTICLE: "db-tuples-tutorial" "Tuple database tutorial" "Let's make a tuple and store it in a database. To follow along, click on each code example and run it in the listener. If you forget to run an example, just start at the top and run them all again in order." $nl "We're going to store books in this tutorial." { $code "TUPLE: book id title author date-published edition cover-price condition ;" } -"The title, author, and publisher should be strings; the date-published a timestamp; the edition an integer; the cover-price a float. These are the Factor types for which we will need to look up the corresponding " { $link "db.types" } ". " $nl +"The title, author, and publisher should be strings; the date-published a timestamp; the edition an integer; the cover-price a float. These are the Factor types for which we will need to look up the corresponding " { $link "db.types" } "." $nl "To actually bind the tuple slots to the database types, we'll use " { $link define-persistent } "." { $code "USING: db.tuples db.types ; diff --git a/basis/furnace/auth/providers/providers-docs.factor b/basis/furnace/auth/providers/providers-docs.factor index f541885e4d..44cc9c44b4 100644 --- a/basis/furnace/auth/providers/providers-docs.factor +++ b/basis/furnace/auth/providers/providers-docs.factor @@ -30,7 +30,7 @@ HELP: new-user HELP: update-user { $values { "user" user } { "provider" "an authentication provider" } } -{ $contract "Stores a user back to an authentication provider after being changed. This is a no-op with in-memory providers; providers which use an external store will save the user in this word. " } ; +{ $contract "Stores a user back to an authentication provider after being changed. This is a no-op with in-memory providers; providers which use an external store will save the user in this word." } ; ARTICLE: "furnace.auth.providers.protocol" "Authentication provider protocol" "The " { $vocab-link "furnace.auth.providers" } " vocabulary implements a protocol for persistence and authentication of users." diff --git a/basis/match/match-docs.factor b/basis/match/match-docs.factor index 0c3606735c..1955b1941d 100644 --- a/basis/match/match-docs.factor +++ b/basis/match/match-docs.factor @@ -7,7 +7,7 @@ IN: match HELP: match { $values { "value1" object } { "value2" object } { "bindings" assoc } } -{ $description "Pattern match " { $snippet "value1" } " against " { $snippet "value2" } ". These values can be any Factor value, including sequences and tuples. The values can contain pattern variables, which are symbols that begin with '?'. The result is a hashtable of the bindings, mapping the pattern variables from one sequence to the equivalent value in the other sequence. The " { $link _ } " symbol can be used to ignore the value at that point in the pattern for the match. " } +{ $description "Pattern match " { $snippet "value1" } " against " { $snippet "value2" } ". These values can be any Factor value, including sequences and tuples. The values can contain pattern variables, which are symbols that begin with '?'. The result is a hashtable of the bindings, mapping the pattern variables from one sequence to the equivalent value in the other sequence. The " { $link _ } " symbol can be used to ignore the value at that point in the pattern for the match." } { $examples { $unchecked-example "USE: match" "MATCH-VARS: ?a ?b ;\n{ ?a { 2 ?b } 5 } { 1 { 2 3 } _ } match ." "H{ { ?a 1 } { ?b 3 } }" } } diff --git a/basis/peg/ebnf/ebnf-docs.factor b/basis/peg/ebnf/ebnf-docs.factor index c1507a891d..7cea9ecbb6 100644 --- a/basis/peg/ebnf/ebnf-docs.factor +++ b/basis/peg/ebnf/ebnf-docs.factor @@ -332,7 +332,7 @@ ARTICLE: "peg.ebnf.foreign-rules" "EBNF Foreign Rules" ARTICLE: "peg.ebnf.tokenizers" "EBNF Tokenizers" "It is possible to override the tokenizer in an EBNF defined parser. " "Usually the input sequence to be parsed is an array of characters or a string. " -"Terminals in a rule match successive characters in the array or string. " +"Terminals in a rule match successive characters in the array or string." { $examples { $code "USING: multiline ;" @@ -378,7 +378,7 @@ ARTICLE: "peg.ebnf.tokenizers" "EBNF Tokenizers" "instead of the string \"++--\". With the new tokenizer \"....\" sequences " "in the grammar are matched for equality against the token, rather than a " "string comparison against successive items in the sequence. This can be used " -"to match an AST from a tokenizer. " +"to match an AST from a tokenizer." $nl "In this example I split the tokenizer into a separate parser and use " "'foreign' to call it from the main one. This allows testing of the " @@ -449,7 +449,7 @@ $nl "This tokenizer strips out whitespace and newlines. Some rules in the grammar " "require checking for a newline. In particular the automatic semicolon insertion " "rule (managed by the 'Sc' rule here). If there is a newline, the semicolon can " -"be optional in places. " +"be optional in places." { $examples { $code "\"do\" Stmt:s \"while\" \"(\" Expr:c \")\" Sc => [[ s c ast-do-while boa ]]" @@ -463,7 +463,7 @@ $nl ARTICLE: "peg.ebnf" "EBNF" "The " { $vocab-link "peg.ebnf" } " vocabulary provides a DSL that allows writing PEG parsers that look like " "EBNF syntax. It provides three parsing words described below. These words all " -"accept the same EBNF syntax. The difference is in how they are used. " +"accept the same EBNF syntax. The difference is in how they are used." { $subsections postpone: \EBNF: postpone: \EBNF[[ diff --git a/basis/prettyprint/sections/sections-docs.factor b/basis/prettyprint/sections/sections-docs.factor index 54384d9dda..f6b51216e0 100644 --- a/basis/prettyprint/sections/sections-docs.factor +++ b/basis/prettyprint/sections/sections-docs.factor @@ -193,7 +193,7 @@ HELP: flow { $class-description "A " { $link block } " section printed on its own line if it can fit entirely on one line." } ; HELP: + dup restart-timer + 700 milliseconds sleep + dup restart-timer drop + 700 milliseconds sleep +] unit-test diff --git a/basis/timers/timers.factor b/basis/timers/timers.factor index cbe9870573..029f640616 100644 --- a/basis/timers/timers.factor +++ b/basis/timers/timers.factor @@ -88,17 +88,14 @@ PRIVATE> : stop-timer ( timer -- ) dup quotation-running?>> [ - f >>thread drop - ] [ - [ [ interrupt ] when* f ] change-thread drop - ] if ; + dup thread>> [ interrupt ] when* + ] unless f >>thread drop ; : restart-timer ( timer -- ) - t >>restart? dup quotation-running?>> [ - drop + t >>restart? drop ] [ - dup thread>> [ nip interrupt ] [ start-timer ] if* + dup thread>> [ interrupt ] when* start-timer ] if ; HELP: { $values { "quot" { $quotation ( string -- ) } } { "gadget" editor } } -{ $description "Creates an editor gadget with a blank model. Whenever a value is entered into the editor and Return pressed, the value is pushed on the stack as a string and the specified quotation is called. Note that the quotation cannot update the value in the field. " } ; +{ $description "Creates an editor gadget with a blank model. Whenever a value is entered into the editor and Return pressed, the value is pushed on the stack as a string and the specified quotation is called. Note that the quotation cannot update the value in the field." } ; HELP: editor-string diff --git a/basis/ui/ui-docs.factor b/basis/ui/ui-docs.factor index 4388dd97f3..588ea28cab 100644 --- a/basis/ui/ui-docs.factor +++ b/basis/ui/ui-docs.factor @@ -259,7 +259,7 @@ $nl clear-gadget } "The children of a gadget are available via the " -{ $snippet "children" } " slot. " +{ $snippet "children" } " slot." $nl "Working with gadget children:" { $subsections diff --git a/build.sh b/build.sh index 320c6c1b1a..999bd78d08 100755 --- a/build.sh +++ b/build.sh @@ -15,9 +15,11 @@ GIT_PROTOCOL=${GIT_PROTOCOL:="git"} GIT_URL=${GIT_URL:=$GIT_PROTOCOL"://factorcode.org/git/factor.git"} SCRIPT_ARGS="$*" +REQUIRE_CLANG_VERSION=3.1 + # return 1 on found test_program_installed() { - if ! [[ -n `type -p $1` ]] ; then + if ! [[ -n $(type -p $1) ]] ; then return 0; fi return 1; @@ -25,9 +27,9 @@ test_program_installed() { # return 1 on found test_programs_installed() { - installed=0; + local installed=0; $ECHO -n "Checking for all($*)..." - for i in $* ; + for i in "$@" ; do test_program_installed $i if [[ $? -eq 1 ]]; then @@ -52,9 +54,9 @@ exit_script() { } ensure_program_installed() { - installed=0; + local installed=0; $ECHO -n "Checking for any($*)..." - for i in $* ; + for i in "$@" ; do test_program_installed $i if [[ $? -eq 1 ]]; then @@ -133,16 +135,16 @@ semver_into() { } clang_version_ok() { - CLANG_VERSION=`clang --version | head -n1` + CLANG_VERSION=$(clang --version | head -n1) CLANG_VERSION_RE='^[a-zA-Z0-9 ]* version (.*)$' # 3.3-5 if [[ $CLANG_VERSION =~ $CLANG_VERSION_RE ]] ; then export "CLANG_VERSION=${BASH_REMATCH[1]}" - local CLANG_MAJOR local CLANG_MINOR local CLANG_PATCH local CLANG_SPECIAL + local CLANG_MAJOR CLANG_MINOR CLANG_PATCH CLANG_SPECIAL semver_into "$CLANG_VERSION" CLANG_MAJOR CLANG_MINOR CLANG_PATCH CLANG_SPECIAL if [[ $CLANG_MAJOR -lt 3 || ( $CLANG_MAJOR -eq 3 && $CLANG_MINOR -le 1 ) ]] ; then - echo "clang version required >= 3.1, got $CLANG_VERSION" + echo "clang version required >= $REQUIRE_CLANG_VERSION, got $CLANG_VERSION" return 1 fi else @@ -241,7 +243,7 @@ check_factor_exists() { find_os() { if [[ -n $OS ]] ; then return; fi $ECHO "Finding OS..." - uname_s=`uname -s` + local uname_s=$(uname -s) check_ret uname case $uname_s in CYGWIN_NT-5.2-WOW64) OS=windows;; @@ -258,7 +260,7 @@ find_os() { find_architecture() { if [[ -n $ARCH ]] ; then return; fi $ECHO "Finding ARCH..." - uname_m=`uname -m` + uname_m=$(uname -m) check_ret uname case $uname_m in i386) ARCH=x86;; @@ -275,7 +277,7 @@ find_architecture() { find_num_cores() { $ECHO "Finding num cores..." NUM_CORES=7ZZ - uname_s=`uname -s` + uname_s=$(uname -s) check_ret uname case $uname_s in CYGWIN_NT-5.2-WOW64 | *CYGWIN_NT* | *CYGWIN* | MINGW32*) NUM_CORES=$NUMBER_OF_PROCESSORS;; @@ -283,20 +285,19 @@ find_num_cores() { esac } -write_test_program() { +echo_test_program() { #! Must be 'echo' - echo "#include " > $C_WORD.c - echo "int main(){printf(\"%ld\", (long)(8*sizeof(void*))); return 0; }" >> $C_WORD.c + echo -e "int main(){ return (long)(8*sizeof(void*)); }" } c_find_word_size() { $ECHO "Finding WORD..." - C_WORD=factor-word-size - write_test_program - $CC -o $C_WORD $C_WORD.c - WORD=$(./$C_WORD) - check_ret $C_WORD - $DELETE -f $C_WORD* + C_WORD="factor-word-size" + echo_test_program | $CC -o $C_WORD -xc - + check_ret $CC + ./$C_WORD + WORD=$? + $DELETE -f $C_WORD } intel_macosx_word_size() { @@ -403,9 +404,9 @@ set_build_info() { parse_build_info() { ensure_program_installed cut $ECHO "Parsing make target from command line: $1" - OS=`echo $1 | cut -d '-' -f 1` - ARCH=`echo $1 | cut -d '-' -f 2` - WORD=`echo $1 | cut -d '-' -f 3` + OS=$(echo $1 | cut -d '-' -f 1) + ARCH=$(echo $1 | cut -d '-' -f 2) + WORD=$(echo $1 | cut -d '-' -f 3) if [[ $OS == linux && $ARCH == ppc ]] ; then WORD=32; fi if [[ $OS == linux && $ARCH == arm ]] ; then WORD=32; fi @@ -433,7 +434,7 @@ find_build_info() { } invoke_git() { - git $* + git "$@" check_ret git } @@ -443,13 +444,13 @@ git_clone() { } update_script_name() { - $ECHO `dirname $0`/_update.sh + $ECHO "$(dirname $0)/_update.sh" } update_script() { - update_script=`update_script_name` - bash_path=`which bash` - branch=$(current_git_branch) + local -r update_script=$(update_script_name) + local -r bash_path=$(which bash) + local -r branch=$(current_git_branch) $ECHO "#!$bash_path" >"$update_script" $ECHO "git pull \"$GIT_URL\" ${branch}" >>"$update_script" $ECHO "if [[ \$? -eq 0 ]]; then exec \"$0\" $SCRIPT_ARGS; else echo \"git pull failed\"; exit 2; fi" \ @@ -461,16 +462,16 @@ update_script() { } update_script_changed() { - invoke_git diff --stat `invoke_git merge-base HEAD FETCH_HEAD` FETCH_HEAD | grep 'build\.sh' >/dev/null + invoke_git diff --stat "$(invoke_git merge-base HEAD FETCH_HEAD)" FETCH_HEAD | grep 'build\.sh' >/dev/null } git_fetch_factorcode() { $ECHO "Fetching the git repository from factorcode.org..." branch=$(current_git_branch) - rm -f `update_script_name` - invoke_git fetch --all - invoke_git fetch --tags + rm -f "$(update_script_name)" + invoke_git fetch "$GIT_URL" --all + invoke_git fetch "$GIT_URL" --tags if update_script_changed; then $ECHO "Updating and restarting the build.sh script..." @@ -482,7 +483,7 @@ git_fetch_factorcode() { } cd_factor() { - cd factor + cd "factor" check_ret cd } @@ -522,7 +523,7 @@ check_makefile_exists() { invoke_make() { check_makefile_exists - $MAKE $MAKE_OPTS $* + $MAKE $MAKE_OPTS "$@" check_ret $MAKE } @@ -546,13 +547,13 @@ current_git_branch() { check_url() { if [[ $DOWNLOADER_NAME == 'wget' ]]; then - if [[ `wget -S --spider $1 2>&1 | grep 'HTTP/1.1 200 OK'` ]]; then + if [[ $(wget -S --spider $1 2>&1 | grep 'HTTP/1.1 200 OK') ]]; then return 0 else return 1 fi elif [[ $DOWNLOADER_NAME == 'curl' ]]; then - code=`curl -sL -w "%{http_code}\\n" "$1" -o /dev/null` + local code=$(curl -sL -w "%{http_code}\\n" "$1" -o /dev/null) if [[ $code -eq 200 ]]; then return 0; else return 1; fi else $ECHO "error: wget or curl required in check_url" @@ -564,10 +565,10 @@ check_url() { # Otherwise, just use `master` set_boot_image_vars() { set_current_branch - url="http://downloads.factorcode.org/images/${CURRENT_BRANCH}/checksums.txt" + local url="http://downloads.factorcode.org/images/${CURRENT_BRANCH}/checksums.txt" check_url $url if [[ $? -eq 0 ]]; then - CHECKSUM_URL="http://downloads.factorcode.org/images/${CURRENT_BRANCH}/checksums.txt" + CHECKSUM_URL="$url" BOOT_IMAGE_URL="http://downloads.factorcode.org/images/${CURRENT_BRANCH}/${BOOT_IMAGE}" else CHECKSUM_URL="http://downloads.factorcode.org/images/master/checksums.txt" @@ -592,9 +593,9 @@ update_boot_image() { $DELETE temp/staging.*.image > /dev/null 2>&1 if [[ -f $BOOT_IMAGE ]] ; then get_url $CHECKSUM_URL - factorcode_md5=`cat checksums.txt|grep $BOOT_IMAGE|cut -f2 -d' '` + local factorcode_md5=$(cat checksums.txt | grep $BOOT_IMAGE | cut -f2 -d' ') set_md5sum - disk_md5=`$MD5SUM $BOOT_IMAGE|cut -f1 -d' '` + local disk_md5=$($MD5SUM $BOOT_IMAGE | cut -f1 -d' ') $ECHO "Factorcode md5: $factorcode_md5"; $ECHO "Disk md5: $disk_md5"; if [[ "$factorcode_md5" == "$disk_md5" ]] ; then @@ -668,12 +669,12 @@ net_bootstrap_no_pull() { } refresh_image() { - ./$FACTOR_BINARY -script -e="USING: vocabs.loader vocabs.refresh system memory ; refresh-all save 0 exit" + ./$FACTOR_BINARY -e="USING: vocabs.loader vocabs.refresh system memory ; refresh-all save 0 exit" check_ret factor } make_boot_image() { - ./$FACTOR_BINARY -script -e="\"$MAKE_IMAGE_TARGET\" USING: system bootstrap.image memory ; make-image save 0 exit" + ./$FACTOR_BINARY -e="\"$MAKE_IMAGE_TARGET\" USING: system bootstrap.image memory ; make-image save 0 exit" check_ret factor } @@ -683,7 +684,7 @@ install_deps_apt() { } install_deps_pacman() { - sudo pacman --noconfirm -S gcc clang make rlwrap git wget pango glibc gtk2 gtk3 gtkglext gtk-engines gdk-pixbuf2 libx11 screen tmux + sudo pacman --noconfirm -Syu gcc clang make rlwrap git wget pango glibc gtk2 gtk3 gtkglext gtk-engines gdk-pixbuf2 libx11 screen tmux check_ret sudo } diff --git a/core/alien/alien-docs.factor b/core/alien/alien-docs.factor index e977795f68..10dc7c5bd0 100644 --- a/core/alien/alien-docs.factor +++ b/core/alien/alien-docs.factor @@ -72,7 +72,7 @@ $nl HELP: free-callback { $values { "alien" alien } } -{ $description "Releases the callback heap memory allocated for an alien callback. " } +{ $description "Releases the callback heap memory allocated for an alien callback." } { $warning "If the callback is invoked (either from C or Factor) after it has been freed, then Factor may crash." } ; HELP: with-callback diff --git a/core/definitions/definitions-docs.factor b/core/definitions/definitions-docs.factor index 5cfa1db75a..1f39d1b288 100644 --- a/core/definitions/definitions-docs.factor +++ b/core/definitions/definitions-docs.factor @@ -78,7 +78,7 @@ HELP: changed-definition { $description "Adds the definition to the unit's " { $link changed-definitions } "." } ; HELP: changed-definitions -{ $var-description "A set that contains all words and vocabs whose definitions have changed or are new. " } +{ $var-description "A set that contains all words and vocabs whose definitions have changed or are new." } { $see-also changed-definition } ; HELP: changed-effects diff --git a/core/generalizations/generalizations-docs.factor b/core/generalizations/generalizations-docs.factor index f4a15411f9..f750f5f494 100644 --- a/core/generalizations/generalizations-docs.factor +++ b/core/generalizations/generalizations-docs.factor @@ -91,7 +91,7 @@ HELP: ndrop HELP: nrot { $values { "n" integer } } { $description "A generalization of " { $link rot } " that works for any " -"number of items on the stack. " +"number of items on the stack." } { $examples { $example "USING: arrays generalizations kernel prettyprint ;" "1 2 3 4 4 nrot 4array ." "{ 2 3 4 1 }" } @@ -105,7 +105,7 @@ HELP: nrot HELP: -nrot { $values { "n" integer } } { $description "A generalization of " { $link -rot } " that works for any " -"number of items on the stack. " +"number of items on the stack." } { $examples { $example "USING: arrays generalizations kernel prettyprint ;" "1 2 3 4 4 -nrot 4array ." "{ 4 1 2 3 }" } diff --git a/core/slots/slots-docs.factor b/core/slots/slots-docs.factor index 3ee66cf3a3..a7da88226a 100644 --- a/core/slots/slots-docs.factor +++ b/core/slots/slots-docs.factor @@ -117,7 +117,7 @@ $nl ABOUT: "slots" HELP: bad-initial-value -{ $error-description "Thrown by " { $link \ \TUPLE: } " if a slot has an impossible initial value. " +{ $error-description "Thrown by " { $link \ \TUPLE: } " if a slot has an impossible initial value." { $examples { $unchecked-example "TUPLE: a { b integer initial: \"invalid\" } ;" diff --git a/core/splitting/splitting-docs.factor b/core/splitting/splitting-docs.factor index 599bdbb5f7..d69338c5ee 100644 --- a/core/splitting/splitting-docs.factor +++ b/core/splitting/splitting-docs.factor @@ -15,6 +15,8 @@ ARTICLE: "sequences-split" "Splitting sequences" split1-last split1-last-slice split + split-indices + split-slice split-when split-when-slice } diff --git a/extra/24-game/24-game-docs.factor b/extra/24-game/24-game-docs.factor index 280d74dff9..c338a5ca0f 100644 --- a/extra/24-game/24-game-docs.factor +++ b/extra/24-game/24-game-docs.factor @@ -56,7 +56,7 @@ HELP: makes-24? ARTICLE: "24-game" "The Game of 24" "A classic math game, where one attempts to create 24, by applying " -"arithmetical operations and some shuffle words to a stack of 4 numbers. " +"arithmetical operations and some shuffle words to a stack of 4 numbers." { $subsections 24-game make-24 diff --git a/extra/game/models/collada/collada-docs.factor b/extra/game/models/collada/collada-docs.factor index 0936d864ab..e2dc4db8aa 100644 --- a/extra/game/models/collada/collada-docs.factor +++ b/extra/game/models/collada/collada-docs.factor @@ -46,7 +46,7 @@ HELP: mesh>sources HELP: mesh>vertices { $values { "mesh-tag" tag } { "pair" pair } } -{ $description "Convert the mesh tag's vertices element to a pair for further lookup in " { $link collect-sources } ". " } ; +{ $description "Convert the mesh tag's vertices element to a pair for further lookup in " { $link collect-sources } "." } ; HELP: collect-sources { $values { "sources" hashtable } { "vertices" pair } { "inputs" tag sequence } { "seq" sequence } } diff --git a/extra/game/models/obj/obj-docs.factor b/extra/game/models/obj/obj-docs.factor index 033b163941..c2b419d22a 100644 --- a/extra/game/models/obj/obj-docs.factor +++ b/extra/game/models/obj/obj-docs.factor @@ -18,7 +18,7 @@ HELP: cm HELP: md { $values { "material-dictionary" assoc } } -{ $description "Convenience word for accessing the material dictionary while parsing primitives. " } ; +{ $description "Convenience word for accessing the material dictionary while parsing primitives." } ; HELP: strings>numbers { $values { "strings" sequence } { "numbers" sequence } } diff --git a/extra/irc/client/client-docs.factor b/extra/irc/client/client-docs.factor index 3103ed4323..6a05cb38bf 100644 --- a/extra/irc/client/client-docs.factor +++ b/extra/irc/client/client-docs.factor @@ -70,7 +70,7 @@ ARTICLE: "irc.client" "IRC Client" { $heading "Special messages" } "Some special messages that are created by the library and not by the irc server." { $table - { { $link irc-chat-end } "sent to a chat when it has been detached from the client, the chat should stop after it receives this message. " } + { { $link irc-chat-end } "sent to a chat when it has been detached from the client, the chat should stop after it receives this message." } { { $link irc-end } " sent when the client isn't running anymore, the chat should stop after it receives this message." } { { $link irc-disconnected } " sent to notify chats that connection was lost." } { { $link irc-connected } " sent to notify chats that a connection with the irc server was established." } } diff --git a/extra/pop3/pop3-docs.factor b/extra/pop3/pop3-docs.factor index ca2a707e80..d67aa60f69 100644 --- a/extra/pop3/pop3-docs.factor +++ b/extra/pop3/pop3-docs.factor @@ -299,7 +299,7 @@ $nl } } $nl -"The messages marked for deletion are actually deleted only when " { $link close } " is called. This should be the last command you issue. " +"The messages marked for deletion are actually deleted only when " { $link close } " is called. This should be the last command you issue." { $subsections close } { $examples { $code diff --git a/extra/rosetta-code/ternary-logic/ternary-logic.factor b/extra/rosetta-code/ternary-logic/ternary-logic.factor index 98668195cd..043568eb19 100644 --- a/extra/rosetta-code/ternary-logic/ternary-logic.factor +++ b/extra/rosetta-code/ternary-logic/ternary-logic.factor @@ -43,12 +43,12 @@ M: trit >trit ; >trit { { t [ >trit ] } { m [ >trit { { t [ m ] } { m [ m ] } { f [ f ] } } case ] } - { f [ >trit drop f ] } + { f [ drop f ] } } case ; : tor ( trit1 trit2 -- trit ) >trit { - { t [ >trit drop t ] } + { t [ drop t ] } { m [ >trit { { t [ t ] } { m [ m ] } { f [ m ] } } case ] } { f [ >trit ] } } case ; @@ -56,13 +56,13 @@ M: trit >trit ; : txor ( trit1 trit2 -- trit ) >trit { { t [ tnot ] } - { m [ >trit drop m ] } + { m [ drop m ] } { f [ >trit ] } } case ; : t= ( trit1 trit2 -- trit ) - { + >trit { { t [ >trit ] } - { m [ >trit drop m ] } + { m [ drop m ] } { f [ tnot ] } } case ; diff --git a/extra/successor/successor-docs.factor b/extra/successor/successor-docs.factor index 5e3ad573a3..3a36e387a5 100644 --- a/extra/successor/successor-docs.factor +++ b/extra/successor/successor-docs.factor @@ -8,7 +8,7 @@ IN: succesor HELP: successor { $values { "str" string } { "str'" string } } { $description - "Returns the successor to " { $snippet "str" } ". The successor is calculated by incrementing characters starting from the rightmost alphanumeric (or the rightmost character if there are no alphanumerics) in the string. Incrementing a digit always results in another digit, and incrementing a letter results in another letter of the same case. " + "Returns the successor to " { $snippet "str" } ". The successor is calculated by incrementing characters starting from the rightmost alphanumeric (or the rightmost character if there are no alphanumerics) in the string. Incrementing a digit always results in another digit, and incrementing a letter results in another letter of the same case." $nl - "If the increment generates a carry, the character to the left of it is incremented. This process repeats until there is no carry, adding an additional character if necessary. " + "If the increment generates a carry, the character to the left of it is incremented. This process repeats until there is no carry, adding an additional character if necessary." } ;