1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 03:30:27 +02:00
guile/doc
Andreas Rottmann 8fdd85f834 Allow user-defined meta-commands
Besides allowing user-defined meta-commands, this change also refactors
the meta-command machinery to split reading a command's arguments from
the procedure actually implementing it, and hence allows nesting
meta-commands.  As an example of such a command, ",in" is added as a new
meta-command.

* module/system/repl/command.scm: Export `define-meta-command'.
  (*command-module*): Replaced by the hash table `*command-infos*'.
  (command-info, make-command-info, command-info-procedure)
  (command-info-arguments-reader): New procedures, encapsulating the
  information about a meta-command.
  (command-procedure): Adapted to use the `command-info' lookup
  procedure.
  (read-command-arguments): New auxiliary procedure invoking a command's
  argument reader procedure.
  (meta-command): Adapted to the split of reading arguments and
  executing a command.
  (add-meta-command!): New auxiliary procedure, registers a meta
  command's procedure and argument reader into `*command-infos* and
  `*command-table*.
  (define-meta-command): Extended to allow specification of the command's
  category; split the argument reader and actual command procedure.
  (guile:apropos, guile:load, guile:compile-file, guile:gc): Remove these
  aliases, they are unnecessary as we now use a hash table instead of the
  module to store the commands.
  (in): New meta-command, which evaluates an expression, or alternatively
  executes another meta-command, in the context of a specific module.
* doc/ref/scheme-using.texi (Module Commands): Document the `in'
  meta-command.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2010-11-20 23:55:19 +01:00
..
example-smob Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
maint Automatic manual updates following libguile docstring changes 2009-12-27 23:24:09 +00:00
r5rs Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
ref Allow user-defined meta-commands 2010-11-20 23:55:19 +01:00
sources "filesystem" -> "file system" 2009-11-24 23:16:08 +01:00
.gitignore More `.gitignore'. 2008-04-07 23:48:48 +02:00
BUGS Move doc files into guile-core distribution (6) 2001-03-09 09:20:46 +00:00
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
ChangeLog-guile-doc Move doc files into guile-core distribution (6) 2001-03-09 09:20:46 +00:00
gendocs_template Update Gnulib to v0.0-3955-g8ab5996. 2010-05-29 23:58:12 +02:00
goops.mail Initial revision 2000-08-22 15:54:19 +00:00
groupings.alist Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-api.alist Update. 2002-05-12 05:29:39 +00:00
guile.1 Update "guile(1)" man page. 2008-11-13 23:24:32 +01:00
hacks.el * hacks.el: Some handy helper functions for working on the manual. 1998-10-15 21:48:23 +00:00
Makefile.am delete the tutorial 2010-02-16 21:47:34 +01:00
NEWS merge from 1.8 branch 2006-04-16 23:18:55 +00:00
oldfmt.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
README Move GOOPS documentation into the main manual 2009-08-03 23:29:45 +01:00
recipe-guidelines.txt * Added recipe-guidelines.txt. 2001-04-20 11:20:06 +00:00
texinfo.tex autotooling, version bump to 0.7 2008-05-20 12:10:18 +02:00
THANKS * Grammar fix. 2001-06-27 18:12:46 +00:00
use-cases.fig Created a usecase diagram for Guile. 2001-05-24 08:46:50 +00:00
use-cases.txt Created a usecase diagram for Guile. 2001-05-24 08:46:50 +00:00

This directory contains documentation on the Guile core.         -*-text-*-

The documentation consists of the following manuals.

- The Guile Tutorial (guile-tut.texi) contains a tutorial introduction
  to using Guile.

- The Guile Reference Manual (guile.texi) contains (or is intended to
  contain) reference documentation on all aspects of Guile.

- The Revised^5 Report on the Algorithmic Language Scheme (r5rs.texi).

Please be aware that this is all very much work in progress (apart
from the Revised^5 Report).  Bug reports and contributions are
welcome!

The file `oldfmt.c' contains a function which can be used by
application writers to support both old-style and new-style error
format strings.

The `sources' directory includes some stuff relevant to the Guile
reference manual, and which may eventually be folded in to it.  It's
not immediately relevant, however, which is why it's not in this
directory.

The Revised^4 Report (r4rs.texi) is no longer in this distribution, as
it is completely superseded by the Revised^5 Report.  If you need to
consult R4RS, it is still widely available, for example at
http://www-swiss.ai.mit.edu/projects/info/SchemeDocs/r4rs/.