diff --git a/common/utils.fs b/common/utils.fs index 941d3af..b52893a 100644 --- a/common/utils.fs +++ b/common/utils.fs @@ -18,7 +18,7 @@ : assert ( f -- ) 0= throw ; ( Print spaces ) -: spaces ( n -- ) for aft space then next ; +: spaces ( n -- ) 0 max for aft space then next ; internals definitions diff --git a/common/utils_tests.fs b/common/utils_tests.fs index 0287139..ffd045b 100644 --- a/common/utils_tests.fs +++ b/common/utils_tests.fs @@ -13,6 +13,7 @@ \ limitations under the License. ( Tests of utils.fs ) + e: test-.s0 .s out: <0> @@ -255,3 +256,9 @@ e: test-see-immediate out: 123 out: ; IMMEDIATE ;e + +e: test-negative-spaces + : foo -10 spaces ." hi" cr ; + foo + out: hi +;e diff --git a/configure.py b/configure.py index d0422e7..6325652 100755 --- a/configure.py +++ b/configure.py @@ -347,7 +347,7 @@ rule forth_test description = FORTH_TEST $test depfile = $out.d deps = gcc - command = $src/tools/importation.py -i $test -o $out --depsout $depfile --no-out && $interp $forth $test 2>&1 | cat >$out + command = $src/tools/importation.py -i $test -o $out --depsout $depfile --no-out && $interp $forth $test >$out 2>&1 rule publish description = PUBLISH $pubpath @@ -356,7 +356,7 @@ rule publish -DSTABLE_VERSION=$STABLE_VERSION \ -DOLD_STABLE_VERSION=$OLD_STABLE_VERSION \ -FREVISION=$dst/gen/REVISION \ - -FREVSHORT=$dst/gen/REVSHORT 2>&1 | cat >/dev/null + -FREVSHORT=$dst/gen/REVSHORT >/dev/null 2>&1 rule clean description = CLEAN diff --git a/esp32/BUILD b/esp32/BUILD index 1dee2ad..b75c7f4 100644 --- a/esp32/BUILD +++ b/esp32/BUILD @@ -90,8 +90,8 @@ ESP32_FILES += [ '$dst/esp32-sim/Esp32forth-sim')), TestCommand('$dst/tests/esp32_sim_see_all_test.out', '$dst/esp32-sim/Esp32forth-sim', - 'echo internals see-all bye | $dst/esp32-sim/Esp32forth-sim 2>&1 | ' - 'cat >$dst/tests/esp32_sim_see_all_test.out'), + 'echo internals see-all bye | $dst/esp32-sim/Esp32forth-sim ' + '>$dst/tests/esp32_sim_see_all_test.out 2>&1'), ] Compile('$dst/gen/print-esp32-builtins', '$src/esp32/print-builtins.cpp'), Run('$dst/gen/esp32_sim_opcodes.h', '$dst/gen/print-esp32-builtins') @@ -124,7 +124,7 @@ for board_base in BOARDS: f'--build-path ueforth_esp32/{board}_dir/build ' f'--build-cache-path ueforth_esp32/{board}_dir/cache ' f'ueforth_esp32/{board}_dir/ESP32forth/ESP32forth.ino ') - pipe = f' 2>&1 | cat > ueforth_esp32/{board}_dir/build/build.out && ' + pipe = f' > ueforth_esp32/{board}_dir/build/build.out 2>&1 && ' copyout = (f'cd - && ' f'cp {WINTMP}/ueforth_esp32/{board}_dir/build/*.bin ' f'$dst/esp32/{board}_build/ && ' diff --git a/pico-ice/BUILD b/pico-ice/BUILD index 6d19ba5..c2094ad 100644 --- a/pico-ice/BUILD +++ b/pico-ice/BUILD @@ -36,13 +36,13 @@ Command(' '.join(['$dst/pico-ice/ueforth_pico_ice.uf2', '$dst/pico-ice/ueforth_pico_ice.err']), ' '.join(['$dst/pico-ice/build.ninja', '$dst/gen/pico_ice_boot.h']), - 'ninja -C $dst/pico-ice ueforth_pico_ice 2>&1 | cat >$dst/pico-ice/ueforth_pico_ice.err') + 'ninja -C $dst/pico-ice ueforth_pico_ice >$dst/pico-ice/ueforth_pico_ice.err 2>&1') Command(' '.join(['$dst/pico-ice/build.ninja', '$dst/pico-ice/cmake.err']), ' '.join(['$src/pico-ice/pico-sdk/README.md', '$src/pico-ice/pico-ice-sdk/README.md', '$src/pico-ice/pico-sdk/lib/tinyusb/README.rst']), - 'cmake $dst/pico-ice -G Ninja -S pico-ice -B $dst/pico-ice 2>&1 | cat >$dst/pico-ice/cmake.err') + 'cmake $dst/pico-ice -G Ninja -S pico-ice -B $dst/pico-ice >$dst/pico-ice/cmake.err 2>&1') # Check out submodules if needed. Command(' '.join([ diff --git a/posix/BUILD b/posix/BUILD index 480abca..344b45b 100644 --- a/posix/BUILD +++ b/posix/BUILD @@ -21,8 +21,8 @@ Alias('posix', ' '.join([ '$dst/posix/ueforth', '$src/common/all_tests.fs'), TestCommand('$dst/tests/posix_see_all_test.out', '$dst/posix/ueforth', - 'echo internals see-all bye | $dst/posix/ueforth 2>&1 | ' - 'cat >$dst/tests/posix_see_all_test.out'), + 'echo internals see-all bye | $dst/posix/ueforth ' + '>$dst/tests/posix_see_all_test.out 2>&1'), TestCommand(' '.join(['$dst/tests/posix_save_restore_test.out', '$dst/tests/posix_save_restore.bin']), '$dst/posix/ueforth', diff --git a/site/BUILD b/site/BUILD index 0aa27d0..7c93a13 100644 --- a/site/BUILD +++ b/site/BUILD @@ -137,5 +137,5 @@ Alias('publish', ' '.join([ '$src/tools/publish.py', ] + PUBLISH_PARTS), '$src/tools/webindex.py >$dst/gen/archive.html && ' + - '$src/tools/publish.py --src $dst/gen/archive.html --dst archive.html 2>&1 | cat >/dev/null'), + '$src/tools/publish.py --src $dst/gen/archive.html --dst archive.html >/dev/null 2>&1'), ]))