Index: include/bu/bu_tcl.h
===================================================================
--- include/bu/bu_tcl.h	(revision 63858)
+++ include/bu/bu_tcl.h	(working copy)
@@ -77,8 +77,6 @@
  */
 #define BU_OBSERVER_IS_INITIALIZED(_op) (((struct bu_observer *)(_op) != BU_OBSERVER_NULL) && LIKELY((_op)->magic == BU_OBSERVER_MAGIC))
 
-/** @addtogroup tcl */
-/** @{ */
 /** @file libbu/observer.c
  *
  * @brief
@@ -102,6 +100,12 @@
  */
 BU_EXPORT extern void bu_observer_free(struct bu_observer *);
 
+/** @file libbu/tcl.c
+ *
+ * @brief
+ * Routine(s) to allow TCL calling libbu code.
+ *
+ */
 /**
  * Bu_Init
  *
Index: include/bu/cmd.h
===================================================================
--- include/bu/cmd.h	(revision 63858)
+++ include/bu/cmd.h	(working copy)
@@ -20,12 +20,6 @@
 
 /** @addtogroup cmd */
 /** @{ */
-/** @file cmdhist.c
- *
- * @brief
- * Routines for maintaining a command history
- *
- */
 
 #ifndef CMD_H
 #define CMD_H
@@ -75,6 +69,12 @@
 
 __BEGIN_DECLS
 
+/** @file libbu/cmd.c
+ *
+ * @brief
+ * Routine(s) for processing subcommands
+ *
+ */
 /**
  * This function is intended to be used for parsing subcommands.  If
  * the command is found in the array of commands, the associated
@@ -92,6 +92,12 @@
  */
 BU_EXPORT extern int bu_cmd(const struct bu_cmdtab *cmds, int argc, const char *argv[], int cmd_index, void *data, int *result);
 
+/** @file cmdhist.c
+ *
+ * @brief
+ * Routines for maintaining a command history
+ *
+ */
 /**
  * @brief
  * Prints out the command history.
Index: include/bu/color.h
===================================================================
--- include/bu/color.h	(revision 63858)
+++ include/bu/color.h	(working copy)
@@ -85,13 +85,13 @@
  * or "constrained" random aka the BRLCADWrapper:getRandomColor
  * function.  Need a function that provides flexibility.  Possible
  * calling syntax:
- *
+ @code
  * bu_color_rand(cp, NULL, NULL,     NULL,     0);            #generate a totally random color value
  * bu_color_rand(cp, NULL, rgb_seed, NULL,     COLOR_SET_R);  #randomize the R value only, else use rgb_seed values
  * bu_color_rand(cp, NULL, rgb_seed, NULL,     COLOR_GOLDEN); #use the golden ratio constraining technique
  * bu_color_rand(cp, NULL, NULL,     hsv_seed, COLOR_GOLDEN); #use the golden ratio constraining technique with an hsv input
  * bu_color_rand(cp, seed, NULL,     NULL,     0);            #randomize, using bu_color seed
- *
+ @endcode
  * Passing multiple seeds would be an error - the multiple slots are for formatting convenience.  May be
  * better to use just one bu_color seed and make callers pre-package it - not sure yet.  If we go that
  * route, we'll have to implement the unimplemented utility functions below.
Index: include/bu/cv.h
===================================================================
--- include/bu/cv.h	(revision 63858)
+++ include/bu/cv.h	(working copy)
@@ -391,15 +391,6 @@
 /* TODO - make a "deprecated.h" file to stuff deprecated things in */
 /** @addtogroup hton */
 /** @{ */
-/** @file libbu/htester.c
- *
- * @brief
- * Test network float conversion.
- *
- * Expected to be used in pipes, or with TTCP links to other machines,
- * or with files RCP'ed between machines.
- *
- */
 
 /** @file libbu/xdr.c
  *
Index: include/bu/defines.h
===================================================================
--- include/bu/defines.h	(revision 63858)
+++ include/bu/defines.h	(working copy)
@@ -18,7 +18,7 @@
  * information.
  */
 
-/** @file defines.h
+/** @file bu/defines.h
  *
  * Commonly used definitions for the BRL-CAD Utility Library, LIBBU.
  *
Index: include/bu/file.h
===================================================================
--- include/bu/file.h	(revision 63858)
+++ include/bu/file.h	(working copy)
@@ -169,7 +169,7 @@
 #define BU_FNMATCH_NOESCAPE    0x01 /**< bu_fnmatch() flag.  Backslash escaping. */
 #define BU_FNMATCH_PATHNAME    0x02 /**< bu_fnmatch() flag.  Slash must be matched by slash. */
 #define BU_FNMATCH_PERIOD      0x04 /**< bu_fnmatch() flag.  Period must be matched by period. */
-#define BU_FNMATCH_LEADING_DIR 0x08 /**< bu_fnmatch() flag.  Ignore /<tail> after Imatch. */
+#define BU_FNMATCH_LEADING_DIR 0x08 /**< bu_fnmatch() flag.  Ignore `/<tail>` after Imatch. */
 #define BU_FNMATCH_CASEFOLD    0x10 /**< bu_fnmatch() flag.  Case-insensitive searching. */
 
 /**
@@ -220,15 +220,13 @@
  */
 BU_EXPORT extern char * bu_realpath(const char *path, char *resolved_path);
 
-
-/** @file libbu/brlcad_path.c
+/** @file libbu/progname.c
  *
  * @brief
- * A support routine to provide the executable code with the path
- * to where the BRL-CAD programs and libraries are installed.
+ * Support routines to provide the executable code with information
+ * about executable name used to invoke the current program.
  *
  */
-
 /**
  * DEPRECATED: This routine is replaced by bu_getcwd().
  *             Do not use.
@@ -264,6 +262,11 @@
  */
 BU_EXPORT extern void bu_setprogname(const char *path);
 
+/** @file libbu/getcwd.c
+ *
+ * @brief
+ * Routine(s) for getting the current working directory full pathname.
+ */
 /**
  * returns the pathname for the current working directory.
  */
@@ -288,6 +291,14 @@
  * call bu_strdup() or make other provisions to save the returned
  * string, before calling again.
  */
+
+/** @file libbu/brlcad_path.c
+ *
+ * @brief
+ * A support routine to provide the executable code with the path
+ * to where the BRL-CAD programs and libraries are installed.
+ *
+ */
 BU_EXPORT extern const char *bu_brlcad_dir(const char *dirkey, int fail_quietly);
 
 /**
Index: include/bu/log.h
===================================================================
--- include/bu/log.h	(revision 63858)
+++ include/bu/log.h	(working copy)
@@ -102,6 +102,11 @@
  */
 #define BU_HOOK_LIST_IS_INITIALIZED(_p) (((struct bu_hook_list *)(_p) != BU_HOOK_LIST_NULL) && LIKELY((_p)->l.magic == BU_HOOK_LIST_MAGIC))
 
+/** @file libbu/bomb.c
+ *
+ * Main functions for exiting/bombing.
+ *
+ */
 /**
  * Adds a hook to the list of bu_bomb hooks.  The top (newest) one of these
  * will be called with its associated client data and a string to be
@@ -326,6 +331,11 @@
  */
 BU_EXPORT extern void bu_flog(FILE *, const char *, ...) _BU_ATTR_PRINTF23;
 
+/** @file libbu/sscanf.c
+ * libbu implementations of vsscanf/sscanf() with extra format
+ * specifiers.
+ */
+
 /**
  * Custom vsscanf which wraps the system sscanf, and is wrapped by bu_sscanf.
  *
@@ -336,17 +346,17 @@
  *    not include a maximum field width, the routine bombs in order to avoid
  *    an accidental buffer overrun.
  *
- *  - %V and %#V have been added as valid conversions. Both expect a pointer to
- *    a struct bu_vls as their argument.
+ *  - %V and %\#V have been added as valid conversions. Both expect a
+ *    pointer to a struct bu_vls as their argument.
  *
  *    %V is comparable to %[^]. It instructs bu_vsscanf to read arbitrary
  *    characters from the source and store them in the vls buffer. The default
  *    maximum field width is infinity.
  *
- *    %#V is comparable to %s. It instructs bu_vsscanf to skip leading
- *    whitespace, and then read characters from the source and store them in the
- *    vls buffer until the next whitespace character is encountered. The default
- *    maximum field width is infinity.
+ *    %\#V is comparable to %s. It instructs bu_vsscanf to skip
+ *    leading whitespace, and then read characters from the source and
+ *    store them in the vls buffer until the next whitespace character
+ *    is encountered. The default maximum field width is infinity.
  *
  *  - 0 is always a valid field width for unsuppressed %c, %s, and %[...]
  *    conversions and causes '\0' to be written to the supplied char*
@@ -370,6 +380,10 @@
  */
 BU_EXPORT extern int bu_sscanf(const char *src, const char *fmt, ...) _BU_ATTR_SCANF23;
 
+/** @file libbu/scan.c
+ * Routines for scanning certain kinds of data.
+ */
+
 /**
  * Scans a sequence of fastf_t numbers from a string or stdin
  *
@@ -432,6 +446,12 @@
  */
 BU_EXPORT extern char *bu_dirname(const char *path);
 
+/** @file libbu/basename.c
+ *
+ * A libbu re-implementation of basename() for cross-platform
+ * compatibility.
+ *
+ */
 /**
  * Given a string containing a hierarchical path, return a dynamic
  * string to the portion after the last path separator.
Index: include/bu/magic.h
===================================================================
--- include/bu/magic.h	(revision 63858)
+++ include/bu/magic.h	(working copy)
@@ -38,24 +38,6 @@
  * The defines should be considered PRIVATE (even though they are not)
  * and should NEVER be referenced by value.
  */
-/** @file magic.c
- *
- * Routines involved with handling "magic numbers" used to identify
- * various in-memory data structures.  Magic numbers provide a means
- * to perform run-time sanity checks for memory corruption and
- * uninitialized data.
- *
- * The one ugly thing about this implementation is that every BRL-CAD
- * structure needs to have its magic number registered here and in
- * the header.
- *
- */
-/** @file badmagic.c
- *
- * Routines involved with handling "magic numbers" used to identify
- * various in-memory data structures.
- *
- */
 
 __BEGIN_DECLS
 
@@ -92,11 +74,11 @@
 #define BN_TOL_MAGIC			0x98c734bb /**< ??4? */
 #define BN_UNIF_MAGIC			0x00be7460 /**< ??t` => 12481632 */
 #define BN_VLBLOCK_MAGIC		0x981bd112 /**< ???? */
-#define BN_VLIST_MAGIC			0x98237474 /**< ?#tt */
+#define BN_VLIST_MAGIC			0x98237474 /**< ?\#tt */
 
 /* primitive internals */
 
-#define RT_ARBN_INTERNAL_MAGIC		0x18236461 /**< ?#da */
+#define RT_ARBN_INTERNAL_MAGIC		0x18236461 /**< ?\#da */
 #define RT_ARB_INTERNAL_MAGIC		0x9befd010 /**< ???? */
 #define RT_ARS_INTERNAL_MAGIC		0x77ddbbe3 /**< w??? */
 #define RT_BINUNIF_INTERNAL_MAGIC	0x42696e55 /**< BinU */
@@ -106,7 +88,7 @@
 #define RT_DSP_INTERNAL_MAGIC		0x00000de6 /**< ???? */
 #define RT_EBM_INTERNAL_MAGIC		0xf901b231 /**< ???1 */
 #define RT_EHY_INTERNAL_MAGIC		0xaaccee91 /**< ???? */
-#define RT_ELL_INTERNAL_MAGIC		0x93bb23ff /**< ??#? */
+#define RT_ELL_INTERNAL_MAGIC		0x93bb23ff /**< ??\#? */
 #define RT_EPA_INTERNAL_MAGIC		0xaaccee90 /**< ???? */
 #define RT_ETO_INTERNAL_MAGIC		0xaaccee92 /**< ???? */
 #define RT_EXTRUDE_INTERNAL_MAGIC	0x65787472 /**< extr */
@@ -152,7 +134,7 @@
 #define NMG_RADIAL_MAGIC		0x52614421 /**< RaD! */
 #define NMG_RAY_DATA_MAGIC 		0x01651771 /**< ?e?q */
 #define NMG_REGION_A_MAGIC		0x696e6720 /**< ing  */
-#define NMG_REGION_MAGIC		0x23232323 /**< #### */
+#define NMG_REGION_MAGIC		0x23232323 /**< \#\#\#\# */
 #define NMG_RT_HIT_MAGIC 		0x48697400 /**< Hit? */
 #define NMG_RT_HIT_SUB_MAGIC		0x48696d00 /**< Him? */
 #define NMG_RT_MISS_MAGIC		0x4d697300 /**< Mis? */
@@ -162,7 +144,7 @@
 #define NMG_VERTEXUSE_A_PLANE_MAGIC	0x69676874 /**< ight */
 #define NMG_VERTEXUSE_MAGIC		0x12341234 /**< ?4?4 */
 #define NMG_VERTEX_G_MAGIC		0x72737707 /**< rsw? */
-#define NMG_VERTEX_MAGIC		0x00123123 /**< ??1# */
+#define NMG_VERTEX_MAGIC		0x00123123 /**< ??1\# */
 
 /* raytrace */
 
@@ -170,7 +152,7 @@
 #define RT_AP_MAGIC			0x4170706c /**< Appl */
 #define RT_COMB_MAGIC			0x436f6d49 /**< ComI */
 #define RT_CONSTRAINT_MAGIC		0x7063696d /**< pcim */
-#define RT_CTS_MAGIC			0x98989123 /**< ???# */
+#define RT_CTS_MAGIC			0x98989123 /**< ???\# */
 #define RT_DB_TRAVERSE_MAGIC		0x64627472 /**< dbtr */
 #define RT_DBTS_MAGIC			0x64627473 /**< dbts */
 #define RT_DB_INTERNAL_MAGIC		0x0dbbd867 /**< ???g */
@@ -229,15 +211,15 @@
 #define RTI_MAGIC			0x99101658 /**< ???X */
 #define VERT_TREE_MAGIC			0x56455254 /**< VERT */
 #define WDB_METABALLPT_MAGIC		0x6d627074 /**< mbpt */
-#define WDB_PIPESEG_MAGIC		0x9723ffef /**< ?#?? */
+#define WDB_PIPESEG_MAGIC		0x9723ffef /**< ?\#?? */
 #define WMEMBER_MAGIC			0x43128912 /**< C??? */
 #define ICV_IMAGE_MAGIC		0x6269666d /**< bifm */
 
 
-
-/** @file libbu/badmagic.c
+/** @file badmagic.c
  *
- * Magic checking functions.
+ * Routines involved with handling "magic numbers" used to identify
+ * various in-memory data structures.
  *
  */
 
@@ -263,6 +245,19 @@
 BU_EXPORT extern void bu_badmagic(const uint32_t *ptr, uint32_t magic, const char *str, const char *file, int line);
 
 
+
+/** @file magic.c
+ *
+ * Routines involved with handling "magic numbers" used to identify
+ * various in-memory data structures.  Magic numbers provide a means
+ * to perform run-time sanity checks for memory corruption and
+ * uninitialized data.
+ *
+ * The one ugly thing about this implementation is that every BRL-CAD
+ * structure needs to have its magic number registered here and in
+ * the header.
+ *
+ */
 /**
  * Given a number which has been found in the magic number field of a
  * structure (which is typically the first entry), determine what kind
Index: include/bu/parallel.h
===================================================================
--- include/bu/parallel.h	(revision 63858)
+++ include/bu/parallel.h	(working copy)
@@ -1,4 +1,4 @@
-/*                      P A R A L L E L . H
+n/*                      P A R A L L E L . H
  * BRL-CAD
  *
  * Copyright (c) 2004-2014 United States Government as represented by
@@ -21,7 +21,7 @@
 /**  @defgroup parallel  Parallel Processing */
 /**   @defgroup thread Multithreading */
 
-/** @file parallel.h
+/** @file include/bu/parallel.h
  *
  */
 #ifndef BU_PARALLEL_H
Index: include/bu/parse.h
===================================================================
--- include/bu/parse.h	(revision 63858)
+++ include/bu/parse.h	(working copy)
@@ -437,6 +437,7 @@
  * @param argv - contains the keyword-value pairs
  * @param desc - structure description
  * @param base - base addr of users struct
+ * @param data - user data to be passed to the sp_hook function
  *
  * @retval BRLCAD_OK if successful,
  * @retval BRLCAD_ERROR on failure
Index: include/bu/str.h
===================================================================
--- include/bu/str.h	(revision 63858)
+++ include/bu/str.h	(working copy)
@@ -160,7 +160,7 @@
  * except for the ones listed after the circumflex.  For example,
  * "^abc" matches any character except 'a', 'b', or 'c'.
  *
- * Backslash escape sequences are not allowed (e.g., \t or \x01) as
+ * Backslash escape sequences are not allowed (e.g., \\t or \\x01) as
  * '\' will be matched literally.
  *
  * A range expression consists of two characters separated by a hyphen
Index: include/bu/time.h
===================================================================
--- include/bu/time.h	(revision 63858)
+++ include/bu/time.h	(working copy)
@@ -44,6 +44,10 @@
  */
 BU_EXPORT extern int64_t bu_gettime(void);
 
+
+/** @file libbu/date-time.c
+ * A libbu version of utctime.
+ */
 /**
  * Evaluate the time_t input as UTC time in ISO format.
  *
Index: include/bu/version.h
===================================================================
--- include/bu/version.h	(revision 63858)
+++ include/bu/version.h	(working copy)
@@ -18,7 +18,7 @@
  * information.
  */
 
-/** @file version.h
+/** @file bu/version.h
  *
  */
 #ifndef BU_VERSION_H
Index: include/bu/vfont.h
===================================================================
--- include/bu/vfont.h	(revision 63858)
+++ include/bu/vfont.h	(working copy)
@@ -20,7 +20,7 @@
 
 /** @addtogroup vfont */
 /** @{ */
-/** @file vfont.h
+/** @file include/bu/vfont.h
  *
  * This header file describes the in-memory format used by the BRL-CAD
  * Package routines for manipulating fonts stored in the Berkeley
Index: include/bu/vls.h
===================================================================
--- include/bu/vls.h	(revision 63858)
+++ include/bu/vls.h	(working copy)
@@ -317,21 +317,6 @@
 
 
 /**
- * Format a string into a vls using a varargs list.
- *
- * %s continues to be a regular null-terminated 'C' string (char *).
- * %V is a libbu variable-length string (struct bu_vls *).
- *
- * Other format specifiers should behave identical to printf().
- *
- * This routine appends to the given vls similar to how vprintf
- * appends to stdout (see bu_vls_sprintf for overwriting the vls).
- */
-BU_EXPORT extern void bu_vls_vprintf(struct bu_vls *vls,
-				     const char *fmt,
-				     va_list ap);
-
-/**
  * Format a string into a vls using standard variable arguments.
  *
  * %s continues to be a regular null-terminated 'C' string (char *).
@@ -406,7 +391,41 @@
 BU_EXPORT extern void bu_vls_substr(struct bu_vls *dest, const struct bu_vls *src,
 				    size_t begin, size_t nchars);
 
+
+/** @file libbu/vls_vprintf.c
+ *
+ @brief
+ * Variable Length Strings
+ *
+ * This structure provides support for variable length strings,
+ * freeing the programmer from concerns about having character arrays
+ * large enough to hold strings.
+ *
+ * Assumption:  libc-provided sprintf() function is safe to use in parallel,
+ * on parallel systems.
+ */
 /**
+ * Format a string into a vls using a varargs list.
+ *
+ * %s continues to be a regular null-terminated 'C' string (char *).
+ * %V is a libbu variable-length string (struct bu_vls *).
+ *
+ * Other format specifiers should behave identical to printf().
+ *
+ * This routine appends to the given vls similar to how vprintf
+ * appends to stdout (see bu_vls_sprintf for overwriting the vls).
+ */
+BU_EXPORT extern void bu_vls_vprintf(struct bu_vls *vls,
+				     const char *fmt,
+				     va_list ap);
+
+
+/** @file libbu/encode.c
+ *
+ @brief
+ * Routines to encode/decode strings into bu_vls structures.
+ */
+/**
  * given an input string, wrap the string in double quotes if there is
  * a space and append it to the provided bu_vls.  escape any existing
  * double quotes.
Index: misc/doxygen/Doxyfile.in
===================================================================
--- misc/doxygen/Doxyfile.in	(revision 63858)
+++ misc/doxygen/Doxyfile.in	(working copy)
@@ -1621,7 +1621,8 @@
                          "BU_EXPORT=" \
                          "BN_EXPORT=" \
                          "BN_EXPORT=" \
-                         "FB_EXPORT="
+                         "FB_EXPORT=" \
+                         "UNUSED(x)=x"
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
 # this tag can be used to specify a list of macro names that should be expanded.
Index: misc/doxygen/libbu.dox
===================================================================
--- misc/doxygen/libbu.dox	(revision 63858)
+++ misc/doxygen/libbu.dox	(working copy)
@@ -60,7 +60,7 @@
 
 /* Data Management */
 /** @ingroup data */
-/**   @defgroup cmd Command History */
+/**   @defgroup cmd Command Processing */
 /** @ingroup data */
 /**   @defgroup conv Data Conversion */
 /** @ingroup data */
Index: src/libbu/rb_internals.h
===================================================================
--- src/libbu/rb_internals.h	(revision 63858)
+++ src/libbu/rb_internals.h	(working copy)
@@ -121,7 +121,7 @@
  */
 extern struct bu_rb_node *rb_neighbor(struct bu_rb_node *node, int order, int sense);
 
-/** @file RB_ROTATE.c
+/** @file rb_rotate.c
  *
  * Routines to perform rotations on a red-black tree
  *
Index: src/libbu/tests/bu_redblack.c
===================================================================
--- src/libbu/tests/bu_redblack.c	(revision 63858)
+++ src/libbu/tests/bu_redblack.c	(working copy)
@@ -17,7 +17,7 @@
  * License along with this file; see the file named COPYING for more
  * information.
  */
-/** @file test_rbtree.c
+/** @file bu_redblack.c
  * Test unit for Red - Black Tree API
  */
 
Index: src/libbu/tests/bu_sscanf.c
===================================================================
--- src/libbu/tests/bu_sscanf.c	(revision 63858)
+++ src/libbu/tests/bu_sscanf.c	(working copy)
@@ -17,7 +17,7 @@
  * License along with this file; see the file named COPYING for more
  * information.
  */
-/** @file test_sscanf.c
+/** @file bu_sscanf.c
  *
  * Test bu_sscanf routine.
  *
Index: src/libbu/vfont.h
===================================================================
--- src/libbu/vfont.h	(revision 63858)
+++ src/libbu/vfont.h	(working copy)
@@ -17,7 +17,7 @@
  * License along with this file; see the file named COPYING for more
  * information.
  */
-/** @file vfont.h
+/** @file libbu/vfont.h
  *
  * Header file for putting fonts up.
  *
