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
optmized code and split up install to reduce memory costs. Can now install on 1x T1 RAM systems.
found old bug in filesystem:
touch a
ln a b
mkdir d
cd d
touch b
rm b
And the link in the parent dir would be lost. The reason is that the virtual nodes created for the link were being selected when removing the b file in d, as well as removing b from the real fs. The fix was to check that the node was the correct node, and not just remove the key from any node returned from findNode