make term resize event handler safer by adding it to each window. this will have the same memory cost, but is more reliable
fix cp path check for copying dirs into themselves. there was a bug where /path/a_dir looked like a parent of /path/a_dir_2
cleanup df format by not adding padding on the far right side of the table
make init event handler slightly more efficient by waiting specifically for the init signal, rather than a specified amount of time
mv had some weird problems with missing files or empty quoted args - fix and added unit tests
rm force should have no prompt and always return success
term.read() ^c now returns false broke lua prompt on ^c
any false return from a stream read should be indicative of a broken or ended stream to be more compliant with io.read behavior
e.g.
Assume you have a script that print to stdout as well as stderr:
[test.lua]
print("foo")
io.stderr:write("bar")
Then run this script, redirecting [2] to stdout, and [1] to dev null, then piping to grep
./test.lua 2>&1 >/dev/null | grep baz
This test should print NOTHING to the terminal, "foo" went to dev null, "bar" when to stdout, and grep matched on "baz", thus should not print. But the bug I found was that [2] was redirected to terminal tty stdout and then AFTER that the piping code added a pipe on [1], but [2] was already pointing to tty. The fix is to move the piping before redirections are created, so that when [2] redirects to stdout, stdout is already the pipe.
Also:
Fixed a bug with command substitution not concatenating strings
Split /bin/ls for ultra simple formatting for low mem systems
Remove all instances of absolute paths to lib/tools and use package searching
renaming guid to uuid and removing useless method toHex
adding text read and writer, compare to c++ stdlib stringstream. needed for advanced devfs
fix globbing with relative paths and . and .. in path
moving install confirmation before calling .install
fix cp: cp -r . /another/path (should copy contents of current dir)
fix cat when stdin is missing or closed
improved devfs supporting custom dir handlers for dynamic file listing
other non functional changes to clean up code and improved error messages
buffer: don't allow reading zero bytes from a stream, and fix libraries that should be allowed to set zero size buffer
install: report setting boot address, ^d should not accept prompts
ls: use shell to get working dir, not PWD
package: remove clutter for library keys and _G
rc: add unload to lib methods and fix typo in source
sh: remove clutter from _G and use zero sized buffer for piping
install was crashing if there were no options. Having no options is a perfectly valid case where install is trying to exit early (e.g. --help, or user cancelled) I forgot the check for nil.
During tests I found that cp was unnecessarily slow due to constant event pulling on every file. I introduced a 4 second gap between checking events. But his caused cp very hard (nearly impossible) to interrupt. Thus, it is preferrable to slow down copy so that the user could interrupt it.
Also, thanks to Inari, we have improved the text of the install prompts. Please review and comment if you feel the text still needs some revising. I'm not a technical writer, so I hope we are making this simple.
Also, if the user tries to run install with the network loot disk, the /data dir will be copied to /, and the user probably wants the data/. dir used. Using .prop's {fromDir="/data/"} fixes this