mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 20:00:19 +02:00
* configure.ac: Look for ln -s. Write out `guild' instead of `guile-tools'. * meta/Makefile.am (install-data-hook): Link the installed `guild' to the backward-compatible `guile-tools' name. (bin_SCRIPTS, EXTRA_DIST): Fix up for guild change. * meta/guild.in: Moved here from `guile-tools.in'. * doc/ref/Makefile.am (autoconf-macros.texi): * doc/ref/api-evaluation.texi (Compilation): * doc/ref/autoconf.texi (Autofrisk, Using Autofrisk): * doc/ref/mod-getopt-long.texi (getopt-long Reference): * doc/ref/tools.texi (Miscellaneous Tools, Executable Modules): Minimal doc update. * .gitignore: * am/guilec (.scm.go): * libguile/Makefile.am (snarf2checkedtexi): * module/Makefile.am (ice-9/psyntax-pp.go): Update makefiles, etc. * module/scripts/README: * module/scripts/lint.scm: * module/scripts/list.scm: Update commentaries. |
||
---|---|---|
.. | ||
api-diff.scm | ||
autofrisk.scm | ||
ChangeLog-2008 | ||
compile.scm | ||
disassemble.scm | ||
display-commentary.scm | ||
doc-snarf.scm | ||
frisk.scm | ||
generate-autoload.scm | ||
lint.scm | ||
list.scm | ||
PROGRAM.scm | ||
punify.scm | ||
read-rfc822.scm | ||
read-scheme-source.scm | ||
read-text-outline.scm | ||
README | ||
scan-api.scm | ||
snarf-check-and-output-texi.scm | ||
snarf-guile-m4-docs.scm | ||
summarize-guile-TODO.scm | ||
use2dot.scm |
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 use guild 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 ...) For programs that write to stdout, you might try, instead: (use-modules (scripts PROGRAM)) (with-output-to-string (lambda () (PROGRAM ARG1 ARG2 ...))) Note that all args must be strings. To see PROGRAM's commentary, which may or may not be helpful: (help (scripts PROGRAM)) 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: GUILE_LOAD_PATH=`(cd .. ; pwd)` export GUILE_LOAD_PATH [FIXME: Can someone supply the csh-compatible equivalent?] How to Contribute ----------------- See template file PROGRAM for a quick start. Programs must follow the "guild" 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 of the form: (define-module (scripts PROGRAM) :export (PROGRAM)) Feel free to export other definitions useful in the module context. - There must be the alias: (define main PROGRAM) However, `main' must NOT be exported. Following these conventions allows the program file to be used as module (scripts PROGRAM) in addition to being invoked by guild. Please also include a helpful Commentary section w/ some usage info. [README ends here]