summaryrefslogtreecommitdiff
path: root/doc/ref/tools.texi
diff options
context:
space:
mode:
authorNeil Jerram <neil@ossau.uklinux.net>2011-03-21 09:05:59 +0000
committerNeil Jerram <neil@ossau.uklinux.net>2011-03-25 19:45:14 +0000
commitc6e05396dc73c3bcfa71b92b4689e8cb6d4588eb (patch)
treede6b0d31d1319af1e0a8b3ff1c19c0154186b50f /doc/ref/tools.texi
parent6b8bc6f8b507928f9b0bd71000f5132c984db798 (diff)
downloadguile-c6e05396dc73c3bcfa71b92b4689e8cb6d4588eb.tar.gz
Remove statements about scripts/* that are no longer true
* doc/ref/tools.texi (Executable Modules): Say "guile-tools modules" instead of "executable modules". Remove obsolete statements about not ending in .scm, being executable, and beginning with shell script invocation sequence. * module/scripts/README: Ditto.
Diffstat (limited to 'doc/ref/tools.texi')
-rw-r--r--doc/ref/tools.texi33
1 files changed, 7 insertions, 26 deletions
diff --git a/doc/ref/tools.texi b/doc/ref/tools.texi
index 2f4f59ac9..7a98884d8 100644
--- a/doc/ref/tools.texi
+++ b/doc/ref/tools.texi
@@ -303,14 +303,11 @@ is rather byzantine, so for now @emph{NO} doc snarfing programs are installed.
@cindex executable modules
@cindex scripts
-When Guile is installed, in addition to the @code{(ice-9 FOO)} modules,
-a set of @dfn{executable modules} @code{(scripts BAR)} is also installed.
-Each is a regular Scheme module that has some additional packaging so
-that it can be called as a program in its own right, from the shell. For this
-reason, we sometimes use the term @dfn{script} in this context to mean the
-same thing.
-
-@c wow look at this hole^! variable-width font users eat your heart out.
+When Guile is installed, in addition to the @code{(ice-9 FOO)} modules, a set
+of @dfn{guile-tools modules} @code{(scripts BAR)} is also installed. Each is
+a regular Scheme module that has some additional packaging so that it can be
+used by guile-tools, from the shell. For this reason, we sometimes use the
+term @dfn{script} in this context to mean the same thing.
As a convenience, the @code{guile-tools} wrapper program is installed along w/
@code{guile}; it knows where a particular module is installed and calls it
@@ -346,17 +343,11 @@ executable module. Feel free to skip to the next chapter.
See template file @code{PROGRAM} for a quick start.
-Programs must follow the @dfn{executable module} convention, documented here:
+Programs must follow the @dfn{guile-tools} convention, documented here:
@itemize
@item
-The file name must not end in ".scm".
-
-@item
-The file must be executable (chmod +x).
-
-@item
The module name must be "(scripts PROGRAM)". A procedure named PROGRAM w/
signature "(PROGRAM . args)" must be exported. Basically, use some variant
of the form:
@@ -377,20 +368,10 @@ There must be the alias:
However, `main' must NOT be exported.
-@item
-The beginning of the file must use the following invocation sequence:
-
-@example
-#!/bin/sh
-main='(module-ref (resolve-module '\''(scripts PROGRAM)) '\'main')'
-exec $@{GUILE-guile@} -l $0 -c "(apply $main (cdr (command-line)))" "$@@"
-!#
-@end example
-
@end itemize
Following these conventions allows the program file to be used as module
-@code{(scripts PROGRAM)} in addition to as a standalone executable. Please
+@code{(scripts PROGRAM)} in addition to being invoked by guile-tools. Please
also include a helpful Commentary section w/ some usage info.
@c tools.texi ends here