aboutsummaryrefslogtreecommitdiffstats
path: root/shells/scsh/pkg-descr
blob: 7df558d870dcacd3b653213f4c1e3b8e44f314c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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. See 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

Martin Cracauer <cracauer@cons.org>