Changes that improve compatibility w/ the Sixth Edition (V6) UNIX Thompson shell are marked w/ a `C:' in the details below. ------------------------------------------------------------------------------- [etsh-current] (development): * Work In Progress ( see https://etsh.io/src/current/ ) ------------------------------------------------------------------------------- [etsh-5.3.1] (latest): README: * Updated supported systems: *) Replaced OpenBSD 6.3-current with 6.4-beta; *) Replaced NetBSD 8.0_RC1 with 8.0; mkconfig: * Changed #define _XOPEN_SOURCE from 600L to 700 for OpenIndiana. defs.h: * Removed ULong typedef & inclusion of , both unused. defs.h etsh.c tsh.c: * Removed the UInt typedef of unsigned int; it's already available as u_int on supported systems. Replaced instances of UInt with u_int in etsh.c & tsh.c . lib.c: prompt_debug(): * Changed the type of cnt, a counter, from unsigned to u_int. pexec.c sh_err.h util.c: * Added a missing error message, ": too large", found in the original V6 Thompson shell source code; see History/sh.c for more information. * C: This error message is available in both etsh & tsh. * Also, defined PWD_USAGE; sbi_pwd(), in util.c, uses it. if.c strtoint.[ch] util.c: strtoint(): * Changed long to long int; it's not exactly a change, but it's better to be explicit than not; e3(), in if.c & util.c, uses strtoint() and has the same long to long int change. examples/{.*,*}: * Synced URLs - https://etsh.io/examples - with website again. tests/{README,run,test0[1-8]}: * Synced URLs - https://etsh.io/tests - with website again. ------------------------------------------------------------------------------- [etsh-5.3.0]: * Commits.log - Moved to https://etsh.io/src/old/Commits.log . INSTALL: * Updated in order to sync with the Makefile, and tidied up & clarified (the Footnotes:) a bit. * Improved the OpenIndiana example. LICENSE: * Added a new license for the pwd built-in command's simple documentation; I used an adaptation of it in etsh.1 & util.c . Makefile: * Added 'CC?='. Makefile, examples/ready_rc_files: * Changed the name of the examples.install temporary directory to exp instead. PROJECT: * Updated / synced this file with the Etsh Project website. It has its own https://etsh.io/Project page too. All for good fun and utility. README: * Added OpenIndiana Hipster 2018.04 to supported systems. sh.h etsh.[1c] util.c: * Added a new special built-in command, pwd; it prints the absolute pathname of the current working directory to the standard output. See its function, sbi_pwd(), in util.c . * Added documentation for it to the "Special commands" subsection of etsh.1 . * Changed the size of the local buf buffer in get_set_cwd() from PATHMAX to PATHMAX + 1 to include a byte for the terminating NUL; sbi_pwd() uses the same size for its local buffer as well. tests/run: * Updated accordingly to generate, and test against, the new logs. tests/test0[67]_etsh.log: * Regenerated the logs for 'make check*'; it was necessary, as cvs added CVS directories when moving the v6shell repository back to cvs, of course. tests/test0[67]_etsh_nocvsdir.log: * Added these 2 new log files; doing so allows 'make check*' to be run and work correctly from both a cvs checked out source tree & a released one; CVS directories get removed when I run the etsh release script. examples/.etshrc: * Changed VISUAL from /usr/local/bin/vim to /usr/local/bin/nvi . ------------------------------------------------------------------------------- [etsh-5.2.0]: * For information about changes I've not included here, please see https://etsh.io/src/etsh-5.2.0-commit.log on the etsh project (v6shell) website. * I moved the project from a git repository hosted by GitHub to a fossil repository hosted by me on my own machine(s) at the beginning of June 2018 (the 4th to be exact). * (all files): * Due to the project movement mentioned above, all of the ident strings (for the files that had them) got nullified for some reason. Not a problem really. I just created new ones manually. Now, I just have to remember to update them manually as well. Possible. AUTHORS, CHANGES, CHANGES-tsh+: * Updated. README: * Updated supported systems: *) Replaced OpenBSD 6.2-current with 6.3-current; *) Replaced NetBSD 8.0_BETA with 8.0_RC1; *) Replaced Fedora 27 with 28; *) Removed Centos and Linpus, since I don't know if they still are; Makefile: * Added DOCFILES macro for project documentation files to be installed into DOCDIR (DESTDOCDIR in its final form). The default value (now) is: README PROJECT NOTES LICENSE DEDICATIONS AUTHORS. mkconfig: * Updated to use the proper secure idiom for awk printf statements. *.[1ch]: * There are some changes, but I'm too tired to write about them coherently again. * Please see https://etsh.io/src/etsh-5.2.0-commit.log instead. libexec.etsh/history: * Made a few changes: 1) Update the 2 aliases fd2ncat & ncat to fd2lncat & lncat to keep history in sync with the change in v6scripts from ncat to lncat; the noted v6scripts change was to avoid a name conflict with the `ncat' command that is installed with `nmap'; the alias names in the `history' command file don't conflict, but it's better for me to keep stuff like this in sync when possible; 2) Change the SIGPIPE (13) trap from using '' to : ; 3) Realign stuff by adding a few tabs after the changes mentioned in 1) above; examples/(.*|*): * Made various updates / improvements to the following 4 files: *) .etsh.logout, .etshrc, etsh.etshrc, and etsh.login; ------------------------------------------------------------------------------- [etsh-5.1.5]: * Removed etsh-5.1.5-git.log, as it's on the etsh project (v6shell) website at https://etsh.io/src/etsh-5.1.5-git.log ; please see it for information about changes. ------------------------------------------------------------------------------- [etsh-5.1.0]: * Write up CHANGES*, and release!?. But in the meantime, to not delay release, please see the git commit log at https://etsh.io/src/etsh-5.1.0-git.log ; ------------------------------------------------------------------------------- [etsh-5.0.2]: defs.h: * Added ALIASMAX with a value of 2. err.h: * Changed ERR_ALIASLOOP to ERR_ALIASTMNA. etsh.c: * In syn3(), removed some blank lines, used ALIASMAX & ERR_ALIASTMNA, and added another alias debugging message. All for cleanliness. etsh.1: * Changed where tsh(1) appears in `SEE ALSO' so that it is a little more alphabetical, and document the alias changes that are described above. examples/.etshrc, libexec.etsh/etshdir: * Tweaked/Synced .../.etshrc with .../etshdir, changing rmod (for remove OSHDIR) to rmed (for remove ETSHDIR). ------------------------------------------------------------------------------- [etsh-5.0.1]: Makefile: * We now remove the examples.install temporary directory via the clean target, not the install-exp target. This allows the user to see the state of this directory if desired after running make ... install-exp . * Changed the install-exp commentary so it makes more sense. ------------------------------------------------------------------------------- [etsh-5.0.0]: * Trimmed CHANGES ( see https://etsh.io/src/CHANGES-trim as noted below ). History/* (new files): * Added the original V6 UNIX source code from which this project originated to the tree (as a historical reference). INSTALL: * Updated due to changes in the Makefile and so forth. * If you do more than a `./configure ; make ; doas make install' or equivalent, you will want to familiarize yourself with its changes and/or the changes in the Makefile (see below). Makefile: * The changes were primarily string substitutions. They basically boiled down to... '(SH6|sh6)' getting replaced with '(TSH|tsh)' and: '(OSH|osh)' getting replaced with '(ETSH|etsh)' ... between the old Makefile and the new Makefile. README: * Added NetBSD 8.0_BETA & OpenBSD 6.2-current to supported systems. * Moved osh.[1c] to etsh.[1c], and made all associated changes that this required (e.g., to the Makefile and so forth). See above for more details about the Makefile changes. Strictly speaking, osh (as in old shell) no longer exists. * C: Removed (+) from `Broken pipe' termination message in etsh.1, and added `Broken pipe' termination message to tsh.1 and tsh.c for compatibility reasons. The original V6 Thompson shell did not print this termination message when its process received a SIGPIPE signal. It was documented but not implemented. For etsh and tsh though, it is both documented and implemented. etsh.[1c]: * Added : as another action for trap to ignore signals on the shell and user's behalf, and document it as well. It is preferable to use : instead of the empty string, as '' and/or "" are used for quoting. No worries, trap '' signal_number ... will continue to ignore the specified signals as it always has. * Changed examples/* and tests/* trap invocations to use : . *.1: * Other manual page changes were related to moving sh6 to tsh and osh to etsh as well. *.[ch]: * Other code changes were related to the above Makefile changes / bin name changes as well. tests/...: * Updated regression tests as needed, and regenerated test logs. ------------------------------------------------------------------------------- [etsh-4.9.0]: README: * Updated supported systems to include NetBSD 7.1. Makefile: * Clarify the comment for the install-exp target. * Simplified what the install-doc target installs and where, only the project README into a default DOCDIR that uses the same name that OpenBSD ports/packages does. osh.c, err.c, defs.h: * Increased size of line buffer & word pointer array. Previously, line only allowed a maximum of 2042 characters in each command line. It now allows 2063 and gives a "Too many characters" error at 2064 and beyond. For word, instead of allowing a maximum of 1018 arguments/words per command line and giving "Too many args" at 1019 and beyond, it now allows 1026 and errors at 1027 and beyond. osh.c: * Fixed a problem that prevented -n & -v from working as expected when the shell was invoked "without args" [1] and reading command lines from the standard input via a pipe or file. The correct post-fix behaviour is shown in the following examples: % echo \' | etsh -nv -n: noexec -v: verbose ' etsh: syntax error % etsh -nv