Scsh is a Unix shell in that is has significant syntax extensions to make writing Unix shell scripts easy (constructing pipelines, setting I/O redirection, conditional execution etc.). It also offers access to lower-level functionality like all Posix system calls, TCP/IP sockets and a full-featured regular expression library. This is embedded into a general-purpose programming language with real data types, extensive, syntactically clean control constructs and "real" quoting rules. Scsh is also a full implementation of R4RS Scheme with some non-standard behavior (required for scripting). As a result, a wide varity of exiting Scheme code can be used. The underlying Scheme implementation is a virtual machine for compact byte code. The name of the installed program is "scsh", the manpage is scsh(1), other documentation is in (/usr/local/)lib/scsh/doc. To load slib, install slib into /usr/local/lib/slib and run (load "slib-init.scm") in scsh. It requires no additional setup (paths or such). The emacs interface is in the original distribution in emacs/. For documentation see doc/user-guide.txt. Differences between FreeBSD port and generic scsh release: ---------------------------------------------------------- 1) When hitting C-d (end-of-file), scsh asks 100 times for confirmation. I changed the default to do this just once. Set constant *y-or-n-eof-count* in scsh/rw.scm to change it. 2) The original scsh sends a mail to the scsh authors every time you make the package. The FreeBSD port doesn't. The authors of scsh would appreciate it if you do a `(cd work/scsh-0.4.4 && make .notify)` after you build this package. 3) A symbolic link ${PREFIX}/share/doc/scsh to the documentation is created. 4) Some basic description text files from the distribution base dir are copied to lib/doc. The emacs directory is copied into lib/scsh/emacs. scsh's default is not to install these files. 5) Some /usr/tmp -> /var/tmp