README for guile-core/doc/maint                      -*- text -*-

The files in this directory are used by the maintainers to automate
the process of updating the Guile reference manual when the docstrings
in the libguile C source change.

- ChangeLog is the change log for files in this directory.

- README is this file.

- docstring.el is a helpful Emacs Lisp library (see source for
  customization).  The two key entry points are:
    `docstring-process-module' and
    `docstring-ediff-this-line'.

- guile.texi is a snapshot of the built file libguile/guile.texi,
  copied last time the reference manual was determined to be in sync
  with the libguile source.

docstring.el requires the setting of an environment variable, e.g.,

export GUILE_MAINTAINER_GUILE_CORE_DIR=$HOME/guile/guile-core

If the build directory differs from the source directory, an additional
variable is required:

export GUILE_MAINTAINER_BUILD_CORE_DIR=$HOME/guile/guile-core-build

If you've just fixed a docstring in, say, ../libguile/strop.c, do in emacs:

    M-x load-file RET .../doc/maint/docstring.el RET
    M-x docstring-process-module RET (guile) RET

Save all modified .texi files and copy the current ../libguile/guile.texi
to ./guile.texi, then commit.  See elisp var `docstring-snarfed-roots'.
