Subject: [PATCH] Fix typos throughout codebase

From: Morgan Smith <[email-masked]>
Date: Tue, 30 May 2023 15:09:47 -0400

* NEWS:
* README:
* doc/r5rs/r5rs.texi:
* doc/ref/api-data.texi:
* doc/ref/api-debug.texi:
* doc/ref/api-evaluation.texi:
* doc/ref/api-io.texi:
* doc/ref/api-macros.texi:
* doc/ref/api-procedures.texi:
* doc/ref/api-scheduling.texi:
* doc/ref/api-undocumented.texi:
* doc/ref/libguile-concepts.texi:
* doc/ref/posix.texi:
* doc/ref/srfi-modules.texi:
* doc/ref/vm.texi:
* doc/ref/web.texi:
* examples/box-dynamic-module/box.c:
* examples/box-dynamic/box.c:
* examples/box-module/box.c:
* examples/box/box.c:
* examples/safe/safe:
* examples/scripts/README:
* examples/scripts/hello:
* gc-benchmarks/larceny/twobit-input-long.sch:
* gc-benchmarks/larceny/twobit-smaller.sch:
* gc-benchmarks/larceny/twobit.sch:
* libguile/expand.c:
* libguile/load.c:
* libguile/net_db.c:
* libguile/scmsigs.c:
* libguile/srfi-14.c:
* libguile/threads.c:
* meta/guile.m4:
* module/ice-9/match.upstream.scm:
* module/ice-9/ports.scm:
* module/language/cps/graphs.scm:
* module/scripts/doc-snarf.scm:
* module/srfi/srfi-19.scm:
* module/system/repl/command.scm:
* test-suite/tests/srfi-18.test:
Fix typos.
---

I do hope the commit message is good enough.  Anything more specific would be
hard.

This was more of an undertaking then I initally thought so I didn't actually
get through as much of the repository as I wanted.

 NEWS                                        | 544 ++++++++++----------
 README                                      |   2 +-
 doc/r5rs/r5rs.texi                          |  10 +-
 doc/ref/api-data.texi                       |  16 +-
 doc/ref/api-debug.texi                      |   2 +-
 doc/ref/api-evaluation.texi                 |   4 +-
 doc/ref/api-io.texi                         |   2 +-
 doc/ref/api-macros.texi                     |   2 +-
 doc/ref/api-procedures.texi                 |   2 +-
 doc/ref/api-scheduling.texi                 |  12 +-
 doc/ref/api-undocumented.texi               |   6 +-
 doc/ref/libguile-concepts.texi              |   2 +-
 doc/ref/posix.texi                          |  10 +-
 doc/ref/srfi-modules.texi                   |  12 +-
 doc/ref/vm.texi                             |   2 +-
 doc/ref/web.texi                            |   2 +-
 examples/box-dynamic-module/box.c           |   2 +-
 examples/box-dynamic/box.c                  |   2 +-
 examples/box-module/box.c                   |   4 +-
 examples/box/box.c                          |   2 +-
 examples/safe/safe                          |   2 +-
 examples/scripts/README                     |   2 +-
 examples/scripts/hello                      |   2 +-
 gc-benchmarks/larceny/twobit-input-long.sch |   8 +-
 gc-benchmarks/larceny/twobit-smaller.sch    |   2 +-
 gc-benchmarks/larceny/twobit.sch            |   8 +-
 libguile/expand.c                           |   4 +-
 libguile/load.c                             |   2 +-
 libguile/net_db.c                           |   2 +-
 libguile/scmsigs.c                          |   2 +-
 libguile/srfi-14.c                          |   4 +-
 libguile/threads.c                          |   6 +-
 meta/guile.m4                               |   2 +-
 module/ice-9/match.upstream.scm             |   4 +-
 module/ice-9/ports.scm                      |   8 +-
 module/language/cps/graphs.scm              |   4 +-
 module/scripts/doc-snarf.scm                |  10 +-
 module/srfi/srfi-19.scm                     |   2 +-
 module/system/repl/command.scm              |   2 +-
 test-suite/tests/srfi-18.test               |   4 +-
 40 files changed, 360 insertions(+), 360 deletions(-)

diff --git a/NEWS b/NEWS
index f2e00898f..28b2ee1dd 100644
--- a/NEWS
+++ b/NEWS
@@ -87,7 +87,7 @@ The procedures `openat', `open-fdes-at', `statat', `chownat',
 added.  They resolve file names relative to a directory passed as a file
 port.  The procedures `chdir' `readlink' and `utime' have been extended
 to support file ports.  The related flags `AT_REMOVEDIR' and
-`AT_EACCESS' have been added. See `File System' in the manual
+`AT_EACCESS' have been added.  See `File System' in the manual
 
 ** Abstract Unix-domain sockets are supported
 
@@ -204,7 +204,7 @@ or not.
 
 ** Avoid the need for a custom GMP allocator
 
-In Guile 3.0.6, we fixed a longstanding bug in Guile's use of the
+In Guile 3.0.6, we fixed a long-standing bug in Guile's use of the
 library that Guile uses to implement bignums (large integers), GMP
 (https://gmplib.org).  See the Guile 3.0.6 release notes.  However this
 left us with a suboptimal Guile, in which each large integer had to have
@@ -231,7 +231,7 @@ The functions `u8vector-copy' `s8vector-copy' `u16vector-copy'
 `s16vector-copy!'  `u32vector-copy!'  `s32vector-copy!'
 `u64vector-copy!'  `s64vector-copy!'  `f32vector-copy!'
 `f64vector-copy!'  `c32vector-copy!'  `c64vector-copy!' have been
-added. See SRFI-4 - Guile extensions" in the manual.
+added.  See SRFI-4 - Guile extensions" in the manual.
 
 ** New function srfi-4-vector-type-size in (srfi srfi-4 gnu)
 
@@ -239,12 +239,12 @@ See SRFI-4 - Guile extensions" in the manual.
 
 ** `bytevector-fill!' supports partial fill through optional arguments
 
-This is an extension to the r6rs procedure. See "Manipulating
+This is an extension to the r6rs procedure.  See "Manipulating
 Bytevectors" in the manual.
 
 ** `vector-copy!' and `vector-copy' from (rnrs base) included in core
 
-Compared to the previous versions, these accept range arguments. See
+Compared to the previous versions, these accept range arguments.  See
 "Accessing and Modifying Vector Contents" in the manual.
 
 ** New function bitvector-copy
@@ -306,7 +306,7 @@ from source via a `make -C prebuilt clean`.
 
 Passing arrays that are not vectors (arrays for which `(vector? array)'
 returns false) to functions `vector-move-left!', `vector-move-right!',
-`vector->list', and `vector-copy' is deprecated. Use `array-copy!',
+`vector->list', and `vector-copy' is deprecated.  Use `array-copy!',
 `array-copy', and `array->list' for such arguments.
 
 ** `scm_from_contiguous_typed_array' is deprecated
@@ -781,7 +781,7 @@ written in C.
 
 The compiler now properly reduces expressions such as (equal? c #\x) to
 (eq? c #\x).  This was not the case in 3.0.2, which could lead to slower
-code, especially in 'match' expressions with many clauses with with
+code, especially in 'match' expressions with many clauses with
 character literals.
 
 ** JIT bugs on ARMv7 have been fixed
@@ -854,7 +854,7 @@ Changes in 3.0.2 (since 3.0.1)
 
 ** New (srfi srfi-171) module
 
-This module implements "tranducers" as specified in
+This module implements "transducers" as specified in
 <https://srfi.schemers.org/srfi-171/srfi-171.html>.
 Thanks to Linus Björnstam for this new API!
 
@@ -1091,9 +1091,9 @@ In light of these considerations, Guile has now changed to make
 exception handling and defined a hierarchy of R6RS-style exception types
 in its core.  SRFI-34/35, R6RS, and the exception-handling components of
 SRFI-18 (threads) have been re-implemented in terms of this core
-functionality.  There is also a a compatibility layer that makes it so
+functionality.  There is also a compatibility layer that makes it so
 that exceptions originating in `throw' can be handled by
-`with-exception-hander', and vice-versa for `raise-exception' and
+`with-exception-handler', and vice-versa for `raise-exception' and
 `catch'.
 
 Generally speaking, users will see no difference.  The one significant
@@ -1102,7 +1102,7 @@ through their `with-exception-handler'/`guard' forms, because whereas
 before they would only see exceptions thrown by SRFI-34, now they will
 see exceptions thrown by R6RS, R7RS, or indeed `throw'.
 
-Guile's situation is transitional.  Most exceptions are still signalled
+Guile's situation is transitional.  Most exceptions are still signaled
 via `throw'.  These will probably migrate over time to
 `raise-exception', while preserving compatibility of course.
 
@@ -1247,7 +1247,7 @@ This is now an error.  Instead, use array-fill!.
 ** `iota' in core and SRFI-1 `iota' are the same
 
 Previously, `iota' in core would not accept start and step arguments and
-would return an empty list for negative count. Now there is only one
+would return an empty list for negative count.  Now there is only one
 `iota' function with the extended semantics of SRFI-1.  Note that as an
 incompatible change, core `iota' no longer accepts a negative count.
 
@@ -1293,7 +1293,7 @@ without runtime warnings.  See "Deprecation" in the manual.
 
 In particular, the function `scm_generalized_vector_get_handle' which
 was deprecated in 2.0.9 but remained in 2.2, has now finally been
-removed. As a replacement, use `scm_array_get_handle' to get a handle
+removed.  As a replacement, use `scm_array_get_handle' to get a handle
 and `scm_array_handle_rank' to check the rank.
 
 ** Remove "self" field from vtables and "redefined" field from classes
@@ -2220,7 +2220,7 @@ See "Atomics" in the manual.
 ** Thread-local fluids
 
 Guile now has support for fluids whose values are not captured by
-`current-dynamic-state' and not inheritied by child threads, and thus
+`current-dynamic-state' and not inherited by child threads, and thus
 are local to the kernel thread they run on.  See "Thread-Local
 Variables" in the manual, for more.
 
@@ -2374,7 +2374,7 @@ manage an implementation-side buffer are no longer needed.
 *** Change prototype of `scm_make_port_type'
 
 The `read' (renamed from `fill_input') and `write' functions now operate
-on bytevectors.  Also the `mode_bits' argument now inplicitly includes
+on bytevectors.  Also the `mode_bits' argument now implicitly includes
 SCM_OPN, so you don't need to include these.
 
 *** Change prototype of port `close' function
@@ -2466,7 +2466,7 @@ deprecated; use `scm_unlock_mutex' instead.
 ** Removed `unchecked-unlock' mutex flag
 
 This flag was introduced for internal use by SRFI-18; use SRFI-18
-mutexes if you need this behaviour.
+mutexes if you need this behavior.
 
 ** SRFI-18 mutexes no longer recursive
 
@@ -2642,7 +2642,7 @@ In particular, the following functions, which were deprecated in 2.0.10
 but not specifically mentioned earlier in this file, have been removed:
 
 *** `uniform-vector-read!' and `uniform-vector-write' have been
-    removed. Use `get-bytevector-n!' and `put-bytevector' from (rnrs io
+    removed.  Use `get-bytevector-n!' and `put-bytevector' from (rnrs io
     ports) instead.
 
 ** Remove miscellaneous unused interfaces
@@ -2659,7 +2659,7 @@ was made private (use `SCM_TICK' instead).
 
 As the compiler and virtual machine were re-written, there are many
 changes in the back-end of Guile to interfaces that were introduced in
-Guile 2.0.  These changes are only only of interest if you wrote a
+Guile 2.0.  These changes are only of interest if you wrote a
 language on Guile 2.0 or a tool using Guile 2.0 internals.  If this is
 the case, drop by the IRC channel to discuss the changes.
 
@@ -3529,7 +3529,7 @@ support (libguile).
 *** Don't use the identifier 'noreturn'.
     (http://bugs.gnu.org/15798)
 *** Rewrite SCM_I_INUM to avoid unspecified behavior when not using GNU C.
-*** Improve fallback implemention of SCM_SRS to avoid unspecified behavior.
+*** Improve fallback implementation of SCM_SRS to avoid unspecified behavior.
 *** SRFI-60: Reimplement 'rotate-bit-field' on inums to be more portable.
 *** Improve compliance with C standards regarding signed integer shifts.
 *** Avoid signed overflow in random.c.
@@ -3767,7 +3767,7 @@ object.
 
 ** New procedures for converting strings to and from bytevectors
 
-See "Representing Strings as Bytes" for documention on the new `(ice-9
+See "Representing Strings as Bytes" for documentation on the new `(ice-9
 iconv)' module and its `bytevector->string' and `string->bytevector'
 procedures.
 
@@ -4284,7 +4284,7 @@ manual for replacements.
 
 * Bug fixes
 
-** Fix use of unitialized stat buffer in search-path of absolute paths.
+** Fix use of uninitialized stat buffer in search-path of absolute paths.
 ** Avoid calling `freelocale' with a NULL argument.
 ** Work around erroneous tr_TR locale in Darwin 8 in tests.
 ** Fix `getaddrinfo' test for Darwin 8.
@@ -4885,7 +4885,7 @@ Byte Access" in the manual, for more.
 
 ** R6RS fixnum arithmetic optimizations
     
-R6RS fixnum operations are are still slower than generic arithmetic,
+R6RS fixnum operations are still slower than generic arithmetic,
 however.
 
 ** New procedure: `define-inlinable'
@@ -5023,13 +5023,13 @@ Compared to Andrew K. Wright's `match', the new `match' lacks
 ** Imported statprof, SSAX, and texinfo modules from Guile-Lib
     
 The statprof statistical profiler, the SSAX XML toolkit, and the texinfo
-toolkit from Guile-Lib have been imported into Guile proper. See
+toolkit from Guile-Lib have been imported into Guile proper.  See
 "Standard Library" in the manual for more details.
 
 ** Integration of lalr-scm, a parser generator
 
 Guile has included Dominique Boucher's fine `lalr-scm' parser generator
-as `(system base lalr)'. See "LALR(1) Parsing" in the manual, for more
+as `(system base lalr)'.  See "LALR(1) Parsing" in the manual, for more
 information.
 
 * Changes to the stand-alone interpreter
@@ -5042,15 +5042,15 @@ Compiled code loads much faster than Scheme source code, and runs around
 ** Evaluating Scheme code does not use the C stack.
 
 Besides when compiling Guile itself, Guile no longer uses a recursive C
-function as an evaluator. This obviates the need to check the C stack
-pointer for overflow. Continuations still capture the C stack, however.
+function as an evaluator.  This obviates the need to check the C stack
+pointer for overflow.  Continuations still capture the C stack, however.
 
 ** New environment variables: GUILE_LOAD_COMPILED_PATH,
    GUILE_SYSTEM_LOAD_COMPILED_PATH
 
 GUILE_LOAD_COMPILED_PATH is for compiled files what GUILE_LOAD_PATH is
-for source files. It is a different path, however, because compiled
-files are architecture-specific. GUILE_SYSTEM_LOAD_COMPILED_PATH is like
+for source files.  It is a different path, however, because compiled
+files are architecture-specific.  GUILE_SYSTEM_LOAD_COMPILED_PATH is like
 GUILE_SYSTEM_PATH.
 
 ** New read-eval-print loop (REPL) implementation
@@ -5061,7 +5061,7 @@ Running Guile with no arguments drops the user into the new REPL.  See
 ** Remove old Emacs interface
 
 Guile had an unused `--emacs' command line argument that was supposed to
-help when running Guile inside Emacs. This option has been removed, and
+help when running Guile inside Emacs.  This option has been removed, and
 the helper functions `named-module-use!' and `load-emacs-interface' have
 been deprecated.
     
@@ -5101,24 +5101,24 @@ See "String Syntax" in the manual, for more information.
     
 The `,profile FORM' REPL meta-command can now be used to statistically
 profile execution of a form, to see which functions are taking the most
-time. See `,help profile' for more information.
+time.  See `,help profile' for more information.
 
 Similarly, `,trace FORM' traces all function applications that occur
-during the execution of `FORM'. See `,help trace' for more information.
+during the execution of `FORM'.  See `,help trace' for more information.
 
 ** Recursive debugging REPL on error
 
 When Guile sees an error at the REPL, instead of saving the stack, Guile
 will directly enter a recursive REPL in the dynamic context of the
-error. See "Error Handling" in the manual, for more information.
+error.  See "Error Handling" in the manual, for more information.
 
 A recursive REPL is the same as any other REPL, except that it
 has been augmented with debugging information, so that one can inspect
-the context of the error. The debugger has been integrated with the REPL
+the context of the error.  The debugger has been integrated with the REPL
 via a set of debugging meta-commands.
 
 For example, one may access a backtrace with `,backtrace' (or
-`,bt'). See "Interactive Debugging" in the manual, for more
+`,bt').  See "Interactive Debugging" in the manual, for more
 information.
 
 ** New `guile-tools' commands: `compile', `disassemble'
@@ -5140,16 +5140,16 @@ mouse.
 ** Load path change: search in version-specific paths before site paths
     
 When looking for a module, Guile now searches first in Guile's
-version-specific path (the library path), *then* in the site dir. This
+version-specific path (the library path), *then* in the site dir.  This
 allows Guile's copy of SSAX to override any Guile-Lib copy the user has
-installed. Also it should cut the number of `stat' system calls by half,
+installed.  Also it should cut the number of `stat' system calls by half,
 in the common case.
 
 ** Value history in the REPL on by default
 
 By default, the REPL will save computed values in variables like `$1',
-`$2', and the like. There are programmatic and interactive interfaces to
-control this. See "Value History" in the manual, for more information.
+`$2', and the like.  There are programmatic and interactive interfaces to
+control this.  See "Value History" in the manual, for more information.
 
 ** Readline tab completion for arguments
 
@@ -5172,14 +5172,14 @@ warranty disclaimer on startup, along with pointers to more information.
 
 The `library' and `import' forms from the latest Scheme report have been
 added to Guile, in such a way that R6RS libraries share a namespace with
-Guile modules. R6RS modules may import Guile modules, and are available
-for Guile modules to import via use-modules and all the rest. See "R6RS
+Guile modules.  R6RS modules may import Guile modules, and are available
+for Guile modules to import via use-modules and all the rest.  See "R6RS
 Libraries" in the manual for more information.
 
 ** Implementations of R6RS libraries
 
 Guile now has implementations for all of the libraries defined in the
-R6RS. Thanks to Julian Graham for this excellent hack. See "R6RS
+R6RS.  Thanks to Julian Graham for this excellent hack.  See "R6RS
 Standard Libraries" in the manual for a full list of libraries.
 
 ** Partial R6RS compatibility
@@ -5187,9 +5187,9 @@ Standard Libraries" in the manual for a full list of libraries.
 Guile now has enough support for R6RS to run a reasonably large subset
 of R6RS programs.
 
-Guile is not fully R6RS compatible. Many incompatibilities are simply
+Guile is not fully R6RS compatible.  Many incompatibilities are simply
 bugs, though some parts of Guile will remain R6RS-incompatible for the
-foreseeable future. See "R6RS Incompatibilities" in the manual, for more
+foreseeable future.  See "R6RS Incompatibilities" in the manual, for more
 information.
 
 Please contact [email-masked] if you have found an issue not
@@ -5197,9 +5197,9 @@ mentioned in that compatibility list.
     
 ** New implementation of `primitive-eval'
 
-Guile's `primitive-eval' is now implemented in Scheme. Actually there is
+Guile's `primitive-eval' is now implemented in Scheme.  Actually there is
 still a C evaluator, used when building a fresh Guile to interpret the
-compiler, so we can compile eval.scm. Thereafter all calls to
+compiler, so we can compile eval.scm.  Thereafter all calls to
 primitive-eval are implemented by VM-compiled code.
 
 This allows all of Guile's procedures, be they interpreted or compiled,
@@ -5210,13 +5210,13 @@ code, and simplifying debugging.
 As part of this change, the evaluator no longer mutates the internal
 representation of the code being evaluated in a thread-unsafe manner.
 
-There are two negative aspects of this change, however. First, Guile
-takes a lot longer to compile now. Also, there is less debugging
-information available for debugging interpreted code. We hope to improve
+There are two negative aspects of this change, however.  First, Guile
+takes a lot longer to compile now.  Also, there is less debugging
+information available for debugging interpreted code.  We hope to improve
 both of these situations.
 
 There are many changes to the internal C evalator interface, but all
-public interfaces should be the same. See the ChangeLog for details. If
+public interfaces should be the same.  See the ChangeLog for details.  If
 we have inadvertantly changed an interface that you were using, please
 contact [email-masked].
 
@@ -5228,20 +5228,20 @@ not apply to the compiler.
 ** No more `local-eval'
 
 `local-eval' used to exist so that one could evaluate code in the
-lexical context of a function. Since there is no way to get the lexical
+lexical context of a function.  Since there is no way to get the lexical
 environment any more, as that concept has no meaning for the compiler,
 and a different meaning for the interpreter, we have removed the
 function.
 
 If you think you need `local-eval', you should probably implement your
-own metacircular evaluator. It will probably be as fast as Guile's
+own metacircular evaluator.  It will probably be as fast as Guile's
 anyway.
 
 ** Scheme source files will now be compiled automatically.
 
 If a compiled .go file corresponding to a .scm file is not found or is
 not fresh, the .scm file will be compiled on the fly, and the resulting
-.go file stored away. An advisory note will be printed on the console.
+.go file stored away.  An advisory note will be printed on the console.
 
 Note that this mechanism depends on the timestamp of the .go file being
 newer than that of the .scm file; if the .scm or .go files are moved
@@ -5249,7 +5249,7 @@ after installation, care should be taken to preserve their original
 timestamps.
 
 Auto-compiled files will be stored in the $XDG_CACHE_HOME/guile/ccache
-directory, where $XDG_CACHE_HOME defaults to ~/.cache. This directory
+directory, where $XDG_CACHE_HOME defaults to ~/.cache.  This directory
 will be created if needed.
 
 To inhibit automatic compilation, set the GUILE_AUTO_COMPILE environment
@@ -5294,45 +5294,45 @@ See "Higher-Order Functions" in the manual, for more information.
    `remove-name-help-handler!', `procedure-arguments'
 
 The value and name help handlers provide some minimal extensibility to
-the help interface. Guile-lib's `(texinfo reflection)' uses them, for
-example, to make stexinfo help documentation available. See those
+the help interface.  Guile-lib's `(texinfo reflection)' uses them, for
+example, to make stexinfo help documentation available.  See those
 procedures' docstrings for more information.
 
 `procedure-arguments' describes the arguments that a procedure can take,
-combining arity and formals. For example:
+combining arity and formals.  For example:
 
   (procedure-arguments resolve-interface)
   => ((required . (name)) (rest . args))
 
-Additionally, `module-commentary' is now publically exported from
+Additionally, `module-commentary' is now publicly exported from
 `(ice-9 session).
 
 ** Removed: `procedure->memoizing-macro', `procedure->syntax'
 
 These procedures created primitive fexprs for the old evaluator, and are
-no longer supported. If you feel that you need these functions, you
+no longer supported.  If you feel that you need these functions, you
 probably need to write your own metacircular evaluator (which will
 probably be as fast as Guile's, anyway).
 
 ** New language: ECMAScript
 
 Guile now ships with one other high-level language supported,
-ECMAScript. The goal is to support all of version 3.1 of the standard,
-but not all of the libraries are there yet. This support is not yet
+ECMAScript.  The goal is to support all of version 3.1 of the standard,
+but not all of the libraries are there yet.  This support is not yet
 documented; ask on the mailing list if you are interested.
 
 ** New language: Brainfuck
 
-Brainfuck is a toy language that closely models Turing machines. Guile's
+Brainfuck is a toy language that closely models Turing machines.  Guile's
 brainfuck compiler is meant to be an example of implementing other
-languages. See the manual for details, or
+languages.  See the manual for details, or
 http://en.wikipedia.org/wiki/Brainfuck for more information about the
 Brainfuck language itself.
 
 ** New language: Elisp
 
-Guile now has an experimental Emacs Lisp compiler and runtime. You can
-now switch to Elisp at the repl: `,language elisp'. All kudos to Daniel
+Guile now has an experimental Emacs Lisp compiler and runtime.  You can
+now switch to Elisp at the repl: `,language elisp'.  All kudos to Daniel
 Kraft and Brian Templeton, and all bugs to [email-masked].
 
 ** Better documentation infrastructure for macros
@@ -5347,7 +5347,7 @@ documentation.
 
 Building on its support for docstrings, Guile now supports multiple
 docstrings, adding them to the tail of a compiled procedure's
-properties. For example:
+properties.  For example:
 
   (define (foo)
     "one"
@@ -5397,7 +5397,7 @@ and "Creating Guile Modules" in the manual for more information.
     
 Wherever Guile accepts a symbol as an argument to specify a binding to
 export, it now also accepts a pair of symbols, indicating that a binding
-should be renamed on export. See "Creating Guile Modules" in the manual
+should be renamed on export.  See "Creating Guile Modules" in the manual
 for more information.
 
 ** New procedure: `module-export-all!'
@@ -5412,7 +5412,7 @@ more information.
 
 ** `eval-case' has been deprecated, and replaced by `eval-when'.
 
-The semantics of `eval-when' are easier to understand. See "Eval When"
+The semantics of `eval-when' are easier to understand.  See "Eval When"
 in the manual, for more information.
 
 ** Guile is now more strict about prohibiting definitions in expression
@@ -5434,13 +5434,13 @@ have any questions.
 ** Support for `letrec*'
 
 Guile now supports `letrec*', a recursive lexical binding operator in
-which the identifiers are bound in order. See "Local Bindings" in the
+which the identifiers are bound in order.  See "Local Bindings" in the
 manual, for more details.
 
 ** Internal definitions now expand to `letrec*'
 
 Following the R6RS, internal definitions now expand to letrec* instead
-of letrec. The following program is invalid for R5RS, but valid for
+of letrec.  The following program is invalid for R5RS, but valid for
 R6RS:
 
     (define (foo)
@@ -5459,20 +5459,20 @@ in earlier Guile dialects.
 ** Macro expansion produces structures instead of s-expressions
 
 In the olden days, macroexpanding an s-expression would yield another
-s-expression. Though the lexical variables were renamed, expansions of
+s-expression.  Though the lexical variables were renamed, expansions of
 core forms like `if' and `begin' were still non-hygienic, as they relied
 on the toplevel definitions of `if' et al being the conventional ones.
 
-The solution is to expand to structures instead of s-expressions. There
+The solution is to expand to structures instead of s-expressions.  There
 is an `if' structure, a `begin' structure, a `toplevel-ref' structure,
-etc. The expander already did this for compilation, producing Tree-IL
+etc.  The expander already did this for compilation, producing Tree-IL
 directly; it has been changed now to do so when expanding for the
 evaluator as well.
 
 ** Defmacros must now produce valid Scheme expressions.
 
 It used to be that defmacros could unquote in Scheme values, as a way of
-supporting partial evaluation, and avoiding some hygiene issues. For
+supporting partial evaluation, and avoiding some hygiene issues.  For
 example:
 
   (define (helper x) ...)
@@ -5501,20 +5501,20 @@ The following Scheme is not strictly legal:
     (define (baz) ...)
     (baz))
 
-However its intent is fairly clear. Guile interprets "bar" to be the
+However its intent is fairly clear.  Guile interprets "bar" to be the
 docstring of `foo', and the definition of `baz' is still in definition
 context.
 
 ** Support for settable identifier syntax
 
 Following the R6RS, "variable transformers" are settable
-identifier-syntax. See "Identifier macros" in the manual, for more
+identifier-syntax.  See "Identifier macros" in the manual, for more
 information.
     
 ** syntax-case treats `_' as a placeholder
     
 Following R6RS, a `_' in a syntax-rules or syntax-case pattern matches
-anything, and binds no pattern variables. Unlike the R6RS, Guile also
+anything, and binds no pattern variables.  Unlike the R6RS, Guile also
 permits `_' to be in the literals list for a pattern.
 
 ** Macros need to be defined before their first use.
@@ -5527,7 +5527,7 @@ It used to be that with lazy memoization, this might work:
   (foo 1) => 1
 
 But now, the body of `foo' is interpreted to mean a call to the toplevel
-`ref' function, instead of a macro expansion. The solution is to define
+`ref' function, instead of a macro expansion.  The solution is to define
 macros before code that uses them.
 
 ** Functions needed by macros at expand-time need to be present at
@@ -5540,7 +5540,7 @@ For example, this code will work at the REPL:
   (double-literal 2) => 4
 
 But it will not work when a file is compiled, because the definition of
-`double-helper' is not present at expand-time. The solution is to wrap
+`double-helper' is not present at expand-time.  The solution is to wrap
 the definition of `double-helper' in `eval-when':
 
   (eval-when (load compile eval)
@@ -5554,7 +5554,7 @@ See the documentation for eval-when for more information.
 
 Given the need to maintain referential transparency, both lexically and
 modular, the result of expanding Scheme expressions is no longer itself
-an s-expression. If you want a human-readable approximation of the
+an s-expression.  If you want a human-readable approximation of the
 result of `macroexpand', call `tree-il->scheme' from `(language
 tree-il)'.
 
@@ -5566,13 +5566,13 @@ PLT Scheme does prove that it is possible.
 ** New reader macros: #' #` #, #,@
 
 These macros translate, respectively, to `syntax', `quasisyntax',
-`unsyntax', and `unsyntax-splicing'. See the R6RS for more information.
+`unsyntax', and `unsyntax-splicing'.  See the R6RS for more information.
 These reader macros may be overridden by `read-hash-extend'.
 
 ** Incompatible change to #'
 
 Guile did have a #' hash-extension, by default, which just returned the
-subsequent datum: #'foo => foo. In the unlikely event that anyone
+subsequent datum: #'foo => foo.  In the unlikely event that anyone
 actually used this, this behavior may be reinstated via the
 `read-hash-extend' mechanism.
 
@@ -5588,7 +5588,7 @@ information.
 
 ** Prompts: Delimited, composable continuations
 
-Guile now has prompts as part of its primitive language. See "Prompts"
+Guile now has prompts as part of its primitive language.  See "Prompts"
 in the manual, for more information.
 
 Expressions entered in at the REPL, or from the command line, are
@@ -5599,12 +5599,12 @@ surrounded by a prompt with the default prompt tag.
 
 It used to be the case that a captured stack could be narrowed to select
 calls only up to or from a certain procedure, even if that procedure
-already tail-called another procedure. This was because the debug
+already tail-called another procedure.  This was because the debug
 information from the original procedure was kept on the stack.
 
 Now with the new compiler, the stack only contains active frames from
-the current continuation. A narrow to a procedure that is not in the
-stack will result in an empty stack. To fix this, narrow to a procedure
+the current continuation.  A narrow to a procedure that is not in the
+stack will result in an empty stack.  To fix this, narrow to a procedure
 that is active in the current continuation, or narrow to a specific
 number of stack frames.
 
@@ -5612,8 +5612,8 @@ number of stack frames.
    active in the current continuation
 
 Similarly to the previous issue, backtraces in compiled code may be
-different from backtraces in interpreted code. There are no semantic
-differences, however. Please mail [email-masked] if you see any
+different from backtraces in interpreted code.  There are no semantic
+differences, however.  Please mail [email-masked] if you see any
 deficiencies with Guile's backtraces.
 
 ** `positions' reader option enabled by default
@@ -5639,20 +5639,20 @@ Before, `(define ((f a) b) (* a b))' would translate to
   (define f (lambda (a) (lambda (b) (* a b))))
 
 Now a syntax error is signaled, as this syntax is not supported by
-default. Use the `(ice-9 curried-definitions)' module to get back the
+default.  Use the `(ice-9 curried-definitions)' module to get back the
 old behavior.
 
 ** New procedure, `define!'
 
 `define!' is a procedure that takes two arguments, a symbol and a value,
-and binds the value to the symbol in the current module. It's useful to
+and binds the value to the symbol in the current module.  It's useful to
 programmatically make definitions in the current module, and is slightly
 less verbose than `module-define!'.
 
 ** All modules have names now
 
-Before, you could have anonymous modules: modules without names. Now,
-because of hygiene and macros, all modules have names. If a module was
+Before, you could have anonymous modules: modules without names.  Now,
+because of hygiene and macros, all modules have names.  If a module was
 created without a name, the first time `module-name' is called on it, a
 fresh name will be lazily generated for it.
 
@@ -5663,19 +5663,19 @@ that it was built on a single hierarchical namespace of values -- that
 if there was a module named `(foo bar)', then in the module named
 `(foo)' there was a binding from `bar' to the `(foo bar)' module.
 
-This was a neat trick, but presented a number of problems. One problem
+This was a neat trick, but presented a number of problems.  One problem
 was that the bindings in a module were not apparent from the module
 itself; perhaps the `(foo)' module had a private binding for `bar', and
-then an external contributor defined `(foo bar)'. In the end there can
+then an external contributor defined `(foo bar)'.  In the end there can
 be only one binding, so one of the two will see the wrong thing, and
 produce an obtuse error of unclear provenance.
 
 Also, the public interface of a module was also bound in the value
-namespace, as `%module-public-interface'. This was a hack from the early
+namespace, as `%module-public-interface'.  This was a hack from the early
 days of Guile's modules.
 
 Both of these warts have been fixed by the addition of fields in the
-`module' data type. Access to modules and their interfaces from the
+`module' data type.  Access to modules and their interfaces from the
 value namespace has been deprecated, and all accessors use the new
 record accessors appropriately.
 
@@ -5685,7 +5685,7 @@ and a deprecation warning is raised as appropriate.
 
 Finally, to support lazy loading of modules as one used to be able to do
 with module binder procedures, Guile now has submodule binders, called
-if a given submodule is not found. See boot-9.scm for more information.
+if a given submodule is not found.  See boot-9.scm for more information.
     
 ** New procedures: module-ref-submodule, module-define-submodule,
    nested-ref-module, nested-define-module!, local-ref-module,
@@ -5697,9 +5697,9 @@ namespaces instead of values.
 ** The (app modules) module tree is officially deprecated
 
 It used to be that one could access a module named `(foo bar)' via
-`(nested-ref the-root-module '(app modules foo bar))'. The `(app
+`(nested-ref the-root-module '(app modules foo bar))'.  The `(app
 modules)' bit was a never-used and never-documented abstraction, and has
-been deprecated. See the following mail for a full discussion:
+been deprecated.  See the following mail for a full discussion:
 
     http://lists.gnu.org/archive/html/guile-devel/2010-04/msg00168.html
 
@@ -5707,19 +5707,19 @@ The `%app' binding is also deprecated.
 
 ** `module-filename' field and accessor
 
-Modules now record the file in which they are defined. This field may be
+Modules now record the file in which they are defined.  This field may be
 accessed with the new `module-filename' procedure.
 
 ** Modules load within a known environment
 
 It takes a few procedure calls to define a module, and those procedure
-calls need to be in scope. Now we ensure that the current module when
+calls need to be in scope.  Now we ensure that the current module when
 loading a module is one that has the needed bindings, instead of relying
 on chance.
 
 ** `load' is a macro (!) that resolves paths relative to source file dir
     
-The familiar Schem `load' procedure is now a macro that captures the
+The familiar Scheme `load' procedure is now a macro that captures the
 name of the source file being expanded, and dispatches to the new
 `load-in-vicinity'.  Referencing `load' by bare name returns a closure
 that embeds the current source file name.
@@ -5730,7 +5730,7 @@ the location of the file that calls `load'.
 ** Many syntax errors have different texts now
 
 Syntax errors still throw to the `syntax-error' key, but the arguments
-are often different now. Perhaps in the future, Guile will switch to
+are often different now.  Perhaps in the future, Guile will switch to
 using standard SRFI-35 conditions.
 
 ** Returning multiple values to compiled code will silently truncate the
@@ -5741,7 +5741,7 @@ For example, the interpreter would raise an error evaluating the form,
 being two compound "values" objects, to which `+' does not apply.
 
 The compiler, on the other hand, receives multiple values on the stack,
-not as a compound object. Given that it must check the number of values
+not as a compound object.  Given that it must check the number of values
 anyway, if too many values are provided for a continuation, it chooses
 to truncate those values, effectively evaluating `(+ 1 3)' instead.
 
@@ -5757,13 +5757,13 @@ This change may manifest itself in the following situation:
   (let ((val (foo))) (do-something) val)
 
 In the interpreter, if `foo' returns multiple values, multiple values
-are produced from the `let' expression. In the compiler, those values
-are truncated to the first value, and that first value is returned. In
+are produced from the `let' expression.  In the compiler, those values
+are truncated to the first value, and that first value is returned.  In
 the compiler, if `foo' returns no values, an error will be raised, while
 the interpreter would proceed.
 
-Both of these behaviors are allowed by R5RS and R6RS. The compiler's
-behavior is more correct, however. If you wish to preserve a potentially
+Both of these behaviors are allowed by R5RS and R6RS.  The compiler's
+behavior is more correct, however.  If you wish to preserve a potentially
 multiply-valued return, you will need to set up a multiple-value
 continuation, using `call-with-values'.
 
@@ -5772,7 +5772,7 @@ continuation, using `call-with-values'.
 The practical ramification of this is that the `defmacro?' predicate has
 been removed, along with `defmacro-transformer', `macro-table',
 `xformer-table', `assert-defmacro?!', `set-defmacro-transformer!' and
-`defmacro:transformer'. This is because defmacros are simply macros. If
+`defmacro:transformer'.  This is because defmacros are simply macros.  If
 any of these procedures provided useful facilities to you, we encourage
 you to contact the Guile developers.
 
@@ -5780,46 +5780,46 @@ you to contact the Guile developers.
 
 The macro documentation was finally fleshed out with some documentation
 on `syntax-rules' and `syntax-case' macros, and other parts of the macro
-expansion process. See "Macros" in the manual, for details.
+expansion process.  See "Macros" in the manual, for details.
 
 ** psyntax is now the default expander
 
 Scheme code is now expanded by default by the psyntax hygienic macro
-expander. Expansion is performed completely before compilation or
+expander.  Expansion is performed completely before compilation or
 interpretation.
 
-Notably, syntax errors will be signalled before interpretation begins.
+Notably, syntax errors will be signaled before interpretation begins.
 In the past, many syntax errors were only detected at runtime if the
 code in question was memoized.
 
 As part of its expansion, psyntax renames all lexically-bound
-identifiers. Original identifier names are preserved and given to the
+identifiers.  Original identifier names are preserved and given to the
 compiler, but the interpreter will see the renamed variables, e.g.,
 `x432' instead of `x'.
 
 Note that the psyntax that Guile uses is a fork, as Guile already had
 modules before incompatible modules were added to psyntax -- about 10
-years ago! Thus there are surely a number of bugs that have been fixed
-in psyntax since then. If you find one, please notify [email-masked].
+years ago!  Thus there are surely a number of bugs that have been fixed
+in psyntax since then.  If you find one, please notify [email-masked].
 
 ** syntax-rules and syntax-case are available by default.
 
 There is no longer any need to import the `(ice-9 syncase)' module
-(which is now deprecated). The expander may be invoked directly via
+(which is now deprecated).  The expander may be invoked directly via
 `macroexpand', though it is normally searched for via the current module
 transformer.
 
 Also, the helper routines for syntax-case are available in the default
 environment as well: `syntax->datum', `datum->syntax',
 `bound-identifier=?', `free-identifier=?', `generate-temporaries',
-`identifier?', and `syntax-violation'. See the R6RS for documentation.
+`identifier?', and `syntax-violation'.  See the R6RS for documentation.
 
 ** Tail patterns in syntax-case
 
 Guile has pulled in some more recent changes from the psyntax portable
-syntax expander, to implement support for "tail patterns". Such patterns
-are supported by syntax-rules and syntax-case. This allows a syntax-case
-match clause to have ellipses, then a pattern at the end. For example:
+syntax expander, to implement support for "tail patterns".  Such patterns
+are supported by syntax-rules and syntax-case.  This allows a syntax-case
+match clause to have ellipses, then a pattern at the end.  For example:
 
   (define-syntax case
     (syntax-rules (else)
@@ -5827,14 +5827,14 @@ match clause to have ellipses, then a pattern at the end. For example:
        [...])))
 
 Note how there is MATCH-CLAUSE, which is ellipsized, then there is a
-tail pattern for the else clause. Thanks to Andreas Rottmann for the
+tail pattern for the else clause.  Thanks to Andreas Rottmann for the
 patch, and Kent Dybvig for the code.
 
 ** Lexical bindings introduced by hygienic macros may not be referenced
    by nonhygienic macros.
 
 If a lexical binding is introduced by a hygienic macro, it may not be
-referenced by a nonhygienic macro. For example, this works:
+referenced by a nonhygienic macro.  For example, this works:
 
   (let ()
     (define-macro (bind-x val body)
@@ -5853,16 +5853,16 @@ But this does not:
       x)
     (bind-x 10 (ref x)))
 
-It is not normal to run into this situation with existing code. However,
+It is not normal to run into this situation with existing code.  However,
 if you have defmacros that expand to hygienic macros, it is possible to
-run into situations like this. For example, if you have a defmacro that
+run into situations like this.  For example, if you have a defmacro that
 generates a `while' expression, the `break' bound by the `while' may not
-be visible within other parts of your defmacro. The solution is to port
+be visible within other parts of your defmacro.  The solution is to port
 from defmacros to syntax-rules or syntax-case.
 
 ** Macros may no longer be referenced as first-class values.
 
-In the past, you could evaluate e.g. `if', and get its macro value. Now,
+In the past, you could evaluate e.g. `if', and get its macro value.  Now,
 expanding this form raises a syntax error.
 
 Macros still /exist/ as first-class values, but they must be
@@ -5873,18 +5873,18 @@ Macros still /exist/ as first-class values, but they must be
 
 `object-documentation' from `(ice-9 documentation)' may be used to
 retrieve the docstring, once you have a macro value -- but see the above
-note about first-class macros. Docstrings are associated with the syntax
+note about first-class macros.  Docstrings are associated with the syntax
 transformer procedures.
 
 ** `case-lambda' is now available in the default environment.
 
 The binding in the default environment is equivalent to the one from the
-`(srfi srfi-16)' module. Use the srfi-16 module explicitly if you wish
+`(srfi srfi-16)' module.  Use the srfi-16 module explicitly if you wish
 to maintain compatibility with Guile 1.8 and earlier.
 
 ** Procedures may now have more than one arity.
 
-This can be the case, for example, in case-lambda procedures. The
+This can be the case, for example, in case-lambda procedures.  The
 arities of compiled procedures may be accessed via procedures from the
 `(system vm program)' module; see "Compiled Procedures", "Optional
 Arguments", and "Case-lambda" in the manual. 
@@ -5899,7 +5899,7 @@ accessor.
 ** `lambda*' and `define*' are now available in the default environment
 
 As with `case-lambda', `(ice-9 optargs)' continues to be supported, for
-compatibility purposes. No semantic change has been made (we hope).
+compatibility purposes.  No semantic change has been made (we hope).
 Optional and keyword arguments now dispatch via special VM operations,
 without the need to cons rest arguments, making them very fast.
 
@@ -5912,11 +5912,11 @@ but only if one does not exist already.
 
 `(ice-9 pretty-print)' now exports `truncated-print', a printer that
 will ensure that the output stays within a certain width, truncating the
-output in what is hopefully an intelligent manner. See the manual for
+output in what is hopefully an intelligent manner.  See the manual for
 more details.
 
 There is a new `format' specifier, `~@y', for doing a truncated
-print (as opposed to `~y', which does a pretty-print). See the `format'
+print (as opposed to `~y', which does a pretty-print).  See the `format'
 documentation for more details.
 
 ** Better pretty-printing
@@ -5934,21 +5934,21 @@ some cases.  This still works, but has been formally deprecated.
     
 ** SRFI-4 vectors reimplemented in terms of R6RS bytevectors
 
-Guile now implements SRFI-4 vectors using bytevectors. Often when you
+Guile now implements SRFI-4 vectors using bytevectors.  Often when you
 have a numeric vector, you end up wanting to write its bytes somewhere,
 or have access to the underlying bytes, or read in bytes from somewhere
-else. Bytevectors are very good at this sort of thing. But the SRFI-4
+else.  Bytevectors are very good at this sort of thing.  But the SRFI-4
 APIs are nicer to use when doing number-crunching, because they are
 addressed by element and not by byte.
 
 So as a compromise, Guile allows all bytevector functions to operate on
-numeric vectors. They address the underlying bytes in the native
+numeric vectors.  They address the underlying bytes in the native
 endianness, as one would expect.
 
 Following the same reasoning, that it's just bytes underneath, Guile
 also allows uniform vectors of a given type to be accessed as if they
-were of any type. One can fill a u32vector, and access its elements with
-u8vector-ref. One can use f64vector-ref on bytevectors. It's all the
+were of any type.  One can fill a u32vector, and access its elements with
+u8vector-ref.  One can use f64vector-ref on bytevectors.  It's all the
 same to Guile.
 
 In this way, uniform numeric vectors may be written to and read from
@@ -5962,7 +5962,7 @@ See "SRFI-4" in the manual, for more information.
 ** Nonstandard SRFI-4 procedures now available from `(srfi srfi-4 gnu)'
 
 Guile's `(srfi srfi-4)' now only exports those srfi-4 procedures that
-are part of the standard. Complex uniform vectors and the
+are part of the standard.  Complex uniform vectors and the
 `any->FOOvector' family are now available only from `(srfi srfi-4 gnu)'.
 
 Guile's default environment imports `(srfi srfi-4)', and probably should
@@ -5973,12 +5973,12 @@ See "SRFI-4 Extensions" in the manual, for more information.
 ** New syntax: include-from-path.
 
 `include-from-path' is like `include', except it looks for its file in
-the load path. It can be used to compile other files into a file.
+the load path.  It can be used to compile other files into a file.
 
 ** New syntax: quasisyntax.
 
-`quasisyntax' is to `syntax' as `quasiquote' is to `quote'. See the R6RS
-documentation for more information. Thanks to Andre van Tonder for the
+`quasisyntax' is to `syntax' as `quasiquote' is to `quote'.  See the R6RS
+documentation for more information.  Thanks to Andre van Tonder for the
 implementation.
 
 ** `*unspecified*' is identifier syntax
@@ -6181,14 +6181,14 @@ which yielded 5.0.
 ** Unicode characters
 
 Unicode characters may be entered in octal format via e.g. `#\454', or
-created via (integer->char 300). A hex external representation will
+created via (integer->char 300).  A hex external representation will
 probably be introduced at some point.
 
 ** Unicode strings
 
 Internally, strings are now represented either in the `latin-1'
 encoding, one byte per character, or in UTF-32, with four bytes per
-character. Strings manage their own allocation, switching if needed.
+character.  Strings manage their own allocation, switching if needed.
 
 Extended characters may be written in a literal string using the
 hexadecimal escapes `\xXX', `\uXXXX', or `\UXXXXXX', for 8-bit, 16-bit,
@@ -6202,10 +6202,10 @@ One may now use U+03BB (GREEK SMALL LETTER LAMBDA) as an identifier.
 ** Support for non-ASCII source code files
 
 The default reader now handles source code files for some of the
-non-ASCII character encodings, such as UTF-8. A non-ASCII source file
-should have an encoding declaration near the top of the file. Also,
+non-ASCII character encodings, such as UTF-8.  A non-ASCII source file
+should have an encoding declaration near the top of the file.  Also,
 there is a new function, `file-encoding', that scans a port for a coding
-declaration. See the section of the manual entitled, "Character Encoding
+declaration.  See the section of the manual entitled, "Character Encoding
 of Source Files".
 
 The pre-1.9.3 reader handled 8-bit clean but otherwise unspecified source
@@ -6226,7 +6226,7 @@ installs the current locale.  [FIXME xref?]
 ** Support for locale transcoding when reading from and writing to ports
 
 Ports now have an associated character encoding, and port read and write
-operations do conversion to and from locales automatically. Ports also
+operations do conversion to and from locales automatically.  Ports also
 have an associated strategy for how to deal with locale conversion
 failures.
 
@@ -6239,9 +6239,9 @@ and `port-conversion-strategy'.
 ** Unicode support for SRFI-14 character sets
 
 The default character sets are no longer locale dependent and contain
-characters from the whole Unicode range. There is a new predefined
+characters from the whole Unicode range.  There is a new predefined
 character set, `char-set:designated', which contains all assigned
-Unicode characters. There is a new debugging function, `%char-set-dump'.
+Unicode characters.  There is a new debugging function, `%char-set-dump'.
 
 ** Character functions operate on Unicode characters
 
@@ -6264,10 +6264,10 @@ and was unmaintained.
 
 ** Compile-time warnings
 
-Guile can warn about potentially unbound free variables. Pass the
+Guile can warn about potentially unbound free variables.  Pass the
 -Wunbound-variable on the `guile-tools compile' command line, or add
 `#:warnings '(unbound-variable)' to your `compile' or `compile-file'
-invocation. Warnings are also enabled by default for expressions entered
+invocation.  Warnings are also enabled by default for expressions entered
 at the REPL.
 
 Guile can also warn when you pass the wrong number of arguments to a
@@ -6295,7 +6295,7 @@ See `cancel-thread', `set-thread-cleanup!', and `thread-cleanup'.
 
 It used to be that a new thread entering Guile would do so in the
 `(guile)' module, unless this was the first time Guile was initialized,
-in which case it was `(guile-user)'. This has been fixed to have all
+in which case it was `(guile-user)'.  This has been fixed to have all
 new threads unknown to Guile default to `(guile-user)'.
 
 ** New helpers: `print-exception', `set-exception-printer!'
@@ -6310,7 +6310,7 @@ printed appropriately.
 
 As an implementation detail, GOOPS dispatch is no longer implemented by
 special evaluator bytecodes, but rather directly via a Scheme function
-associated with an applicable struct. There is some VM support for the
+associated with an applicable struct.  There is some VM support for the
 underlying primitives, like `class-of'.
 
 This change will in the future allow users to customize generic function
@@ -6324,36 +6324,36 @@ To do so, make a struct whose vtable is `<applicable-struct-vtable>'.
 That struct will be the vtable of your applicable structs; instances of
 that new struct are assumed to have the procedure in their first slot.
 `<applicable-struct-vtable>' is like Common Lisp's
-`funcallable-standard-class'. Likewise there is
+`funcallable-standard-class'.  Likewise there is
 `<applicable-struct-with-setter-vtable>', which looks for the setter in
-the second slot. This needs to be better documented.
+the second slot.  This needs to be better documented.
 
 ** GOOPS cleanups.
 
 GOOPS had a number of concepts that were relevant to the days of Tcl,
-but not any more: operators and entities, mainly. These objects were
-never documented, and it is unlikely that they were ever used. Operators
-were a kind of generic specific to the Tcl support. Entities were
+but not any more: operators and entities, mainly.  These objects were
+never documented, and it is unlikely that they were ever used.  Operators
+were a kind of generic specific to the Tcl support.  Entities were
 replaced by applicable structs, mentioned above.
 
 ** New struct slot allocation: "hidden"
 
 A hidden slot is readable and writable, but will not be initialized by a
-call to make-struct. For example in your layout you would say "ph"
-instead of "pw". Hidden slots are useful for adding new slots to a
+call to make-struct.  For example in your layout you would say "ph"
+instead of "pw".  Hidden slots are useful for adding new slots to a
 vtable without breaking existing invocations to make-struct.
 
 ** eqv? not a generic
 
 One used to be able to extend `eqv?' as a primitive-generic, but no
-more. Because `eqv?' is in the expansion of `case' (via `memv'), which
+more.  Because `eqv?' is in the expansion of `case' (via `memv'), which
 should be able to compile to static dispatch tables, it doesn't make
 sense to allow extensions that would subvert this optimization.
 
 ** `inet-ntop' and `inet-pton' are always available.
 
 Guile now use a portable implementation of `inet_pton'/`inet_ntop', so
-there is no more need to use `inet-aton'/`inet-ntoa'. The latter
+there is no more need to use `inet-aton'/`inet-ntoa'.  The latter
 functions are deprecated.
 
 ** `getopt-long' parsing errors throw to `quit', not `misc-error'
@@ -6375,13 +6375,13 @@ may be written out, read back in later, and revivified using
 ** Fix random number generator on 64-bit platforms
     
 There was a nasty bug on 64-bit platforms in which asking for a random
-integer with a range between 2**32 and 2**64 caused a segfault. After
+integer with a range between 2**32 and 2**64 caused a segfault.  After
 many embarrassing iterations, this was fixed.
 
 ** Fast bit operations.
 
 The bit-twiddling operations `ash', `logand', `logior', and `logxor' now
-have dedicated bytecodes. Guile is not just for symbolic computation,
+have dedicated bytecodes.  Guile is not just for symbolic computation,
 it's for number crunching too.
 
 ** Faster SRFI-9 record access
@@ -6393,13 +6393,13 @@ inline to special VM opcodes, while still allowing for the general case
 
 ** R6RS block comment support
 
-Guile now supports R6RS nested block comments. The start of a comment is
+Guile now supports R6RS nested block comments.  The start of a comment is
 marked with `#|', and the end with `|#'.
 
 ** `guile-2' cond-expand feature
 
 To test if your code is running under Guile 2.0 (or its alpha releases),
-test for the `guile-2' cond-expand feature. Like this:
+test for the `guile-2' cond-expand feature.  Like this:
 
      (cond-expand (guile-2 (eval-when (compile)
                              ;; This must be evaluated at compile time.
@@ -6416,10 +6416,10 @@ These are analogous to %load-path and %load-extensions.
 ** New fluid: `%file-port-name-canonicalization'
     
 This fluid parameterizes the file names that are associated with file
-ports. If %file-port-name-canonicalization is 'absolute, then file names
+ports.  If %file-port-name-canonicalization is 'absolute, then file names
 are canonicalized to be absolute paths. If it is 'relative, then the
 name is canonicalized, but any prefix corresponding to a member of
-`%load-path' is stripped off. Otherwise the names are passed through
+`%load-path' is stripped off.  Otherwise the names are passed through
 unchanged.
 
 In addition, the `compile-file' and `compile-and-load' procedures bind
@@ -6442,7 +6442,7 @@ Previously it only accepted internal structures from the evaluator.
 
 `module-bound?' was returning true if a module did have a local
 variable, but one that was unbound, but another imported module bound
-the variable. This was an error, and was fixed.
+the variable.  This was an error, and was fixed.
 
 ** `(ice-9 syncase)' has been deprecated.
 
@@ -6484,7 +6484,7 @@ a deprecation warning.
 ** `set-batch-mode?!' replaced by `ensure-batch-mode!'
 
 "Batch mode" is a flag used to tell a program that it is not running
-interactively. One usually turns it on after a fork. It may not be
+interactively.  One usually turns it on after a fork.  It may not be
 turned off. `ensure-batch-mode!' deprecates the old `set-batch-mode?!',
 because it is a better interface, as it can only turn on batch mode, not
 turn it off.
@@ -6493,7 +6493,7 @@ turn it off.
 
 It used to be that the way to debug programs in Guile was to capture the
 stack at the time of error, drop back to the REPL, then debug that
-stack. But this approach didn't compose, was tricky to get right in the
+stack.  But this approach didn't compose, was tricky to get right in the
 presence of threads, and was not very powerful.
 
 So `save-stack', `stack-saved?', and `the-last-stack' have been moved to
@@ -6502,21 +6502,21 @@ So `save-stack', `stack-saved?', and `the-last-stack' have been moved to
 ** `top-repl' has its own module
     
 The `top-repl' binding, called with Guile is run interactively, is now
-is its own module, `(ice-9 top-repl)'. A deprecated forwarding shim was
+is its own module, `(ice-9 top-repl)'.  A deprecated forwarding shim was
 left in the default environment.
 
 ** `display-error' takes a frame
 
 The `display-error' / `scm_display_error' helper now takes a frame as an
-argument instead of a stack. Stacks are still supported in deprecated
-builds. Additionally, `display-error' will again source location
+argument instead of a stack.  Stacks are still supported in deprecated
+builds.  Additionally, `display-error' will again source location
 information for the error.
 
 ** No more `(ice-9 debug)'
     
 This module had some debugging helpers that are no longer applicable to
-the current debugging model. Importing this module will produce a
-deprecation warning. Users should contact bug-guile for support.
+the current debugging model.  Importing this module will produce a
+deprecation warning.  Users should contact bug-guile for support.
 
 ** Remove obsolete debug-options
 
@@ -6558,8 +6558,8 @@ should use Guile with Emacs.
 ** Deprecated: `lazy-catch'
 
 `lazy-catch' was a form that captured the stack at the point of a
-`throw', but the dynamic state at the point of the `catch'. It was a bit
-crazy. Please change to use `catch', possibly with a throw-handler, or
+`throw', but the dynamic state at the point of the `catch'.  It was a bit
+crazy.  Please change to use `catch', possibly with a throw-handler, or
 `with-throw-handler'.
 
 ** Deprecated: primitive properties
@@ -6629,7 +6629,7 @@ encoding.
 
 `SCM_T_UINTPTR_MAX', `SCM_T_INTPTR_MIN', `SCM_T_INTPTR_MAX',
 `SIZEOF_SCM_T_BITS', `scm_t_intptr' and `scm_t_uintptr' are now
-available to C. Have fun!
+available to C.  Have fun!
 
 ** The GH interface (deprecated in version 1.6, 2001) was removed.
 
@@ -6643,52 +6643,52 @@ indicating length of the `scm_t_option' array.
 
 ** Procedures-with-setters are now implemented using applicable structs
 
-From a user's perspective this doesn't mean very much. But if, for some
+From a user's perspective this doesn't mean very much.  But if, for some
 odd reason, you used the SCM_PROCEDURE_WITH_SETTER_P, SCM_PROCEDURE, or
-SCM_SETTER macros, know that they're deprecated now. Also, scm_tc7_pws
+SCM_SETTER macros, know that they're deprecated now.  Also, scm_tc7_pws
 is gone.
 
 ** Remove old evaluator closures
 
 There used to be ranges of typecodes allocated to interpreted data
 structures, but that it no longer the case, given that interpreted
-procedure are now just regular VM closures. As a result, there is a
-newly free tc3, and a number of removed macros. See the ChangeLog for
+procedure are now just regular VM closures.  As a result, there is a
+newly free tc3, and a number of removed macros.  See the ChangeLog for
 details.
 
 ** Primitive procedures are now VM trampoline procedures
 
 It used to be that there were something like 12 different typecodes
 allocated to primitive procedures, each with its own calling convention.
-Now there is only one, the gsubr. This may affect user code if you were
-defining a procedure using scm_c_make_subr rather scm_c_make_gsubr. The
-solution is to switch to use scm_c_make_gsubr. This solution works well
+Now there is only one, the gsubr.  This may affect user code if you were
+defining a procedure using scm_c_make_subr rather scm_c_make_gsubr.  The
+solution is to switch to use scm_c_make_gsubr.  This solution works well
 both with the old 1.8 and with the current 1.9 branch.
 
 Guile's old evaluator used to have special cases for applying "gsubrs",
 primitive procedures with specified numbers of required, optional, and
-rest arguments. Now, however, Guile represents gsubrs as normal VM
+rest arguments.  Now, however, Guile represents gsubrs as normal VM
 procedures, with appropriate bytecode to parse out the correct number of
 arguments, including optional and rest arguments, and then with a
 special bytecode to apply the gsubr.
 
 This allows primitive procedures to appear on the VM stack, allowing
-them to be accurately counted in profiles. Also they now have more
+them to be accurately counted in profiles.  Also they now have more
 debugging information attached to them -- their number of arguments, for
-example. In addition, the VM can completely inline the application
+example.  In addition, the VM can completely inline the application
 mechanics, allowing for faster primitive calls.
 
-However there are some changes on the C level. There is no more
+However there are some changes on the C level.  There is no more
 `scm_tc7_gsubr' or `scm_tcs_subrs' typecode for primitive procedures, as
-they are just VM procedures. Likewise the macros `SCM_GSUBR_TYPE',
+they are just VM procedures.  Likewise the macros `SCM_GSUBR_TYPE',
 `SCM_GSUBR_MAKTYPE', `SCM_GSUBR_REQ', `SCM_GSUBR_OPT', and
 `SCM_GSUBR_REST' are gone, as are `SCM_SUBR_META_INFO', `SCM_SUBR_PROPS'
 `SCM_SET_SUBR_GENERIC_LOC', and `SCM_SUBR_ARITY_TO_TYPE'.
 
 Perhaps more significantly, `scm_c_make_subr',
 `scm_c_make_subr_with_generic', `scm_c_define_subr', and
-`scm_c_define_subr_with_generic'. They all operated on subr typecodes,
-and there are no more subr typecodes. Use the scm_c_make_gsubr family
+`scm_c_define_subr_with_generic'.  They all operated on subr typecodes,
+and there are no more subr typecodes.  Use the scm_c_make_gsubr family
 instead.
 
 Normal users of gsubrs should not be affected, though, as the
@@ -6706,7 +6706,7 @@ Removed the deprecated array functions `scm_i_arrayp',
 ** Remove unused snarf macros
     
 `SCM_DEFINE1', `SCM_PRIMITIVE_GENERIC_1', `SCM_PROC1, and `SCM_GPROC1'
-are no more. Use SCM_DEFINE or SCM_PRIMITIVE_GENERIC instead.
+are no more.  Use SCM_DEFINE or SCM_PRIMITIVE_GENERIC instead.
 
 ** New functions: `scm_call_n', `scm_c_run_hookn'
     
@@ -6720,25 +6720,25 @@ they have statically allocated tc7 typecodes.
 
 ** Preparations for changing SMOB representation
 
-If things go right, we'll be changing the SMOB representation soon. To
+If things go right, we'll be changing the SMOB representation soon.  To
 that end, we did a lot of cleanups to calls to e.g. SCM_CELL_WORD_2(x) when
 the code meant SCM_SMOB_DATA_2(x); user code will need similar changes
-in the future. Code accessing SMOBs using SCM_CELL macros was never
-correct, but until now things still worked. Users should be aware of
+in the future.  Code accessing SMOBs using SCM_CELL macros was never
+correct, but until now things still worked.  Users should be aware of
 such changes.
 
 ** Changed invocation mechanics of applicable SMOBs
 
 Guile's old evaluator used to have special cases for applying SMOB
-objects. Now, with the VM, when Guile sees a SMOB, it looks up a VM
+objects.  Now, with the VM, when Guile sees a SMOB, it looks up a VM
 trampoline procedure for it, and use the normal mechanics to apply the
-trampoline. This simplifies procedure application in the normal,
+trampoline.  This simplifies procedure application in the normal,
 non-SMOB case.
 
 The upshot is that the mechanics used to apply a SMOB are different from
-1.8. Descriptors no longer have `apply_0', `apply_1', `apply_2', and
+1.8.  Descriptors no longer have `apply_0', `apply_1', `apply_2', and
 `apply_3' functions, and the macros SCM_SMOB_APPLY_0 and friends are now
-deprecated. Just use the scm_call_0 family of procedures.
+deprecated.  Just use the scm_call_0 family of procedures.
 
 ** Removed support shlibs for SRFIs 1, 4, 13, 14, and 60
 
@@ -6764,7 +6764,7 @@ full module lookup.
 ** Inline vector allocation
 
 Instead of having vectors point out into the heap for their data, their
-data is now allocated inline to the vector object itself. The same is
+data is now allocated inline to the vector object itself.  The same is
 true for bytevectors, by default, though there is an indirection
 available which should allow for making a bytevector from an existing
 memory region.
@@ -6772,37 +6772,37 @@ memory region.
 ** New struct constructors that don't involve making lists
 
 `scm_c_make_struct' and `scm_c_make_structv' are new varargs and array
-constructors, respectively, for structs. You might find them useful.
+constructors, respectively, for structs.  You might find them useful.
 
 ** Stack refactor
 
-In Guile 1.8, there were debugging frames on the C stack. Now there is
+In Guile 1.8, there were debugging frames on the C stack.  Now there is
 no more need to explicitly mark the stack in this way, because Guile has
 a VM stack that it knows how to walk, which simplifies the C API
-considerably. See the ChangeLog for details; the relevant interface is
-in libguile/stacks.h. The Scheme API has not been changed significantly.
+considerably.  See the ChangeLog for details; the relevant interface is
+in libguile/stacks.h.  The Scheme API has not been changed significantly.
 
 ** Removal of Guile's primitive object system.
 
 There were a number of pieces in `objects.[ch]' that tried to be a
 minimal object system, but were never documented, and were quickly
-obseleted by GOOPS' merge into Guile proper. So `scm_make_class_object',
+obseleted by GOOPS' merge into Guile proper.  So `scm_make_class_object',
 `scm_make_subclass_object', `scm_metaclass_standard', and like symbols
-from objects.h are no more. In the very unlikely case in which these
+from objects.h are no more.  In the very unlikely case in which these
 were useful to you, we urge you to contact guile-devel.
 
 ** No future.
 
 Actually the future is still in the state that it was, is, and ever
 shall be, Amen, except that `futures.c' and `futures.h' are no longer a
-part of it. These files were experimental, never compiled, and would be
-better implemented in Scheme anyway. In the future, that is.
+part of it.  These files were experimental, never compiled, and would be
+better implemented in Scheme anyway.  In the future, that is.
 
 ** Deprecate trampolines
 
 There used to be C functions `scm_trampoline_0', `scm_trampoline_1', and
-so on. The point was to do some precomputation on the type of the
-procedure, then return a specialized "call" procedure. However this
+so on.  The point was to do some precomputation on the type of the
+procedure, then return a specialized "call" procedure.  However this
 optimization wasn't actually an optimization, so it is now deprecated.
 Just use `scm_call_0', etc instead.
 
@@ -6814,18 +6814,18 @@ This function is unused in Guile, but was part of its API.
 
 The bit representation of `nil' has been tweaked so that it is now very
 efficient to check e.g. if a value is equal to Scheme's end-of-list or
-Lisp's nil. Additionally there are a heap of new, specific predicates
+Lisp's nil.  Additionally there are a heap of new, specific predicates
 like scm_is_null_or_nil.
 
 ** Better integration of Lisp `nil'.
 
 `scm_is_boolean', `scm_is_false', and `scm_is_null' all return true now
-for Lisp's `nil'. This shouldn't affect any Scheme code at this point,
+for Lisp's `nil'.  This shouldn't affect any Scheme code at this point,
 but when we start to integrate more with Emacs, it is possible that we
 break code that assumes that, for example, `(not x)' implies that `x' is
-`eq?' to `#f'. This is not a common assumption. Refactoring affected
+`eq?' to `#f'.  This is not a common assumption.  Refactoring affected
 code to rely on properties instead of identities will improve code
-correctness. See "Nil" in the manual, for more details.
+correctness.  See "Nil" in the manual, for more details.
 
 ** Support for static allocation of strings, symbols, and subrs.
 
@@ -6861,7 +6861,7 @@ part of Guile).
 ** AM_SILENT_RULES
 
 Guile's build is visually quieter, due to the use of Automake 1.11's
-AM_SILENT_RULES. Build as `make V=1' to see all of the output.
+AM_SILENT_RULES.  Build as `make V=1' to see all of the output.
     
 ** GOOPS documentation folded into Guile reference manual
 
@@ -6883,7 +6883,7 @@ macros should now require `guile-2.0' instead of `guile-1.8'.
 ** New installation directory: $(pkglibdir)/1.9/ccache
 
 If $(libdir) is /usr/lib, for example, Guile will install its .go files
-to /usr/lib/guile/1.9/ccache. These files are architecture-specific.
+to /usr/lib/guile/1.9/ccache.  These files are architecture-specific.
 
 ** Parallel installability fixes
 
@@ -6892,7 +6892,7 @@ directory, and includes the effective version (e.g. 2.0) in the library
 name (e.g. libguile-2.0.so).
 
 This change should be transparent to users, who should detect Guile via
-the guile.m4 macro, or the guile-2.0.pc pkg-config file. It will allow
+the guile.m4 macro, or the guile-2.0.pc pkg-config file.  It will allow
 parallel installs for multiple versions of Guile development
 environments.
 
@@ -6900,16 +6900,16 @@ environments.
 
 Before, Guile only searched the system library paths for extensions
 (e.g. /usr/lib), which meant that the names of Guile extensions had to
-be globally unique. Installing them to a Guile-specific extensions
-directory is cleaner. Use `pkg-config --variable=extensiondir
+be globally unique.  Installing them to a Guile-specific extensions
+directory is cleaner.  Use `pkg-config --variable=extensiondir
 guile-2.0' to get the location of the extensions directory.
 
 ** User Scheme code may be placed in a version-specific path
 
 Before, there was only one way to install user Scheme code to a
 version-specific Guile directory: install to Guile's own path,
-e.g. /usr/share/guile/2.0. The site directory,
-e.g. /usr/share/guile/site, was unversioned. This has been changed to
+e.g. /usr/share/guile/2.0.  The site directory,
+e.g. /usr/share/guile/site, was unversioned.  This has been changed to
 add a version-specific site directory, e.g. /usr/share/guile/site/2.0,
 searched before the global site directory.
 
@@ -6919,7 +6919,7 @@ See http://www.hpl.hp.com/personal/Hans_Boehm/gc/, for more information.
 
 ** New dependency: GNU libunistring
 
-See http://www.gnu.org/software/libunistring/, for more information. Our
+See http://www.gnu.org/software/libunistring/, for more information.  Our
 Unicode support uses routines from libunistring.
 
 ** New dependency: libffi
@@ -6976,7 +6976,7 @@ Changes in 1.8.6 (since 1.8.5)
 ** Single stepping through code from Emacs
 
 When you use GDS to evaluate Scheme code from Emacs, you can now use
-`C-u' to indicate that you want to single step through that code. See
+`C-u' to indicate that you want to single step through that code.  See
 `Evaluating Scheme Code' in the manual for more details.
 
 ** New "guile(1)" man page!
@@ -7189,7 +7189,7 @@ per Section 5.2.1.
 the core bindings got priority, preventing SRFI replacements or
 extensions.)
 ** `regexp-exec' doesn't abort() on #\nul in the input or bad flags arg
-** `kill' on mingw throws an error for a PID other than oneself
+** `kill' on MinGW throws an error for a PID other than oneself
 ** Procedure names are attached to procedure-with-setters
 ** Array read syntax works with negative lower bound
 ** `array-in-bounds?' fix if an array has different lower bounds on each index
@@ -7745,7 +7745,7 @@ There is new syntax for numbers: "+inf.0" (infinity), "-inf.0"
 
 Dividing by an inexact zero returns +inf.0 or -inf.0, depending on the
 sign of the dividend.  The infinities are integers, and they answer #t
-for both 'even?' and 'odd?'. The +nan.0 value is not an integer and is
+for both 'even?' and 'odd?'.  The +nan.0 value is not an integer and is
 not '=' to itself, but '+nan.0' is 'eqv?' to itself.
 
 For example
@@ -8134,7 +8134,7 @@ Also, there is SCM_SMOB_FLAGS and SCM_SET_SMOB_FLAGS that should be
 used to get and set the 16 exra bits in the zeroth word of a smob.
 
 And finally, there is SCM_SMOB_OBJECT and SCM_SMOB_SET_OBJECT for
-accesing the first immediate word of a smob as a SCM value, and there
+accessing the first immediate word of a smob as a SCM value, and there
 is SCM_SMOB_OBJECT_LOC for getting a pointer to the first immediate
 smob word.  Like wise for SCM_SMOB_OBJECT_2, etc.
 
@@ -8284,15 +8284,15 @@ function in the init section.
 ** Garbage collector rewrite.
 
 The garbage collector is cleaned up a lot, and now uses lazy
-sweeping. This is reflected in the output of (gc-stats); since cells
+sweeping.  This is reflected in the output of (gc-stats); since cells
 are being freed when they are allocated, the cells-allocated field
 stays roughly constant.
 
-For malloc related triggers, the behavior is changed. It uses the same
+For malloc related triggers, the behavior is changed.  It uses the same
 heuristic as the cell-triggered collections.  It may be tuned with the
 environment variables GUILE_MIN_YIELD_MALLOC.  This is the percentage
-for minimum yield of malloc related triggers. The default is 40.
-GUILE_INIT_MALLOC_LIMIT sets the initial trigger for doing a GC. The
+for minimum yield of malloc related triggers.  The default is 40.
+GUILE_INIT_MALLOC_LIMIT sets the initial trigger for doing a GC.  The
 default is 200 kb.
 
 Debugging operations for the freelist have been deprecated, along with
@@ -9355,9 +9355,9 @@ This function provides a fast C level alternative for scm_memq for the case
 that the list parameter is known to be a proper list.  The function is a
 replacement for scm_sloppy_memq, but is stricter in its requirements on its
 list input parameter, since for anything else but a proper list the function's
-behaviour is undefined - it may even crash or loop endlessly.  Further, for
+behavior is undefined - it may even crash or loop endlessly.  Further, for
 the case that the object is not found in the list, scm_c_memq returns #f which
-is similar to scm_memq, but different from scm_sloppy_memq's behaviour.
+is similar to scm_memq, but different from scm_sloppy_memq's behavior.
 
 ** New functions: scm_remember_upto_here_1, scm_remember_upto_here_2,
 scm_remember_upto_here
@@ -9806,7 +9806,7 @@ the pthreads to allocate the stack.
 ** Positions of erring expression in scripts
 
 With version 1.3.4, the location of the erring expression in Guile
-scipts is no longer automatically reported.  (This should have been
+scripts is no longer automatically reported.  (This should have been
 documented before the 1.3.4 release.)
 
 You can get this information by enabling recording of positions of
@@ -9925,7 +9925,7 @@ I/O, and in scm_equalp.
 
 ** close-input-port and close-output-port are now R5RS
 
-These procedures have been turned into primitives and have R5RS behaviour.
+These procedures have been turned into primitives and have R5RS behavior.
 
 ** New procedure: simple-format PORT MESSAGE ARG1 ...
 
@@ -10012,7 +10012,7 @@ Compose/decompose an SCM value.
 
 The SCM type is now treated as an abstract data type and may be defined as a
 long, a void* or as a struct, depending on the architecture and compile time
-options. This makes it easier to find several types of bugs, for example when
+options.  This makes it easier to find several types of bugs, for example when
 SCM values are treated as integers without conversion.  Values of the SCM type
 should be treated as "atomic" values.  These macros are used when
 composing/decomposing an SCM value, either because you want to access
@@ -10128,7 +10128,7 @@ Use scm_mutex_init and scm_cond_init instead.
 ** New function: int scm_cond_timedwait (scm_cond_t *COND, scm_mutex_t *MUTEX, const struct timespec *ABSTIME)
      `scm_cond_timedwait' atomically unlocks MUTEX and waits on
      COND, as `scm_cond_wait' does, but it also bounds the duration
-     of the wait. If COND has not been signaled before time ABSTIME,
+     of the wait.  If COND has not been signaled before time ABSTIME,
      the mutex MUTEX is re-acquired and `scm_cond_timedwait'
      returns the error code `ETIMEDOUT'.
 
@@ -10138,19 +10138,19 @@ Use scm_mutex_init and scm_cond_init instead.
 
 ** New function: scm_cond_broadcast (scm_cond_t *COND)
      `scm_cond_broadcast' restarts all the threads that are waiting
-     on the condition variable COND. Nothing happens if no threads are
+     on the condition variable COND.  Nothing happens if no threads are
      waiting on COND.
 
 ** New function: scm_key_create (scm_key_t *KEY, void (*destr_function) (void *))
-     `scm_key_create' allocates a new TSD key. The key is stored in
-     the location pointed to by KEY. There is no limit on the number
-     of keys allocated at a given time. The value initially associated
+     `scm_key_create' allocates a new TSD key.  The key is stored in
+     the location pointed to by KEY.  There is no limit on the number
+     of keys allocated at a given time.  The value initially associated
      with the returned key is `NULL' in all currently executing threads.
 
      The DESTR_FUNCTION argument, if not `NULL', specifies a destructor
-     function associated with the key. When a thread terminates,
+     function associated with the key.  When a thread terminates,
      DESTR_FUNCTION is called on the value associated with the key in
-     that thread. The DESTR_FUNCTION is not called if a key is deleted
+     that thread.  The DESTR_FUNCTION is not called if a key is deleted
      with `scm_key_delete' or a value is changed with
      `scm_setspecific'.  The order in which destructor functions are
      called at thread termination time is unspecified.
@@ -10166,7 +10166,7 @@ Use scm_mutex_init and scm_cond_init instead.
      KEY in the calling thread.
 
 ** New function: scm_key_delete (scm_key_t KEY)
-     `scm_key_delete' deallocates a TSD key. It does not check
+     `scm_key_delete' deallocates a TSD key.  It does not check
      whether non-`NULL' values are associated with that key in the
      currently executing threads, nor call the destructor function
      associated with the key.
@@ -10574,7 +10574,7 @@ a variable GENERIC which can be used by the dispatch macros below.
   New macro: SCM_WTA_DISPATCH_2 (GENERIC, ARG1, ARG2, POS, SUBR)
 
 These correspond to the scm_wta function call, and have the same
-behaviour until the user has called the GOOPS primitive
+behavior until the user has called the GOOPS primitive
 `enable-primitive-generic!'.  After that, these macros will apply the
 generic function GENERIC to the argument(s) instead of calling
 scm_wta.
@@ -10634,7 +10634,7 @@ This is the typical way of creating a hook from C code.
 Currently, the variable is created in the "current" module.
 This might change when we get the new module system.
 
-[The behaviour is identical to scm_make_named_hook.]
+[The behavior is identical to scm_make_named_hook.]

 
@@ -10698,7 +10698,7 @@ in backtraces.
 their equivalent letrec.  Previously, internal defines would
 incrementally add to the innermost environment, without checking
 whether the restrictions specified in RnRS were met.  This lead to the
-correct behaviour when these restriction actually were met, but didn't
+correct behavior when these restriction actually were met, but didn't
 catch all illegal uses.  Such an illegal use could lead to crashes of
 the Guile interpreter or other unwanted results.  An example of
 incorrect internal defines that made Guile behave erratically:
@@ -10714,7 +10714,7 @@ incorrect internal defines that made Guile behave erratically:
   => 2
 
 The problem with this example is that the definition of `c' uses the
-value of `b' directly.  This confuses the meoization machine of Guile
+value of `b' directly.  This confuses the memoization machine of Guile
 so that the second call of `b' (this time in a larger environment that
 also contains bindings for `c' and `d') refers to the binding of `c'
 instead of `a'.  You could also make Guile crash with a variation on
@@ -10802,7 +10802,7 @@ when the hook was created.
 
 *** The expect-strings macro now matches `$' in a regular expression
     only at a line-break or end-of-file by default.  Previously it would
-    match the end of the string accumulated so far. The old behaviour
+    match the end of the string accumulated so far.  The old behavior
     can be obtained by setting the variable `expect-strings-exec-flags'
     to 0.
 
@@ -10840,9 +10840,9 @@ borrowed from SLIB, with minor adaptations for Guile.
      is `#f', a formatted string is returned as the result of the call.
      NEW: If DESTINATION is a string, DESTINATION is regarded as the
      format string; FORMAT-STRING is then the first argument and the
-     output is returned as a string. If DESTINATION is a number, the
+     output is returned as a string.  If DESTINATION is a number, the
      output is to the current error port if available by the
-     implementation. Otherwise DESTINATION must be an output port and
+     implementation.  Otherwise DESTINATION must be an output port and
      `#t' is returned.
 
      FORMAT-STRING must be a string.  In case of a formatting error
@@ -10865,7 +10865,7 @@ description of the format string syntax.  For a demonstration of the
 implemented directives see `formatst.scm'.
 
    This implementation supports directive parameters and modifiers (`:'
-and `@' characters). Multiple parameters must be separated by a comma
+and `@' characters).  Multiple parameters must be separated by a comma
 (`,').  Parameters can be numerical parameters (positive or negative),
 character parameters (prefixed by a quote character (`''), variable
 parameters (`v'), number of rest arguments parameter (`#'), empty and
@@ -11170,8 +11170,8 @@ represent control directive parameter descriptions.
           print N `#\tab' characters.
 
 `~NC'
-     Takes N as an integer representation for a character. No arguments
-     are consumed. N is converted to a character by `integer->char'.  N
+     Takes N as an integer representation for a character.  No arguments
+     are consumed.  N is converted to a character by `integer->char'.  N
      must be a positive decimal number.
 
 `~:S'
@@ -11197,7 +11197,7 @@ represent control directive parameter descriptions.
 *** Configuration Variables
 
    The format module exports some configuration variables to suit the
-systems and users needs. There should be no modification necessary for
+systems and users needs.  There should be no modification necessary for
 the configuration that comes with Guile.  Format detects automatically
 if the running scheme system implements floating point numbers and
 complex numbers.
@@ -11243,7 +11243,7 @@ Elk 1.5/2.0:
 Scheme->C 01nov91:
      Downward compatible except for an optional destination parameter:
      S2C accepts a format call without a destination which returns a
-     formatted string. This is equivalent to a #f destination in S2C.
+     formatted string.  This is equivalent to a #f destination in S2C.
      (S2C implements `~a', `~s', `~c', `~%', and `~~' (no directive
      parameters or modifiers)).
 
@@ -11287,7 +11287,7 @@ Copy the substring of STRING1 from START (inclusive) to END
 (exclusive) to STRING2 at START.  STRING1 and STRING2 may be the same
 string, and the source and destination areas may overlap; in all
 cases, the function behaves as if all the characters were copied
-simultanously.
+simultaneously.
 
 *** Extended functions: substring-move-left! substring-move-right!
 
@@ -11442,9 +11442,9 @@ and examples for `lambda*':
  lambda* args . body
    lambda extended for optional and keyword arguments
 
- lambda* creates a procedure that takes optional arguments. These
+ lambda* creates a procedure that takes optional arguments.  These
  are specified by putting them inside brackets at the end of the
- paramater list, but before any dotted rest argument. For example,
+ parameter list, but before any dotted rest argument.  For example,
    (lambda* (a b #&optional c d . e) '())
  creates a procedure with fixed arguments a and b, optional arguments c
  and d, and rest argument e. If the optional arguments are omitted
@@ -11489,7 +11489,7 @@ and examples for `lambda*':
 Further documentation may be found in the optargs.scm file itself.
 
 The optional argument module also exports the macros `let-optional',
-`let-optional*', `let-keywords', `let-keywords*' and `bound?'. These
+`let-optional*', `let-keywords', `let-keywords*' and `bound?'.  These
 are not documented here because they may be removed in the future, but
 full documentation is still available in optargs.scm.
 
@@ -11711,7 +11711,7 @@ forms instead of the result of the last body form.  In contrast to
 
 ** New functions: read-history FILENAME, write-history FILENAME
 Read/write command line history from/to file.  Returns #t on success
-and #f if an error occured.
+and #f if an error occurred.
 
 ** `ls' and `lls' in module (ice-9 ls) now handle no arguments.
 
@@ -11735,7 +11735,7 @@ modules.
 ** gh_scm2doubles
 
 Now takes a second argument which is the result array.  If this
-pointer is NULL, a new array is malloced (the old behaviour).
+pointer is NULL, a new array is malloced (the old behavior).
 
 ** gh_chars2byvect, gh_shorts2svect, gh_floats2fvect, gh_scm2chars,
    gh_scm2shorts, gh_scm2longs, gh_scm2floats
@@ -11774,12 +11774,12 @@ will be freed by the default free function.
 
 *** Function: void scm_set_smob_mark (long tc, SCM (*mark) (SCM))
 This function sets the smob marking procedure for the smob type
-specified by the tag TC. TC is the tag returned by
+specified by the tag TC.  TC is the tag returned by
 `scm_make_smob_type'.
 
 *** Function: void scm_set_smob_free (long tc, SCM (*mark) (SCM))
 This function sets the smob freeing procedure for the smob type
-specified by the tag TC. TC is the tag returned by
+specified by the tag TC.  TC is the tag returned by
 `scm_make_smob_type'.
 
 *** Function: void scm_set_smob_print (tc, print)
@@ -11790,12 +11790,12 @@ specified by the tag TC. TC is the tag returned by
 							  scm_print_state *))
 
 This function sets the smob printing procedure for the smob type
-specified by the tag TC. TC is the tag returned by
+specified by the tag TC.  TC is the tag returned by
 `scm_make_smob_type'.
 
 *** Function: void scm_set_smob_equalp (long tc, SCM (*equalp) (SCM, SCM))
 This function sets the smob equality-testing predicate for the
-smob type specified by the tag TC. TC is the tag returned by
+smob type specified by the tag TC.  TC is the tag returned by
 `scm_make_smob_type'.
 
 *** Macro: void SCM_NEWSMOB (SCM var, long tc, void *data)
@@ -11822,7 +11822,7 @@ It is replaced by:
                                     void (*write_flush) (SCM port));
 
 Similarly to the new smob interface, there is a set of function
-setters by which the user can customize the behaviour of his port
+setters by which the user can customize the behavior of his port
 type.  See ports.h (scm_set_port_XXX).
 
 ** scm_strport_to_string: New function: creates a new string from
@@ -12082,7 +12082,7 @@ call ADD-HISTORY to make previous input available to the user.
 ** The behavior of the read-line function has changed.
 
 This function now uses standard C library functions to read the line,
-for speed.  This means that it doesn not respect the value of
+for speed.  This means that it does not respect the value of
 scm-line-incrementors; it assumes that lines are delimited with
 #\newline.
 
@@ -12256,7 +12256,7 @@ That is, a structure that -- in the process of being printed -- prints
 itself does not lead to infinite recursion.
 
 ** There is now some basic support for fluids.  Please read
-"libguile/fluid.h" to find out more. It is accessible from Scheme with
+"libguile/fluid.h" to find out more.  It is accessible from Scheme with
 the following functions and macros:
 
 Function: make-fluid
@@ -13146,7 +13146,7 @@ signum is the signal number, which can be specified using the value
 of SIGINT etc.
 
 If action is omitted, sigaction returns a pair: the CAR is the current
-signal hander, which will be either an integer with the value SIG_DFL
+signal handler, which will be either an integer with the value SIG_DFL
 (default action) or SIG_IGN (ignore), or the Scheme procedure which
 handles the signal, or #f if a non-Scheme procedure handles the
 signal.  The CDR contains the current sigaction flags for the handler.
@@ -13387,7 +13387,7 @@ traced.
 
 The `untrace' function accepts any number of procedures as arguments,
 and tells the Guile interpreter not to trace them any more.  When
-invoked with no arguments, `untrace' untraces all curretly traced
+invoked with no arguments, `untrace' untraces all currently traced
 procedures.
 
 The tracing in Guile has an advantage over most other systems: we
@@ -13817,7 +13817,7 @@ HANDLER is a pointer to a C function to deal with a throw to TAG,
 should one occur.  We call it like this:
    HANDLER (HANDLER_DATA, THROWN_TAG, THROW_ARGS)
 where
-   HANDLER_DATA is the HANDLER_DATA argument we recevied; it's the
+   HANDLER_DATA is the HANDLER_DATA argument we received; it's the
       same idea as BODY_DATA above.
    THROWN_TAG is the tag that the user threw to; usually this is
       TAG, but it could be something else if TAG was #t (i.e., a
diff --git a/README b/README
index c55fdb89a..2b93b7a21 100644
--- a/README
+++ b/README
@@ -172,7 +172,7 @@ switches specific to Guile you may find useful in some circumstances.
   Build a Guile executable and library that supports multi-threading.
 
   The default is to enable threading support when your operating
-  system offsers 'POSIX threads'.  When you do not want threading, use
+  system offers 'POSIX threads'.  When you do not want threading, use
   `--without-threads'.
 
 --enable-deprecated=LEVEL
diff --git a/doc/r5rs/r5rs.texi b/doc/r5rs/r5rs.texi
index 775c93094..ec243ac0b 100644
--- a/doc/r5rs/r5rs.texi
+++ b/doc/r5rs/r5rs.texi
@@ -633,7 +633,7 @@ provided as convenient abbreviations.
 
 @cindex @w{error}
 When speaking of an error situation, this report uses the phrase ``an
-error is signalled'' to indicate that implementations must detect and
+error is signaled'' to indicate that implementations must detect and
 report the error.  If such wording does not appear in the discussion of
 an error, then implementations are not required to detect or report the
 error, though they are encouraged to do so.  An error situation that
@@ -6804,7 +6804,7 @@ the file should already exist; for
 the effect is unspecified if the file
 already exists. These procedures call @var{proc} with one argument: the
 port obtained by opening the named file for input or output.  If the
-file cannot be opened, an error is signalled.  If @var{proc} returns,
+file cannot be opened, an error is signaled.  If @var{proc} returns,
 then the port is closed automatically and the value(s) yielded by the
 @var{proc} is(are) returned.  If @var{proc} does not return, then 
 the port will not be closed automatically unless it is possible to
@@ -6905,7 +6905,7 @@ instead of ``the value returned by @var{current-input-port}''.  (Same for
  
 Takes a string naming an existing file and returns an input port capable of
 delivering characters from the file.  If the file cannot be opened, an error is
-signalled.
+signaled.
 
 @end deffn
 
@@ -6915,7 +6915,7 @@ signalled.
 
 Takes a string naming an output file to be created and returns an output
 port capable of writing characters to a new file by that name.  If the file
-cannot be opened, an error is signalled.  If a file with the given name
+cannot be opened, an error is signaled.  If a file with the given name
 already exists, the effect is unspecified.
 
 @end deffn
@@ -6985,7 +6985,7 @@ object is returned.
 to read will also return an end of file object.  If an end of file is
 encountered after the beginning of an object's external representation,
 but the external representation is incomplete and therefore not parsable,
-an error is signalled.
+an error is signaled.
 
 The @var{port} argument may be omitted, in which case it defaults to the
 value returned by @samp{current-input-port}.  It is an error to read from
diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi
index bc3f3af2f..d78690fff 100644
--- a/doc/ref/api-data.texi
+++ b/doc/ref/api-data.texi
@@ -481,7 +481,7 @@ number.
 @deftypefn {C Function} void scm_to_mpz (SCM val, mpz_t rop)
 Assign @var{val} to the multiple precision integer @var{rop}.
 @var{val} must be an exact integer, otherwise an error will be
-signalled.  @var{rop} must have been initialized with @code{mpz_init}
+signaled.  @var{rop} must have been initialized with @code{mpz_init}
 before this function is called.  When @var{rop} is no longer needed
 the occupied space must be freed with @code{mpz_clear}.
 @xref{Initializing Integers,,, gmp, GNU MP Manual}, for details.
@@ -877,7 +877,7 @@ the number is inexact.
 
 If the exactness indicator is omitted, the number is exact unless it
 contains a radix point.  Since Guile can not represent exact complex
-numbers, an error is signalled when asking for them.
+numbers, an error is signaled when asking for them.
 
 @lisp
 (exact? 1.2)
@@ -2551,7 +2551,7 @@ Return a character set containing all characters whose
 character codes lie in the half-open range
 [@var{lower},@var{upper}).
 
-If @var{error} is a true value, an error is signalled if the
+If @var{error} is a true value, an error is signaled if the
 specified range contains characters which are not contained in
 the implemented character range.  If @var{error} is @code{#f},
 these characters are silently left out of the resulting
@@ -2567,7 +2567,7 @@ Return a character set containing all characters whose
 character codes lie in the half-open range
 [@var{lower},@var{upper}).
 
-If @var{error} is a true value, an error is signalled if the
+If @var{error} is a true value, an error is signaled if the
 specified range contains characters which are not contained in
 the implemented character range.  If @var{error} is @code{#f},
 these characters are silently left out of the resulting
@@ -4386,7 +4386,7 @@ encoding of the current locale.  The C string must be freed with
 @xref{Dynamic Wind}.
 
 For @code{scm_to_locale_string}, the returned string is
-null-terminated and an error is signalled when @var{str} contains
+null-terminated and an error is signaled when @var{str} contains
 @code{#\nul} characters.
 
 For @code{scm_to_locale_stringn} and @var{lenp} not @code{NULL},
@@ -8031,7 +8031,7 @@ must be protected so that the pointer remains valid.  Such a protected
 array is said to be @dfn{reserved}.  A reserved array can be read but
 modifications to it that would cause the pointer to its elements to
 become invalid are prevented.  When you attempt such a modification, an
-error is signalled.
+error is signaled.
 
 (This is similar to locking the array while it is in use, but without
 the danger of a deadlock.  In a multi-threaded program, you will need
@@ -8155,7 +8155,7 @@ for (i = 0; i < RANK; i++)
 Compute the position corresponding to @var{indices}, a list of
 indices.  The position is computed as described above for
 @code{scm_array_handle_dims}.  The number of the indices and their
-range is checked and an appropriate error is signalled for invalid
+range is checked and an appropriate error is signaled for invalid
 indices.
 @end deftypefn
 
@@ -8169,7 +8169,7 @@ range checking is done on @var{pos}.
 Set the element at position @var{pos} in the storage block of the array
 represented by @var{handle} to @var{val}.  Any kind of array is
 acceptable.  No range checking is done on @var{pos}.  An error is
-signalled when the array can not store @var{val}.
+signaled when the array can not store @var{val}.
 @end deftypefn
 
 @deftypefn {C Function} {const SCM *} scm_array_handle_elements (scm_t_array_handle *handle)
diff --git a/doc/ref/api-debug.texi b/doc/ref/api-debug.texi
index 97326ff76..660989895 100644
--- a/doc/ref/api-debug.texi
+++ b/doc/ref/api-debug.texi
@@ -359,7 +359,7 @@ library, or from Guile itself.
 A common requirement is to be able to show as much useful context as
 possible when a Scheme program hits an error.  The most immediate
 information about an error is the kind of error that it is -- such as
-``division by zero'' -- and any parameters that the code which signalled
+``division by zero'' -- and any parameters that the code which signaled
 the error chose explicitly to provide.  This information originates with
 the @code{error} or @code{raise-exception} call (or their C code
 equivalents, if the error is detected by C code) that signals the error,
diff --git a/doc/ref/api-evaluation.texi b/doc/ref/api-evaluation.texi
index df7623f87..7c08e2494 100644
--- a/doc/ref/api-evaluation.texi
+++ b/doc/ref/api-evaluation.texi
@@ -974,7 +974,7 @@ of modifying the path both at compile-time and at run-time.
 Search @code{%load-path} for the file named @var{filename} and
 load it into the top-level environment.  If @var{filename} is a
 relative pathname and is not found in the list of search paths,
-an error is signalled.  Preferentially loads a compiled version of the
+an error is signaled.  Preferentially loads a compiled version of the
 file, if it is available and up-to-date.
 
 If @var{filename} is a relative pathname and is not found in the list of
@@ -983,7 +983,7 @@ second argument, @var{exception-on-not-found}.  If it is @code{#f},
 @code{#f} will be returned.  If it is a procedure, it will be called
 with no arguments.  (This allows a distinction to be made between
 exceptions raised by loading a file, and exceptions related to the
-loader itself.)  Otherwise an error is signalled.
+loader itself.)  Otherwise an error is signaled.
 
 For compatibility with Guile 1.8 and earlier, the C function takes only
 one argument, which can be either a string (the file name) or an
diff --git a/doc/ref/api-io.texi b/doc/ref/api-io.texi
index 86f83e85e..88622935c 100644
--- a/doc/ref/api-io.texi
+++ b/doc/ref/api-io.texi
@@ -711,7 +711,7 @@ something that the user needs to explicitly be aware of.)  The data is
 written to the store later -- when the buffer fills up due to another
 write, or when @code{force-output} is called, or when @code{close-port}
 is called, or when the program exits, or even when the garbage collector
-runs.  The salient point is, @emph{the errors are signalled then too}.
+runs.  The salient point is, @emph{the errors are signaled then too}.
 Buffered writes defer error detection (and defer the side effects to the
 mutable store), perhaps indefinitely if the port type does not need to
 be closed at GC.
diff --git a/doc/ref/api-macros.texi b/doc/ref/api-macros.texi
index a353719cb..124587700 100644
--- a/doc/ref/api-macros.texi
+++ b/doc/ref/api-macros.texi
@@ -149,7 +149,7 @@ patterns, and as many templates as there are patterns.
 When the syntax expander sees the invocation of a @code{syntax-rules} macro, it
 matches the expression against the patterns, in order, and rewrites the
 expression using the template from the first matching pattern. If no pattern
-matches, a syntax error is signalled.
+matches, a syntax error is signaled.
 
 @subsubsection Patterns
 
diff --git a/doc/ref/api-procedures.texi b/doc/ref/api-procedures.texi
index 27489d960..0b24c1002 100644
--- a/doc/ref/api-procedures.texi
+++ b/doc/ref/api-procedures.texi
@@ -550,7 +550,7 @@ matches the number of actual arguments against the formals in the
 various clauses, in order. The first matching clause is selected, the
 corresponding values from the actual parameter list are bound to the
 variable names in the clauses and the body of the clause is evaluated.
-If no clause matches, an error is signalled.
+If no clause matches, an error is signaled.
 
 The syntax of the @code{case-lambda} form is defined in the following
 EBNF grammar. @dfn{Formals} means a formal argument list just like
diff --git a/doc/ref/api-scheduling.texi b/doc/ref/api-scheduling.texi
index 09e65e728..115943dab 100644
--- a/doc/ref/api-scheduling.texi
+++ b/doc/ref/api-scheduling.texi
@@ -329,7 +329,7 @@ wait using the following procedures:
 
 @deftypefn {C Function} int scm_c_prepare_to_wait_on_fd (int fd)
 Inform Guile that the current thread is about to sleep, and that if an
-asynchronous interrupt is signalled on this thread, Guile should wake up
+asynchronous interrupt is signaled on this thread, Guile should wake up
 the thread by writing a zero byte to @var{fd}.  Returns zero if the
 prepare succeeded, or nonzero if the thread already has a pending async
 and that it should avoid waiting.
@@ -337,7 +337,7 @@ and that it should avoid waiting.
 
 @deftypefn {C Function} int scm_c_prepare_to_wait_on_cond (scm_i_pthread_mutex_t *mutex, scm_i_pthread_cond_t *cond)
 Inform Guile that the current thread is about to sleep, and that if an
-asynchronous interrupt is signalled on this thread, Guile should wake up
+asynchronous interrupt is signaled on this thread, Guile should wake up
 the thread by acquiring @var{mutex} and signalling @var{cond}.  The
 caller must already hold @var{mutex} and only drop it as part of the
 @code{pthread_cond_wait} call.  Returns zero if the prepare succeeded,
@@ -574,7 +574,7 @@ waiting should be aborted.  It can be either an integer as returned
 by @code{current-time} or a pair as returned by @code{gettimeofday}.
 When the waiting is aborted, @code{#f} is returned.
 
-For standard mutexes (@code{make-mutex}), an error is signalled if the
+For standard mutexes (@code{make-mutex}), an error is signaled if the
 thread has itself already locked @var{mutex}.
 
 For a recursive mutex (@code{make-recursive-mutex}), if the thread has
@@ -601,7 +601,7 @@ timeout.
 
 @deffn {Scheme Procedure} unlock-mutex mutex
 @deffnx {C Function} scm_unlock_mutex (mutex)
-Unlock @var{mutex}.  An error is signalled if @var{mutex} is not locked.
+Unlock @var{mutex}.  An error is signaled if @var{mutex} is not locked.
 
 ``Standard'' and ``recursive'' mutexes can only be unlocked by the
 thread that locked them; Guile detects this situation and signals an
@@ -642,14 +642,14 @@ return @code{#f}.
 
 @deffn {Scheme Procedure} wait-condition-variable condvar mutex [time]
 @deffnx {C Function} scm_wait_condition_variable (condvar, mutex, time)
-Wait until @var{condvar} has been signalled.  While waiting,
+Wait until @var{condvar} has been signaled.  While waiting,
 @var{mutex} is atomically unlocked (as with @code{unlock-mutex}) and
 is locked again when this function returns.  When @var{time} is given,
 it specifies a point in time where the waiting should be aborted.  It
 can be either a integer as returned by @code{current-time} or a pair
 as returned by @code{gettimeofday}.  When the waiting is aborted,
 @code{#f} is returned.  When the condition variable has in fact been
-signalled, @code{#t} is returned.  The mutex is re-locked in any case
+signaled, @code{#t} is returned.  The mutex is re-locked in any case
 before @code{wait-condition-variable} returns.
 
 When an async is activated for a thread that is blocked in a call to
diff --git a/doc/ref/api-undocumented.texi b/doc/ref/api-undocumented.texi
index 4e478f4c4..0195748ae 100644
--- a/doc/ref/api-undocumented.texi
+++ b/doc/ref/api-undocumented.texi
@@ -30,7 +30,7 @@ call.  There is no provision for resetting the counter.
 @deffn {Scheme Procedure} symbol-set! o s v
 @deffnx {C Function} scm_symbol_set_x (o, s, v)
 Find the symbol in @var{obarray} whose name is @var{string}, and rebind
-it to @var{value}.  An error is signalled if @var{string} is not present
+it to @var{value}.  An error is signaled if @var{string} is not present
 in @var{obarray}.
 @end deffn
 
@@ -49,7 +49,7 @@ value.
 Look up in @var{obarray} the symbol whose name is @var{string}, and
 return the value to which it is bound.  If @var{obarray} is @code{#f},
 use the global symbol table.  If @var{string} is not interned in
-@var{obarray}, an error is signalled.
+@var{obarray}, an error is signaled.
 @end deffn
 
 @deffn {Scheme Procedure} unintern-symbol o s
@@ -88,7 +88,7 @@ table; instead, simply return @code{#f}.
 Read a form from @var{port} (standard input by default), and evaluate it
 (memoizing it in the process) in the top-level environment.  If no data
 is left to be read from @var{port}, an @code{end-of-file} error is
-signalled.
+signaled.
 @end deffn
 
 @deffn {Scheme Procedure} sloppy-member x lst
diff --git a/doc/ref/libguile-concepts.texi b/doc/ref/libguile-concepts.texi
index 34010eebf..118a9fbee 100644
--- a/doc/ref/libguile-concepts.texi
+++ b/doc/ref/libguile-concepts.texi
@@ -601,7 +601,7 @@ executed.  Locking a mutex while in that section ensures that no other
 thread will start executing it, blocking asyncs ensures that no
 asynchronous code enters the section again from the current thread, and
 the error checking of Guile mutexes guarantees that an error is
-signalled when the current thread accidentally reenters the critical
+signaled when the current thread accidentally reenters the critical
 section via recursive function calls.
 
 Guile provides two mechanisms to support critical sections as outlined
diff --git a/doc/ref/posix.texi b/doc/ref/posix.texi
index 5653d3758..fec42d061 100644
--- a/doc/ref/posix.texi
+++ b/doc/ref/posix.texi
@@ -2242,7 +2242,7 @@ Install or report the signal handler for a specified signal.
 of variables such as @code{SIGINT}.
 
 If @var{handler} is omitted, @code{sigaction} returns a pair: the
-@acronym{CAR} is the current signal hander, which will be either an
+@acronym{CAR} is the current signal handler, which will be either an
 integer with the value @code{SIG_DFL} (default action) or
 @code{SIG_IGN} (ignore), or the Scheme procedure which handles the
 signal, or @code{#f} if a non-Scheme procedure handles the signal.
@@ -2262,9 +2262,9 @@ call to @code{sigaction} is used.
 following (where provided by the system), or @code{0} for none.
 
 @defvar SA_NOCLDSTOP
-By default, @code{SIGCHLD} is signalled when a child process stops
+By default, @code{SIGCHLD} is signaled when a child process stops
 (ie.@: receives @code{SIGSTOP}), and when a child process terminates.
-With the @code{SA_NOCLDSTOP} flag, @code{SIGCHLD} is only signalled
+With the @code{SA_NOCLDSTOP} flag, @code{SIGCHLD} is only signaled
 for termination, not stopping.
 
 @code{SA_NOCLDSTOP} has no effect on signals other than
@@ -2354,7 +2354,7 @@ Get or set the periods programmed in certain system timers.
 These timers have two settings.  The first setting, the interval, is the
 value at which the timer will be reset when the current timer expires.
 The second is the current value of the timer, indicating when the next
-expiry will be signalled.
+expiry will be signaled.
 
 @var{which_timer} is one of the following values:
 
@@ -3123,7 +3123,7 @@ The following procedures are used to search the service database:
 Look up a network service by name or by service number, and return a
 network service object.  The @var{protocol} argument specifies the name
 of the desired protocol; if the protocol found in the network service
-database does not match this name, a system error is signalled.
+database does not match this name, a system error is signaled.
 
 The @code{getserv} procedure will take either a service name or number
 as its first argument; if given no arguments, it behaves like
diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi
index 0ef136215..0cdf56923 100644
--- a/doc/ref/srfi-modules.texi
+++ b/doc/ref/srfi-modules.texi
@@ -361,7 +361,7 @@ lists are @code{circular-list?}.
 @deffn {Scheme Procedure} null-list? lst
 Return @code{#t} if @var{lst} is the empty list @code{()}, @code{#f}
 otherwise.  If something else than a proper or circular list is passed
-as @var{lst}, an error is signalled.  This procedure is recommended
+as @var{lst}, an error is signaled.  This procedure is recommended
 for checking for the end of a list in contexts where dotted lists are
 not allowed.
 @end deffn
@@ -2297,7 +2297,7 @@ a new owner for @var{mutex} different than the current thread.
 Unlock @var{mutex}, optionally specifying a condition variable
 @var{condition-variable} on which to wait, either indefinitely or,
 optionally, until the time object @var{timeout} has passed, to be
-signalled.
+signaled.
 @end defun

@@ -3638,7 +3638,7 @@ characters for traditional @code{getopt} short options and strings for
 @var{required-arg?} and @var{optional-arg?} are mutually exclusive;
 one or both must be @code{#f}.  If @var{required-arg?}, the option
 must be followed by an argument on the command line, such as
-@samp{--opt=value} for long options, or an error will be signalled.
+@samp{--opt=value} for long options, or an error will be signaled.
 If @var{optional-arg?}, an argument will be taken if available.
 
 @var{processor} is a procedure that takes at least 3 arguments, called
@@ -3789,7 +3789,7 @@ The port remains open, and further attempts to read it (by
 end-of-file object.  If an end of file is encountered after the
 beginning of an object's external representation, but the external
 representation is incomplete and therefore not parsable, an error is
-signalled.
+signaled.
 
 The @var{port} argument may be omitted, in which case it defaults to the
 value returned by @code{(current-input-port)}.  It is an error to read
@@ -3935,7 +3935,7 @@ stream, its promise will be forced.
 
 @deffn {Scheme Procedure} stream-car stream
 Returns the object stored in the @code{stream-car} of @var{stream}.  An
-error is signalled if the argument is not a @code{stream-pair}.  This
+error is signaled if the argument is not a @code{stream-pair}.  This
 causes the @var{object-expr} passed to @code{stream-cons} to be
 evaluated if it had not yet been; the value is cached in case it is
 needed again.
@@ -3943,7 +3943,7 @@ needed again.
 
 @deffn {Scheme Procedure} stream-cdr stream
 Returns the stream stored in the @code{stream-cdr} of @var{stream}.  An
-error is signalled if the argument is not a @code{stream-pair}.
+error is signaled if the argument is not a @code{stream-pair}.
 @end deffn
 
 @deffn {Scheme Syntax} stream-lambda formals body @dots{}
diff --git a/doc/ref/vm.texi b/doc/ref/vm.texi
index 4515e5e13..d7a2372b8 100644
--- a/doc/ref/vm.texi
+++ b/doc/ref/vm.texi
@@ -956,7 +956,7 @@ of the values in the frame are returned to the prompt handler.  This
 corresponds to a tail application of @code{abort-to-prompt}.
 
 If no prompt can be found in the dynamic environment with the given tag,
-an error is signalled.  Otherwise all arguments are passed to the
+an error is signaled.  Otherwise all arguments are passed to the
 prompt's handler, along with the captured continuation, if necessary.
 
 If the prompt's handler can be proven to not reference the captured
diff --git a/doc/ref/web.texi b/doc/ref/web.texi
index faaf662ce..607c855b6 100644
--- a/doc/ref/web.texi
+++ b/doc/ref/web.texi
@@ -1310,7 +1310,7 @@ Return the given request header, or @var{default} if none was present.
 A helper routine to determine the absolute URI of a request, using the
 @code{host} header and the default scheme, host and port.  If there is
 no default scheme and the URI is not itself absolute, an error is
-signalled.
+signaled.
 @end deffn
 
 @node Responses
diff --git a/examples/box-dynamic-module/box.c b/examples/box-dynamic-module/box.c
index b950e019a..e41714d28 100644
--- a/examples/box-dynamic-module/box.c
+++ b/examples/box-dynamic-module/box.c
@@ -40,7 +40,7 @@ mark_box (SCM b)
 }

-/* Print a textual represenation of the smob to a given port.  */
+/* Print a textual representation of the smob to a given port.  */
 static int
 print_box (SCM b, SCM port, scm_print_state *pstate)
 {
diff --git a/examples/box-dynamic/box.c b/examples/box-dynamic/box.c
index 4954e88ba..d66e85423 100644
--- a/examples/box-dynamic/box.c
+++ b/examples/box-dynamic/box.c
@@ -40,7 +40,7 @@ mark_box (SCM b)
 }

-/* Print a textual represenation of the smob to a given port.  */
+/* Print a textual representation of the smob to a given port.  */
 static int
 print_box (SCM b, SCM port, scm_print_state *pstate)
 {
diff --git a/examples/box-module/box.c b/examples/box-module/box.c
index a98565b7b..3969f83cc 100644
--- a/examples/box-module/box.c
+++ b/examples/box-module/box.c
@@ -40,7 +40,7 @@ mark_box (SCM b)
 }

-/* Print a textual represenation of the smob to a given port.  */
+/* Print a textual representation of the smob to a given port.  */
 static int
 print_box (SCM b, SCM port, scm_print_state *pstate)
 {
@@ -55,7 +55,7 @@ print_box (SCM b, SCM port, scm_print_state *pstate)
 }

-/* This defines the primitve `make-box', which returns a new smob of
+/* This defines the primitive `make-box', which returns a new smob of
    type `box', initialized to `#f'.  */
 static SCM
 #define FUNC_NAME "make-box"
diff --git a/examples/box/box.c b/examples/box/box.c
index f9b3a55a7..55ef0fd55 100644
--- a/examples/box/box.c
+++ b/examples/box/box.c
@@ -40,7 +40,7 @@ mark_box (SCM b)
 }

-/* Print a textual represenation of the smob to a given port.  */
+/* Print a textual representation of the smob to a given port.  */
 static int
 print_box (SCM b, SCM port, scm_print_state *pstate)
 {
diff --git a/examples/safe/safe b/examples/safe/safe
index 7653dc2b8..2357e81ec 100755
--- a/examples/safe/safe
+++ b/examples/safe/safe
@@ -63,7 +63,7 @@
 	    (lambda ()
 	      ;; Evaluate the expression in the safe environment.
 	      (eval expr safe-module)
-	      ;; ... and read the next expression if no error occured.
+	      ;; ... and read the next expression if no error occurred.
 	      (lp (read port)))
 
 	    ;; Handle exceptions.  This procedure will be called when an
diff --git a/examples/scripts/README b/examples/scripts/README
index f3e965b5a..6041d32de 100644
--- a/examples/scripts/README
+++ b/examples/scripts/README
@@ -14,7 +14,7 @@ installed and available with the standard installation prefix
 
 ** simple-hello.scm
 
-  The simplest "Hello World!" program for Guile. Run it like this:
+  The simplest "Hello World!" program for Guile.  Run it like this:
 
   $ guile -s simple-hello.scm
 
diff --git a/examples/scripts/hello b/examples/scripts/hello
index 01f9a6c3b..fc17271e0 100755
--- a/examples/scripts/hello
+++ b/examples/scripts/hello
@@ -5,7 +5,7 @@
 ;;; This is the famous Hello-World-program, written for Guile.  It is a
 ;;; little bit enhanced in that it understands the command line options
 ;;; `--help' (-h) and `--version' (-v), which print a short usage
-;;; decription or version information, respectively.
+;;; description or version information, respectively.
 
 ;;; Author: Martin Grabmueller
 ;;; Date: 2001-05-29
diff --git a/gc-benchmarks/larceny/twobit-input-long.sch b/gc-benchmarks/larceny/twobit-input-long.sch
index 5727ad72c..ee7b80f06 100644
--- a/gc-benchmarks/larceny/twobit-input-long.sch
+++ b/gc-benchmarks/larceny/twobit-input-long.sch
@@ -272,7 +272,7 @@
 (define (with-optimization level thunk) 
   (thunk))
 
-; Calls thunk1, and if thunk1 causes an error to be signalled, calls thunk2.
+; Calls thunk1, and if thunk1 causes an error to be signaled, calls thunk2.
 
 (define (call-with-error-control thunk1 thunk2) 
   (let ((eh (error-handler)))
@@ -21993,14 +21993,14 @@
 ;
 ; RS1 has an object.  If the tag of RS1 is not 'tag1', or if the tag is 
 ; 'tag1' but the header byte of the object header is not 'tag2', then an
-; exception with code 'excode' is signalled.  The exception call is set
+; exception with code 'excode' is signaled.  The exception call is set
 ; up to return to the first instruction of the emitted code.
 ;
 ; If RS1 is not RESULT then it is moved to RESULT before the exception 
-; is signalled.
+; is signaled.
 ;
 ; If RS2/IMM is not #f, then it is a register or immediate that is moved
-; to ARGREG2 before the exception is signalled; it is an immediate iff 
+; to ARGREG2 before the exception is signaled; it is an immediate iff
 ; imm? = #t.  
 ;
 ; RS1 must be a hardware register.
diff --git a/gc-benchmarks/larceny/twobit-smaller.sch b/gc-benchmarks/larceny/twobit-smaller.sch
index 1e359a506..0b6c907bc 100644
--- a/gc-benchmarks/larceny/twobit-smaller.sch
+++ b/gc-benchmarks/larceny/twobit-smaller.sch
@@ -272,7 +272,7 @@
 (define (with-optimization level thunk) 
   (thunk))
 
-; Calls thunk1, and if thunk1 causes an error to be signalled, calls thunk2.
+; Calls thunk1, and if thunk1 causes an error to be signaled, calls thunk2.
 
 (define (call-with-error-control thunk1 thunk2) 
   (let ((eh (error-handler)))
diff --git a/gc-benchmarks/larceny/twobit.sch b/gc-benchmarks/larceny/twobit.sch
index b52f108bd..1cb7834d2 100644
--- a/gc-benchmarks/larceny/twobit.sch
+++ b/gc-benchmarks/larceny/twobit.sch
@@ -272,7 +272,7 @@
 (define (with-optimization level thunk) 
   (thunk))
 
-; Calls thunk1, and if thunk1 causes an error to be signalled, calls thunk2.
+; Calls thunk1, and if thunk1 causes an error to be signaled, calls thunk2.
 
 (define (call-with-error-control thunk1 thunk2) 
   (let ((eh (error-handler)))
@@ -21993,14 +21993,14 @@
 ;
 ; RS1 has an object.  If the tag of RS1 is not 'tag1', or if the tag is 
 ; 'tag1' but the header byte of the object header is not 'tag2', then an
-; exception with code 'excode' is signalled.  The exception call is set
+; exception with code 'excode' is signaled.  The exception call is set
 ; up to return to the first instruction of the emitted code.
 ;
 ; If RS1 is not RESULT then it is moved to RESULT before the exception 
-; is signalled.
+; is signaled.
 ;
 ; If RS2/IMM is not #f, then it is a register or immediate that is moved
-; to ARGREG2 before the exception is signalled; it is an immediate iff 
+; to ARGREG2 before the exception is signaled; it is an immediate iff
 ; imm? = #t.  
 ;
 ; RS1 must be a hardware register.
diff --git a/libguile/expand.c b/libguile/expand.c
index 6ba65ffa2..a308b9518 100644
--- a/libguile/expand.c
+++ b/libguile/expand.c
@@ -757,7 +757,7 @@ expand_lambda_star_case (SCM clause, SCM alternate, SCM env)
      Also note that the specific environment during expansion of init
      expressions here needs to coincide with the environment when psyntax
      expands. A lot of effort for something that is only used in the bootstrap
-     expandr, you say? Yes. Yes it is.
+     expander, you say? Yes. Yes it is.
   */
 
   vars = SCM_EOL;
@@ -928,7 +928,7 @@ check_bindings (const SCM bindings, const SCM expr)
 
 /* The bindings, which must have the format ((v1 i1) (v2 i2) ... (vn in)), are
  * transformed to the lists (vn .. v2 v1) and (i1 i2 ... in). If a duplicate
- * variable name is detected, an error is signalled. */
+ * variable name is detected, an error is signaled. */
 static void
 transform_bindings (const SCM bindings, const SCM expr,
                     SCM *const names, SCM *const vars, SCM *const initptr)
diff --git a/libguile/load.c b/libguile/load.c
index bc254260e..34e7934b9 100644
--- a/libguile/load.c
+++ b/libguile/load.c
@@ -1163,7 +1163,7 @@ SCM_DEFINE (scm_primitive_load_path, "primitive-load-path", 0, 0, 1,
             "depending on the optional second argument,\n"
             "@var{exception_on_not_found}.  If it is @code{#f}, @code{#f}\n"
             "will be returned.  If it is a procedure, it will be called\n"
-            "with no arguments.  Otherwise an error is signalled.")
+            "with no arguments.  Otherwise an error is signaled.")
 #define FUNC_NAME s_scm_primitive_load_path
 {
   SCM filename, exception_on_not_found;
diff --git a/libguile/net_db.c b/libguile/net_db.c
index 81e701668..217158b19 100644
--- a/libguile/net_db.c
+++ b/libguile/net_db.c
@@ -330,7 +330,7 @@ SCM_DEFINE (scm_getserv, "getserv", 0, 2, 0,
 	    "Look up a network service by name or by service number, and return a\n"
 	    "network service object.  The @var{protocol} argument specifies the name\n"
 	    "of the desired protocol; if the protocol found in the network service\n"
-	    "database does not match this name, a system error is signalled.\n\n"
+	    "database does not match this name, a system error is signaled.\n\n"
 	    "The @code{getserv} procedure will take either a service name or number\n"
 	    "as its first argument; if given no arguments, it behaves like\n"
 	    "@code{getservent} (see below).")
diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c
index 975d2bd18..ba757f622 100644
--- a/libguile/scmsigs.c
+++ b/libguile/scmsigs.c
@@ -285,7 +285,7 @@ SCM_DEFINE (scm_sigaction_for_thread, "sigaction", 1, 3, 0,
 	    "of variables such as @code{SIGINT}.\n\n"
 	    "If @var{handler} is omitted, @code{sigaction} returns a pair: the\n"
 	    "CAR is the current\n"
-	    "signal hander, which will be either an integer with the value @code{SIG_DFL}\n"
+	    "signal handler, which will be either an integer with the value @code{SIG_DFL}\n"
 	    "(default action) or @code{SIG_IGN} (ignore), or the Scheme procedure which\n"
 	    "handles the signal, or @code{#f} if a non-Scheme procedure handles the\n"
 	    "signal.  The CDR contains the current @code{sigaction} flags for the handler.\n\n"
diff --git a/libguile/srfi-14.c b/libguile/srfi-14.c
index 9ae5f2497..c9846050e 100644
--- a/libguile/srfi-14.c
+++ b/libguile/srfi-14.c
@@ -1393,7 +1393,7 @@ SCM_DEFINE (scm_ucs_range_to_char_set, "ucs-range->char-set", 2, 2, 0,
 	    "character codes lie in the half-open range\n"
 	    "[@var{lower},@var{upper}).\n"
 	    "\n"
-	    "If @var{error} is a true value, an error is signalled if the\n"
+	    "If @var{error} is a true value, an error is signaled if the\n"
 	    "specified range contains characters which are not valid\n"
 	    "Unicode code points.  If @var{error} is @code{#f},\n"
 	    "these characters are silently left out of the resulting\n"
@@ -1415,7 +1415,7 @@ SCM_DEFINE (scm_ucs_range_to_char_set_x, "ucs-range->char-set!", 4, 0, 0,
 	    "character codes lie in the half-open range\n"
 	    "[@var{lower},@var{upper}).\n"
 	    "\n"
-	    "If @var{error} is a true value, an error is signalled if the\n"
+	    "If @var{error} is a true value, an error is signaled if the\n"
 	    "specified range contains characters which are not contained in\n"
 	    "the implemented character range.  If @var{error} is @code{#f},\n"
 	    "these characters are silently left out of the resulting\n"
diff --git a/libguile/threads.c b/libguile/threads.c
index b1c71fee5..ca6403cb2 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -1170,7 +1170,7 @@ SCM_DEFINE (scm_unlock_mutex, "unlock-mutex", 1, 0, 0, (SCM mutex),
             "Unlocks @var{mutex}.  The calling thread must already hold\n"
             "the lock on @var{mutex}, unless the mutex was created with\n"
             "the @code{allow-external-unlock} option; otherwise an error\n"
-            "will be signalled.")
+            "will be signaled.")
 #define FUNC_NAME s_scm_unlock_mutex
 {
   struct scm_mutex *m;
@@ -1392,14 +1392,14 @@ timed_wait (enum scm_mutex_kind kind, struct scm_mutex *m, struct scm_cond *c,
 
 SCM_DEFINE (scm_timed_wait_condition_variable, "wait-condition-variable", 2, 1, 0,
 	    (SCM cond, SCM mutex, SCM timeout),
-"Wait until condition variable @var{cv} has been signalled.  While waiting, "
+"Wait until condition variable @var{cv} has been signaled.  While waiting, "
 "mutex @var{mx} is atomically unlocked (as with @code{unlock-mutex}) and "
 "is locked again when this function returns.  When @var{t} is given, "
 "it specifies a point in time where the waiting should be aborted.  It "
 "can be either a integer as returned by @code{current-time} or a pair "
 "as returned by @code{gettimeofday}.  When the waiting is aborted the "
 "mutex is locked and @code{#f} is returned.  When the condition "
-"variable is in fact signalled, the mutex is also locked and @code{#t} "
+"variable is in fact signaled, the mutex is also locked and @code{#t} "
 "is returned. ")
 #define FUNC_NAME s_scm_timed_wait_condition_variable
 {
diff --git a/meta/guile.m4 b/meta/guile.m4
index 48642f027..12f465bb0 100644
--- a/meta/guile.m4
+++ b/meta/guile.m4
@@ -49,7 +49,7 @@
 # By default, this macro will search for the latest stable version of
 # Guile (e.g. 3.0), falling back to the previous stable version
 # (e.g. 2.2) if it is available.  If no guile-@var{VERSION}.pc file is
-# found, an error is signalled.  The found version is stored in
+# found, an error is signaled.  The found version is stored in
 # @var{GUILE_EFFECTIVE_VERSION}.
 #
 # If @code{GUILE_PROGS} was already invoked, this macro ensures that the
diff --git a/module/ice-9/match.upstream.scm b/module/ice-9/match.upstream.scm
index ff5e535db..babade1fd 100644
--- a/module/ice-9/match.upstream.scm
+++ b/module/ice-9/match.upstream.scm
@@ -28,7 +28,7 @@
 
 ;;> @example{(let ((ls (list 1 2 3))) (match ls ((1 2 3) #t)))}
 
-;;> If no patterns match an error is signalled.
+;;> If no patterns match an error is signaled.
 
 ;;> Identifiers will match anything, and make the corresponding
 ;;> binding available in the body.
@@ -261,7 +261,7 @@
 ;;> of the entire @scheme{match}.  If a @var{failure} is provided,
 ;;> then it is bound to a procedure of no arguments which continues,
 ;;> processing at the next @var{pattern}.  If no @var{pattern} matches,
-;;> an error is signalled.
+;;> an error is signaled.
 
 ;; The basic interface.  MATCH just performs some basic syntax
 ;; validation, binds the match expression to a temporary variable `v',
diff --git a/module/ice-9/ports.scm b/module/ice-9/ports.scm
index b219feeae..bb05769a3 100644
--- a/module/ice-9/ports.scm
+++ b/module/ice-9/ports.scm
@@ -409,7 +409,7 @@ interpret its input and output."
           file #:key (binary #f) (encoding #f) (guess-encoding #f))
   "Takes a string naming an existing file and returns an input port
 capable of delivering characters from the file.  If the file
-cannot be opened, an error is signalled."
+cannot be opened, an error is signaled."
   (open-file file (if binary "rb" "r")
              #:encoding encoding
              #:guess-encoding guess-encoding))
@@ -417,7 +417,7 @@ cannot be opened, an error is signalled."
 (define* (open-output-file file #:key (binary #f) (encoding #f))
   "Takes a string naming an output file to be created and returns an
 output port capable of writing characters to a new file by that
-name.  If the file cannot be opened, an error is signalled.  If a
+name.  If the file cannot be opened, an error is signaled.  If a
 file with the given name already exists, the effect is unspecified."
   (open-file file (if binary "wb" "w")
              #:encoding encoding))
@@ -442,7 +442,7 @@ string naming a file.  The file must
 already exist. These procedures call PROC
 with one argument: the port obtained by opening the named file for
 input or output.  If the file cannot be opened, an error is
-signalled.  If the procedure returns, then the port is closed
+signaled.  If the procedure returns, then the port is closed
 automatically and the values yielded by the procedure are returned.
 If the procedure does not return, then the port will not be closed
 automatically unless it is possible to prove that the port will
@@ -459,7 +459,7 @@ string naming a file.  The behaviour is unspecified if the file
 already exists. These procedures call PROC
 with one argument: the port obtained by opening the named file for
 input or output.  If the file cannot be opened, an error is
-signalled.  If the procedure returns, then the port is closed
+signaled.  If the procedure returns, then the port is closed
 automatically and the values yielded by the procedure are returned.
 If the procedure does not return, then the port will not be closed
 automatically unless it is possible to prove that the port will
diff --git a/module/language/cps/graphs.scm b/module/language/cps/graphs.scm
index abdca76c9..a518afc55 100644
--- a/module/language/cps/graphs.scm
+++ b/module/language/cps/graphs.scm
@@ -86,14 +86,14 @@ member, or @code{#f} otherwise."
 (define (invert-bijection map)
   "Assuming the values of @var{map} are integers and are unique, compute
 a map in which each value maps to its key.  If the values are not
-unique, an error will be signalled."
+unique, an error will be signaled."
   (persistent-intmap
    (intmap-fold (lambda (k v out) (intmap-add! out v k)) map empty-intmap)))
 
 (define (invert-partition map)
   "Assuming the values of @var{map} are disjoint intsets, compute a map
 in which each member of each set maps to its key.  If the values are not
-disjoint, an error will be signalled."
+disjoint, an error will be signaled."
   (intmap-fold (lambda (k v* out)
                  (intset-fold (lambda (v out) (intmap-add out v k)) v* out))
                map empty-intmap))
diff --git a/module/scripts/doc-snarf.scm b/module/scripts/doc-snarf.scm
index fa3dfb312..ac1c0af28 100644
--- a/module/scripts/doc-snarf.scm
+++ b/module/scripts/doc-snarf.scm
@@ -24,8 +24,8 @@
 ;; Usage: doc-snarf FILE
 ;;
 ;; This program reads in a Scheme source file and extracts docstrings
-;; in the format specified below.  Additionally, a procedure protoype
-;; is infered from the procedure definition line starting with
+;; in the format specified below.  Additionally, a procedure prototype
+;; is inferred from the procedure definition line starting with
 ;; (define... ).
 ;;
 ;; Currently, two output modi are implemented: texinfo and plaintext.
@@ -33,9 +33,9 @@
 ;; `--texinfo, -t' command line option.
 ;;
 ;; Format: A docstring can span multiple lines and a docstring line
-;; begins with `;; ' (two semicoli and a space). A docstring is ended
+;; begins with `;; ' (two semicolons and a space). A docstring is ended
 ;; by either a line beginning with (define ...) or one or more lines
-;; beginning with `;;-' (two semicoli and a dash). These lines are
+;; beginning with `;;-' (two semicolons and a dash). These lines are
 ;; called `options' and begin with a keyword, followed by a colon and
 ;; a string.
 ;;
@@ -219,7 +219,7 @@ return the standard internal docstring if found.  Return #f if not."
 ;; to be written in language @var{lang}.
 ;;-Author: Martin Grabmueller <[email-masked]>
 ;;-Created: 2001-02-17
-;;-ttn-mod: regluarize lang parm lookup, add "std int doc" snarfing (2 places)
+;;-ttn-mod: regularize lang parm lookup, add "std int doc" snarfing (2 places)
 (define (snarf input-file lang)
   (let* ((i-p (open-input-file input-file))
          (parm-regexp (lambda (parm) (make-regexp (lang-parm lang parm))))
diff --git a/module/srfi/srfi-19.scm b/module/srfi/srfi-19.scm
index 948a34eef..570f933ca 100644
--- a/module/srfi/srfi-19.scm
+++ b/module/srfi/srfi-19.scm
@@ -320,7 +320,7 @@
 ;;       (* (remainder current-ms 1000) 10000))))
 
 ;; -- we define it to be the same as TAI.
-;;    A different implemention of current-time-monotonic
+;;    A different implementation of current-time-monotonic
 ;;    will require rewriting all of the time-monotonic converters,
 ;;    of course.
 
diff --git a/module/system/repl/command.scm b/module/system/repl/command.scm
index 74187270a..e5a4d672b 100644
--- a/module/system/repl/command.scm
+++ b/module/system/repl/command.scm
@@ -166,7 +166,7 @@
 (define (meta-command repl)
   (let ((command (read-command repl)))
     (cond
-     ((eq? command *unspecified*)) ; read error, already signalled; pass.
+     ((eq? command *unspecified*)) ; read error, already signaled; pass.
      ((not (symbol? command))
       (format #t "Meta-command not a symbol: ~s~%" command))
      ((lookup-command command)
diff --git a/test-suite/tests/srfi-18.test b/test-suite/tests/srfi-18.test
index 2026912cf..f46543d98 100644
--- a/test-suite/tests/srfi-18.test
+++ b/test-suite/tests/srfi-18.test
@@ -324,7 +324,7 @@
                                 (mutex-unlock! m2)))))
           (thread-start! t)
           (mutex-unlock! m1 c)
-          ;; At this point the thread signalled that it has both m1 and
+          ;; At this point the thread signaled that it has both m1 and
           ;; m2, and it will go to try to lock m2 again.  We wait for it
           ;; to block trying to acquire m2 by sleeping a little bit and
           ;; then unblock it by unlocking m2 from here.
@@ -333,7 +333,7 @@
           (thread-join! t)
           (eq? (mutex-state m2) 'not-abandoned))))
 
-    (pass-if "mutex unlock is true when condition is signalled"
+    (pass-if "mutex unlock is true when condition is signaled"
       (let* ((m (make-mutex 'mutex-unlock-3))
              (c (make-condition-variable 'mutex-unlock-3))
              (t (make-thread (lambda () 
-- 
2.40.1