~ chicken-core (chicken-5) cf76721066420a29bf1d79de99c86caf15efe3ca


commit cf76721066420a29bf1d79de99c86caf15efe3ca
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Wed Apr 26 17:20:55 2017 +1200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Wed Apr 26 18:03:17 2017 +1200

    Man page cleanup
    
    - Remove references to CHICKEN_INSTALL_PREFIX.
    - Move all "help" and "-version" flags to the top.
    - Wrap long lines.
    - Document some missing options for the new egg tools.
    - Bump modification dates.
    - Standardise option descriptions to use sentence case with full stops.
    - A handful of other small macro syntax and typo fixes.

diff --git a/chicken-bug.mdoc b/chicken-bug.mdoc
index 0d6d5ab1..7cd670bf 100644
--- a/chicken-bug.mdoc
+++ b/chicken-bug.mdoc
@@ -24,15 +24,16 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt CHICKEN-BUG 1
 .Os
 .Sh NAME
 .Nm chicken-bug
-.Nd generate bug report from user input.
+.Nd generate bug report from user input
 .Sh SYNOPSIS
 .Nm
-.Op Ar FILENAME \(ba OPTION ...
+.Op Ar OPTION ...
+.Op Ar FILENAME
 .Sh DESCRIPTION
 .Nm
 generates a bug report file that collects user-input, optional
@@ -62,11 +63,11 @@ the CHICKEN developers to help you.
 The program accepts following arguments:
 .Bl -tag -width Ds
 .It Fl h Ns , Fl help
-show usage and exit
+Show usage and exit.
 .It Fl to-stdout
-write bug report to standard output
+Write bug report to standard output.
 .It Fl
-read description from standard input
+Read description from standard input.
 .El
 .Sh EXIT STATUS
 .Ex -std
diff --git a/chicken-do.mdoc b/chicken-do.mdoc
index 423abf4d..9311c4ff 100644
--- a/chicken-do.mdoc
+++ b/chicken-do.mdoc
@@ -24,40 +24,44 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt CHICKEN-DO 1
 .Os
 .Sh NAME
 .Nm chicken-do
-.Nd Run a shell command, depending on whether the target exists and any dependency is not newer than the target.
+.Nd run a shell command unless the target exists and any dependency is
+not newer than the target
 .Sh SYNOPSIS
 .Nm
-.Op Ar [-q] [-h] TARGET COMMAND ... : DEPENDENCY ...
-.Op Ar ...
+.Op Fl q
+.Op Fl h
+.Ar TARGET
+.Ar COMMAND ...
+.Cm :
+.Ar DEPENDENCY ...
 .Sh DESCRIPTION
-.Nm
 If the file
 .Em TARGET
 does not exist, or if any of the files in
 .Em DEPENDENCY ...
 are newer than
-.Em TARGET
+.Em TARGET ,
 then execute the shell commands in
-.Em COMMAND ...
+.Em COMMAND ... .
 .Pp
 The program accepts following arguments:
 .Bl -tag -width Ds
 .It Fl h
-show usage and exit
+Show usage and exit.
 .It Fl q
-Quiet operation - do not print the shell command when it is executed.
+Quiet operation - do not print shell commands when they are executed.
 .El
 .Sh EXIT STATUS
 .Ex -std
 .Sh EXAMPLES
-Build C program from sources:
+Build a C program from sources:
 .Pp
-.Dl $ chicken-do prg gcc prg.c -o prg : prg.c inc.h
+.Dl $ chicken-do prg gcc prg.c -o prg \& : prg.c inc.h
 .Sh SEE ALSO
 .Xr chicken 1 ,
 .Xr chicken-bug 1 ,
@@ -73,6 +77,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/chicken-install.mdoc b/chicken-install.mdoc
index c027f9f1..cd9e48c0 100644
--- a/chicken-install.mdoc
+++ b/chicken-install.mdoc
@@ -24,16 +24,16 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt CHICKEN-INSTALL 1
 .Os
 .Sh NAME
 .Nm chicken-install
-.Nd download and install extension libraries for CHICKEN Scheme.
+.Nd download and install extension libraries for CHICKEN Scheme
 .Sh SYNOPSIS
 .Nm
-.Op Ar OPTION | EXTENSION[:VERSION]
-.Op Ar ...
+.Op Ar OPTION ...
+.Op Ar NAME[:VERSION] ...
 .Sh DESCRIPTION
 .Nm
 downloads, compiles and installs a prepackaged extension library from sources.
@@ -43,67 +43,73 @@ descriptions in the current directory will be executed in unspecified order.
 .Pp
 The program accepts following arguments:
 .Bl -tag -width Ds
-.It Fl h Ns , Fl help
-show usage and exit
+.It Fl h , Fl help
+Show usage and exit.
 .It Fl version
-show version and exit
+Show version and exit.
+.It Fl v , Fl verbose
+Print extra information during installation.
 .It Fl force
-don't ask, install even if versions don't match
-.It Fl k Ns , Fl keep
-keep temporary files
-.It Fl s Ns , Fl sudo
-use external program to elevate privileges for filesystem operations.
+Install without confirmation, even if versions don't match.
+.It Fl k , Fl keep
+Keep temporary files.
+.It Fl s , Fl sudo
+Use an external program to elevate privileges for filesystem operations.
 The program defaults to
 .Xr sudo 8
-but can be overwritten with
+but can be overridden with the
 .Ev SUDO
 environment variable.
-.It Fl r Ns , Fl retrieve
-only retrieve egg into current directory, don't install
-(giving -r more than once implies -recursive)
-.It Fl n Ns , Fl dry-run
-do not build or install, just print the locations of the generated
-build + install scripts.
+.It Fl r , Fl retrieve
+Just retrieve the egg, don't install it
+.No (giving Fl r No more than once implies Fl recursive Ns ).
+.It Fl recursive
+.No If Fl retrieve No is given, also fetch dependencies recursively.
+.It Fl dry-run
+Do not build or install, just print the locations of the generated build
+& install scripts.
 .It Fl list-versions
-list available version for the given eggs.
+List available versions for the given eggs.
 .It Fl purge
-remove cached files for given eggs (or purge cache completely)
+Remove cached files for given eggs (or purge cache completely).
 .It Fl host
-when cross-compiling, compile extension only for host
+When cross-compiling, only compile extensions for host.
 .It Fl target
-when cross-compiling, compile extension only for target
+When cross-compiling, only compile extensions for target.
 .It Fl test
-run included test-cases, if available
+Run included test cases, if available.
+.It Fl n , Fl no-install
+Do not install the egg, just build it.
 .It Fl no-install-deps
 Do not retrieve or install dependencies.
-.It Fl u Ns , Fl update-db
-update export database
+.It Fl u , Fl update-db
+Update export database.
 .It Fl repository
-print path used for egg installation
+Print path used for egg installation.
 .It Fl override Ar filename
-override versions for installed eggs with information from
+Override versions for installed eggs with information from
 .Ar filename .
 .It Fl csi Ar filename
-use given
+Use given
 .Ar filename
 for invocations of
-.Dq csi
+.Dq csi .
 .El
 .Sh ENVIRONMENT
 Following environment variables change the behaviour of
-.Nm
-.Bl -tag -width
+.Nm Ns :
+.Bl -tag -width CHICKEN_INSTALL_REPOSITORY
 .It Ev CHICKEN_EGG_CACHE
 Location where eggs are retrieved and built.
-.It Ev CHICKEN_REPOSITORY_PATH
-The path where extension libraries are installed. Defaults to the package-library
-path selected during configuration
-.Pq usually $prefix/lib/chicken/<binary-version>
+.It Ev CHICKEN_INSTALL_REPOSITORY
+The path where extension libraries are installed. Defaults to the
+package library path selected during configuration
+.Pq usually $prefix/lib/chicken/<binary-version> .
 .It Ev SUDO
 The command to execute when using
 .Fl s
-flag in command. If not provided, defaults to the
-.Xr sudo 1 .
+flag in command. If not provided, defaults to
+.Xr sudo 8 .
 .El
 .Sh EXIT STATUS
 .Ex -std
@@ -137,6 +143,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/chicken-install.scm b/chicken-install.scm
index e976cbcb..4dbf9717 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -993,21 +993,21 @@
   
 (define (usage code)
   (print #<<EOF
-usage: chicken-install [OPTION | EXTENSION[:VERSION]] ...
+usage: chicken-install [OPTION ...] [NAME[:VERSION] ...]
 
   -h   -help                    show this message and exit
        -version                 show version and exit
        -force                   don't ask, install even if versions don't match
   -k   -keep                    keep temporary files
   -s   -sudo                    use external command to elevate privileges for filesystem operations
-       -no-install-deps         do not install dependencies
   -r   -retrieve                only retrieve egg into current directory, don't install (giving -r
                                 more than once implies `-recursive')
        -recursive               if `-retrieve' is given, retrieve also dependencies
        -dry-run                 do not build or install, just print the locations of the generated
-                                build + install scripts
+                                build & install scripts
        -list-versions           list available versions for given eggs (HTTP transport only)
   -n   -no-install              do not install, just build
+       -no-install-deps         do not install dependencies
        -purge                   remove cached files for given eggs (or purge cache completely)
        -host                    when cross-compiling, compile extension only for host
        -target                  when cross-compiling, compile extension only for target
diff --git a/chicken-profile.mdoc b/chicken-profile.mdoc
index 45137828..85172334 100644
--- a/chicken-profile.mdoc
+++ b/chicken-profile.mdoc
@@ -24,7 +24,7 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt CHICKEN-PROFILE 1
 .Os
 .Sh NAME
@@ -32,7 +32,8 @@
 .Nd generate a report from profile-information
 .Sh SYNOPSIS
 .Nm
-.Op Ar FILENAME \(ba OPTION ...
+.Op Ar OPTION ...
+.Op Ar FILENAME
 .Sh DESCRIPTION
 .Nm
 reads in profiling information generated by CHICKEN
@@ -48,15 +49,15 @@ the highest modification time, in case multiple profiles exist.
 .Pp
 The program accepts following arguments:
 .Bl -tag -width Ds
-.It Fl decimals Ar DDD
-set number of decimals for seconds, average and percent columns
-.Po three digits, default: 333 Pc
 .It Fl help
-Show usage information.
+Show usage and exit.
+.It Fl version
+Show version and exit.
+.It Fl decimals Ar DDD
+Set number of decimals for seconds, average and percent columns
+.Po three digits, default: 333 Pc .
 .It Fl no-unused
 Remove procedures that are never called.
-.It Fl release
-show release number and exit
 .It Fl sort-by-avg
 Sort output by average procedure execution time.
 .It Fl sort-by-calls
@@ -66,11 +67,9 @@ Sort output alpabetically by procedure name.
 .It Fl sort-by-time
 Sort output by procedure execution time.
 .It Fl top Ar N
-display only the top
+Display only the top
 .Ar N
-entries
-.It Fl version
-show version and exit
+entries.
 .El
 .Sh EXIT STATUS
 .Ex -std
@@ -86,6 +85,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/chicken-profile.scm b/chicken-profile.scm
index 4a6bbb8c..c85ac061 100644
--- a/chicken-profile.scm
+++ b/chicken-profile.scm
@@ -43,7 +43,7 @@
 
 (define (print-usage)
   (display #<#EOF
-Usage: chicken-profile [FILENAME | OPTION] ...
+Usage: chicken-profile [OPTION ...] [FILENAME ...]
 
  -sort-by-calls            sort output by call frequency
  -sort-by-time             sort output by procedure execution time
diff --git a/chicken-status.mdoc b/chicken-status.mdoc
index 509a80bb..99c1a7c3 100644
--- a/chicken-status.mdoc
+++ b/chicken-status.mdoc
@@ -24,65 +24,65 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 23, 2017
 .Dt CHICKEN-STATUS 1
 .Os
 .Sh NAME
 .Nm chicken-status
-.Nd list installed extension libraries
+.Nd list information about installed libraries
 .Sh SYNOPSIS
 .Nm
-.Op Ar OPTION \(ba NAME ...
+.Op OPTION ...
+.Ar NAME ...
 .Sh DESCRIPTION
 .Nm
-lists installed extensions for the CHICKEN Scheme system matching the
-.No names Ns Pq s
-.Ar 
-or all, if no pattern has been given.
+lists information about installed CHICKEN Scheme extension libraries.
+.Pp
+If
+.Ar NAME
+is given, information is limited to the specified extension(s).
+Otherwise, all extensions are shown.
 .Pp
 The program accepts following arguments:
 .Bl -tag -width Ds
-.It Fl e, Fl eggs
-list installed eggs
+.It Fl h , Fl help
+Show usage and exit.
+.It Fl version
+Show version and exit.
+.It Fl a , Fl all
+Scan all repositories in CHICKEN_REPOSITORY_PATH.
+.It Fl c , Fl components
+List installed components.
+.It Fl f , Fl files
+List installed files.
+.It Fl list
+Dump installed extensions and their versions in
 .It Fl match
-treat
+Treat
 .Ar NAME
-as a glob pattern Pc
-.It Fl f Ns , Fl files
-list installed files
-.It Fl h, Fl help
-show usage and exit
-.It Fl a, Fl all
-Scan all repositories in CHICKEN_REPOSITORY_PATH
+as a glob pattern.
 .It Fl host
-when cross-compiling, show status of host extensions only
-.It Fl list
-dump installed extensions and their versions in
-.Dq override
-format
+When cross-compiling, only show host extensions.
 .It Fl target
-when cross-compiling, show status of target extensions only
-.It Fl version
-show version and exit
+When cross-compiling, only show target extensions.
+.Dq override
+format.
 .El
 .Sh ENVIRONMENT
-Following environment variables change the behaviour of
-.Nm
-.Bl -tag -width CHICKEN_INSTALL_PREFIX
+The following environment variables change the behaviour of
+.Nm Ns :
+.Bl -tag -width CHICKEN_INSTALL_REPOSITORY
 .It Ev CHICKEN_PREFIX
 The installation prefix where CHICKEN Scheme and its support files and
-libraries are located. Defaults to the installation time prefix given
-when configuring the system.
-.It Ev CHICKEN_INSTALL_PREFIX
-An alternative installation prefix that will be prepended to extension
-installation paths if specified.
+libraries are located. Defaults to the prefix given when configuring the
+system.
+.It Ev CHICKEN_INSTALL_REPOSITORY
+The path where extension libraries are installed. Defaults to the
+package library path selected during configuration
+.Pq usually $prefix/lib/chicken/<binary-version> .
 .It Ev CHICKEN_REPOSITORY_PATH
-One or more directories holding extension libraries, defaults to the
+One or more directories holding extension libraries. Defaults to the
 installation repository.
-.It Ev CHICKEN_INSTALL_REPOSITORY
-The path where extension libraries are installed. Defaults to the package-library
-path selected during configuration
-.Pq usually $prefix/lib/chicken/<binary-version>
 .El
 .Sh EXIT STATUS
 .Ex -std
@@ -99,6 +99,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/chicken-status.scm b/chicken-status.scm
index dee8150e..75e5d467 100644
--- a/chicken-status.scm
+++ b/chicken-status.scm
@@ -183,17 +183,17 @@
 
   (define (usage code)
     (print #<<EOF
-usage: chicken-status [OPTION | NAME] ...
+usage: chicken-status [OPTION ...] [NAME ...]
 
   -h   -help                    show this message
        -version                 show version and exit
   -a   -all                     scan all repositories in CHICKEN_REPOSITORY_PATH
+  -c   -components              list installed components
   -f   -files                   list installed files
-       -match                   treat NAME as glob pattern
-       -host                    when cross-compiling, show status of host extensions only
-       -target                  when cross-compiling, show status of target extensions only
        -list                    dump installed extensions and their versions in "override" format
-  -c   -components              list installed components
+       -match                   treat NAME as glob pattern
+       -host                    when cross-compiling, only show host extensions
+       -target                  when cross-compiling, only show target extensions
 EOF
 );|
     (exit code))
diff --git a/chicken-uninstall.mdoc b/chicken-uninstall.mdoc
index 6a49a398..ae1edac8 100644
--- a/chicken-uninstall.mdoc
+++ b/chicken-uninstall.mdoc
@@ -24,7 +24,7 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt CHICKEN-UNINSTALL 1
 .Os
 .Sh NAME
@@ -32,7 +32,8 @@
 .Nd uninstall extension library
 .Sh SYNOPSIS
 .Nm
-.Op Ar OPTION \(ba NAME ...
+.Op Ar OPTION ...
+.Op Ar NAME ...
 .Sh DESCRIPTION
 .Nm
 removes one or more already installed extension
@@ -42,47 +43,44 @@ may be a regular expression naming multiple extensions or just an extension name
 .Pp
 The program accepts following arguments:
 .Bl -tag -width Ds
+.It Fl h , Fl help
+Show usage and exit.
+.It Fl version
+Show version and exit.
+.It Fl force
+Don't ask, just delete whatever matches.
 .It Fl match
-treat
+Treat
 .Ar NAME
-as a glob pattern Pc
-.It Fl force
-don't ask, delete whatever matches
-.It Fl h, Fl help
-show usage and exit
-.It Fl host
-when cross-compiling, uninstall host extensions only
-.It Fl s, Fl sudo
-use external program to elevate privileges for deleting files.
+as a glob pattern.
+.It Fl s , Fl sudo
+Use external program to elevate privileges for deleting files.
 The program defaults to
 .Xr sudo 8
-but can be overwritten with
+but can be overridden with
 .Ev SUDO
 environment variable.
+.It Fl host
+When cross-compiling, only uninstall host extensions.
 .It Fl target
-when cross-compiling, uninstall target extensions only
-.It Fl version
-show version and exit
+When cross-compiling, only uninstall target extensions.
 .El
 .Sh ENVIRONMENT
-Following environment variables change the behaviour of
-.Nm
-.Bl -tag -width CHICKEN_INSTALL_PREFIX
+The following environment variables change the behaviour of
+.Nm Ns :
+.Bl -tag -width CHICKEN_INSTALL_REPOSITORY
 .It Ev CHICKEN_PREFIX
 The installation prefix where CHICKEN Scheme and its support files and
 libraries are located. Defaults to the installation time prefix given
 when configuring the system.
-.It Ev CHICKEN_INSTALL_PREFIX
-An alternative installation prefix that will be prepended to extension
-installation paths if specified.
 .It Ev CHICKEN_INSTALL_REPOSITORY
-The path where extension libraries are installed. Defaults to the package-library
-path selected during configuration
-.Pq usually $prefix/lib/chicken/<binary-version>
+The path where extension libraries are installed. Defaults to the
+package library path selected during configuration
+.Pq usually $prefix/lib/chicken/<binary-version> .
 .It Ev SUDO
 The command to execute when using
 .Fl s
-flag in command. If not provided, defaults to the
+flag in command. If not provided, defaults to
 .Xr sudo 8 .
 .El
 .Sh EXIT STATUS
@@ -100,6 +98,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/chicken-uninstall.scm b/chicken-uninstall.scm
index b9525abd..d9c79250 100644
--- a/chicken-uninstall.scm
+++ b/chicken-uninstall.scm
@@ -134,7 +134,7 @@
 
 (define (usage code)
   (print #<<EOF
-usage: chicken-uninstall [OPTION | NAME] ...
+usage: chicken-uninstall [OPTION ...] [NAME ...]
 
   -h   -help                    show this message and exit
        -version                 show version and exit
diff --git a/chicken.mdoc b/chicken.mdoc
index a9adfd0a..fff7b904 100644
--- a/chicken.mdoc
+++ b/chicken.mdoc
@@ -24,7 +24,7 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt CHICKEN 1
 .Os
 .Sh NAME
@@ -32,7 +32,8 @@
 .Nd A Scheme-to-C translator
 .Sh SYNOPSIS
 .Nm
-.Op Ar FILENAME \(ba OPTION ...
+.Op Ar OPTION ...
+.Op Ar FILENAME ...
 .Sh DESCRIPTION
 .Nm
 is a compiler and interpreter for the programming language Scheme
@@ -54,197 +55,199 @@ may be one of the following:
 General options:
 .Bl -tag -width Ds
 .It Fl help
-display usage and exit
+Display usage and exit.
 .It Fl version
-display compiler version and exit
+Display compiler version and exit.
 .It Fl release
-print release number and exit
+Print release number and exit.
 .It Fl verbose
-display information on compilation progress
+Display information on compilation progress.
 .El
 .Pp
 File and pathname options:
 .Bl -tag -width Ds
 .It Fl output-file Ar FILENAME
-specifies output-filename, default is
+Specifies output-filename, default is
 .Dq out.c .
 .It Fl include-path Ar PATHNAME
-specifies alternative path for included files
+Specifies alternative path for included files.
 .It Fl to-stdout
-write compiled file to stdout instead of file
+Write compiled file to stdout instead of file.
 .El
 .Pp
 Language options:
 .Bl -tag -width Ds
 .It Fl feature Ar SYMBOL
-register feature identifier
-It Fl no-feature Ar SYMBOL
-disable built-in feature identifier
+Register feature identifier.
+.It Fl no-feature Ar SYMBOL
+Disable built-in feature identifier.
 .El
 .Pp
 Syntax related options:
 .Bl -tag -width Ds
 .It Fl case-insensitive
-don't preserve case of read symbols
+Don't preserve case of read symbols.
 .It Fl keyword-style Ar STYLE
-allow alternative keyword syntax
-.Po prefix, suffix or none Pc
+Allow alternative keyword syntax
+.Po prefix, suffix or none Pc .
 .It Fl no-parentheses-synonyms
-disables list delimiter synonyms
+Disables list delimiter synonyms.
 .It Fl no-symbol-escape
-disables support for escaped symbols
+Disables support for escaped symbols.
 .It Fl r5rs-syntax
-disables the CHICKEN extensions to R5RS syntax
+Disables the CHICKEN extensions to R5RS syntax.
 .It Fl compile-syntax
-macros are made available at run-time
+Macros are made available at run-time.
 .It Fl emit-import-library Ar MODULE
-write compile-time module information into separate file
+Write compile-time module information into separate file.
 .It Fl emit-all-import-libraries
-emit import-libraries for all defined modules
+Emit import-libraries for all defined modules.
 .It Fl no-module-registration
-do not generate module registration code
-It Fl no-compiler-syntax
-disable expansion of compiler-macros
+Do not generate module registration code.
+.It Fl no-compiler-syntax
+Disable expansion of compiler-macros.
 .It Fl module Ar NAME
-wrap compiled code in module of the given name
+Wrap compiled code in module of the given name.
 .El
 .Pp
 Translation options:
 .Bl -tag -width Ds
 .It Fl explicit-use
-do not use units
+Do not use units
 .Sq library
 and
 .Sq eval
-by default
+by default.
 .It Fl static
-Link extensions statically
+Link extensions statically.
 .It Fl check-syntax
-stop compilation after macro-expansion
+Stop compilation after macro-expansion.
 .It Fl analyze-only
-stop compilation after first analysis pass
+Stop compilation after first analysis pass.
 .El
 .Pp
 Debugging options:
 .Bl -tag -width Ds
 .It Fl no-warnings
-disable warnings
+Disable warnings.
 .It Fl debug-level Ar NUMBER
-set level of available debugging information
+Set level of available debugging information.
 .It Fl no-trace
-disable tracing information
+Disable tracing information.
 .It Fl profile
-executable emits profiling information
+Executable emits profiling information.
 .It Fl profile-name Ar FILENAME
-name of the generated profile information file
+Name of the generated profile information file.
 .It Fl accumulate-profile
-executable emits profiling information in append mode
+Executable emits profiling information in append mode.
 .It Fl no-lambda-info
-omit additional procedure-information
+Omit additional procedure-information.
 .It Fl types Ar FILENAME
-load additional type database
+Load additional type database.
 .It Fl emit-type-file Ar FILENAME
-write type-declaration information into file
+Write type-declaration information into file.
 .El
 .Pp
 Optimization options:
 .Bl -tag -width Ds
 .It Fl optimize-level Ar NUMBER
-enable certain sets of optimization options
+Enable certain sets of optimization options.
 .It Fl optimize-leaf-routines
-enable leaf routine optimization
+Enable leaf routine optimization.
 .It Fl no-usual-integrations
-standard procedures may be redefined
+Standard procedures may be redefined.
 .It Fl unsafe
-disable all safety checks
+Disable all safety checks.
 .It Fl local
-assume globals are only modified in current file
+Assume globals are only modified in current file.
 .It Fl block
-enable block-compilation
+Enable block-compilation.
 .It Fl disable-interrupts
-disable interrupts in compiled code
+Disable interrupts in compiled code.
 .It Fl fixnum-arithmetic
-assume all numbers are fixnums
+Assume all numbers are fixnums.
 .It Fl disable-stack-overflow-checks
-disables detection of stack-overflows
+Disables detection of stack-overflows.
 .It Fl inline
-enable inlining
+Enable inlining.
 .It Fl inline-limit Ar LIMIT
-set inlining threshold
+Set inlining threshold.
 .It Fl inline-global
-enable cross-module inlining
+Enable cross-module inlining.
 .It Fl specialize
-perform type-based specialization of primitive calls
+Perform type-based specialization of primitive calls.
 .It Fl emit-inline-file Ar FILENAME
- generate file with globally inlinable procedures
-.Po implies Fl inline Fl local Pc
+Generate file with globally inlinable procedures
+.Po implies Fl inline Fl local Pc .
 .It Fl consult-inline-file Ar FILENAME
-explicitly load inline file
+Explicitly load inline file.
 .It Fl no-argc-checks
-disable argument count checks
+Disable argument count checks.
 .It Fl no-bound-checks
-disable bound variable checks
+Disable bound variable checks.
 .It Fl no-procedure-checks
-disable procedure call checks
+Disable procedure call checks.
 .It Fl no-procedure-checks-for-usual-bindings
-disable procedure call checks only for usual bindings
+Disable procedure call checks only for usual bindings.
 .It Fl no-procedure-checks-for-toplevel-bindings
-disable procedure call checks for toplevel bindings
+Disable procedure call checks for toplevel bindings.
 .It Fl strict-types
-assume variable do not change their type
+Assume variable do not change their type.
 .It Fl clustering
-combine groups of local procedures into dispatch loop
+Combine groups of local procedures into dispatch loop.
 .It Fl lfa2
-perform additional lightweight flow-analysis pass
+Perform additional lightweight flow-analysis pass.
 .El
 .Pp
 Configuration options:
 .Bl -tag -width Ds
 .It Fl unit Ar NAME
-compile file as a library unit
+Compile file as a library unit.
 .It Fl uses Ar NAME
-declare library unit as used.
+Declare library unit as used.
 .It Fl heap-size Ar NUMBER
-specifies heap-size of compiled executable
+Specifies heap-size of compiled executable.
 .It Fl nursery Ar NUMBER Fl stack-size Ar NUMBER
-specifies nursery size of compiled executable
+Specifies nursery size of compiled executable.
 .It Fl extend Ar FILENAME
-load file before compilation commences
+Load file before compilation commences.
 .It Fl prelude Ar EXPRESSION
-add expression to front of source file
+Add expression to front of source file.
 .It Fl postlude Ar EXPRESSION
-add expression to end of source file
+Add expression to end of source file.
 .It Fl prologue Ar FILENAME
-include file before main source file
+Include file before main source file.
 .It Fl epilogue Ar FILENAME
-include file after main source file
+Include file after main source file.
 .It Fl dynamic
-compile as dynamically loadable code
+Compile as dynamically loadable code.
 .It Fl require-extension Ar NAME
-require and import extension NAME
-.It Fl emit-link-file Ar FILENAME 
-write a list of statically linked extensions to {{FILENAME}}, 
-used for identifying the static objects that need to be 
-linked to an executable
+Require and import extension
+.Ar NAME .
+.It Fl emit-link-file Ar FILENAME
+Write a list of statically linked extensions to
+.Ar FILENAME ,
+used for identifying the static objects that need to be linked to an
+executable.
 .El
 .Pp
 Obscure options:
 .Bl -tag -width Ds
 .It Fl debug Ar MODES
-display debugging output for the given modes
+Display debugging output for the given modes.
 .It Fl raw
-do not generate implicit init- and exit code
+Do not generate implicit init- and exit code.
 .It Fl emit-external-prototypes-first
-emit prototypes for callbacks before foreign declarations
+Emit prototypes for callbacks before foreign declarations.
 .It Fl ignore-repository
-do not refer to repository for extensions
+Do not refer to repository for extensions.
 .It Fl setup-mode
-prefer the current directory when locating extensions
+Prefer the current directory when locating extensions.
 .El
 .Sh ENVIRONMENT
-Following environment variables change the behaviour of
-.Nm
-.Bl -tag -width CHICKEN_INSTALL_PREFIX
+The following environment variables change the behaviour of
+.Nm Ns :
+.Bl -tag -width CHICKEN_INCLUDE_PATH
 .It Ev CHICKEN_PREFIX
 Is used as a prefix directory for support files, include-files and libraries.
 .It Ev CHICKEN_INCLUDE_PATH
@@ -269,6 +272,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/csc.mdoc b/csc.mdoc
index c668f818..4a052e1e 100644
--- a/csc.mdoc
+++ b/csc.mdoc
@@ -24,7 +24,7 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt CSC 1
 .Os
 .Sh NAME
@@ -32,7 +32,8 @@
 .Nd driver program for the CHICKEN Scheme compiler
 .Sh SYNOPSIS
 .Nm
-.Op Ar FILENAME \(ba OPTION ...
+.Op Ar OPTION ...
+.Op Ar FILENAME ...
 .Sh DESCRIPTION
 .Nm
 is a program that invokes the CHICKEN compiler and the host systems C compiler to generate
@@ -46,268 +47,268 @@ may be one of the following:
 .Pp
 General options:
 .Bl -tag -width Ds
-.It Fl h, Fl help
-display usage text and exit
-.It Fl v, Fl verbose
-show compiler notes and tool-invocations
+.It Fl h , Fl help
+Display usage text and exit.
+.It Fl v , Fl verbose
+Show compiler notes and tool-invocations.
 .It Fl vv
-display information about translation progress
+Display information about translation progress.
 .It Fl vvv
-display information about all compilation stages
+Display information about all compilation stages.
 .It Fl version
-display Scheme compiler version and exit
+Display Scheme compiler version and exit.
 .It Fl release
-display release number and exit
+Display release number and exit.
 .El
 .Pp
 File and pathname options:
 .Bl -tag -width Ds
-.It Fl o Ar FILENAME, Fl output-file Ar FILENAME
-specifies target executable name
-.It Fl I Ar PATHNAME, Fl include-path Ar PATHNAME
-specifies alternative path for included files
+.It Fl o Ar FILENAME , Fl output-file Ar FILENAME
+Specifies target executable name.
+.It Fl I Ar PATHNAME , Fl include-path Ar PATHNAME
+Specifies alternative path for included files.
 .It Fl to-stdout
-write compiler to stdout
-.Po implies -t Pc
-.It Fl s, Fl shared, Fl dynamic
-generate dynamically loadable shared object file
+Write compiler to stdout
+.Po implies -t Pc .
+.It Fl s , Fl shared , Fl dynamic
+Generate dynamically loadable shared object file.
 .El
 .Pp
 Language options:
 .Bl -tag -width Ds
-.It Fl D, Fl D Ar SYMBOL, Fl feature Ar SYMBOL
-register feature identifier
+.It Fl D , Fl D Ar SYMBOL , Fl feature Ar SYMBOL
+Register feature identifier.
 .It Fl no-feature Ar SYMBOL
-disable builtin feature identifier
+Disable builtin feature identifier.
 .It Fl c++
-compile via a C++ source file
-.Pq .cpp
+Compile via a C++ source file
+.Pq .cpp .
 .It Fl objc
-compile via Objective-C source file
-.Pq \&.m
+Compile via Objective-C source file
+.Pq \&.m .
 .El
 .Pp
 Syntax related options:
 .Bl -tag -width Ds
-.It Fl i, Fl case-insensitive
-don't preserve case of read symbols
-.It Fl K, Fl keyword-style Ar STYLE
-enable alternative keyword-syntax
-.Po prefix, suffix or none Pc
+.It Fl i , Fl case-insensitive
+Don't preserve case of read symbols.
+.It Fl K , Fl keyword-style Ar STYLE
+Enable alternative keyword-syntax
+.Po prefix, suffix or none Pc .
 .It Fl no-parentheses-synonyms
-disables list delimiter synonyms
+Disables list delimiter synonyms.
 .It Fl no-symbol-escape
-disables support for escaped symbols
+Disables support for escaped symbols.
 .It Fl r5rs-syntax
-disables the CHICKEN extensions to R5RS syntax
+Disables the CHICKEN extensions to R5RS syntax.
 .It Fl compile-syntax
-macros are made available at run-time
-.It Fl j Ar MODULE, Fl emit-import-library Ar MODULE
-write compile-time module information into separate file
-.It Fl J, Fl emit-all-import-libraries
-emit import-libraries for all defined modules
+Macros are made available at run-time.
+.It Fl j Ar MODULE , Fl emit-import-library Ar MODULE
+Write compile-time module information into separate file.
+.It Fl J , Fl emit-all-import-libraries
+Emit import-libraries for all defined modules.
 .It Fl no-module-registration
-do not generate module registration code
+Do not generate module registration code.
 .It Fl no-compiler-syntax
-disable expansion of compiler-macros
+Disable expansion of compiler-macros.
 .It Fl m Ar NAME , Fl module Ar NAME
-wrap compiled code in module of the given name
+Wrap compiled code in module of the given name.
 .El
 .Pp
 Translation options:
 .Bl -tag -width Ds
-.It Fl x, Fl explicit-use
-do not use units
+.It Fl x , Fl explicit-use
+Do not use units
 .Sq library
 and
 .Sq eval
-by default
-.It Fl P, Fl check-syntax
-stop compilation after macro-expansion
-.It Fl A, Fl analyze-only
-stop compilation after first analysis pass
+by default.
+.It Fl P , Fl check-syntax
+Stop compilation after macro-expansion.
+.It Fl A , Fl analyze-only
+Stop compilation after first analysis pass.
 .El
 .Pp
 Debugging options:
 .Bl -tag -width Ds
-.It Fl w, Fl no-warnings
-disable warnings
-.It Fl d0, Fl d1, Fl d2, Fl debug-level Ar NUMBER
-set level of available debugging information
+.It Fl w , Fl no-warnings
+Disable warnings.
+.It Fl d0 , Fl d1 , Fl d2 , Fl debug-level Ar NUMBER
+Set level of available debugging information.
 .It Fl no-trace
-disable rudimentary debugging information
+Disable rudimentary debugging information.
 .It Fl profile
-executable emits profiling information
+Executable emits profiling information.
 .It Fl accumulate-profile
-executable emits profiling information in append mode
+Executable emits profiling information in append mode.
 .It Fl profile-name Ar FILENAME
-name of the generated profile information file
+Name of the generated profile information file.
 .It Fl types Ar FILENAME
-load additional type database
+Load additional type database.
 .El
 .Pp
 Optimization options:
 .Bl -tag -width Ds
-.It Fl O, Fl O0, Fl O1, Fl O2, Fl O3, Fl O4, Fl O5, Fl optimize-level Ar NUMBER
-enable certain sets of optimization options
+.It Fl O , Fl O0 , Fl O1 , Fl O2 , Fl O3 , Fl O4 , Fl O5 , Fl optimize-level Ar NUMBER
+Enable certain sets of optimization options.
 .It Fl optimize-leaf-routines
-enable leaf routine optimization
+Enable leaf routine optimization.
 .It Fl no-usual-integrations
-standard procedures may be redefined
-.It Fl u, Fl unsafe
-disable safety checks
+Standard procedures may be redefined.
+.It Fl u , Fl unsafe
+Disable safety checks.
 .It Fl local
-assume globals are only modified in current file
-.It Fl b, Fl block
-enable block-compilation
+Assume globals are only modified in current file.
+.It Fl b , Fl block
+Enable block-compilation.
 .It Fl disable-interrupts
-disable interrupts in compiled code
-.It Fl f, Fl fixnum-arithmetic
-assume all numbers are fixnums
+Disable interrupts in compiled code.
+.It Fl f , Fl fixnum-arithmetic
+Assume all numbers are fixnums.
 .It Fl disable-stack-overflow-checks
-disables detection of stack-overflows
+Disables detection of stack-overflows.
 .It Fl inline
-enable inlining
+Enable inlining.
 .It Fl inline-limit Ar LIMIT
-set inlining threshold
+Set inlining threshold.
 .It Fl inline-global
-enable cross-module inlining
+Enable cross-module inlining.
 .It Fl specialize
-perform type-based specialization of primitive calls
-.It Fl oi Ar FILENAME, Fl emit-inline-file Ar FILENAME
-generate file with globally inlinable procedures
-.Po implies Fl inline Fl local Pc
+Perform type-based specialization of primitive calls.
+.It Fl oi Ar FILENAME , Fl emit-inline-file Ar FILENAME
+Generate file with globally inlinable procedures
+.Po implies Fl inline Fl local Pc .
 .It Fl consult-inline-file Ar FILENAME
-explicitly load inline file
-.It Fl ot Ar FILENAME, Fl emit-type-file Ar FILENAME
-write type-declaration information into file
+Explicitly load inline file.
+.It Fl ot Ar FILENAME , Fl emit-type-file Ar FILENAME
+Write type-declaration information into file.
 .It Fl no-argc-checks
-disable argument count checks
+Disable argument count checks.
 .It Fl no-bound-checks
-disable bound variable checks
+Disable bound variable checks.
 .It Fl no-procedure-checks
-disable procedure call checks
+Disable procedure call checks.
 .It Fl no-procedure-checks-for-usual-bindings
-disable procedure call checks only for usual bindings
+Disable procedure call checks only for usual bindings.
 .It Fl no-procedure-checks-for-toplevel-bindings
-disable procedure call checks for toplevel bindings
+Disable procedure call checks for toplevel bindings.
 .It Fl strict-types
-assume variable do not change their type
+Assume variable do not change their type.
 .It Fl clustering
-combine groups of local procedures into dispatch loop
+Combine groups of local procedures into dispatch loop.
 .It Fl lfa2
-perform additional lightweight flow-analysis pass
+Perform additional lightweight flow-analysis pass.
 .El
 .Pp
 Configuration options:
 .Bl -tag -width Ds
 .It Fl unit Ar NAME
-compile file as a library unit
+Compile file as a library unit.
 .It Fl uses Ar NAME
-declare library unit as used.
+Declare library unit as used.
 .It Fl heap-size Ar NUMBER
-specifies heap-size of compiled executable
+Specifies heap-size of compiled executable.
 .It Fl nursery Ar NUMBER Fl stack-size Ar NUMBER
-specifies nursery size of compiled executable
-.It Fl X Ar FILENAME, Fl extend Ar FILENAME
-load file before compilation commences
+Specifies nursery size of compiled executable.
+.It Fl X Ar FILENAME , Fl extend Ar FILENAME
+Load file before compilation commences.
 .It Fl prelude Ar EXPRESSION
-add expression to beginning of source file
+Add expression to beginning of source file.
 .It Fl postlude Ar EXPRESSION
-add expression to end of source file
+Add expression to end of source file.
 .It Fl prologue Ar FILENAME
-include file before main source file
+Include file before main source file.
 .It Fl epilogue Ar FILENAME
-include file after main source file
-.It Fl e, Fl embedded
-compile as embedded
+Include file after main source file.
+.It Fl e , Fl embedded
+Compile as embedded
 .Po don't generate
 .Sq Fn main
-.Pc
+.Pc .
 .It Fl gui
-compile as GUI application
+Compile as GUI application.
 .It Fl link Ar NAME
-link extension with compiled executable
+Link extension with compiled executable
 .Po implies Sq Fl uses
-.Pc
-.It Fl R Ar NAME, Fl require-extension Ar NAME
-require extension and import in compiled code
-.It Fl dll, Fl library
-compile multiple units into a dynamic library
+.Pc .
+.It Fl R Ar NAME , Fl require-extension Ar NAME
+Require extension and import in compiled code.
+.It Fl dll , Fl library
+Compile multiple units into a dynamic library.
 .El
 .Pp
 Options to other passes:
 .Bl -tag -width Ds
 .It Fl C Ar OPTION
-pass option to C compiler
+Pass option to C compiler.
 .It Fl L Ar OPTION
-pass option to linker
+Pass option to linker.
 .It Fl I Ns Ar <DIR>
-pass
-.Dq -I<DIR>
+Pass
+.Dq -I Ns Ar <DIR>
 to C compiler
-.Po add include path Pc
+.Po add include path Pc .
 .It Fl L Ns Ar <DIR>
-pass
-.Dq -L<DIR>
+Pass
+.Dq -L Ns Ar <DIR>
 to linker
-.Po add library path Pc
+.Po add library path Pc .
 .It Fl k
-keep intermediate files
+Keep intermediate files.
 .It Fl c
-stop after compilation to object files
+Stop after compilation to object files.
 .It Fl t
-stop after translation to C
+Stop after translation to C.
 .It Fl cc Ar COMPILER
-select other C compiler than the default
+Select a C compiler other than the default.
 .It Fl cxx Ar COMPILER
-select other C++ compiler than the default
+Select a C++ compiler other than the default.
 .It Fl ld Ar COMPILER
-select other linker than the default
+Select a linker other than the default.
 .It Fl l Ns Ar LIBNAME
-link with given library
+Link with given library
 .Po
-.Sq libLIBNAME
+.Sq lib Ns Ar LIBNAME
 on UNIX,
-.Sq LIBNAME.lib
+.Sq Ar LIBNAME Ns .lib
 on Windows
-.Pc
+.Pc .
 .It Fl static-libs
-link with static CHICKEN libraries and extensions
+Link with static CHICKEN libraries and extensions.
 .It Fl F Ns Ar <DIR>
-pass
-.Dq -F<DIR>
+Pass
+.Dq -F Ns Ar <DIR>
 to C compiler
-.Po add framework header path on Mac OS X Pc
+.Po add framework header path on Mac OS X Pc .
 .It Fl framework Ar NAME
-passed to linker on Mac OS X
+Passed to linker on Mac OS X.
 .It Fl rpath Ar PATHNAME
-add directory to runtime library search path
+Add directory to runtime library search path.
 .It Fl Wl,...
-pass linker options
+Pass linker options.
 .It Fl strip
-strip resulting binary
+Strip resulting binary.
 .El
 .Pp
 Inquiry options:
 .Bl -tag -width Ds
 .It Fl home
-show home-directory
-.Po where support files go Pc
+Show home-directory
+.Po where support files go Pc .
 .It Fl cflags
-show required C-compiler flags and exit
+Show required C-compiler flags and exit.
 .It Fl ldflags
-show required linker flags and exit
+Show required linker flags and exit.
 .It Fl libs
-show required libraries and exit
+Show required libraries and exit.
 .It Fl cc-name
-show name of default C compiler used
+Show name of default C compiler used.
 .It Fl cxx-name
-show name of default C++ compiler used
+Show name of default C++ compiler used.
 .It Fl ld-name
-show name of default linker used
+Show name of default linker used.
 .It Fl dry-run
-just show commands executed, don't run them
+Just show commands executed, don't run them
 .Po implies Sq Fl v
 .Pc .
 .El
@@ -315,33 +316,33 @@ just show commands executed, don't run them
 Obscure options:
 .Bl -tag -width Ds
 .It Fl debug Ar MODES
-display debugging output for the given modes
+Display debugging output for the given modes.
 .It Fl compiler Ar PATHNAME
-use other compiler than default
-.Sq chicken
+Use a compiler other than the default
+.Sq chicken .
 .It Fl raw
-do not generate implicit init- and exit code
+Do not generate implicit init- and exit code.
 .It Fl emit-external-prototypes-first
-emit prototypes for callbacks before foreign declarations
+Emit prototypes for callbacks before foreign declarations.
 .It Fl ignore-repository
-do not refer to repository for extensions
+Do not refer to repository for extensions.
 .It Fl keep-shadowed-macros
-do not remove shadowed macro
+Do not remove shadowed macros.
 .It Fl host
-compile for host when configured for cross-compiling
+Compile for host when configured for cross-compiling.
 .It Fl private-repository
-load extensions from executable path
+Load extensions from executable path.
 .It Fl deployed
-link support file to be used from a deployed executable
+Link support file to be used from a deployed executable
 .Po sets
 .Sq rpath
-accordingly, if supported on this platform
+accordingly, if supported on this platform.
 .Pc
 .It Fl no-elevation
-embed manifest on Windows to supress elevation warnings for programs named
+Embed manifest on Windows to supress elevation warnings for programs named
 .Sq install
 or
-.Sq setup
+.Sq setup .
 .El
 .Pp
 Options can be collapsed if unambiguous, so
@@ -349,12 +350,12 @@ Options can be collapsed if unambiguous, so
 is the same as
 .Dq -v -k -fixnum-arithmetic -optimize .
 .Sh ENVIRONMENT
-Following environment variables change the behaviour of
-.Nm
+The following environment variables change the behaviour of
+.Nm Ns :
 .Bl -tag -width CHICKEN_PREFIX
 .It Ev CSC_OPTIONS
 Can hold default options that should be passed to every invocation of
-.Nm
+.Nm .
 .It Ev CHICKEN_PREFIX
 The installation prefix where CHICKEN Scheme and its support files and
 libraries are located. Defaults to the installation time prefix given
@@ -373,6 +374,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/csc.scm b/csc.scm
index 12c93f65..6e77ba36 100644
--- a/csc.scm
+++ b/csc.scm
@@ -302,7 +302,7 @@
 (define (usage)
   (let ((csc CSC_PROGRAM))
     (print #<#EOF
-Usage: #{csc} FILENAME | OPTION ...
+Usage: #{csc} [OPTION ...] [FILENAME ...]
 
   `#{csc}' is a driver program for the CHICKEN compiler. Files given on the
   command line are translated, compiled or linked as needed.
diff --git a/csi.mdoc b/csi.mdoc
index 571e076c..b8d32972 100644
--- a/csi.mdoc
+++ b/csi.mdoc
@@ -24,7 +24,7 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt CSI 1
 .Os
 .Sh NAME
@@ -32,94 +32,95 @@
 .Nd The CHICKEN Scheme interpreter
 .Sh SYNOPSIS
 .Nm
-.Op Ar PATHNAME \(ba OPTION  ...
+.Op Ar OPTION  ...
+.Op Ar FILENAME ...
 .Sh DESCRIPTION
 .Nm
-is an interpreter for the programming language Scheme
-supporting most of the features as described in the
-Revised^5 Report on the Algorithmic Language Scheme.
+is an interpreter for the programming language Scheme supporting most of
+the features as described in the Revised^5 Report on the Algorithmic
+Language Scheme.
 .Nm
-is implemented as a program compiled with the
-CHICKEN compiler.
+is implemented as a program compiled with the CHICKEN compiler.
 .Pp
 .Ar FILENAME
 is a Scheme source file name with optional extension.
 .Ar OPTION
 may be  one of the following:
 .Bl -tag -width Ds
-.It Fl h, Fl help. Fl -help
-display usage and exit
+.It Fl h , Fl help
+Display usage and exit.
 .It Fl version
-display version and exit
+Display version and exit.
 .It Fl release
-print release number and exit
-.It Fl i, Fl case-insensitive
-enable case-insensitive reading
-.It Fl e Ar EXPRESSION Ns , Fl eval Ar EXPRESSION
-evaluate given expression
-.It Fl p Ar EXPRESSION Ns , Fl print Ar EXPRESSION
-evaluate and print result(s)
-.It Fl P Ar EXPRESSION Ns , Fl pretty-print Ar EXPRESSION
-evaluate and print result(s) prettily
-.It Fl D Ar SYMBOL Ns , Fl feature Ar SYMBOL
-register feature identifier
+Print release number and exit.
+.It Fl i , Fl case-insensitive
+Enable case-insensitive reading.
+.It Fl e Ar EXPRESSION , Fl eval Ar EXPRESSION
+Evaluate the given expression.
+.It Fl p Ar EXPRESSION , Fl print Ar EXPRESSION
+Evaluate and print the result(s) of the given expression.
+.It Fl P Ar EXPRESSION , Fl pretty-print Ar EXPRESSION
+Evaluate and print result(s) prettily.
+.It Fl D Ar SYMBOL , Fl feature Ar SYMBOL
+Register feature identifier.
 .It Fl no-feature Ar SYMBOL
-disable built-in feature identifier
-.It Fl q Ns , Fl quiet
-do not print banner
-.It Fl n Ns , Fl no-init
-do not load initialization file
+Disable built-in feature identifier.
+.It Fl q , Fl quiet
+Do not print banner.
+.It Fl n , Fl no-init
+Do not load initialization file.
 .Sq .csirc
-.It Fl b Ns , Fl batch
-terminate after command-line processing
-.It Fl w Ns , Fl no-warnings
-disable all warnings
-.It Fl K Ar STYLE Ns , Fl keyword-style Ar STYLE
-enable alternative keyword-syntax
+.It Fl b , Fl batch
+Terminate after command-line processing.
+.It Fl w , Fl no-warnings
+Disable all warnings.
+.It Fl K Ar STYLE , Fl keyword-style Ar STYLE
+Enable alternative keyword-syntax
 .Po prefix, suffix or none Pc
 .It Fl no-parentheses-synonyms
-disables list delimiter synonyms
-.It fl no-symbol-escape
-disables support for escaped symbols
+Disable list delimiter synonyms.
+.It Fl no-symbol-escape
+Disables support for escaped symbols.
 .It Fl r5rs-syntax
-disables the CHICKEN extensions to R5RS syntax
-.It Fl s Ar PATHNAME Ns , Fl script Ar PATHNAME
-use interpreter for shell scripts
+Disable the CHICKEN extensions to R5RS syntax.
+.It Fl s Ar PATHNAME , Fl script Ar PATHNAME
+Use interpreter for shell scripts.
 .It Fl ss Ar PATHNAME
-shell script with
+Run a script with a
 .Sq main
 procedure
 .It Fl sx Ar PATHNAME
-same as
-.Sq Fl s ,
-but print each expression as it is evaluated
+Same as
+.Fl s ,
+but print each expression as it is evaluated.
 .It Fl setup-mode
-prefer the current directory when locating extensions
-.It Fl R Ar NAME Ns , Fl require-extension Ar NAME
-require extension and import before executing code
-.It Fl I Ar PATHNAME Ns , Fl include-path Ar PATHNAME
-add
+Prefer the current directory when locating extensions.
+.It Fl R Ar NAME , Fl require-extension Ar NAME
+Import extension before executing code.
+.It Fl I Ar PATHNAME , Fl include-path Ar PATHNAME
+Add
 .Ar PATHNAME
-to include path
+to the include path.
 .It Fl -
-ignore all following options
+Ignore all following options.
 .El
 .Sh ENVIRONMENT
-Following environment variables change the behaviour of
+The following environment variables change the behaviour of
+.Nm Ns :
+.Bl -tag -width CHICKEN_INCLUDE_PATH
+.It Ev CSI_OPTIONS
+When set to a string of command-line options, then the options are
+passed implicitly to every direct or indirect invocation of
 .Nm
-.Bl -tag -width CHICKEN_INSTALL_PREFIX
 .It Ev CHICKEN_INCLUDE_PATH
-Contains one or more pathnames where the interpreter should also look for include-files, separated by
+Contains one or more pathnames where the interpreter should also look
+for include files, separated by
 .Sq \&;
 characters.
 .It Ev CHICKEN_PREFIX
 The installation prefix where CHICKEN Scheme and its support files and
-libraries are located. Defaults to the installation time prefix given
-when configuring the system.
-.It Ev CSI_OPTIONS
-When set to a string of command-line options, then the options are passed implicitly
-to every direct or indirect invocation of
-.Nm
+libraries are located. Defaults to the prefix given when configuring the
+system.
 .br
 Note that runtime options of the form
 .Sq \&-
@@ -142,6 +143,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/csi.scm b/csi.scm
index ad9583b9..bebd2311 100644
--- a/csi.scm
+++ b/csi.scm
@@ -80,14 +80,14 @@ EOF
 
 (define (print-usage)
   (display #<<EOF
-usage: csi [FILENAME | OPTION ...]
+usage: csi [OPTION ...] [FILENAME ...]
 
   `csi' is the CHICKEN interpreter.
   
   FILENAME is a Scheme source file name with optional extension. OPTION may be
   one of the following:
 
-    -h  -help  --help             display this text and exit
+    -h  -help                     display this text and exit
         -version                  display version and exit
         -release                  print release number and exit
     -i  -case-insensitive         enable case-insensitive reading
@@ -128,9 +128,7 @@ EOF
 ) ) ;|  <--- for emacs font-lock
 
 (define (print-banner)
-  (newline)
-  (print +product+)
-  (print +banner+ (chicken-version #t) "\n") )
+  (print +banner+ (chicken-version #t) "\n"))
 
 
 ;;; Reader for REPL history:
diff --git a/feathers.mdoc b/feathers.mdoc
index d4c1a828..1c2dc8cb 100644
--- a/feathers.mdoc
+++ b/feathers.mdoc
@@ -24,7 +24,7 @@
 .\"  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd Mar 25, 2016
+.Dd Apr 26, 2017
 .Dt FEATHERS 1
 .Os
 .Sh NAME
@@ -36,9 +36,9 @@
 .Op Ar PROGRAM Ar ARGUMENTS ...
 .Sh DESCRIPTION
 .Nm
-runs a program compiled with CHICKEN Scheme and allows basic source-level
-debugging like setting breakpoints, single-stepping and inspection of
-procedure arguments and global variables.
+runs a program compiled with CHICKEN Scheme and allows basic
+source-level debugging like setting breakpoints, single-stepping and
+inspection of procedure arguments and global variables.
 .Pp
 The Scheme code must be compiled with debug-level 3 for debugging to be
 possible. Communication with the debugger takes place by exchanging
@@ -46,7 +46,7 @@ messages over a TCP socket, the address and port being given by the
 environment variable
 .Ev CHICKEN_DEBUGGER
 which holds a connection address of the form
-.Ao ADDRESS Ac Ns : Ao PORT Ac .
+.Ao ADDRESS Ac : Ns Ao PORT Ac .
 .Pp
 The program accepts following arguments:
 .Bl -tag -width Ds
@@ -54,20 +54,20 @@ The program accepts following arguments:
 Shows a list of supported command-line options.
 .It Fl n
 Do not load the default startup file
-.Pa .feathers
+.Pa .feathers .
 .It Fl d
 TODO: Document this
 .It Fl dir Ar DIRECTORY
 Add
 .Ar DIRECTORY
-to the list of searched paths for locating source files
+to the list of searched paths for locating source files.
 .It Fl port Ar PORT
 Select a different TCP port than the default
-.Pq 9999
+.Pq 9999 .
 .El
 .Sh ENVIRONMENT
-Following environment variables change the behaviour of
-.Nm
+The following environment variables change the behaviour of
+.Nm Ns :
 .Bl -tag -width CHICKEN_DEBUGGER
 .It Ev CHICKEN_DEBUGGER
 Should hold a TCP server address and port where the debugger is listening.
@@ -89,6 +89,6 @@ More information can be found in the
 .Sh BUGS
 Submit bug reports by e-mail to
 .Mt chicken-janitors@nongnu.org ,
-preferrably using the
+preferably using the
 .Xr chicken-bug 1
 tool.
diff --git a/support.scm b/support.scm
index c6c1c1a0..fa3d65f3 100644
--- a/support.scm
+++ b/support.scm
@@ -1655,7 +1655,7 @@
   (print-version)
   (newline)
   (display #<<EOF
-Usage: chicken FILENAME OPTION ...
+Usage: chicken FILENAME [OPTION ...]
 
   `chicken' is the CHICKEN compiler.
   
Trap