From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: [PATCH 5/5] Remove statements about scripts/* that are no longer true Date: Mon, 21 Mar 2011 22:19:21 +0000 Message-ID: <1300745961-4287-6-git-send-email-neil@ossau.uklinux.net> References: <1300745961-4287-1-git-send-email-neil@ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1300747680 5795 80.91.229.12 (21 Mar 2011 22:48:00 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 21 Mar 2011 22:48:00 +0000 (UTC) Cc: Neil Jerram To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Mar 21 23:47:56 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Q1nt8-0003iX-TM for guile-devel@m.gmane.org; Mon, 21 Mar 2011 23:47:56 +0100 Original-Received: from localhost ([127.0.0.1]:36298 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q1nt2-0002TI-Pq for guile-devel@m.gmane.org; Mon, 21 Mar 2011 18:47:44 -0400 Original-Received: from [140.186.70.92] (port=48355 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q1nst-0001N6-Qu for guile-devel@gnu.org; Mon, 21 Mar 2011 18:47:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q1nSN-0002Zr-PI for guile-devel@gnu.org; Mon, 21 Mar 2011 18:20:13 -0400 Original-Received: from mail3.uklinux.net ([80.84.72.33]:41574) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q1nSN-0002ZZ-Dv for guile-devel@gnu.org; Mon, 21 Mar 2011 18:20:11 -0400 Original-Received: from arudy (unknown [78.149.125.161]) by mail3.uklinux.net (Postfix) with ESMTP id 9F3061F66D7 for ; Mon, 21 Mar 2011 22:19:55 +0000 (GMT) Original-Received: from neil-laptop.520b.com (unknown [192.168.11.4]) by arudy (Postfix) with ESMTP id 404363803C; Mon, 21 Mar 2011 22:19:54 +0000 (GMT) X-Mailer: git-send-email 1.7.1 In-Reply-To: <1300745961-4287-1-git-send-email-neil@ossau.uklinux.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-Received-From: 80.84.72.33 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:11954 Archived-At: * 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. --- doc/ref/tools.texi | 33 +++++++-------------------------- module/scripts/README | 23 +++++------------------ 2 files changed, 12 insertions(+), 44 deletions(-) diff --git a/doc/ref/tools.texi b/doc/ref/tools.texi index 2f4f59a..7a98884 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 diff --git a/module/scripts/README b/module/scripts/README index 56dd286..cb397f5 100644 --- a/module/scripts/README +++ b/module/scripts/README @@ -4,9 +4,9 @@ Overview and Usage This directory contains Scheme programs, some useful in maintaining Guile. On "make install", these programs are copied to PKGDATADIR/VERSION/scripts. -You can invoke a program from the shell, or alternatively, load its file -as a Guile Scheme module, and use its exported procedure(s) from Scheme code. -Typically for any PROGRAM: +You can use guile-tools to invoke a program from the shell, or alternatively, +load its file as a Guile Scheme module, and use its exported procedure(s) +from Scheme code. Typically for any PROGRAM: (use-modules (scripts PROGRAM)) (PROGRAM ARG1 ARG2 ...) @@ -22,8 +22,6 @@ To see PROGRAM's commentary, which may or may not be helpful: (help (scripts PROGRAM)) -To see all commentaries and module dependencies, try: "make overview". - If you want to try the programs before installing Guile, you will probably need to set environment variable GUILE_LOAD_PATH to be the parent directory. This can be done in Bourne-compatible shells like so: @@ -40,11 +38,7 @@ How to Contribute See template file PROGRAM for a quick start. -Programs must follow the "executable module" convention, documented here: - -- The file name must not end in ".scm". - -- The file must be executable (chmod +x). +Programs must follow the "guile-tools" convention, documented here: - The module name must be "(scripts PROGRAM)". A procedure named PROGRAM w/ signature "(PROGRAM . args)" must be exported. Basically, use some variant @@ -61,15 +55,8 @@ Programs must follow the "executable module" convention, documented here: However, `main' must NOT be exported. -- The beginning of the file must use the following invocation sequence: - - #!/bin/sh - main='(module-ref (resolve-module '\''(scripts PROGRAM)) '\'main')' - exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@" - !# - Following these conventions allows the program file to be used as module -(scripts PROGRAM) in addition to as a standalone executable. Please also +(scripts PROGRAM) in addition to being invoked by guile-tools. Please also include a helpful Commentary section w/ some usage info. -- 1.7.1