groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 02/02: src: Fix `quote style' in comments and plaintext.


From: G. Branden Robinson
Subject: [groff] 02/02: src: Fix `quote style' in comments and plaintext.
Date: Thu, 9 Nov 2017 17:59:34 -0500 (EST)

gbranden pushed a commit to branch master
in repository groff.

commit ff4c3c11845aa56ddd08ae642556ce4af3419dd0
Author: G. Branden Robinson <address@hidden>
Date:   Thu Nov 9 17:42:00 2017 -0500

    src: Fix `quote style' in comments and plaintext.
    
    * src/include/include.am:
    * src/libs/libbib/libbib.am:
    * src/libs/libdriver/libdriver.am:
    * src/libs/libgroff/libgroff.am:
    * src/libs/libxutil/libxutil.am:
    * src/roff/groff/groff.am:
    * src/roff/grog/grog.am:
    * src/roff/troff/troff.am:
    * src/utils/addftinfo/addftinfo.am:
    * src/utils/afmtodit/afmtodit.am:
    * src/utils/hpftodit/hpftodit.am:
      + Update and parallelize editor aid comments.
    
    * src/include/font.h:
    * src/libs/libdriver/input.cpp:
    * src/libs/libgroff/glyphuni.cpp
    * src/libs/libgroff/quotearg.c:
    * src/libs/libgroff/spawnvp.c:
    * src/preproc/grn/main.cpp:
    * src/preproc/pic/object.cpp:
    * src/roff/troff/dictionary.cpp:
    * src/roff/troff/div.cpp:
    * src/roff/troff/token.h:
    * src/roff/troff/troff.am:
      + Remove trailing whitespace from lines near other changes.
    
    Signed-off-by: G. Branden Robinson <address@hidden>
---
 src/devices/grohtml/html-table.h        |   2 +-
 src/devices/grohtml/html-text.cpp       |   2 +-
 src/devices/grohtml/post-html.cpp       |   8 +-
 src/devices/grops/ps.cpp                |   2 +-
 src/devices/grops/ps.h                  |   2 +-
 src/devices/grops/psfig.diff            |   2 +-
 src/devices/grops/psrm.cpp              |   2 +-
 src/devices/grotty/tty.cpp              |   8 +-
 src/devices/xditview/DviP.h             |   2 +-
 src/devices/xditview/ad2c               |   2 +-
 src/devices/xditview/device.c           |   2 +-
 src/devices/xditview/draw.c             |   4 +-
 src/include/device.h                    |   4 +-
 src/include/font.h                      | 110 +++++++++++++--------------
 src/include/getopt.h                    |  52 ++++++-------
 src/include/getopt_int.h                |  14 ++--
 src/include/include.am                  |  12 ++-
 src/include/itable.h                    |  16 ++--
 src/include/nonposix.h                  |   8 +-
 src/include/printer.h                   |  10 +--
 src/include/ptable.h                    |  20 ++---
 src/include/unicode.h                   |  22 +++---
 src/libs/libbib/libbib.am               |  12 ++-
 src/libs/libdriver/input.cpp            | 130 ++++++++++++++++----------------
 src/libs/libdriver/libdriver.am         |  12 ++-
 src/libs/libgroff/color.cpp             |   6 +-
 src/libs/libgroff/font.cpp              |   4 +-
 src/libs/libgroff/getopt.c              |  64 ++++++++--------
 src/libs/libgroff/glyphuni.cpp          |  14 ++--
 src/libs/libgroff/htmlhint.cpp          |   2 +-
 src/libs/libgroff/libgroff.am           |   6 +-
 src/libs/libgroff/make-uniuni           |   2 +-
 src/libs/libgroff/nametoindex.cpp       |   6 +-
 src/libs/libgroff/putenv.c              |   2 +-
 src/libs/libgroff/quotearg.c            |  22 +++---
 src/libs/libgroff/relocate.cpp          |   2 +-
 src/libs/libgroff/spawnvp.c             |  26 +++----
 src/libs/libgroff/uniglyph.cpp          |   2 +-
 src/libs/libxutil/libxutil.am           |  12 ++-
 src/preproc/eqn/box.cpp                 |   2 +-
 src/preproc/eqn/eqn.ypp                 |   4 +-
 src/preproc/eqn/lex.cpp                 |   2 +-
 src/preproc/eqn/main.cpp                |   2 +-
 src/preproc/eqn/script.cpp              |   4 +-
 src/preproc/eqn/text.cpp                |   2 +-
 src/preproc/grn/README                  |  10 +--
 src/preproc/grn/hgraph.cpp              |  28 +++----
 src/preproc/grn/main.cpp                |  76 +++++++++----------
 src/preproc/html/pre-html.cpp           |  70 ++++++++---------
 src/preproc/pic/TODO                    |   4 +-
 src/preproc/pic/lex.cpp                 |   2 +-
 src/preproc/pic/main.cpp                |   2 +-
 src/preproc/pic/object.cpp              |  18 ++---
 src/preproc/pic/pic.ypp                 |  10 +--
 src/preproc/pic/troff.cpp               |   2 +-
 src/preproc/preconv/preconv.cpp         |  40 +++++-----
 src/preproc/refer/TODO                  |   6 +-
 src/preproc/refer/label.ypp             |   4 +-
 src/preproc/refer/ref.cpp               |   2 +-
 src/preproc/tbl/main.cpp                |   8 +-
 src/preproc/tbl/table.cpp               |   6 +-
 src/roff/groff/groff.am                 |  10 ++-
 src/roff/groff/pipeline.c               |  10 +--
 src/roff/grog/grog.am                   |  16 ++--
 src/roff/grog/grog.pl                   |  10 +--
 src/roff/grog/subs.pl                   |  54 ++++++-------
 src/roff/nroff/nroff.sh                 |  22 +++---
 src/roff/troff/TODO                     |   4 +-
 src/roff/troff/charinfo.h               |   4 +-
 src/roff/troff/dictionary.cpp           |   4 +-
 src/roff/troff/div.cpp                  |   8 +-
 src/roff/troff/env.cpp                  |  24 +++---
 src/roff/troff/input.cpp                |  10 +--
 src/roff/troff/mtsm.cpp                 |   2 +-
 src/roff/troff/node.cpp                 |   6 +-
 src/roff/troff/number.cpp               |   4 +-
 src/roff/troff/token.h                  |   8 +-
 src/roff/troff/troff.am                 |   8 +-
 src/utils/addftinfo/addftinfo.am        |  12 ++-
 src/utils/afmtodit/afmtodit.am          |   8 +-
 src/utils/afmtodit/afmtodit.pl          |  16 ++--
 src/utils/afmtodit/afmtodit.tables      |   2 +-
 src/utils/afmtodit/make-afmtodit-tables |   8 +-
 src/utils/hpftodit/hpftodit.am          |  12 ++-
 src/utils/lkbib/lkbib.cpp               |   2 +-
 src/utils/lookbib/lookbib.cpp           |   2 +-
 src/utils/tfmtodit/tfmtodit.cpp         |  26 +++----
 src/utils/xtotroff/xtotroff.c           |   2 +-
 88 files changed, 636 insertions(+), 592 deletions(-)

diff --git a/src/devices/grohtml/html-table.h b/src/devices/grohtml/html-table.h
index 3493c10..b4fe23a 100644
--- a/src/devices/grohtml/html-table.h
+++ b/src/devices/grohtml/html-table.h
@@ -101,7 +101,7 @@ private:
   cols          *columns;      /* column entries */
   int            linelength;
   cols          *last_col;     /* last column started */
-  int            start_space;  /* have we seen a `.sp' tag? */
+  int            start_space;  /* have we seen a '.sp' tag? */
 
   void  remove_cols (cols *c);
 };
diff --git a/src/devices/grohtml/html-text.cpp 
b/src/devices/grohtml/html-text.cpp
index af3e337..beff603 100644
--- a/src/devices/grohtml/html-text.cpp
+++ b/src/devices/grohtml/html-text.cpp
@@ -756,7 +756,7 @@ html_indent *html_text::remove_indent (HTML_TAG tag)
 
 /*
  *  remove_para_space - removes the leading space to a paragraph
- *                      (effectively this trims off a leading `.sp' tag).
+ *                      (effectively this trims off a leading '.sp' tag).
  */
 
 void html_text::remove_para_space (void)
diff --git a/src/devices/grohtml/post-html.cpp 
b/src/devices/grohtml/post-html.cpp
index 7778b3a..d439735 100644
--- a/src/devices/grohtml/post-html.cpp
+++ b/src/devices/grohtml/post-html.cpp
@@ -80,7 +80,7 @@ static int manufacture_headings = FALSE;             /* 
default is to use the Hn
                                                      /* rather than 
manufacture our own.         */
 static color *default_background = NULL;             /* has user requested 
initial bg color?     */
 static string job_name;                              /* if set then the output 
is split into     */
-                                                     /* multiple files with 
`job_name'-%d.html   */
+                                                     /* multiple files with 
'job_name'-%d.html   */
 static int multiple_files = FALSE;                   /* must we the output be 
divided into       */
                                                      /* multiple html files, 
one for each        */
                                                      /* heading?               
                  */
@@ -2867,7 +2867,7 @@ void html_printer::do_eol (void)
 }
 
 /*
- *  do_check_center - checks to see whether we have seen a `.ce' tag
+ *  do_check_center - checks to see whether we have seen a '.ce' tag
  *                    during the previous line.
  */
 
@@ -4821,7 +4821,7 @@ void html_printer::write_title (int in_head)
       }
     }
   } else if (in_head) {
-    // place empty title tags to help conform to `tidy'
+    // place empty title tags to help conform to 'tidy'
     html.put_string("<title></title>").nl();
   }
 }
@@ -5365,7 +5365,7 @@ void html_printer::special(char *s, const environment 
*env, char type)
 }
 
 /*
- *  devtag - handles device troff tags sent from the `troff'.
+ *  devtag - handles device troff tags sent from the 'troff'.
  *           These include the troff state machine tags:
  *           .br, .sp, .in, .tl, .ll etc
  *
diff --git a/src/devices/grops/ps.cpp b/src/devices/grops/ps.cpp
index 5c548a8..597e751 100644
--- a/src/devices/grops/ps.cpp
+++ b/src/devices/grops/ps.cpp
@@ -595,7 +595,7 @@ public:
   void end_of_line();
 };
 
-// `pl' is in inches
+// 'pl' is in inches
 ps_printer::ps_printer(double pl)
 : out(0, MAX_LINE_LENGTH),
   pages_output(0),
diff --git a/src/devices/grops/ps.h b/src/devices/grops/ps.h
index 51ec570..c8f2008 100644
--- a/src/devices/grops/ps.h
+++ b/src/devices/grops/ps.h
@@ -52,7 +52,7 @@ inline FILE *ps_output::get_file()
   return fp;
 }
 
-// this must stay in sync with `resource_table' in `psrm.cpp'
+// this must stay in sync with 'resource_table' in 'psrm.cpp'
 enum resource_type {
   RESOURCE_FONT,
   RESOURCE_FONTSET,
diff --git a/src/devices/grops/psfig.diff b/src/devices/grops/psfig.diff
index 5be080d..4e0d1f9 100644
--- a/src/devices/grops/psfig.diff
+++ b/src/devices/grops/psfig.diff
@@ -5,7 +5,7 @@ work only with groff, so you might want to install it under a
 different name.  The output of this psfig must be processed using the
 macros in the file ../tmac/tmac.psfig.  These will automatically add
 the necessary PostScript code to the prologue output by grops.  Use of
-the `global' feature in psfig will result in non-conformant PostScript
+the 'global' feature in psfig will result in non-conformant PostScript
 which will fail if processed by a page reversal program.  Note that
 psfig is unsupported by me (I'm not interested in hearing about psfig
 problems.)  For new documents, I recommend using the PostScript
diff --git a/src/devices/grops/psrm.cpp b/src/devices/grops/psrm.cpp
index 7ab13cb..730175c 100644
--- a/src/devices/grops/psrm.cpp
+++ b/src/devices/grops/psrm.cpp
@@ -85,7 +85,7 @@ const char *extension_table[] = {
 
 const int NEXTENSIONS = sizeof(extension_table)/sizeof(extension_table[0]);
 
-// this must stay in sync with `resource_type' in `ps.h'
+// this must stay in sync with 'resource_type' in 'ps.h'
 const char *resource_table[] = {
   "font",
   "fontset",
diff --git a/src/devices/grotty/tty.cpp b/src/devices/grotty/tty.cpp
index 77abfb6..4f54d0c 100644
--- a/src/devices/grotty/tty.cpp
+++ b/src/devices/grotty/tty.cpp
@@ -93,9 +93,9 @@ static unsigned char bold_underline_mode;
 #define SGR_NO_UNDERLINE CSI "24m"
 #define SGR_REVERSE CSI "7m"
 #define SGR_NO_REVERSE CSI "27m"
-// many terminals can't handle `CSI 39 m' and `CSI 49 m' to reset
+// many terminals can't handle 'CSI 39 m' and 'CSI 49 m' to reset
 // the foreground and background color, respectively; we thus use
-// `CSI 0 m' exclusively
+// 'CSI 0 m' exclusively
 #define SGR_DEFAULT CSI "0m"
 
 #define DEFAULT_COLOR_IDX -1
@@ -625,9 +625,9 @@ void tty_printer::put_color(schar color_index, int back)
 
 // The possible Unicode combinations for crossing characters.
 //
-// `  ' = 0, ` -' = 4, `- ' = 8, `--' = 12,
+// '  ' = 0, ' -' = 4, '- ' = 8, '--' = 12,
 //
-// `  ' = 0, ` ' = 1, `|' = 2, `|' = 3
+// '  ' = 0, ' ' = 1, '|' = 2, '|' = 3
 //            |                 |
 
 static output_character crossings[4*4] = {
diff --git a/src/devices/xditview/DviP.h b/src/devices/xditview/DviP.h
index 545661c..cfd05cb 100644
--- a/src/devices/xditview/DviP.h
+++ b/src/devices/xditview/DviP.h
@@ -132,7 +132,7 @@ typedef struct {
        XFontStruct     *default_font;
        FILE            *file;
        Boolean         noPolyText;
-       Boolean         seek;           /* file is `seekable' */
+       Boolean         seek;           /* file is 'seekable' */
        int             default_resolution;
        /*
         * private state
diff --git a/src/devices/xditview/ad2c b/src/devices/xditview/ad2c
index ad5d121..2ec45ed 100644
--- a/src/devices/xditview/ad2c
+++ b/src/devices/xditview/ad2c
@@ -18,7 +18,7 @@
 #              some versions of sed don't like them. The comments are
 #              now given here in the header.
 #      31 May 2004: Werner Lemberg <address@hidden>
-#              Force casts to `String'.
+#              Force casts to 'String'.
 #
 # Comments on the script by line:
 # /^!/d                Remove comments
diff --git a/src/devices/xditview/device.c b/src/devices/xditview/device.c
index 2226f62..1eaafbe 100644
--- a/src/devices/xditview/device.c
+++ b/src/devices/xditview/device.c
@@ -26,7 +26,7 @@ searching for device and font description files. */
 #define WS " \t\r\n"
 
 #ifndef INT_MIN
-/* Minimum and maximum values a `signed int' can hold.  */
+/* Minimum and maximum values a 'signed int' can hold.  */
 #define INT_MIN (-INT_MAX-1)
 #define INT_MAX 2147483647
 #endif
diff --git a/src/devices/xditview/draw.c b/src/devices/xditview/draw.c
index fe480d6..4729c37 100644
--- a/src/devices/xditview/draw.c
+++ b/src/devices/xditview/draw.c
@@ -144,7 +144,7 @@ int charExists (XFontStruct *fi, int c)
 {
        XCharStruct *p;
 
-       /* `c' is always >= 0 */
+       /* 'c' is always >= 0 */
        if (fi->per_char == NULL
            || (unsigned int)c < fi->min_char_or_byte2
            || (unsigned int)c > fi->max_char_or_byte2)
@@ -154,7 +154,7 @@ int charExists (XFontStruct *fi, int c)
                || p->ascent != 0 || p->descent != 0 || p->attributes != 0);
 }
 
-/* `wid' is in device units */
+/* 'wid' is in device units */
 static void
 DoCharacter (DviWidget dw, int c, int wid)
 {
diff --git a/src/include/device.h b/src/include/device.h
index c83c9b8..bc78fa1 100644
--- a/src/include/device.h
+++ b/src/include/device.h
@@ -18,8 +18,8 @@ You should have received a copy of the GNU General Public 
License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
 // The target device.  Once initialized, the device doesn't change during
-// the entire program run.  Sample devices are `ps' (for Postscript), `html'
-// (for HTML), and `ascii', `latin1', `utf8' for TTY output.
+// the entire program run.  Sample devices are 'ps' (for Postscript), 'html'
+// (for HTML), and 'ascii', 'latin1', 'utf8' for TTY output.
 extern const char *device;
 
 // end of device.h
diff --git a/src/include/font.h b/src/include/font.h
index 420a6ab..94d43a7 100644
--- a/src/include/font.h
+++ b/src/include/font.h
@@ -24,22 +24,22 @@ typedef void (*FONT_COMMAND_HANDLER)(const char *,  // 
command
                                     const char *,      // file
                                     int);              // lineno
 
-// A glyph is represented by a font-independent `glyph *' pointer.
+// A glyph is represented by a font-independent 'glyph *' pointer.
 // The functions name_to_glyph and number_to_glyph return such a pointer.
 //
 // There are two types of glyphs:
 //
 //   - those with a name, and among these in particular:
-//     `charNNN' denoting a single `char' in the input character set,
-//     `uXXXX' denoting a Unicode character,
+//     'charNNN' denoting a single 'char' in the input character set,
+//     'uXXXX' denoting a Unicode character,
 //
 //   - those with a number, referring to the font-dependent glyph with
 //     the given number.
 
 // The statically allocated information about a glyph.
 //
-// This is an abstract class; only its subclass `charinfo' is instantiated.
-// `charinfo' exists in two versions: one in roff/troff/input.cpp for troff,
+// This is an abstract class; only its subclass 'charinfo' is instantiated.
+// 'charinfo' exists in two versions: one in roff/troff/input.cpp for troff,
 // and one in libs/libgroff/nametoindex.cpp for the preprocessors and the
 // postprocessors.
 struct glyph {
@@ -55,14 +55,14 @@ struct glyph {
 // libs/libgroff/nametoindex.cpp for the preprocessors and the
 // postprocessors.
 extern glyph *name_to_glyph(const char *);     // Convert the glyph with
-                       // the given name (arg1) to a `glyph' object.  This
+                       // the given name (arg1) to a 'glyph' object.  This
                        // has the same semantics as the groff escape sequence
-                       // \C'name'.  If such a `glyph' object does not yet
+                       // \C'name'.  If such a 'glyph' object does not yet
                        // exist, a new one is allocated.
 extern glyph *number_to_glyph(int);    // Convert the font-dependent glyph
-                       // with the given number (in the font) to a `glyph'
+                       // with the given number (in the font) to a 'glyph'
                        // object.  This has the same semantics as the groff
-                       // escape sequence \N'number'.  If such a `glyph'
+                       // escape sequence \N'number'.  If such a 'glyph'
                        // object does not yet exist, a new one is allocated.
 extern const char *glyph_to_name(glyph *);     // Convert the given glyph
                        // back to its name.  Return NULL if the glyph
@@ -86,17 +86,17 @@ inline int glyph_to_index(glyph *g)
   return g->index;
 }
 
-// Types used in non-public members of `class font'.
+// Types used in non-public members of 'class font'.
 struct font_kern_list;
 struct font_char_metric;
 struct font_widths_cache;
 
-// A `class font' instance represents the relevant information of a font of
+// A 'class font' instance represents the relevant information of a font of
 // the given device.  This includes the set of glyphs represented by the
 // font, and metrics for each glyph.
 class font {
 public:
-  enum {               // The valid argument values of `has_ligature'.
+  enum {               // The valid argument values of 'has_ligature'.
     LIG_ff = 1,
     LIG_fi = 2,
     LIG_fl = 4,
@@ -107,8 +107,8 @@ public:
   virtual ~font();     // Destructor.
   int contains(glyph *);       // Return 1 if this font contains the given
                        // glyph, 0 otherwise.
-  int is_special();    // Return 1 if this font is special, 0 otherwise. 
-                       // See section `Special Fonts' in the info file of
+  int is_special();    // Return 1 if this font is special, 0 otherwise.
+                       // See section 'Special Fonts' in the info file of
                        // groff.  Used by make_glyph_node().
   int get_width(glyph *, int); // A rectangle represents the shape of the
                        // given glyph (arg1) at the given point size
@@ -118,14 +118,14 @@ public:
                        // given glyph (arg1) at the given point size
                        // (arg2).  Return the distance between the base
                        // line and the top of this rectangle.
-                       // This is often also called the `ascent' of the
+                       // This is often also called the 'ascent' of the
                        // glyph.  If the top is above the base line, this
                        // value is positive.
   int get_depth(glyph *, int); // A rectangle represents the shape of the
                        // given glyph (arg1) at the given point size
                        // (arg2).  Return the distance between the base
-                       // line and the bottom of this rectangle. 
-                       // This is often also called the `descent' of the
+                       // line and the bottom of this rectangle.
+                       // This is often also called the 'descent' of the
                        // glyph.  If the bottom is below the base line,
                        // this value is positive.
   int get_space_width(int);    // Return the normal width of a space at the
@@ -134,7 +134,7 @@ public:
                        // shape of the given glyph.  Bit 0 is set if the
                        // character has a descender.  Bit 1 is set if the
                        // character has a tall glyph.  See groff manual,
-                       // description of \w and the `ct' register.
+                       // description of \w and the 'ct' register.
   int get_kern(glyph *, glyph *, int); // Return the kerning between the
                        // given glyphs (arg1 and arg2), both at the given
                        // point size (arg3).
@@ -178,7 +178,7 @@ public:
                        // subscript glyph, the horizontal position may need
                        // to be advanced by some (possibly negative)
                        // amount.  See groff manual, description of \w and
-                       // the `ssc' register.  Return this amount.
+                       // the 'ssc' register.  Return this amount.
   void set_zoom(int);  // Set the font's zoom factor * 1000.  Must be a
                        // non-negative value.
   int get_zoom();      // Return the font's zoom factor * 1000.
@@ -189,27 +189,27 @@ public:
                        // glyph.  Return NULL if there is no special
                        // information.
   const char *get_name();      // Return the name of this font.
-  const char *get_internal_name();     // Return the `internalname'
+  const char *get_internal_name();     // Return the 'internalname'
                        // attribute of this font.  Return NULL if it has
                        // none.
-  const char *get_image_generator();   // Return the `image_generator'
+  const char *get_image_generator();   // Return the 'image_generator'
                        // attribute of this font.  Return NULL if it has
                        // none.
   static int scan_papersize(const char *, const char **,
                            double *, double *);        // Parse the
-                       // `papersize' attribute in a DESC file (given in
+                       // 'papersize' attribute in a DESC file (given in
                        // arg1).  Return the name of the size (in arg2),
-                       // and the length and width (in arg3 and arg4). 
+                       // and the length and width (in arg3 and arg4).
                        // Return 1 in case of success, 0 otherwise.
   static font *load_font(const char *, int * = 0, int = 0);    // Load the
                        // font description file with the given name (arg1)
-                       // and return it as a `font' class.  If arg2 points
+                       // and return it as a 'font' class.  If arg2 points
                        // to an integer variable, set it to 1 if the file
-                       // is not found, without emitting an error message. 
+                       // is not found, without emitting an error message.
                        // If arg2 is NULL, print an error message if the
                        // file is not found.  If arg3 is nonzero, only the
                        // part of the font description file before the
-                       // `charset' and `kernpairs' sections is loaded. 
+                       // 'charset' and 'kernpairs' sections is loaded.
                        // Return NULL in case of failure.
   static void command_line_font_dir(const char *);     // Prepend given
                        // path (arg1) to the list of directories in which
@@ -229,60 +229,60 @@ public:
                        // a function which defines the semantics of
                        // arbitrary commands in the font DESC file.
   // Now the variables from the DESC file, shared by all fonts.
-  static int res;      // The `res' attribute given in the DESC file.
-  static int hor;      // The `hor' attribute given in the DESC file.
-  static int vert;     // The `vert' attribute given in the DESC file.
-  static int unitwidth;        // The `unitwidth' attribute given in the DESC 
file.
-  static int paperwidth;       // The `paperwidth' attribute given in the
-                       // DESC file, or derived from the `papersize'
+  static int res;      // The 'res' attribute given in the DESC file.
+  static int hor;      // The 'hor' attribute given in the DESC file.
+  static int vert;     // The 'vert' attribute given in the DESC file.
+  static int unitwidth;        // The 'unitwidth' attribute given in the DESC 
file.
+  static int paperwidth;       // The 'paperwidth' attribute given in the
+                       // DESC file, or derived from the 'papersize'
                        // attribute given in the DESC file.
-  static int paperlength;      // The `paperlength' attribute given in the
-                       // DESC file, or derived from the `papersize'
+  static int paperlength;      // The 'paperlength' attribute given in the
+                       // DESC file, or derived from the 'papersize'
                        // attribute given in the DESC file.
   static const char *papersize;
-  static int biggestfont;      // The `biggestfont' attribute given in the
+  static int biggestfont;      // The 'biggestfont' attribute given in the
                        // DESC file.
   static int spare2;
-  static int sizescale;        // The `sizescale' attribute given in the DESC 
file.
-  static int tcommand;  // Nonzero if the DESC file has the `tcommand'
+  static int sizescale;        // The 'sizescale' attribute given in the DESC 
file.
+  static int tcommand;  // Nonzero if the DESC file has the 'tcommand'
                        // attribute.
   static int unscaled_charwidths;      // Nonzero if the DESC file has the
-                       // `unscaled_charwidths' attribute.
+                       // 'unscaled_charwidths' attribute.
   static int pass_filenames;   // Nonzero if the DESC file has the
-                       // `pass_filenames' attribute.
+                       // 'pass_filenames' attribute.
   static int use_charnames_in_special; // Nonzero if the DESC file has the
-                       // `use_charnames_in_special' attribute.
-  static int is_unicode; // Nonzero if the DESC file has the `unicode'
+                       // 'use_charnames_in_special' attribute.
+  static int is_unicode; // Nonzero if the DESC file has the 'unicode'
                        // attribute.
-  static const char *image_generator;  // The `image_generator' attribute
+  static const char *image_generator;  // The 'image_generator' attribute
                        // given in the DESC file.
-  static const char **font_name_table; // The `fonts' attribute given in
+  static const char **font_name_table; // The 'fonts' attribute given in
                        // the DESC file, as a NULL-terminated array of
                        // strings.
-  static const char **style_table;     // The `styles' attribute given in
+  static const char **style_table;     // The 'styles' attribute given in
                        // the DESC file, as a NULL-terminated array of
                        // strings.
-  static const char *family;   // The `family' attribute given in the DESC
+  static const char *family;   // The 'family' attribute given in the DESC
                        // file.
-  static int *sizes;   // The `sizes' attribute given in the DESC file, as
+  static int *sizes;   // The 'sizes' attribute given in the DESC file, as
                        // an array of intervals of the form { lower1,
                        // upper1, ... lowerN, upperN, 0 }.
 
 private:
   unsigned ligatures;  // Bit mask of available ligatures.  Used by
                        // has_ligature().
-  font_kern_list **kern_hash_table;    // Hash table of kerning pairs. 
+  font_kern_list **kern_hash_table;    // Hash table of kerning pairs.
                        // Used by get_kern().
   int space_width;     // The normal width of a space.  Used by
                        // get_space_width().
   int special;         // 1 if this font is special, 0 otherwise.  Used by
                        // is_special().
   char *name;          // The name of this font.  Used by get_name().
-  char *internalname;  // The `internalname' attribute of this font, or
+  char *internalname;  // The 'internalname' attribute of this font, or
                        // NULL.  Used by get_internal_name().
   double slant;                // The natural slant angle (in degrees) of this 
font.
   int zoom;            // The font's magnification, multiplied by 1000.
-                       // Used by scale().  A zero value means `no zoom'.
+                       // Used by scale().  A zero value means 'no zoom'.
   int *ch_index;       // Conversion table from font-independent character
                        // indices to indices for this particular font.
   int nindices;
@@ -319,9 +319,9 @@ private:
   /* Returns w * pointsize / unitwidth, rounded to the nearest integer.  */
   int scale(int w, int pointsize);
   static int unit_scale(double *, char); // Convert value in arg1 from the
-                       // given unit (arg2; possible values are `i', `c',
-                       // `p', and `P' as documented in the info file of
-                       // groff, section `Measurements') to inches.  Store
+                       // given unit (arg2; possible values are 'i', 'c',
+                       // 'p', and 'P' as documented in the info file of
+                       // groff, section 'Measurements') to inches.  Store
                        // the result in arg1 and return 1.  If the unit is
                        // invalid, return 0.
   virtual void handle_unknown_font_command(const char *,       // command
@@ -337,10 +337,10 @@ protected:
                        // object.  If arg1 points to an integer variable,
                        // set it to 1 if the file is not found, without
                        // emitting an error message.  If arg1 is NULL,
-                       // print an error message if the file is not found. 
+                       // print an error message if the file is not found.
                        // If arg2 is nonzero, only the part of the font
-                       // description file before the `charset' and
-                       // `kernpairs' sections is loaded.  Return NULL in
+                       // description file before the 'charset' and
+                       // 'kernpairs' sections is loaded.  Return NULL in
                        // case of failure.
 };
 
diff --git a/src/include/getopt.h b/src/include/getopt.h
index 1dbb2a3..0a738a6 100644
--- a/src/include/getopt.h
+++ b/src/include/getopt.h
@@ -62,7 +62,7 @@
    getopt_long_only can permute argv; this is required for backward
    compatibility (e.g., for LSB 2.0.1).
 
-   This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt',
+   This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt',
    but it caused redefinition warnings if both unistd.h and getopt.h were
    included, since unistd.h includes getopt.h having previously defined
    __need_getopt.
@@ -106,29 +106,29 @@
 extern "C" {
 #endif
 
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
+/* For communication from 'getopt' to the caller.
+   When 'getopt' finds an option that takes an argument,
    the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
+   Also, when 'ordering' is RETURN_IN_ORDER,
    each non-option ARGV-element is returned here.  */
 
 extern char *optarg;
 
 /* Index in ARGV of the next element to be scanned.
    This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
+   and for communication between successive calls to 'getopt'.
 
-   On entry to `getopt', zero means this is the first call; initialize.
+   On entry to 'getopt', zero means this is the first call; initialize.
 
-   When `getopt' returns -1, this is the index of the first of the
+   When 'getopt' returns -1, this is the index of the first of the
    non-option elements that the caller should itself scan.
 
-   Otherwise, `optind' communicates from one call to the next
+   Otherwise, 'optind' communicates from one call to the next
    how much of ARGV has been scanned so far.  */
 
 extern int optind;
 
-/* Callers store zero here to inhibit the error message `getopt' prints
+/* Callers store zero here to inhibit the error message 'getopt' prints
    for unrecognized options.  */
 
 extern int opterr;
@@ -140,24 +140,24 @@ extern int optopt;
 #ifndef __need_getopt
 /* Describe the long-named options requested by the application.
    The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of `struct option' terminated by an element containing a name which is
+   of 'struct option' terminated by an element containing a name which is
    zero.
 
-   The field `has_arg' is:
+   The field 'has_arg' is:
    no_argument         (or 0) if the option does not take an argument,
    required_argument   (or 1) if the option requires an argument,
    optional_argument   (or 2) if the option takes an optional argument.
 
-   If the field `flag' is not NULL, it points to a variable that is set
-   to the value given in the field `val' when the option is found, but
+   If the field 'flag' is not NULL, it points to a variable that is set
+   to the value given in the field 'val' when the option is found, but
    left unchanged if the option is not found.
 
-   To have a long-named option do something other than set an `int' to
-   a compiled-in constant, such as set a value from `optarg', set the
-   option's `flag' field to zero and its `val' field to a nonzero
+   To have a long-named option do something other than set an 'int' to
+   a compiled-in constant, such as set a value from 'optarg', set the
+   option's 'flag' field to zero and its 'val' field to a nonzero
    value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero `flag' field, `getopt'
-   returns the contents of the `val' field.  */
+   one).  For long options that have a zero 'flag' field, 'getopt'
+   returns the contents of the 'val' field.  */
 
 struct option
 {
@@ -169,7 +169,7 @@ struct option
   int val;
 };
 
-/* Names for the values of the `has_arg' field of `struct option'.  */
+/* Names for the values of the 'has_arg' field of 'struct option'.  */
 
 # define no_argument           0
 # define required_argument     1
@@ -183,23 +183,23 @@ struct option
 
    Return the option character from OPTS just read.  Return -1 when
    there are no more options.  For unrecognized options, or options
-   missing arguments, `optopt' is set to the option letter, and '?' is
+   missing arguments, 'optopt' is set to the option letter, and '?' is
    returned.
 
    The OPTS string is a list of characters which are recognized option
    letters, optionally followed by colons, specifying that that letter
-   takes an argument, to be placed in `optarg'.
+   takes an argument, to be placed in 'optarg'.
 
    If a letter in OPTS is followed by two colons, its argument is
-   optional.  This behavior is specific to the GNU `getopt'.
+   optional.  This behavior is specific to the GNU 'getopt'.
 
-   The argument `--' causes premature termination of argument
-   scanning, explicitly telling `getopt' that there are no more
+   The argument '--' causes premature termination of argument
+   scanning, explicitly telling 'getopt' that there are no more
    options.
 
-   If OPTS begins with `--', then non-option arguments are treated as
+   If OPTS begins with '--', then non-option arguments are treated as
    arguments to the option '\0'.  This behavior is specific to the GNU
-   `getopt'.  */
+   'getopt'.  */
 
 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
        __THROW;
diff --git a/src/include/getopt_int.h b/src/include/getopt_int.h
index 65f6a35..078fe7f 100644
--- a/src/include/getopt_int.h
+++ b/src/include/getopt_int.h
@@ -62,7 +62,7 @@ struct _getopt_data
      stop option processing when the first non-option is seen.
      This is what Unix does.
      This mode of operation is selected by either setting the environment
-     variable POSIXLY_CORRECT, or using `+' as the first character
+     variable POSIXLY_CORRECT, or using '+' as the first character
      of the list of option characters, or by calling getopt.
 
      PERMUTE is the default.  We permute the contents of ARGV as we
@@ -74,12 +74,12 @@ struct _getopt_data
      written to expect options and other ARGV-elements in any order
      and that care about the ordering of the two.  We describe each
      non-option ARGV-element as if it were the argument of an option
-     with character code 1.  Using `-' as the first character of the
+     with character code 1.  Using '-' as the first character of the
      list of option characters selects this mode of operation.
 
-     The special argument `--' forces an end of option-scanning regardless
-     of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
-     `--' can cause `getopt' to return -1 with `optind' != ARGC.  */
+     The special argument '--' forces an end of option-scanning regardless
+     of the value of 'ordering'.  In the case of RETURN_IN_ORDER, only
+     '--' can cause 'getopt' to return -1 with 'optind' != ARGC.  */
 
   enum
     {
@@ -94,8 +94,8 @@ struct _getopt_data
   /* Handle permutation of arguments.  */
 
   /* Describe the part of ARGV that contains non-options that have
-     been skipped.  `first_nonopt' is the index in ARGV of the first
-     of them; `last_nonopt' is the index after the last of them.  */
+     been skipped.  'first_nonopt' is the index in ARGV of the first
+     of them; 'last_nonopt' is the index after the last of them.  */
 
   int __first_nonopt;
   int __last_nonopt;
diff --git a/src/include/include.am b/src/include/include.am
index e3e7b6f..89ac8ed 100644
--- a/src/include/include.am
+++ b/src/include/include.am
@@ -1,4 +1,4 @@
-# Automake rules for `include'
+# Automake rules for 'include'
 #
 # File position: <groff-source>/src/include/include.am
 #
@@ -6,12 +6,12 @@
 #
 # Latest update: 13 Aug 2015
 #
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 2 of the License, or
 # (at your option) any later version.
 #
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -45,7 +45,11 @@ dist_include:
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/include/itable.h b/src/include/itable.h
index 173eec6..2d436e6 100644
--- a/src/include/itable.h
+++ b/src/include/itable.h
@@ -27,14 +27,14 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 # define name2x(a,b) a ## b
 #endif /* not TRADITIONAL_CPP */
 
-// `class ITABLE(T)' is the type of a hash table mapping an integer (int >= 0)
+// 'class ITABLE(T)' is the type of a hash table mapping an integer (int >= 0)
 // to an object of type T.
 //
-// `struct IASSOC(T)' is the type of a association (pair) between an integer
+// 'struct IASSOC(T)' is the type of a association (pair) between an integer
 // (int >= 0) and an object of type T.
 //
-// `class ITABLE_ITERATOR(T)' is the type of an iterator iterating through a
-// `class ITABLE(T)'.
+// 'class ITABLE_ITERATOR(T)' is the type of an iterator iterating through a
+// 'class ITABLE(T)'.
 //
 // Nowadays one would use templates for this; this code predates the addition
 // of templates to C++.
@@ -50,8 +50,8 @@ extern unsigned next_ptable_size(unsigned);   // Return the 
first suitable
                                // value.
 #endif
 
-// Declare the types `class ITABLE(T)', `struct IASSOC(T)', and `class
-// ITABLE_ITERATOR(T)' for the type `T'.
+// Declare the types 'class ITABLE(T)', 'struct IASSOC(T)', and 'class
+// ITABLE_ITERATOR(T)' for the type 'T'.
 #define declare_itable(T)                                                    \
                                                                              \
 struct IASSOC(T) {                                                           \
@@ -100,8 +100,8 @@ public:                                                     
                      \
 // Values must be allocated by the caller (always using new[], not new)
 // and are freed by ITABLE.
 
-// Define the implementations of the members of the types `class ITABLE(T)',
-// `struct IASSOC(T)', `class ITABLE_ITERATOR(T)' for the type `T'.
+// Define the implementations of the members of the types 'class ITABLE(T)',
+// 'struct IASSOC(T)', 'class ITABLE_ITERATOR(T)' for the type 'T'.
 #define implement_itable(T)                                                  \
                                                                              \
 IASSOC(T)::IASSOC(T)()                                                       \
diff --git a/src/include/nonposix.h b/src/include/nonposix.h
index 39cbed0..37ede7c 100644
--- a/src/include/nonposix.h
+++ b/src/include/nonposix.h
@@ -133,7 +133,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 #if defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__)
 /* Win32 implementations which use the Microsoft runtime library
  * are prone to hanging when a pipe reader quits with unread data in the pipe.
- * `gtroff' avoids this, by invoking `FLUSH_INPUT_PIPE()', defined as ... */
+ * 'gtroff' avoids this, by invoking 'FLUSH_INPUT_PIPE()', defined as ... */
 # define FLUSH_INPUT_PIPE(fd)                \
  do if (!isatty(fd))                         \
  {                                           \
@@ -144,9 +144,9 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 
 /* The Microsoft runtime library also has a broken argument passing mechanism,
  * which may result in improper grouping of arguments passed to a child process
- * by the `spawn()' family of functions.  In `groff', only the `spawnvp()'
+ * by the 'spawn()' family of functions.  In 'groff', only the 'spawnvp()'
  * function is affected; we work around this defect, by substituting a
- * wrapper function in place of `spawnvp()' calls. */
+ * wrapper function in place of 'spawnvp()' calls. */
 
 # ifdef __cplusplus
   extern "C" {
@@ -164,7 +164,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 
 #else
 /* Other implementations do not suffer from Microsoft runtime bugs,
- * but `gtroff' requires a dummy definition for FLUSH_INPUT_PIPE() */
+ * but 'gtroff' requires a dummy definition for FLUSH_INPUT_PIPE() */
 # define FLUSH_INPUT_PIPE(fd)  do {} while(0)
 #endif
 
diff --git a/src/include/printer.h b/src/include/printer.h
index 391deee..7afb0ee 100644
--- a/src/include/printer.h
+++ b/src/include/printer.h
@@ -24,11 +24,11 @@
 
 /* Description
 
-   The class `printer' performs the postprocessing.  Each
-   postprocessor only needs to implement a derived class of `printer' and
-   a suitable function `make_printer' for the device-dependent tasks.
-   Then the methods of class `printer' are called automatically by
-   `do_file()' in `input.cpp'.
+   The class 'printer' performs the postprocessing.  Each
+   postprocessor only needs to implement a derived class of 'printer' and
+   a suitable function 'make_printer' for the device-dependent tasks.
+   Then the methods of class 'printer' are called automatically by
+   'do_file()' in 'input.cpp'.
 */
 
 #include "color.h"
diff --git a/src/include/ptable.h b/src/include/ptable.h
index 6263d39..ddf906f 100644
--- a/src/include/ptable.h
+++ b/src/include/ptable.h
@@ -28,14 +28,14 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 # define name2x(a,b) a ## b
 #endif /* not TRADITIONAL_CPP */
 
-// `class PTABLE(T)' is the type of a hash table mapping a string
+// 'class PTABLE(T)' is the type of a hash table mapping a string
 // (const char *) to an object of type T.
 //
-// `struct PASSOC(T)' is the type of a association (pair) between a
+// 'struct PASSOC(T)' is the type of a association (pair) between a
 // string (const char *) and an object of type T.
 //
-// `class PTABLE_ITERATOR(T)' is the type of an iterator iterating through a
-// `class PTABLE(T)'.
+// 'class PTABLE_ITERATOR(T)' is the type of an iterator iterating through a
+// 'class PTABLE(T)'.
 //
 // Nowadays one would use templates for this; this code predates the addition
 // of templates to C++.
@@ -55,8 +55,8 @@ extern unsigned long hash_string(const char *);       // 
Return a hash code of the
                                // given string.  The hash function is
                                // platform dependent.  */
 
-// Declare the types `class PTABLE(T)', `struct PASSOC(T)', and `class
-// PTABLE_ITERATOR(T)' for the type `T'.
+// Declare the types 'class PTABLE(T)', 'struct PASSOC(T)', and 'class
+// PTABLE_ITERATOR(T)' for the type 'T'.
 #define declare_ptable(T)                                                    \
                                                                              \
 struct PASSOC(T) {                                                           \
@@ -115,8 +115,8 @@ public:                                                     
                      \
 // Values must be allocated by the caller (always using new[], not new)
 // and are freed by PTABLE.
 
-// Define the implementations of the members of the types `class PTABLE(T)',
-// `struct PASSOC(T)', `class PTABLE_ITERATOR(T)' for the type `T'.
+// Define the implementations of the members of the types 'class PTABLE(T)',
+// 'struct PASSOC(T)', 'class PTABLE_ITERATOR(T)' for the type 'T'.
 #define implement_ptable(T)                                                  \
                                                                              \
 PASSOC(T)::PASSOC(T)()                                                       \
@@ -135,7 +135,7 @@ PTABLE(T)::~PTABLE(T)()                                     
                      \
   for (unsigned i = 0; i < size; i++) {                                        
      \
     free(v[i].key);                                                          \
     /* XXX leak, because we don't know whether */                            \
-    /* `free', `delete', or `delete[]' should be used */                     \
+    /* 'free', 'delete', or 'delete[]' should be used */                     \
     /* a_delete v[i].val; */                                                 \
   }                                                                          \
   a_delete v;                                                                \
@@ -151,7 +151,7 @@ const char *PTABLE(T)::define(const char *key, T *val)      
                      \
        n = (n == 0 ? size - 1 : n - 1))                                        
      \
     if (strcmp(v[n].key, key) == 0) {                                        \
       /* XXX leak, because we don't know whether */                          \
-      /* `free', `delete', or `delete[]' should be used */                   \
+      /* 'free', 'delete', or 'delete[]' should be used */                   \
       /* a_delete v[n].val; */                                               \
       v[n].val = val;                                                        \
       return v[n].key;                                                       \
diff --git a/src/include/unicode.h b/src/include/unicode.h
index 1a07ffe..0791995 100644
--- a/src/include/unicode.h
+++ b/src/include/unicode.h
@@ -20,9 +20,9 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 // Convert a groff glyph name to a string containing an underscore-separated
 // list of Unicode code points.  For example,
 //
-//   `-'   ->  `2010'
-//   `,c'  ->  `00E7'
-//   `fl'  ->  `0066_006C'
+//   '-'   ->  '2010'
+//   ',c'  ->  '00E7'
+//   'fl'  ->  '0066_006C'
 //
 // Return NULL if there is no equivalent.
 const char *glyph_name_to_unicode(const char *);
@@ -30,8 +30,8 @@ const char *glyph_name_to_unicode(const char *);
 // Convert a string containing an underscore-separated list of Unicode code
 // points to a groff glyph name.  For example,
 //
-//   `2010'       ->  `hy'
-//   `0066_006C'  ->  `fl'
+//   '2010'       ->  'hy'
+//   '0066_006C'  ->  'fl'
 //
 // Return NULL if there is no equivalent.
 const char *unicode_to_glyph_name(const char *);
@@ -41,22 +41,22 @@ const char *unicode_to_glyph_name(const char *);
 // representing its canonical decomposition.  Also perform compatibility
 // equivalent replacement.  For example,
 //
-//   `1F3A' -> `0399_0313_0300'
-//   `FA6A' -> `983B'
+//   '1F3A' -> '0399_0313_0300'
+//   'FA6A' -> '983B'
 //
 // Return NULL if there is no equivalent.
 const char *decompose_unicode(const char *);
 
 // Test whether the given string denotes a Unicode character.  It must
-// be of the form `uNNNN', obeying the following rules.
+// be of the form 'uNNNN', obeying the following rules.
 //
-//   - `NNNN' must consist of at least 4 hexadecimal digits in upper case.
+//   - 'NNNN' must consist of at least 4 hexadecimal digits in upper case.
 //   - If there are more than 4 hexadecimal digits, the leading one must not
 //     be zero,
-//   - `NNNN' must denote a valid Unicode code point (U+0000..U+10FFFF,
+//   - 'NNNN' must denote a valid Unicode code point (U+0000..U+10FFFF,
 //     excluding surrogate code points.
 //
-// Return a pointer to `NNNN' (skipping the leading `u' character) in case
+// Return a pointer to 'NNNN' (skipping the leading 'u' character) in case
 // of success, NULL otherwise.
 const char *check_unicode_name(const char *);
 
diff --git a/src/libs/libbib/libbib.am b/src/libs/libbib/libbib.am
index 9ff1450..5931728 100644
--- a/src/libs/libbib/libbib.am
+++ b/src/libs/libbib/libbib.am
@@ -1,4 +1,4 @@
-# Automake rules for `libbib'
+# Automake rules for 'libbib'
 #
 # File position: <groff-source>/src/libs/libbib/libbib.am
 #
@@ -6,12 +6,12 @@
 #
 # Latest update: 13 Aug 2015
 #
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 2 of the License, or
 # (at your option) any later version.
 #
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -33,7 +33,11 @@ src/libs/libbib/index.$(OBJEXT): defs.h
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/libs/libdriver/input.cpp b/src/libs/libdriver/input.cpp
index e17c5af..1705f7e 100644
--- a/src/libs/libdriver/input.cpp
+++ b/src/libs/libdriver/input.cpp
@@ -30,7 +30,7 @@
 
    All parsed information is processed within the function do_file().
    A device postprocessor just needs to fill in the methods for the class
-   `printer' (or rather a derived class) without having to worry about
+   'printer' (or rather a derived class) without having to worry about
    the syntax of the intermediate output format.  Consequently, the
    programming of groff postprocessors is similar to the development of
    device drivers.
@@ -48,15 +48,15 @@
    making groff fully compatible with classical troff without pain.
 
    Bugs fixed
-   - Unknown subcommands of `D' and `x' are now ignored like in the
+   - Unknown subcommands of 'D' and 'x' are now ignored like in the
      classical case, but a warning is issued.  This was also
      implemented for the other commands.
-   - A warning is emitted if `x stop' is missing.
-   - `DC' and `DE' commands didn't position to the right end after
+   - A warning is emitted if 'x stop' is missing.
+   - 'DC' and 'DE' commands didn't position to the right end after
      drawing (now they do), see discussion below.
-   - So far, `x stop' was ignored.  Now it terminates the processing
+   - So far, 'x stop' was ignored.  Now it terminates the processing
      of the current intermediate output file like the classical troff.
-   - The command `c' didn't check correctly on white-space.
+   - The command 'c' didn't check correctly on white-space.
    - The environment stack wasn't suitable for the color extensions
      (replaced by a class).
    - The old groff parser could only handle a prologue with the first
@@ -71,9 +71,9 @@
    - Range checks for numbers implemented.
 
    New and improved features
-   - The color commands `m' and `DF' are added.
-   - The old color command `Df' is now converted and delegated to `DFg'.
-   - The command `F' is implemented as `use intended file name'.  It
+   - The color commands 'm' and 'DF' are added.
+   - The old color command 'Df' is now converted and delegated to 'DFg'.
+   - The command 'F' is implemented as 'use intended file name'.  It
      checks whether its argument agrees with the file name used so far,
      otherwise a warning is issued.  Then the new name is remembered
      and used for the following error messages.
@@ -83,12 +83,12 @@
      It extends the rule of the classical troff output language in a
      logical way instead of the rather strange actual positioning.
      For details, see the discussion below.
-   - For the `D' commands that only set the environment, the calling of
+   - For the 'D' commands that only set the environment, the calling of
      pr->send_draw() was removed because this doesn't make sense for
-     the `DF' commands; the (changed) environment is sent with the
+     the 'DF' commands; the (changed) environment is sent with the
      next command anyway.
    - Error handling was clearly separated into warnings and fatal.
-   - The error behavior on additional arguments for `D' and `x'
+   - The error behavior on additional arguments for 'D' and 'x'
      commands with a fixed number of arguments was changed from being
      ignored (former groff) to issue a warning and ignore (now), see
      skip_line_x().  No fatal was chosen because both string and
@@ -100,13 +100,13 @@
    - All D commands with a variable number of args expect an even
      number of trailing integer arguments, so fatal on error was
      implemented.
-   - Disable environment stack and the commands `{' and `}' by making
+   - Disable environment stack and the commands '{' and '}' by making
      them conditional on macro USE_ENV_STACK; actually, this is
      undefined by default.  There isn't any known application for these
      features.
 
    Cosmetics
-   - Nested `switch' commands are avoided by using more functions.
+   - Nested 'switch' commands are avoided by using more functions.
      Dangerous 'fall-through's avoided.
    - Commands and functions are sorted alphabetically (where possible).
    - Dynamic arrays/buffers are now implemented as container classes.
@@ -114,55 +114,55 @@
      streamlined by using classes.
    - Use standard C math functions for number handling, so getting rid
      of differences to '0'.
-   - The macro `IntArg' has been created for an easier transition
-     to guaranteed 32 bits integers (`int' is enough for GNU, while
-     ANSI only guarantees `long int' to have a length of 32 bits).
-   - The many usages of type `int' are differentiated by using `Char',
-     `bool', and `IntArg' where appropriate.
+   - The macro 'IntArg' has been created for an easier transition
+     to guaranteed 32 bits integers ('int' is enough for GNU, while
+     ANSI only guarantees 'long int' to have a length of 32 bits).
+   - The many usages of type 'int' are differentiated by using 'Char',
+     'bool', and 'IntArg' where appropriate.
    - To ease the calls of the local utility functions, the parser
-     variables `current_file', `npages', and `current_env'
+     variables 'current_file', 'npages', and 'current_env'
      (formerly env) were made global to the file (formerly they were
      local to the do_file() function)
    - Various comments were added.
 
    TODO
    - Get rid of the stupid drawing positioning.
-   - Can the `Dt' command be completely handled by setting environment
+   - Can the 'Dt' command be completely handled by setting environment
      within do_file() instead of sending to pr?
    - Integer arguments must be >= 32 bits, use conditional #define.
    - Add scaling facility for classical device independence and
      non-groff devices.  Classical troff output had a quasi device
      independence by scaling the intermediate output to the resolution
      of the postprocessor device if different from the one specified
-     with `x T', groff have not.  So implement full quasi device
+     with 'x T', groff have not.  So implement full quasi device
      indepedence, including the mapping of the strange classical
      devices to the postprocessor device (seems to be reasonably
      easy).
    - The external, global pointer variables are not optimally handled.
-     - The global variables `current_filename',
-       `current_source_filename', and `current_lineno' are only used for
-       error reporting.  So implement a static class `Error'
-       (`::' calls).
-     - The global `device' is the name used during the formatting
+     - The global variables 'current_filename',
+       'current_source_filename', and 'current_lineno' are only used for
+       error reporting.  So implement a static class 'Error'
+       ('::' calls).
+     - The global 'device' is the name used during the formatting
        process; there should be a new variable for the device name used
        during the postprocessing.
-  - Implement the B-spline drawing `D~' for all graphical devices.
-  - Make `environment' a class with an overflow check for its members
+  - Implement the B-spline drawing 'D~' for all graphical devices.
+  - Make 'environment' a class with an overflow check for its members
     and a delete method to get rid of delete_current_env().
-  - Implement the `EnvStack' to use `new' instead of `malloc'.
+  - Implement the 'EnvStack' to use 'new' instead of 'malloc'.
   - The class definitions of this document could go into a new file.
-  - The comments in this section should go to a `Changelog' or some
-    `README' file in this directory.
+  - The comments in this section should go to a 'Changelog' or some
+    'README' file in this directory.
 */
 
 /*
   Discussion of the positioning by drawing commands
 
   There was some confusion about the positioning of the graphical
-  pointer at the printout after having executed a `D' command.
+  pointer at the printout after having executed a 'D' command.
   The classical troff manual of Ossanna & Kernighan specified,
 
-    `The position after a graphical object has been drawn is
+    'The position after a graphical object has been drawn is
      at its end; for circles and ellipses, the "end" is at the
      right side.'
 
@@ -187,7 +187,7 @@
 
   The former groff_out(5) specified to use the alternative arguments
   sum displacement for calculating the drawing positioning of
-  non-classical commands, including the `Dt' command (setting-only)
+  non-classical commands, including the 'Dt' command (setting-only)
   and closed polygons.  Applying this to the new groff color commands
   will lead to disaster.  For their arguments can take large values (>
   65000).  On low resolution devices, the displacement of such large
@@ -195,7 +195,7 @@
   nonsense specification has come to a natural end anyway.
 
   The groff source code, however, had no positioning for the
-  setting-only commands (esp. `Dt'), the right-end positioning for
+  setting-only commands (esp. 'Dt'), the right-end positioning for
   outlined circles and ellipses, and the alternative argument sum
   displacement for all other commands (including filled circles and
   ellipses).
@@ -203,9 +203,9 @@
   The reason why no one seems to have suffered from this mayhem so
   far is that the graphical objects are usually generated by
   preprocessors like pic that do not depend on the automatic
-  positioning.  When using the low level `\D' escape sequences or `D'
+  positioning.  When using the low level '\D' escape sequences or 'D'
   output commands, the strange positionings can be circumvented by
-  absolute positionings or by tricks like `\Z'.
+  absolute positionings or by tricks like '\Z'.
 
   So doing an exorcism on the strange, incompatible displacements might
   not harm any existing documents, but will make the usage of the
@@ -217,10 +217,10 @@
   provided for testing the funny former behavior.
 
   The new rule implies the following behavior.
-  - Setting commands (`Dt', `Df', `DF') and polygons (`Dp' and `DP')
+  - Setting commands ('Dt', 'Df', 'DF') and polygons ('Dp' and 'DP')
     do not change position now.
-  - Filled circles and ellipses (`DC' and `DE') position at their
-    most right point (outlined ones `Dc' and `De' did this anyway).
+  - Filled circles and ellipses ('DC' and 'DE') position at their
+    most right point (outlined ones 'Dc' and 'De' did this anyway).
   - As before, all open graphical objects position to their final
     drawing point (alternate sum of the command arguments).
 
@@ -232,7 +232,7 @@
 #define STUPID_DRAWING_POSITIONING
 #endif
 
-// Decide whether the commands `{' and `}' for different environments
+// Decide whether the commands '{' and '}' for different environments
 // should be used.
 #undef USE_ENV_STACK
 
@@ -304,12 +304,12 @@ class StringBuf {
 public:
   StringBuf(void);             // allocate without storing
   ~StringBuf(void);
-  void append(const Char);     // append character to `data'
-  char *make_string(void);     // return new copy of `data' with '\0'
+  void append(const Char);     // append character to 'data'
+  char *make_string(void);     // return new copy of 'data' with '\0'
   bool is_empty(void) {                // true if none stored
     return (num_stored > 0) ? false : true;
   }
-  void reset(void);            // set `num_stored' to 0
+  void reset(void);            // set 'num_stored' to 0
 };
 
 #ifdef USE_ENV_STACK
@@ -344,7 +344,7 @@ printer *pr;
 
 // Note:
 //
-//   We rely on an implementation of the `new' operator which aborts
+//   We rely on an implementation of the 'new' operator which aborts
 //   gracefully if it can't allocate memory (e.g. from libgroff/new.cpp).
 
 
@@ -355,7 +355,7 @@ printer *pr;
 FILE *current_file = 0;                // current input stream for parser
 
 // npages: number of pages processed so far (including current page),
-//         _not_ the page number in the printout (can be set with `p').
+//         _not_ the page number in the printout (can be set with 'p').
 int npages = 0;
 
 const ColorArg
@@ -392,7 +392,7 @@ IntArray *get_D_fixed_args_odd_dummy(const size_t);
                                // arguments plus optional dummy
 IntArray *get_D_variable_args(void);
                                 // variable, even number of int args
-char *get_extended_arg(void);  // argument for `x X' (several lines)
+char *get_extended_arg(void);  // argument for 'x X' (several lines)
 IntArg get_integer_arg(void);  // read in next integer argument
 IntArray *get_possibly_integer_args();
                                // 0 or more integer arguments
@@ -654,8 +654,8 @@ get_color_arg(void)
 
    number: In-parameter, the number of arguments to be retrieved.
    ignore: In-parameter, ignore next argument -- GNU troff always emits
-           pairs of parameters for `D' extensions added by groff.
-           Default is `false'.
+           pairs of parameters for 'D' extensions added by groff.
+           Default is 'false'.
 
    Return: New IntArray containing the arguments.
 */
@@ -732,7 +732,7 @@ get_D_variable_args()
 
 //////////////////////////////////////////////////////////////////////
 /* get_extended_arg():
-   Retrieve extended arg for `x X' command.
+   Retrieve extended arg for 'x X' command.
 
    - Skip leading spaces and tabs, error on EOL or newline.
    - Return everything before the next NL or EOF ('#' is not a comment);
@@ -1175,7 +1175,7 @@ skip_line_warn(void)
 
 //////////////////////////////////////////////////////////////////////
 /* skip_line_D ():
-   Skip line in `D' commands.
+   Skip line in 'D' commands.
 
    Decide whether in case of an additional argument a fatal error is
    raised (the documented classical behavior), only a warning is
@@ -1192,7 +1192,7 @@ skip_line_D(void)
 
 //////////////////////////////////////////////////////////////////////
 /* skip_line_x ():
-   Skip line in `x' commands.
+   Skip line in 'x' commands.
 
    Decide whether in case of an additional argument a fatal error is
    raised (the documented classical behavior), only a warning is
@@ -1377,7 +1377,7 @@ parse_D_command()
        current_env->fill = new color(current_env->col);
       }
       pr->change_fill_color(current_env);
-      // skip unused `vertical' component (\D'...' always emits pairs)
+      // skip unused 'vertical' component (\D'...' always emits pairs)
       (void) get_integer_arg();
 #   ifdef STUPID_DRAWING_POSITIONING
       current_env->hpos += arg;
@@ -1440,8 +1440,8 @@ parse_D_command()
    - current_env: is set by many subcommands.
    - npages: page counting variable
 
-   Return: boolean in the meaning of `stopped'
-           - true if parsing should be stopped (`x stop').
+   Return: boolean in the meaning of 'stopped'
+           - true if parsing should be stopped ('x stop').
            - false if parsing should continue.
 */
 bool
@@ -1556,8 +1556,8 @@ do_file(const char *filename)
   // setup of global variables
   npages = 0;
   current_lineno = 1;
-  // `pr' is initialized after the prologue.
-  // `device' is set by the 1st prologue command.
+  // 'pr' is initialized after the prologue.
+  // 'device' is set by the 1st prologue command.
 
   if (filename[0] == '-' && filename[1] == '\0')
     current_file = stdin;
@@ -1588,8 +1588,8 @@ do_file(const char *filename)
     char *str_arg;
     IntArg int_arg;
 
-    // 1st command `x T'
-    command = next_command();  
+    // 1st command 'x T'
+    command = next_command();
     if ((int) command == EOF)
       return;
     if ((int) command != 'x')
@@ -1599,7 +1599,7 @@ do_file(const char *filename)
       fatal("the first command must be 'x T'");
     a_delete str_arg;
     char *tmp_dev = get_string_arg();
-    if (pr == 0) {             // note: `pr' initialized after prologue
+    if (pr == 0) {             // note: 'pr' initialized after prologue
       device = tmp_dev;
       if (!font::load_desc())
        fatal("couldn't load DESC file, can't continue");
@@ -1612,7 +1612,7 @@ do_file(const char *filename)
     skip_line_x();             // ignore further arguments
     current_env->size = 10 * font::sizescale;
 
-    // 2nd command `x res'
+    // 2nd command 'x res'
     command = next_command();
     if ((int) command != 'x')
       fatal("the second command must be 'x res'");
@@ -1632,7 +1632,7 @@ do_file(const char *filename)
       fatal("minimum vertical motion does not match");
     skip_line_x();             // ignore further arguments
 
-    // 3rd command `x init'
+    // 3rd command 'x init'
     command = next_command();
     if (command != 'x')
       fatal("the third command must be 'x init'");
@@ -1727,7 +1727,7 @@ do_file(const char *filename)
     case 'f':                  // f: set font to number
       current_env->fontno = get_integer_arg();
       break;
-    case 'F':                  // F: obsolete, replaced by `x F'
+    case 'F':                  // F: obsolete, replaced by 'x F'
       {
        char *str_arg = get_extended_arg();
        remember_source_filename(str_arg);
@@ -1824,7 +1824,7 @@ do_file(const char *filename)
   delete pr;
   pr = 0;
   fclose(current_file);
-  // If `stopped' is not `true' here then there wasn't any `x stop'.
+  // If 'stopped' is not 'true' here then there wasn't any 'x stop'.
   if (!stopped)
     warning("no final 'x stop' command");
   delete_current_env();
diff --git a/src/libs/libdriver/libdriver.am b/src/libs/libdriver/libdriver.am
index 442d0de..c1fcaa4 100644
--- a/src/libs/libdriver/libdriver.am
+++ b/src/libs/libdriver/libdriver.am
@@ -1,4 +1,4 @@
-# Automake rules for `libdriver'
+# Automake rules for 'libdriver'
 #
 # File position: <groff-source>/src/libs/libdriver/libdriver.am
 #
@@ -6,12 +6,12 @@
 #
 # Latest update: 13 Aug 2015
 #
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 2 of the License, or
 # (at your option) any later version.
 #
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -29,7 +29,11 @@ libdriver_a_SOURCES = \
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/libs/libgroff/color.cpp b/src/libs/libgroff/color.cpp
index ec5d579..a163e7f 100644
--- a/src/libs/libgroff/color.cpp
+++ b/src/libs/libgroff/color.cpp
@@ -153,7 +153,7 @@ void color::set_gray(const unsigned int g)
 
 /*
  *  atoh - computes the decimal value of a hexadecimal number string.
- *         `length' characters of `s' are read.  Returns 1 if successful.
+ *         'length' characters of 's' are read.  Returns 1 if successful.
  */
 
 static int atoh(unsigned int *result,
@@ -179,7 +179,7 @@ static int atoh(unsigned int *result,
 /*
  *  read_encoding - set color from a hexadecimal color string.
  *
- *  Use color scheme `cs' to parse `n' color components from string `s'.
+ *  Use color scheme 'cs' to parse 'n' color components from string 's'.
  *  Returns 1 if successful.
  */
 
@@ -339,7 +339,7 @@ void color::get_cmyk(unsigned int *c, unsigned int *m,
   }
 }
 
-// we use `0.222r + 0.707g + 0.071b' (this is the ITU standard)
+// we use '0.222r + 0.707g + 0.071b' (this is the ITU standard)
 // as an approximation for gray
 
 void color::get_gray(unsigned int *g) const
diff --git a/src/libs/libgroff/font.cpp b/src/libs/libgroff/font.cpp
index e65aaba..1be0843 100644
--- a/src/libs/libgroff/font.cpp
+++ b/src/libs/libgroff/font.cpp
@@ -172,7 +172,7 @@ int glyph_to_unicode(glyph *g)
       char *ignore;
       return (int)strtol(nm + 1, &ignore, 16);
     }
-    // If `nm' is a single letter `x', the glyph name is `\x'.
+    // If 'nm' is a single letter 'x', the glyph name is '\x'.
     char buf[] = { '\\', '\0', '\0' };
     if (nm[1] == '\0') {
       buf[1] = nm[0];
@@ -561,7 +561,7 @@ int font::get_code(glyph *g)
     if (n >= 0)
       return n;
   }
-  // The caller must check `contains(g)' before calling get_code(g).
+  // The caller must check 'contains(g)' before calling get_code(g).
   abort();
 }
 
diff --git a/src/libs/libgroff/getopt.c b/src/libs/libgroff/getopt.c
index eb6afa7..d441873 100644
--- a/src/libs/libgroff/getopt.c
+++ b/src/libs/libgroff/getopt.c
@@ -60,14 +60,14 @@
 # define attribute_hidden
 #endif
 
-/* Unlike standard Unix `getopt', functions like `getopt_long'
+/* Unlike standard Unix 'getopt', functions like 'getopt_long'
    let the user intersperse the options with the other arguments.
 
-   As `getopt_long' works, it permutes the elements of ARGV so that,
+   As 'getopt_long' works, it permutes the elements of ARGV so that,
    when it is done, all the options precede everything else.  Thus
    all application programs are extended to handle flexible argument order.
 
-   Using `getopt' or setting the environment variable POSIXLY_CORRECT
+   Using 'getopt' or setting the environment variable POSIXLY_CORRECT
    disables permutation.
    Then the application's behavior is completely standard.
 
@@ -77,24 +77,24 @@
 #include "getopt.h"
 #include "getopt_int.h"
 
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
+/* For communication from 'getopt' to the caller.
+   When 'getopt' finds an option that takes an argument,
    the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
+   Also, when 'ordering' is RETURN_IN_ORDER,
    each non-option ARGV-element is returned here.  */
 
 char *optarg;
 
 /* Index in ARGV of the next element to be scanned.
    This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
+   and for communication between successive calls to 'getopt'.
 
-   On entry to `getopt', zero means this is the first call; initialize.
+   On entry to 'getopt', zero means this is the first call; initialize.
 
-   When `getopt' returns -1, this is the index of the first of the
+   When 'getopt' returns -1, this is the index of the first of the
    non-option elements that the caller should itself scan.
 
-   Otherwise, `optind' communicates from one call to the next
+   Otherwise, 'optind' communicates from one call to the next
    how much of ARGV has been scanned so far.  */
 
 /* 1003.2 says this must be 1 before any call.  */
@@ -163,7 +163,7 @@ extern char *__getopt_nonoption_flags;
    The other is elements [last_nonopt,optind), which contains all
    the options processed since those non-options were skipped.
 
-   `first_nonopt' and `last_nonopt' are relocated so that they describe
+   'first_nonopt' and 'last_nonopt' are relocated so that they describe
    the new indices of the non-options in ARGV after they are moved.  */
 
 static void
@@ -180,7 +180,7 @@ exchange (char **argv, struct _getopt_data *d)
      but it consists of two parts that need to be swapped next.  */
 
 #if defined _LIBC && defined USE_NONOPTION_FLAGS
-  /* First make sure the handling of the `__getopt_nonoption_flags'
+  /* First make sure the handling of the '__getopt_nonoption_flags'
      string can work normally.  Our top argument must be in the range
      of the string.  */
   if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
@@ -316,44 +316,44 @@ _getopt_initialize (int argc, char **argv, const char 
*optstring,
 
    If an element of ARGV starts with '-', and is not exactly "-" or "--",
    then it is an option element.  The characters of this element
-   (aside from the initial '-') are option characters.  If `getopt'
+   (aside from the initial '-') are option characters.  If 'getopt'
    is called repeatedly, it returns successively each of the option characters
    from each of the option elements.
 
-   If `getopt' finds another option character, it returns that character,
-   updating `optind' and `nextchar' so that the next call to `getopt' can
+   If 'getopt' finds another option character, it returns that character,
+   updating 'optind' and 'nextchar' so that the next call to 'getopt' can
    resume the scan with the following option character or ARGV-element.
 
-   If there are no more option characters, `getopt' returns -1.
-   Then `optind' is the index in ARGV of the first ARGV-element
+   If there are no more option characters, 'getopt' returns -1.
+   Then 'optind' is the index in ARGV of the first ARGV-element
    that is not an option.  (The ARGV-elements have been permuted
    so that those that are not options now come last.)
 
    OPTSTRING is a string containing the legitimate option characters.
    If an option character is seen that is not listed in OPTSTRING,
-   return '?' after printing an error message.  If you set `opterr' to
+   return '?' after printing an error message.  If you set 'opterr' to
    zero, the error message is suppressed but we still return '?'.
 
    If a char in OPTSTRING is followed by a colon, that means it wants an arg,
    so the following text in the same ARGV-element, or the text of the following
-   ARGV-element, is returned in `optarg'.  Two colons mean an option that
+   ARGV-element, is returned in 'optarg'.  Two colons mean an option that
    wants an optional arg; if there is text in the current ARGV-element,
-   it is returned in `optarg', otherwise `optarg' is set to zero.
+   it is returned in 'optarg', otherwise 'optarg' is set to zero.
 
-   If OPTSTRING starts with `-' or `+', it requests different methods of
+   If OPTSTRING starts with '-' or '+', it requests different methods of
    handling the non-option ARGV-elements.
    See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
 
-   Long-named options begin with `--' instead of `-'.
+   Long-named options begin with '--' instead of '-'.
    Their names may be abbreviated as long as the abbreviation is unique
    or is an exact match for some defined option.  If they have an
    argument, it follows the option name in the same ARGV-element, separated
-   from the option name by a `=', or else the in next ARGV-element.
-   When `getopt' finds a long-named option, it returns 0 if that option's
-   `flag' field is nonzero, the value of the option's `val' field
-   if the `flag' field is zero.
+   from the option name by a '=', or else the in next ARGV-element.
+   When 'getopt' finds a long-named option, it returns 0 if that option's
+   'flag' field is nonzero, the value of the option's 'val' field
+   if the 'flag' field is zero.
 
-   LONGOPTS is a vector of `struct option' terminated by an
+   LONGOPTS is a vector of 'struct option' terminated by an
    element containing a name which is zero.
 
    LONGIND returns the index in LONGOPT of the long-named option found.
@@ -431,7 +431,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
          d->__last_nonopt = d->optind;
        }
 
-      /* The special ARGV-element `--' means premature end of options.
+      /* The special ARGV-element '--' means premature end of options.
         Skip it like a null option,
         then exchange with previous non-options as if it were an option,
         then skip everything else like a non-option.  */
@@ -774,7 +774,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
     char c = *d->__nextchar++;
     char *temp = strchr (optstring, c);
 
-    /* Increment `optind' when we start to process its last character.  */
+    /* Increment 'optind' when we start to process its last character.  */
     if (*d->__nextchar == '\0')
       ++d->optind;
 
@@ -889,7 +889,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
            return c;
          }
        else
-         /* We already incremented `d->optind' once;
+         /* We already incremented 'd->optind' once;
             increment it again when taking next ARGV-elt as argument.  */
          d->optarg = argv[d->optind++];
 
@@ -1122,7 +1122,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                  c = '?';
              }
            else
-             /* We already incremented `optind' once;
+             /* We already incremented 'optind' once;
                 increment it again when taking next ARGV-elt as argument.  */
              d->optarg = argv[d->optind++];
            d->__nextchar = NULL;
@@ -1171,7 +1171,7 @@ getopt (int argc, char *const *argv, const char 
*optstring)
 #ifdef TEST
 
 /* Compile with -DTEST to make an executable for use in testing
-   the above definition of `getopt'.  */
+   the above definition of 'getopt'.  */
 
 int
 main (int argc, char **argv)
diff --git a/src/libs/libgroff/glyphuni.cpp b/src/libs/libgroff/glyphuni.cpp
index 35a6899..af23e41 100644
--- a/src/libs/libgroff/glyphuni.cpp
+++ b/src/libs/libgroff/glyphuni.cpp
@@ -334,9 +334,9 @@ struct S {
   { "*f", "03D5" },
   { "+p", "03D6" },
   { "+e", "03F5" },
-  // `-' and `hy' denote a HYPHEN, usually a glyph with a smaller width than
+  // '-' and 'hy' denote a HYPHEN, usually a glyph with a smaller width than
   // the MINUS sign.  Users who are viewing broken man pages that assume
-  // that `-' denotes a U+002D character can either fix the broken man pages
+  // that '-' denotes a U+002D character can either fix the broken man pages
   // or apply the workaround described in the PROBLEMS file.
   { "-", "2010" },
   { "hy", "2010" },
@@ -397,8 +397,8 @@ struct S {
   { "product", "220F" },
   { "coproduct", "2210" },
   { "sum", "2211" },
-  // `mi' and `\-' represent a MINUS sign.  But it is used in many man pages
-  // to denote the U+002D character that introduces a command-line option. 
+  // 'mi' and '\-' represent a MINUS sign.  But it is used in many man pages
+  // to denote the U+002D character that introduces a command-line option.
   // For devices that support copy&paste, such as devhtml and devutf8, the
   // user can apply the workaround described in the PROBLEMS file.
   { "\\-", "2212" },
@@ -484,17 +484,17 @@ struct S {
   { "HE", "2665" },
   { "DI", "2666" },
   { "OK", "2713" },
-  // The `left angle bracket' and `right angle bracket' could be mapped to
+  // The 'left angle bracket' and 'right angle bracket' could be mapped to
   // either U+2329,U+232A or U+3008,U+3009 or U+27E8,U+27E9.  But the first
   // and second possibility are double-width characters (see Unicode's
-  // `DerivedEastAsianWidth.txt' file) and are therefore not suitable for
+  // 'DerivedEastAsianWidth.txt' file) and are therefore not suitable for
   // general use, whereas the third possibility is single-width.
   //
   // The devhtml device overrides this mapping, because
   //
   //   http://www.w3.org/TR/html401/sgml/entities.html
   //
-  // says that in HTML, `&lang;' and `&rang;' are U+2329,U+232A,
+  // says that in HTML, '&lang;' and '&rang;' are U+2329,U+232A,
   // respectively.
   { "la", "27E8" },
   { "ra", "27E9" },
diff --git a/src/libs/libgroff/htmlhint.cpp b/src/libs/libgroff/htmlhint.cpp
index ede8245..b6f55d8 100644
--- a/src/libs/libgroff/htmlhint.cpp
+++ b/src/libs/libgroff/htmlhint.cpp
@@ -33,7 +33,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
  *  the image name and suppression escapes.
  *
  *  pre-html runs troff twice, once with -Thtml (or -Txhtml) and once
- *  with -Tps.  `troff -Thtml' (and `troff -Txhtml') emits a
+ *  with -Tps.  'troff -Thtml' (and 'troff -Txhtml') emits a
  *  <src='image'.png> tag and the postscript device driver works out
  *  the min/max limits of the graphic region.  These region limits are
  *  read by pre-html and an image is generated via
diff --git a/src/libs/libgroff/libgroff.am b/src/libs/libgroff/libgroff.am
index 472e7b8..b9cf9b1 100644
--- a/src/libs/libgroff/libgroff.am
+++ b/src/libs/libgroff/libgroff.am
@@ -176,7 +176,11 @@ uninstall_charset_data:
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/libs/libgroff/make-uniuni b/src/libs/libgroff/make-uniuni
index 576d4f9..f5ee285 100755
--- a/src/libs/libgroff/make-uniuni
+++ b/src/libs/libgroff/make-uniuni
@@ -25,7 +25,7 @@
 #
 #   make-uniuni <version-string> < UnicodeData.txt > uniuni.cpp
 #
-# `UnicodeData.txt' is the central database file from the Unicode standard.
+# 'UnicodeData.txt' is the central database file from the Unicode standard.
 # Unfortunately, it doesn't contain a version number which must be thus
 # provided manually as a parameter to the filter.
 #
diff --git a/src/libs/libgroff/nametoindex.cpp 
b/src/libs/libgroff/nametoindex.cpp
index 4d3d81b..e376ff9 100644
--- a/src/libs/libgroff/nametoindex.cpp
+++ b/src/libs/libgroff/nametoindex.cpp
@@ -35,11 +35,11 @@ public:
   friend class character_indexer;
 };
 
-// PTABLE(charinfo) is a hash table mapping `const char *' to `charinfo *'.
+// PTABLE(charinfo) is a hash table mapping 'const char *' to 'charinfo *'.
 declare_ptable(charinfo)
 implement_ptable(charinfo)
 
-// ITABLE(charinfo) is a hash table mapping `int >= 0' to `charinfo *'.
+// ITABLE(charinfo) is a hash table mapping 'int >= 0' to 'charinfo *'.
 declare_itable(charinfo)
 implement_itable(charinfo)
 
@@ -95,7 +95,7 @@ glyph *character_indexer::ascii_char_glyph(unsigned char c)
 
 inline glyph *character_indexer::named_char_glyph(const char *s)
 {
-  // Glyphs with name `charNNN' are only stored in ascii_glyph[], not
+  // Glyphs with name 'charNNN' are only stored in ascii_glyph[], not
   // in the table.  Therefore treat them specially here.
   if (s[0] == 'c' && s[1] == 'h' && s[2] == 'a' && s[3] == 'r') {
     char *val;
diff --git a/src/libs/libgroff/putenv.c b/src/libs/libgroff/putenv.c
index 355bff9..db40e13 100644
--- a/src/libs/libgroff/putenv.c
+++ b/src/libs/libgroff/putenv.c
@@ -43,7 +43,7 @@ PTR malloc();
 
 extern char **environ;
 
-/* Put STRING, which is of the form `NAME=VALUE', in the environment.  */
+/* Put STRING, which is of the form 'NAME=VALUE', in the environment.  */
 
 int putenv(const char *string)
 {
diff --git a/src/libs/libgroff/quotearg.c b/src/libs/libgroff/quotearg.c
index 8b2e03d..b620993 100644
--- a/src/libs/libgroff/quotearg.c
+++ b/src/libs/libgroff/quotearg.c
@@ -26,7 +26,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 /* Define the default mechanism, and messages, for error reporting
  * (user may substitute a preferred alternative, by defining his own
  *  implementation of the macros REPORT_ERROR, QUOTE_ARG_MALLOC_FAILED
- *  and QUOTE_ARG_REALLOC_FAILED, in the header file `nonposix.h').
+ *  and QUOTE_ARG_REALLOC_FAILED, in the header file 'nonposix.h').
  */
 
 #include "nonposix.h"
@@ -51,7 +51,7 @@ extern char *program_name;    /* main program must define 
this */
 static int
 needs_quoting(const char *string)
 {
-  /* Scan `string' to see whether it needs quoting for MSVC `spawn'/`exec'
+  /* Scan 'string' to see whether it needs quoting for MSVC 'spawn'/'exec'
    * (i.e., whether it contains whitespace or embedded quotes).
    */
 
@@ -75,7 +75,7 @@ needs_quoting(const char *string)
   }
 
   /* Fall through, if no quotes or white space found,
-   * in which case, return `FALSE'.
+   * in which case, return 'FALSE'.
    */
 
   return FALSE;
@@ -93,11 +93,11 @@ quote_arg(char *string)
   char *quoted, *p, *q;
 
   if (needs_quoting(string)) {
-    /* Need to create a quoted copy of `string';
+    /* Need to create a quoted copy of 'string';
      * maximum buffer space needed is twice the original length,
-     * plus two enclosing quotes and one `\0' terminator.
+     * plus two enclosing quotes and one '\0' terminator.
      */
-    
+
     if ((quoted = (char *)malloc(2 * strlen(string) + 3)) == NULL) {
       /* Couldn't get a buffer for the quoted string,
        * so complain, and bail out gracefully.
@@ -177,7 +177,7 @@ quote_arg(char *string)
     }
   }
 
-  /* `string' now refers to the argument,
+  /* 'string' now refers to the argument,
    * quoted and escaped, as required.
    */
 
@@ -188,16 +188,16 @@ void
 purge_quoted_args(char **argv)
 {
   /* To avoid memory leaks,
-   * free all memory previously allocated by `quoted_arg()',
-   * within the scope of the referring argument vector, `argv'.
+   * free all memory previously allocated by 'quoted_arg()',
+   * within the scope of the referring argument vector, 'argv'.
    */
 
   if (argv)
     while (*argv) {
       /* Any argument beginning with a double quote
-       * SHOULD have been allocated by `quoted_arg()'.
+       * SHOULD have been allocated by 'quoted_arg()'.
        */
-      
+
       if (**argv == '"')
         free( *argv );         /* so free its allocation */
       ++argv;                  /* and continue to the next argument */
diff --git a/src/libs/libgroff/relocate.cpp b/src/libs/libgroff/relocate.cpp
index 6c092e2..8e5e9cd 100644
--- a/src/libs/libgroff/relocate.cpp
+++ b/src/libs/libgroff/relocate.cpp
@@ -43,7 +43,7 @@ extern "C" const char *program_name;
 char *curr_prefix = 0;
 size_t curr_prefix_len = 0;
 
-// Return the directory part of a filename, or `.' if no path separators.
+// Return the directory part of a filename, or '.' if no path separators.
 char *xdirname(char *s)
 {
   static const char dot[] = ".";
diff --git a/src/libs/libgroff/spawnvp.c b/src/libs/libgroff/spawnvp.c
index 1069a6a..af540b2 100644
--- a/src/libs/libgroff/spawnvp.c
+++ b/src/libs/libgroff/spawnvp.c
@@ -36,7 +36,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 /* Define the default mechanism, and messages, for error reporting
  * (user may substitute a preferred alternative, by defining his own
  *  implementation of the macros REPORT_ERROR and ARGV_MALLOC_ERROR,
- *  in the header file `nonposix.h').
+ *  in the header file 'nonposix.h').
  */
 
 #include "nonposix.h"
@@ -56,19 +56,19 @@ extern void purge_quoted_args(char **argv);
 int
 spawnvp_wrapper(int mode, char *path, char **argv)
 {
-  /* Invoke the system `spawnvp' service
+  /* Invoke the system 'spawnvp' service
    * enclosing the passed arguments in double quotes, as required,
    * so that the (broken) default parsing in the MSVC runtime doesn't
    * split them at whitespace. */
 
-  char **quoted_argv;  /* used to build a quoted local copy of `argv' */
+  char **quoted_argv;  /* used to build a quoted local copy of 'argv' */
 
-  int i;               /* used as an index into `argv' or `quoted_argv' */
+  int i;               /* used as an index into 'argv' or 'quoted_argv' */
   int status = -1;     /* initialise return code, in case we fail */
   int argc = 0;                /* initialise argument count; may be none  */
 
   /* First count the number of arguments
-   * which are actually present in the passed `argv'. */
+   * which are actually present in the passed 'argv'. */
 
   if (argv)
     for (quoted_argv = argv; *quoted_argv; ++argc, ++quoted_argv)
@@ -76,10 +76,10 @@ spawnvp_wrapper(int mode, char *path, char **argv)
 
   /* If we do not now have an argument count,
    * then we must fall through and fail. */
-  
+
   if (argc) {
     /* We do have at least one argument:
-     * We will use a copy of the `argv', in which to do the quoting,
+     * We will use a copy of the 'argv', in which to do the quoting,
      * so we must allocate space for it. */
 
     if ((quoted_argv = (char **)malloc(++argc * sizeof(char **))) == NULL) {
@@ -90,26 +90,26 @@ spawnvp_wrapper(int mode, char *path, char **argv)
       exit(1);
     }
 
-    /* Now copy the passed `argv' into our new vector,
+    /* Now copy the passed 'argv' into our new vector,
      * quoting its contents as required. */
-    
+
     for (i = 0; i < argc; i++)
       quoted_argv[i] = quote_arg(argv[i]);
 
-    /* Invoke the MSVC `spawnvp' service
-     * passing our now appropriately quoted copy of `argv'. */
+    /* Invoke the MSVC 'spawnvp' service
+     * passing our now appropriately quoted copy of 'argv'. */
 
     status = spawnvp(mode, path, quoted_argv);
 
     /* Clean up our memory allocations
-     * for the quoted copy of `argv', which is no longer required. */
+     * for the quoted copy of 'argv', which is no longer required. */
 
     purge_quoted_args(quoted_argv);
     free(quoted_argv);
   }
 
   /* Finally,
-   * return the status code returned by `spawnvp',
+   * return the status code returned by 'spawnvp',
    * or a failure code if we fell through. */
 
   return status;
diff --git a/src/libs/libgroff/uniglyph.cpp b/src/libs/libgroff/uniglyph.cpp
index 152388f..411df5c 100644
--- a/src/libs/libgroff/uniglyph.cpp
+++ b/src/libs/libgroff/uniglyph.cpp
@@ -229,7 +229,7 @@ struct S {
   { "00AC", "no" },
 //{ "00AC", "tno" },
   // In groff, U+00AD is an input character only; it is not mapped to
-  // a glyph but to `\%'.
+  // a glyph but to '\%'.
   { "00AE", "rg" },
   { "00AF", "a-" },
   { "00B0", "de" },
diff --git a/src/libs/libxutil/libxutil.am b/src/libs/libxutil/libxutil.am
index 8668cc7..727f19c 100644
--- a/src/libs/libxutil/libxutil.am
+++ b/src/libs/libxutil/libxutil.am
@@ -1,4 +1,4 @@
-# Automake rules for `libxutil'
+# Automake rules for 'libxutil'
 #
 # File position: <groff-source>/src/libs/libxutil/libxutil.am
 #
@@ -6,12 +6,12 @@
 #
 # Latest update: 13 Aug 2015
 #
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 2 of the License, or
 # (at your option) any later version.
 #
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -33,7 +33,11 @@ endif
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/preproc/eqn/box.cpp b/src/preproc/eqn/box.cpp
index cd03f6f..b66e5db 100644
--- a/src/preproc/eqn/box.cpp
+++ b/src/preproc/eqn/box.cpp
@@ -360,7 +360,7 @@ void box::top_level()
   next_uid = 0;
 }
 
-// gpic defines this register so as to make geqn not produce `\x's
+// gpic defines this register so as to make geqn not produce '\x's
 #define EQN_NO_EXTRA_SPACE_REG "0x"
 
 void box::extra_space()
diff --git a/src/preproc/eqn/eqn.ypp b/src/preproc/eqn/eqn.ypp
index 57acd44..03992a2 100644
--- a/src/preproc/eqn/eqn.ypp
+++ b/src/preproc/eqn/eqn.ypp
@@ -97,8 +97,8 @@ void yyerror(const char *);
 %token GRFONT
 %token GBFONT
 
-/* The original eqn manual says that `left' is right associative. It's lying.
-Consider `left ( ~ left ( ~ right ) right )'. */
+/* The original eqn manual says that 'left' is right associative. It's lying.
+Consider 'left ( ~ left ( ~ right ) right )'. */
 
 %right LEFT
 %left RIGHT
diff --git a/src/preproc/eqn/lex.cpp b/src/preproc/eqn/lex.cpp
index 32aa471..494bfd3 100644
--- a/src/preproc/eqn/lex.cpp
+++ b/src/preproc/eqn/lex.cpp
@@ -757,7 +757,7 @@ void interpolate_macro_with_args(const char *body)
          token_buffer +=  '\0';
          argv[argc] = strsave(token_buffer.contents());
        }
-       // for `foo()', argc = 0
+       // for 'foo()', argc = 0
        if (argc > 0 || c != ')' || i > 0)
          argc++;
        break;
diff --git a/src/preproc/eqn/main.cpp b/src/preproc/eqn/main.cpp
index 0d047cf..512b38a 100644
--- a/src/preproc/eqn/main.cpp
+++ b/src/preproc/eqn/main.cpp
@@ -381,7 +381,7 @@ int main(int argc, char **argv)
         ".if !dEN .ds EN\n");
   if (output_format == troff) {
     printf(".if !'\\*(.T'%s' "
-          ".if !'\\*(.T'html' "        // the html device uses `-Tps' to render
+          ".if !'\\*(.T'html' "        // the html device uses '-Tps' to render
                                  // equations as images
           ".tm warning: %s should have been given a '-T\\*(.T' option\n",
           device, program_name);
diff --git a/src/preproc/eqn/script.cpp b/src/preproc/eqn/script.cpp
index a379dac..e8d5e62 100644
--- a/src/preproc/eqn/script.cpp
+++ b/src/preproc/eqn/script.cpp
@@ -36,8 +36,8 @@ public:
 };
 
 /* The idea is that the script should attach to the rightmost box
-of a list. For example, given `2x sup 3', the superscript should
-attach to `x' rather than `2x'. */
+of a list. For example, given '2x sup 3', the superscript should
+attach to 'x' rather than '2x'. */
 
 box *make_script_box(box *nuc, box *sub, box *sup)
 {
diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp
index 2d78b9c..21574d9 100644
--- a/src/preproc/eqn/text.cpp
+++ b/src/preproc/eqn/text.cpp
@@ -709,7 +709,7 @@ void set_char_type(const char *type, char *ch)
   delete b;
 }
 
-/* We give primes special treatment so that in ``x' sub 2'', the ``2''
+/* We give primes special treatment so that in "x' sub 2", the "2"
 will be tucked under the prime */
 
 class prime_box : public pointer_box {
diff --git a/src/preproc/grn/README b/src/preproc/grn/README
index 124103b..0e486bf 100644
--- a/src/preproc/grn/README
+++ b/src/preproc/grn/README
@@ -48,16 +48,16 @@ better into the groff package.
       Using groff's default values instead of DEVDIR, DEFAULTDEV, PRINTER,
       TYPESETTER, and GREMLIB.
 
-      `res' is now an integer.
+      'res' is now an integer.
 
-      Added `-C' command flag (for compatibility mode) as with other
+      Added '-C' command flag (for compatibility mode) as with other
       preprocessors.
 
-      Added `-F' and `-v' option (similar to troff).
+      Added '-F' and '-v' option (similar to troff).
 
-      Renamed `-L' option to `-M' for consistence.
+      Renamed '-L' option to '-M' for consistence.
 
-      Removed `-P' option.
+      Removed '-P' option.
 
       Using font::load_desc() for scanning DESC files.
 
diff --git a/src/preproc/grn/hgraph.cpp b/src/preproc/grn/hgraph.cpp
index 46b5cb7..dbc0086 100644
--- a/src/preproc/grn/hgraph.cpp
+++ b/src/preproc/grn/hgraph.cpp
@@ -381,7 +381,7 @@ HGSetFont(int font,
  |             style of subsequent lines.  Does nothing if no change is
  |              needed.
  |
- | Side Efct:  Sets `linmode' and `linethicknes'.
+ | Side Efct:  Sets 'linmode' and 'linethicknes'.
  
*----------------------------------------------------------------------------*/
 
 void
@@ -409,9 +409,9 @@ HGSetBrush(int mode)
  | Routine:    deltax (x_destination)
  |
  | Results:    Scales and outputs a number for delta x (with a leading
- |             space) given `lastx' and x_destination.
+ |             space) given 'lastx' and x_destination.
  |
- | Side Efct:  Resets `lastx' to x_destination.
+ | Side Efct:  Resets 'lastx' to x_destination.
  
*----------------------------------------------------------------------------*/
 
 void
@@ -428,10 +428,10 @@ deltax(double x)
  | Routine:    deltay (y_destination)
  |
  | Results:    Scales and outputs a number for delta y (with a leading
- |             space) given `lastyline' and y_destination.
+ |             space) given 'lastyline' and y_destination.
  |
- | Side Efct:  Resets `lastyline' to y_destination.  Since `line' vertical
- |             motions don't affect `page' ones, `lasty' isn't updated.
+ | Side Efct:  Resets 'lastyline' to y_destination.  Since 'line' vertical
+ |             motions don't affect 'page' ones, 'lasty' isn't updated.
  
*----------------------------------------------------------------------------*/
 
 void
@@ -502,10 +502,10 @@ tmove(POINT * ptr)
 /*----------------------------------------------------------------------------*
  | Routine:    cr ( )
  |
- | Results:    Ends off an input line.  `.sp -1' is also added to counteract
+ | Results:    Ends off an input line.  '.sp -1' is also added to counteract
  |             the vertical move done at the end of text lines.
  |
- | Side Efct:  Sets `lastx' to `xleft' for troff's return to left margin.
+ | Side Efct:  Sets 'lastx' to 'xleft' for troff's return to left margin.
  
*----------------------------------------------------------------------------*/
 
 void
@@ -567,7 +567,7 @@ drawwig(POINT * ptr,
  | Routine:    HGArc (xcenter, ycenter, xstart, ystart, angle)
  |
  | Results:    This routine plots an arc centered about (cx, cy) counter
- |             clockwise starting from the point (px, py) through `angle'
+ |             clockwise starting from the point (px, py) through 'angle'
  |             degrees.  If angle is 0, a full circle is drawn.  It does so
  |             by creating a draw-path around the arc whose density of
  |             points depends on the size of the arc.
@@ -628,7 +628,7 @@ HGArc(register int cx,
  | Routine:    picurve (xpoints, ypoints, num_of_points)
  |
  | Results:    Draws a curve delimited by (not through) the line segments
- |             traced by (xpoints, ypoints) point list.  This is the `Pic'
+ |             traced by (xpoints, ypoints) point list.  This is the 'Pic'
  |             style curve.
  
*----------------------------------------------------------------------------*/
 
@@ -668,7 +668,7 @@ picurve(register int *x,
     nseg = (int) groff_hypot((double) xp, (double) yp);
     xp = x[1] - x[2];
     yp = y[1] - y[2];
-                               /* `nseg' is the number of line    */
+                               /* 'nseg' is the number of line    */
                                /* segments that will be drawn for */
                                /* each curve segment.             */
     nseg = (int) ((double) (nseg + (int) groff_hypot((double) xp, (double) 
yp)) /
@@ -697,7 +697,7 @@ picurve(register int *x,
  |
  | Results:    This routine generates a smooth curve through a set of
  |             points.  The method used is the parametric spline curve on
- |             unit knot mesh described in `Spline Curve Techniques' by
+ |             unit knot mesh described in 'Spline Curve Techniques' by
  |             Patrick Baudelaire, Robert Flegal, and Robert Sproull --
  |             Xerox Parc.
  
*----------------------------------------------------------------------------*/
@@ -803,7 +803,7 @@ Paramaterize(int x[],
  | Results:    This routine solves for the cubic polynomial to fit a spline
  |             curve to the points specified by the list of values.
  |             The Curve generated is periodic.  The algorithms for this
- |             curve are from the `Spline Curve Techniques' paper cited
+ |             curve are from the 'Spline Curve Techniques' paper cited
  |             above.
  
*----------------------------------------------------------------------------*/
 
@@ -875,7 +875,7 @@ PeriodicSpline(double h[],  /* paramaterization  */
  |
  | Results:    This routine solves for the cubic polynomial to fit a spline
  |             curve the points specified by the list of values.  The
- |             algorithms for this curve are from the `Spline Curve
+ |             algorithms for this curve are from the 'Spline Curve
  |             Techniques' paper cited above.
  
*----------------------------------------------------------------------------*/
 
diff --git a/src/preproc/grn/main.cpp b/src/preproc/grn/main.cpp
index 58b591b..4b698a6 100644
--- a/src/preproc/grn/main.cpp
+++ b/src/preproc/grn/main.cpp
@@ -9,14 +9,14 @@
  * processing gremlin files into troff input.  The program watches input go
  * by to standard output, only interpreting things between .GS and .GE
  * lines.  Default values (font, size, scale, thickness) may be overridden
- * with a `default' command and are further overridden by commands in the
+ * with a 'default' command and are further overridden by commands in the
  * input.
  *
- * Inside the GS and GE, commands are accepted to reconfigure the picture. 
+ * Inside the GS and GE, commands are accepted to reconfigure the picture.
  * At most one command may reside on each line, and each command is followed
  * by a parameter separated by white space.  The commands are as follows,
- * and may be abbreviated down to one character (with exception of `scale'
- * and `stipple' down to "sc" and "st") and may be upper or lower case.
+ * and may be abbreviated down to one character (with exception of 'scale'
+ * and 'stipple' down to "sc" and "st") and may be upper or lower case.
  *
  *                        default  -  Make all settings in the current
  *                                    .GS/.GE the global defaults.  Height,
@@ -27,13 +27,13 @@
  *                                    font (one or two characters).
  *                     stipple, l  -  Use a stipple font for polygons.  Arg
  *                                    is troff font name.  No Default.  Can
- *                                    use only one stipple font per picture. 
+ *                                    use only one stipple font per picture.
  *                                    (See below for stipple font index.)
  *                       scale, x  -  Scale is IN ADDITION to the global
  *                                    scale factor from the default.
  *                     pointscale  -  Turn on scaling point sizes to match
- *                                    `scale' commands.  (Optional operand
- *                                    `off' to turn it off.)
+ *                                    'scale' commands.  (Optional operand
+ *                                    'off' to turn it off.)
  *          narrow, medium, thick  -  Set widths of lines.
  *                           file  -  Set the file name to read the gremlin
  *                                    picture from.  If the file isn't in
@@ -43,15 +43,15 @@
  *                                    scaling factor that is in effect, and
  *                                    forces the picture to fit into either
  *                                    the height or width specified,
- *                                    whichever makes the picture smaller. 
+ *                                    whichever makes the picture smaller.
  *                                    The operand for these two commands is
  *                                    a floating-point number in units of
  *                                    inches.
  *            l<nn> (integer <nn>) -  Set association between stipple <nn>
- *                                    and a stipple `character'.  <nn> must
+ *                                    and a stipple 'character'.  <nn> must
  *                                    be in the range 0 to NSTIPPLES (16)
  *                                    inclusive.  The integer operand is an
- *                                    index in the stipple font selected. 
+ *                                    index in the stipple font selected.
  *                                    Valid cf (cifplot) indices are 1-32
  *                                    (although 24 is not defined), valid ug
  *                                    (unigrafix) indices are 1-14, and
@@ -100,19 +100,19 @@ extern POINT *PTMakePoint(double x, double y, POINT 
**pplist);
 /* #define DEFSTIPPLE    "gs" */
 #define DEFSTIPPLE     "cf"
 /*
- * This grn implementation emits `.st' requests to control stipple effects,
+ * This grn implementation emits '.st' requests to control stipple effects,
  * but groff does not (currently) support any such request.
  *
  * This hack disables the emission of such requests, without destroying the
  * infrastructure necessary to support the feature in the future; to enable
- * the emission of `.st' requests, at a future date when groff can support
+ * the emission of '.st' requests, at a future date when groff can support
  * them, simply rewrite the following #define as:
  *
  *   #define USE_ST_REQUEST  stipple
  *
- * with accompanying comment: ``emit `.st' requests as required''.
+ * with accompanying comment: "emit '.st' requests as required".
  */
-#define USE_ST_REQUEST  0      /* never emit `.st' requests */
+#define USE_ST_REQUEST  0      /* never emit '.st' requests */
 
 #define MAXINLINE      100     /* input line length */
 
@@ -138,7 +138,7 @@ int lastyline;                      /* A line's vertical 
position is NOT the  */
 
 /* These are the default fonts, sizes, line styles, */
 /* and thicknesses.  They can be modified from a    */
-/* `default' command and are reset each time the    */
+/* 'default' command and are reset each time the    */
 /* start of a picture (.GS) is found.               */
 
 const char *deffont[] =
@@ -221,9 +221,9 @@ int linenum = 0;            /* line number of input file */
 char inputline[MAXINLINE];     /* spot to filter through the file */
 char *c1 = inputline;          /* c1, c2, and c3 will be used to */
 char *c2 = inputline + 1;      /* hunt for lines that begin with */
-char *c3 = inputline + 2;      /* `.GS' by looking individually */
+char *c3 = inputline + 2;      /* '.GS' by looking individually */
 char *c4 = inputline + 3;      /* needed for compatibility mode */
-char GScommand[MAXINLINE];     /* put user's `.GS' command line here */
+char GScommand[MAXINLINE];     /* put user's '.GS' command line here */
 char gremlinfile[MAXINLINE];   /* filename to use for a picture */
 int SUNFILE = FALSE;           /* TRUE if SUN gremlin file */
 int compatibility_flag = FALSE;        /* TRUE if in compatibility mode */
@@ -272,8 +272,8 @@ add_file(char **file,
  | Routine:    main (argument_count, argument_pointer)
  |
  | Results:    Parses the command line, accumulating input file names, then
- |             reads the inputs, passing it directly to output until a `.GS'
- |             line is read.  Main then passes control to `conv' to do the
+ |             reads the inputs, passing it directly to output until a '.GS'
+ |             line is read.  Main then passes control to 'conv' to do the
  |             gremlin file conversions.
  
*----------------------------------------------------------------------------*/
 
@@ -379,7 +379,7 @@ main(int argc,
  | Routine:    char  * operand (& argc, & argv)
  |
  | Results:    Returns address of the operand given with a command-line
- |             option.  It uses either `-Xoperand' or `-X operand', whichever
+ |             option.  It uses either '-Xoperand' or '-X operand', whichever
  |             is present.  The program is terminated if no option is
  |             present.
  |
@@ -403,7 +403,7 @@ operand(int *argcp,
 /*----------------------------------------------------------------------------*
  | Routine:    getres ()
  |
- | Results:    Sets `res' to the resolution of the output device.
+ | Results:    Sets 'res' to the resolution of the output device.
  
*----------------------------------------------------------------------------*/
 
 void
@@ -435,12 +435,12 @@ getres()
 /*----------------------------------------------------------------------------*
  | Routine:    int  doinput (file_pointer)
  |
- | Results:    A line of input is read into `inputline'.
+ | Results:    A line of input is read into 'inputline'.
  |
  | Side Efct:  "linenum" is incremented.
  |
- | Bugs:       Lines longer than MAXINLINE are NOT checked, except for 
- |             updating `linenum'.
+ | Bugs:       Lines longer than MAXINLINE are NOT checked, except for
+ |             updating 'linenum'.
  
*----------------------------------------------------------------------------*/
 
 int
@@ -482,12 +482,12 @@ initpic()
   }
   stipple = defstipple;
 
-  gremlinfile[0] = 0;          /* filename is `null' */
+  gremlinfile[0] = 0;          /* filename is 'null' */
   setdefault = 0;              /* this is not the default settings (yet) */
 
   toppoint = BIG;              /* set the picture bounds out */
   bottompoint = -BIG;          /* of range so they'll be set */
-  leftpoint = BIG;             /* by `savebounds' on input */
+  leftpoint = BIG;             /* by 'savebounds' on input */
   rightpoint = -BIG;
 
   pointscale = defpoint;       /* flag for scaling point sizes default */
@@ -503,10 +503,10 @@ initpic()
 /*----------------------------------------------------------------------------*
  | Routine:    conv (file_pointer, starting_line)
  |
- | Results:    At this point, we just passed a `.GS' line in the input
- |             file.  conv reads the input and calls `interpret' to process
- |             commands, gathering up information until a `.GE' line is
- |             found.  It then calls `HGPrint' to do the translation of the
+ | Results:    At this point, we just passed a '.GS' line in the input
+ |             file.  conv reads the input and calls 'interpret' to process
+ |             commands, gathering up information until a '.GE' line is
+ |             found.  It then calls 'HGPrint' to do the translation of the
  |             gremlin file to troff commands.
  
*----------------------------------------------------------------------------*/
 
@@ -519,15 +519,15 @@ conv(register FILE *fp,
   register ELT *e;             /* current element pointer */
   ELT *PICTURE;                        /* whole picture data base pointer */
   double temp;                 /* temporary calculating area */
-  /* POINT ptr; */             /* coordinates of a point to pass to `mov' */
+  /* POINT ptr; */             /* coordinates of a point to pass to 'mov' */
                                /* routine                                 */
-  int flyback;                 /* flag `want to end up at the top of the */
+  int flyback;                 /* flag 'want to end up at the top of the */
                                /* picture?'                              */
   int compat;                  /* test character after .GE or .GF */
 
 
   initpic();                   /* set defaults, ranges, etc. */
-  strcpy(GScommand, inputline);        /* save `.GS' line for later */
+  strcpy(GScommand, inputline);        /* save '.GS' line for later */
 
   do {
     done = !doinput(fp);               /* test for EOF */
@@ -597,7 +597,7 @@ conv(register FILE *fp,
       /*   set vertical spacing, no fill,   */
       /*   and break (to make sure picture  */
       /*   starts on left), and put out the */
-      /*   user's `.GS' line.               */
+      /*   user's '.GS' line.               */
       printf(".br\n"
             ".nr g1 %du\n"
             ".nr g2 %du\n"
@@ -666,14 +666,14 @@ conv(register FILE *fp,
       /* tmove(&ptr); */       /* restore default line parameters */
 
       /* restore everything to the way it was before the .GS, then put */
-      /* out the `.GE' line from user                                  */
+      /* out the '.GE' line from user                                  */
 
       /* printf("\\D't %du'\\D's %du'\n", DEFTHICK, DEFSTYLE); */
       /* groff doesn't understand the \Ds command */
 
       printf("\\D't %du'\n", DEFTHICK);
       if (flyback)             /* make sure we end up at top of */
-       printf(".sp -1\n");     /* picture if `flying back'      */
+       printf(".sp -1\n");     /* picture if 'flying back'      */
       if (USE_ST_REQUEST)      /* restore stipple to previous */
        printf(".st\n");
       printf(".br\n"
@@ -722,7 +722,7 @@ savestate()
  |
  | Results:    Keeps track of the maximum and minimum extent of a picture
  |             in the global variables: left-, right-, top- and
- |             bottompoint.  `savebounds' assumes that the points have been
+ |             bottompoint.  'savebounds' assumes that the points have been
  |             oriented to the correct direction.  No scaling has taken
  |             place, though.
  
*----------------------------------------------------------------------------*/
@@ -842,7 +842,7 @@ interpret(char *line)
   stipplecommand:              /* set stipple name */
     stipple = (char *) malloc(strlen(str2) + 1);
     strcpy(stipple, str2);
-    /* if its a `known' font (currently only `cf'), set indices    */
+    /* if its a 'known' font (currently only 'cf'), set indices    */
     if (strcmp(stipple, "cf") == 0)
       defstipple_index = cf_stipple_index;
     else
diff --git a/src/preproc/html/pre-html.cpp b/src/preproc/html/pre-html.cpp
index 353ae01..c8df5d0 100644
--- a/src/preproc/html/pre-html.cpp
+++ b/src/preproc/html/pre-html.cpp
@@ -67,18 +67,18 @@
 
 #if defined(__MSDOS__) || defined(_WIN32)
 
-// Most MS-DOS and Win32 environments will be missing the `fork' capability
+// Most MS-DOS and Win32 environments will be missing the 'fork' capability
 // (some like Cygwin have it, but it is best avoided).
 
 # define MAY_FORK_CHILD_PROCESS 0
 
-// On these systems, we use `spawn...', instead of `fork' ... `exec...'.
-# include <process.h>  // for `spawn...'
+// On these systems, we use 'spawn...', instead of 'fork' ... 'exec...'.
+# include <process.h>  // for 'spawn...'
 # include <fcntl.h>    // for attributes of pipes
 
 # if defined(__CYGWIN__) || defined(_UWIN) || defined(_WIN32)
 
-// These Win32 implementations allow parent and `spawn...'ed child to
+// These Win32 implementations allow parent and 'spawn...'ed child to
 // multitask asynchronously.
 
 #  define MAY_SPAWN_ASYNCHRONOUS_CHILD 1
@@ -86,7 +86,7 @@
 # else
 
 // Others may adopt MS-DOS behaviour where parent must sleep,
-// from `spawn...' until child terminates.
+// from 'spawn...' until child terminates.
 
 #  define MAY_SPAWN_ASYNCHRONOUS_CHILD 0
 
@@ -97,14 +97,14 @@
    where to put intermediate files (the DEBUGGING version will preserve
    these on exit).
 
-   On a UNIX host, we might simply use `/tmp', but MS-DOS and Win32 will
+   On a UNIX host, we might simply use '/tmp', but MS-DOS and Win32 will
    probably not have this on all disk drives, so default to using
-   `c:/temp' instead.  (Note that user may choose to override this by
+   'c:/temp' instead.  (Note that user may choose to override this by
    supplying a definition such as
 
      -DDEBUG_FILE_DIR=d:/path/to/debug/files
 
-   in the CPPFLAGS to `make'.) */
+   in the CPPFLAGS to 'make'.) */
 
 #  define DEBUG_FILE_DIR c:/temp
 # endif
@@ -112,13 +112,13 @@
 #else /* not __MSDOS__ or _WIN32 */
 
 // For non-Microsoft environments assume UNIX conventions,
-// so `fork' is required and child processes are asynchronous.
+// so 'fork' is required and child processes are asynchronous.
 # define MAY_FORK_CHILD_PROCESS 1
 # define MAY_SPAWN_ASYNCHRONOUS_CHILD 1
 
 # if defined(DEBUGGING) && !defined(DEBUG_FILE_DIR)
 /* For a DEBUGGING version, on the UNIX host, we can also usually rely
-   on being able to use `/tmp' for temporary file storage.  (Note that,
+   on being able to use '/tmp' for temporary file storage.  (Note that,
    as in the __MSDOS__ or _WIN32 case above, the user may override this
    by defining
 
@@ -153,7 +153,7 @@ extern "C" const char *Version_string;
 #define INLINE_LEADER_CHAR '\\'
 
 // Don't use colour names here!  Otherwise there is a dependency on
-// a file called `rgb.txt' which maps names to colours.
+// a file called 'rgb.txt' which maps names to colours.
 #define TRANSPARENT "-background rgb:f/f/f -transparent rgb:f/f/f"
 #define MIN_ALPHA_BITS 0
 #define MAX_ALPHA_BITS 4
@@ -215,7 +215,7 @@ static int eqn_flag = FALSE;            // must we 
preprocess via eqn?
 
 static char *linebuf = NULL;           // for scanning devps/DESC
 static int linebufsize = 0;
-static const char *image_gen = NULL;    // the `gs' program
+static const char *image_gen = NULL;    // the 'gs' program
 
 const char *const FONT_ENV_VAR = "GROFF_FONT_PATH";
 static search_path font_path(FONT_ENV_VAR, FONTPATH, 0, 0);
@@ -778,7 +778,7 @@ void char_buffer::skip_until_newline(char_block **t, int *i)
 void char_buffer::emit_troff_output(int device_format_selector)
 {
   // Handle output for BOTH html and image device formats
-  // if `device_format_selector' is passed as
+  // if 'device_format_selector' is passed as
   //
   //   HTML_FORMAT(HTML_OUTPUT_FILTER)
   //     Buffer data is written to the output stream
@@ -1134,7 +1134,7 @@ static void generateImages(char *region_file_name)
 
 static void set_redirection(int was, int willbe)
 {
-  // Nothing to do if `was' and `willbe' already have same handle.
+  // Nothing to do if 'was' and 'willbe' already have same handle.
   if (was != willbe) {
     // Otherwise attempt the specified redirection.
     if (dup2 (willbe, was) < 0) {
@@ -1147,9 +1147,9 @@ static void set_redirection(int was, int willbe)
     }
 
     // When redirection has been successfully completed assume redundant
-    // handle `willbe' is no longer required, so close it.
+    // handle 'willbe' is no longer required, so close it.
     if (close(willbe) < 0)
-      // Issue diagnostic if `close' fails.
+      // Issue diagnostic if 'close' fails.
       sys_fatal("close");
   }
 }
@@ -1166,7 +1166,7 @@ static int save_and_redirect(int was, int willbe)
     return (was);
 
   // Proceeding with redirection so first save and verify our duplicate
-  // handle for `was'.
+  // handle for 'was'.
   int saved = dup(was);
   if (saved < 0) {
     fprintf(stderr, "unable to get duplicate handle for %d\n", was);
@@ -1177,7 +1177,7 @@ static int save_and_redirect(int was, int willbe)
   set_redirection(was, willbe);
 
   // Finally return the saved duplicate descriptor for the
-  // original `was' stream.
+  // original 'was' stream.
   return saved;
 }
 
@@ -1313,13 +1313,13 @@ int char_buffer::run_output_filter(int filter, int 
argc, char **argv)
 
 #if MAY_FORK_CHILD_PROCESS
   // This is the UNIX process model.  To invoke our post-processor,
-  // we must `fork' the current process.
+  // we must 'fork' the current process.
 
   if ((child_pid = fork()) < 0)
     sys_fatal("fork");
 
   else if (child_pid == 0) {
-    // This is the child process fork.  We redirect its `stdin' stream
+    // This is the child process fork.  We redirect its 'stdin' stream
     // to read data emerging from our pipe.  There is no point in saving,
     // since we won't be able to restore later!
 
@@ -1334,7 +1334,7 @@ int char_buffer::run_output_filter(int filter, int argc, 
char **argv)
     // The IMAGE_OUTPUT_FILTER needs special output redirection...
 
     if (filter == IMAGE_OUTPUT_FILTER) {
-      // with BOTH `stdout' AND `stderr' diverted to files.
+      // with BOTH 'stdout' AND 'stderr' diverted to files.
 
       set_redirection(STDOUT_FILENO, PS_OUTPUT_STREAM);
       set_redirection(STDERR_FILENO, REGION_OUTPUT_STREAM);
@@ -1344,7 +1344,7 @@ int char_buffer::run_output_filter(int filter, int argc, 
char **argv)
 
     execvp(argv[0], argv);
 
-    // If we get to here then the `exec...' request for the output filter
+    // If we get to here then the 'exec...' request for the output filter
     // failed.  Diagnose it and bail out.
 
     error("couldn't exec %1: %2", argv[0], strerror(errno), ((char *)0));
@@ -1360,7 +1360,7 @@ int char_buffer::run_output_filter(int filter, int argc, 
char **argv)
     if (close(pipedes[0]) < 0)
       sys_fatal("close");
 
-    // Now we redirect the `stdout' stream to the inlet end of the pipe,
+    // Now we redirect the 'stdout' stream to the inlet end of the pipe,
     // and push out the appropiately formatted data to the filter.
 
     pipedes[1] = save_and_redirect(STDOUT_FILENO, pipedes[1]);
@@ -1379,19 +1379,19 @@ int char_buffer::run_output_filter(int filter, int 
argc, char **argv)
 
 #elif MAY_SPAWN_ASYNCHRONOUS_CHILD
 
-  // We do not have `fork', (or we prefer not to use it),
+  // We do not have 'fork', (or we prefer not to use it),
   // but asynchronous processes are allowed, passing data through pipes.
-  // This should be ok for most Win32 systems and is preferred to `fork'
+  // This should be ok for most Win32 systems and is preferred to 'fork'
   // for starting child processes under Cygwin.
 
-  // Before we start the post-processor we bind its inherited `stdin'
-  // stream to the readable end of our pipe, saving our own `stdin' stream
-  // in `pipedes[0]'.
+  // Before we start the post-processor we bind its inherited 'stdin'
+  // stream to the readable end of our pipe, saving our own 'stdin' stream
+  // in 'pipedes[0]'.
 
   pipedes[0] = save_and_redirect(STDIN_FILENO, pipedes[0]);
 
   // for the Win32 model,
-  // we need special provision for saving BOTH `stdout' and `stderr'.
+  // we need special provision for saving BOTH 'stdout' and 'stderr'.
 
   int saved_stdout = dup(STDOUT_FILENO);
   int saved_stderr = STDERR_FILENO;
@@ -1399,8 +1399,8 @@ int char_buffer::run_output_filter(int filter, int argc, 
char **argv)
   // The IMAGE_OUTPUT_FILTER needs special output redirection...
 
   if (filter == IMAGE_OUTPUT_FILTER) {
-    // with BOTH `stdout' AND `stderr' diverted to files while saving a
-    // duplicate handle for `stderr'.
+    // with BOTH 'stdout' AND 'stderr' diverted to files while saving a
+    // duplicate handle for 'stderr'.
 
     set_redirection(STDOUT_FILENO, PS_OUTPUT_STREAM);
     saved_stderr = save_and_redirect(STDERR_FILENO, REGION_OUTPUT_STREAM);
@@ -1415,19 +1415,19 @@ int char_buffer::run_output_filter(int filter, int 
argc, char **argv)
     exit(1);
   }
 
-  // Once the post-processor has been started we revert our `stdin'
+  // Once the post-processor has been started we revert our 'stdin'
   // to its original saved source, which also closes the readable handle
   // for the pipe.
 
   set_redirection(STDIN_FILENO, pipedes[0]);
 
-  // if we redirected `stderr', for use by the image post-processor,
+  // if we redirected 'stderr', for use by the image post-processor,
   // then we also need to reinstate its original assignment.
 
   if (filter == IMAGE_OUTPUT_FILTER)
     set_redirection(STDERR_FILENO, saved_stderr);
 
-  // Now we redirect the `stdout' stream to the inlet end of the pipe,
+  // Now we redirect the 'stdout' stream to the inlet end of the pipe,
   // and push out the appropiately formatted data to the filter.
 
   set_redirection(STDOUT_FILENO, pipedes[1]);
@@ -1471,7 +1471,7 @@ int char_buffer::do_html(int argc, char *argv[])
   s = (char *)"-dwww-image-template=";
   s += macroset_template;      // do not combine these statements,
                                // otherwise they will not work
-  s += '\0';                   // the trailing `\0' is ignored
+  s += '\0';                   // the trailing '\0' is ignored
   argv = addRegDef(argc, argv, s.contents());
   argc++;
 
diff --git a/src/preproc/pic/TODO b/src/preproc/pic/TODO
index 875d417..53ca282 100644
--- a/src/preproc/pic/TODO
+++ b/src/preproc/pic/TODO
@@ -25,11 +25,11 @@ apparently is in grap).
 
 Possibly change fillval so that zero is black.
 
-Provide a way of getting text blocks (positioned with `.in' rather
+Provide a way of getting text blocks (positioned with '.in' rather
 than \h), into pic.  Should be possible to use block of diverted text
 in pic.  Possibly something similar to T{ and T} in tbl.
 
 Option to provide macro backtraces.
 
-Have a path that is searched by `copy' statement.  Set by environment
+Have a path that is searched by 'copy' statement.  Set by environment
 variable or command-line option.
diff --git a/src/preproc/pic/lex.cpp b/src/preproc/pic/lex.cpp
index b7f0464..8fb225d 100644
--- a/src/preproc/pic/lex.cpp
+++ b/src/preproc/pic/lex.cpp
@@ -413,7 +413,7 @@ void interpolate_macro_with_args(const char *body)
              argv[argc] = strsave(token_buffer.contents());
          }
        }
-       // for `foo()', argc = 0
+       // for 'foo()', argc = 0
        if (argc > 0 || c != ')' || i > 0)
          if (!ignore)
            argc++;
diff --git a/src/preproc/pic/main.cpp b/src/preproc/pic/main.cpp
index 2eb3883..94e509b 100644
--- a/src/preproc/pic/main.cpp
+++ b/src/preproc/pic/main.cpp
@@ -34,7 +34,7 @@ int safer_flag = 1;
 int command_char = '.';                // the character that introduces lines
                                // that should be passed through transparently
 static int lf_flag = 1;                // non-zero if we should attempt to 
understand
-                               // lines beginning with `.lf'
+                               // lines beginning with '.lf'
 
 // Non-zero means a parse error was encountered.
 static int had_parse_error = 0;
diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp
index 41fd535..09d89c0 100644
--- a/src/preproc/pic/object.cpp
+++ b/src/preproc/pic/object.cpp
@@ -1162,7 +1162,7 @@ graphic_object *object_spec::make_move(position *curpos, 
direction *dirp)
   static position last_move;
   static int have_last_move = 0;
   *dirp = dir;
-  // No need to look at at since `at' attribute sets `from' attribute.
+  // No need to look at at since 'at' attribute sets 'from' attribute.
   position startpos = (flags & HAS_FROM) ? from : *curpos;
   if (!(flags & HAS_SEGMENT)) {
     if ((flags & IS_SAME) && have_last_move)
@@ -1449,8 +1449,8 @@ linear_object *object_spec::make_line(position *curpos, 
direction *dirp)
   static position last_line;
   static int have_last_line = 0;
   *dirp = dir;
-  // We handle `at' only in conjunction with `with', otherwise it is
-  // the same as the `from' attribute.
+  // We handle 'at' only in conjunction with 'with', otherwise it is
+  // the same as the 'from' attribute.
   position startpos;
   if ((flags & HAS_AT) && (flags & HAS_WITH))
     // handled later -- we need the end position
@@ -1504,7 +1504,7 @@ linear_object *object_spec::make_line(position *curpos, 
direction *dirp)
       s->is_absolute = 1;      // to avoid confusion
     }
   if ((flags & HAS_AT) && (flags & HAS_WITH)) {
-    // `tmpobj' works for arrows and splines too -- we only need positions
+    // 'tmpobj' works for arrows and splines too -- we only need positions
     line_object tmpobj(startpos, endpos, 0, 0);
     position pos = at;
     place offset;
@@ -1962,13 +1962,13 @@ string_list::~string_list()
 {
   free(str);
 }
-  
-/* A path is used to hold the argument to the `with' attribute.  For
-   example, `.nw' or `.A.s' or `.A'.  The major operation on a path is to
+
+/* A path is used to hold the argument to the 'with' attribute.  For
+   example, '.nw' or '.A.s' or '.A'.  The major operation on a path is to
    take a place and follow the path through the place to place within the
-   place.  Note that `.A.B.C.sw' will work.
+   place.  Note that '.A.B.C.sw' will work.
 
-   For compatibility with DWB pic, `with' accepts positions also (this
+   For compatibility with DWB pic, 'with' accepts positions also (this
    is incorrectly documented in CSTR 116). */
 
 path::path(corner c)
diff --git a/src/preproc/pic/pic.ypp b/src/preproc/pic/pic.ypp
index a5f122e..3c4f94b 100644
--- a/src/preproc/pic/pic.ypp
+++ b/src/preproc/pic/pic.ypp
@@ -219,7 +219,7 @@ box "foo" above ljust == box ("foo" above ljust)
 
 %left LEFT RIGHT
 /* Give attributes that take an optional expression a higher
-precedence than left and right, so that, e.g., `line chop left'
+precedence than left and right, so that, e.g., 'line chop left'
 parses properly. */
 %left CHOP SOLID DASHED DOTTED UP DOWN FILL COLORED OUTLINED
 %left XSLANTED YSLANTED
@@ -233,7 +233,7 @@ parses properly. */
 /* these need to be lower than '-' */
 %left HEIGHT RADIUS WIDTH DIAMETER FROM TO AT THICKNESS
 
-/* these must have higher precedence than CHOP so that `label %prec CHOP'
+/* these must have higher precedence than CHOP so that 'label %prec CHOP'
 works */
 %left DOT_N DOT_E DOT_W DOT_S DOT_NE DOT_SE DOT_NW DOT_SW DOT_C
 %left DOT_START DOT_END TOP BOTTOM LEFT_CORNER RIGHT_CORNER
@@ -1786,14 +1786,14 @@ void reset(const char *nm)
       define_variable(defaults_table[i].name, val);
       return;
     }
-  lex_error("`%1' is not a predefined variable", nm);
+  lex_error("'%1' is not a predefined variable", nm);
 }
 
 void reset_all()
 {
   // We only have to explicitly reset the pre-defined variables that
-  // aren't scaled because `scale' is not scaled, and changing the
-  // value of `scale' will reset all the pre-defined variables that
+  // aren't scaled because 'scale' is not scaled, and changing the
+  // value of 'scale' will reset all the pre-defined variables that
   // are scaled.
   for (unsigned int i = 0;
        i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
diff --git a/src/preproc/pic/troff.cpp b/src/preproc/pic/troff.cpp
index 74e5d83..81f4a0d 100644
--- a/src/preproc/pic/troff.cpp
+++ b/src/preproc/pic/troff.cpp
@@ -268,7 +268,7 @@ inline position troff_output::transform(const position &pos)
 // if the aligned attribute is used.
 #define GROPS_REG "0p"
 
-// If this register is defined, geqn won't produce `\x's.
+// If this register is defined, geqn won't produce '\x's.
 #define EQN_NO_EXTRA_SPACE_REG "0x"
 
 void troff_output::start_picture(double sc,
diff --git a/src/preproc/preconv/preconv.cpp b/src/preproc/preconv/preconv.cpp
index f11ea6c..70d8fe2 100644
--- a/src/preproc/preconv/preconv.cpp
+++ b/src/preproc/preconv/preconv.cpp
@@ -65,22 +65,22 @@ struct conversion {
 //
 // For encodings which don't have a MIME tag we use GNU iconv's encoding
 // names (which also work with the portable GNU libiconv package).  They
-// are marked with `*'.
+// are marked with '*'.
 //
 // Encodings specific to XEmacs and Emacs are marked as such; no mark means
 // that they are used by both Emacs and XEmacs.
 //
-// Encodings marked with `--' are special to Emacs, XEmacs, or other
+// Encodings marked with '--' are special to Emacs, XEmacs, or other
 // applications and shouldn't be used for data exchange.
 //
-// `Not covered' means that the encoding can be handled neither by GNU iconv
+// 'Not covered' means that the encoding can be handled neither by GNU iconv
 // nor by libiconv, or just one of them has support for it.
 //
 // A special case is VIQR encoding: Despite of having a MIME tag it is
 // missing in both libiconv 1.10 and iconv (coming with GNU libc 2.3.6).
 //
-// Finally, we add all aliases of GNU iconv for `ascii', `latin1', and
-// `utf8' to catch those encoding names before iconv is called.
+// Finally, we add all aliases of GNU iconv for 'ascii', 'latin1', and
+// 'utf8' to catch those encoding names before iconv is called.
 //
 // Note that most entries are commented out -- only a small, (rather)
 // reliable and stable subset of encodings is recognized (for coding tags)
@@ -417,7 +417,7 @@ unicode_entity(int u)
 }
 
 // ---------------------------------------------------------
-// Conversion functions.  All functions take `data', which
+// Conversion functions.  All functions take 'data', which
 // normally holds the first two lines, and a file pointer.
 // ---------------------------------------------------------
 
@@ -672,7 +672,7 @@ conversion_iconv(FILE *fp, const string &data, char *enc)
   int outbuf[BUFSIZ];
   char *outptr = (char *)outbuf;
   size_t outbytes_left = BUFSIZ * sizeof (int);
-  // Handle `data'.
+  // Handle 'data'.
   char *inptr = (char *)data.contents();
   size_t inbytes_left = data.length();
   char *limit;
@@ -696,13 +696,13 @@ conversion_iconv(FILE *fp, const string &data, char *enc)
        outbytes_left = BUFSIZ * sizeof (int) - outbytes_left;
       }
       else if (errno == EINVAL) {
-       // `data' ends with partial input sequence.
+       // 'data' ends with partial input sequence.
        memcpy(inbuf, inptr, inbytes_left);
        break;
       }
     }
   }
-  // Handle `fp' and switch to `inbuf'.
+  // Handle 'fp' and switch to 'inbuf'.
   size_t read_bytes;
   char *read_start = inbuf + inbytes_left;
   while ((read_bytes = fread(read_start, 1, BUFSIZ - inbytes_left, fp)) > 0) {
@@ -728,7 +728,7 @@ conversion_iconv(FILE *fp, const string &data, char *enc)
          outbytes_left = BUFSIZ * sizeof (int) - outbytes_left;
        }
        else if (errno == EINVAL) {
-         // `inbuf' ends with partial input sequence.
+         // 'inbuf' ends with partial input sequence.
          memmove(inbuf, inptr, inbytes_left);
          break;
        }
@@ -753,7 +753,7 @@ conversion_iconv(FILE *fp, const string &data, char *enc)
 // that any normal text file (regardless of the encoding)
 // starts with the bytes which represent a BOM.
 //
-// Return the BOM in string `BOM'; `data' then starts with
+// Return the BOM in string 'BOM'; 'data' then starts with
 // the byte after the BOM.  This function reads (at most)
 // four bytes from the data stream.
 //
@@ -809,9 +809,9 @@ get_BOM(FILE *fp, string &BOM, string &data)
 // ---------------------------------------------------------
 // Get first two lines from input stream.
 //
-// Return string (allocated with `new') without zero bytes
+// Return string (allocated with 'new') without zero bytes
 // or NULL in case no coding tag can occur in the data
-// (which is stored unmodified in `data').
+// (which is stored unmodified in 'data').
 // ---------------------------------------------------------
 char *
 get_tag_lines(FILE *fp, string &data)
@@ -892,7 +892,7 @@ is_comment_line(char *s)
 //   <variable1>: <value1>; <variable2>: <value2>; ...
 //
 // Leading and trailing blanks are ignored.  There might be
-// more than one blank after `:' and `;'.
+// more than one blank after ':' and ';'.
 //
 // Return position of next value/variable pair or NULL if
 // at end of data.
@@ -910,7 +910,7 @@ get_variable_value_pair(char *d1, char **variable, char 
**value)
   while (l < MAX_VAR_LEN - 1 && *d1 && !strchr(";: \t", *d1))
     var[l++] = *(d1++);
   var[l] = 0;
-  // Skip everything until `:', `;', or end of data.
+  // Skip everything until ':', ';', or end of data.
   while (*d1 && *d1 != ':' && *d1 != ';')
     d1++;
   val[0] = 0;
@@ -926,7 +926,7 @@ get_variable_value_pair(char *d1, char **variable, char 
**value)
   while (l < MAX_VAR_LEN - 1 && *d1 && !strchr("; \t", *d1))
     val[l++] = *(d1++);
   val[l] = 0;
-  // Skip everything until `;' or end of data.
+  // Skip everything until ';' or end of data.
   while (*d1 && *d1 != ';')
     d1++;
   if (*d1 == ';')
@@ -941,14 +941,14 @@ get_variable_value_pair(char *d1, char **variable, char 
**value)
 //
 //   <comment> ... -*-<local variables list>-*-
 //
-// (`...' might be anything).
+// ('...' might be anything).
 //
 // <comment> can be one of the following syntax forms at the
 // beginning of the line:
 //
 //   .\"   .\#   '\"   '\#   \#
 //
-// There can be whitespace after the leading `.' or "'".
+// There can be whitespace after the leading '.' or "'".
 //
 // The local variables list must occur within the first
 // comment block at the very beginning of the data stream.
@@ -1071,7 +1071,7 @@ end:
 }
 
 // ---------------------------------------------------------
-// Handle an input file.  If filename is `-' handle stdin.
+// Handle an input file.  If filename is '-' handle stdin.
 //
 // Return 1 on success, 0 otherwise.
 // ---------------------------------------------------------
@@ -1116,7 +1116,7 @@ do_file(const char *filename)
     encoding = (char *)BOM_encoding;
   }
   else {
-    // `check_coding_tag' returns a pointer to a static array (or NULL).
+    // 'check_coding_tag' returns a pointer to a static array (or NULL).
     char *file_encoding = check_coding_tag(fp, data);
     if (!file_encoding) {
       if (debug_flag)
diff --git a/src/preproc/refer/TODO b/src/preproc/refer/TODO
index d39c99b..36f4508 100644
--- a/src/preproc/refer/TODO
+++ b/src/preproc/refer/TODO
@@ -17,7 +17,7 @@ back to filenames.
 Rename join-authors to join-fields.  Have a separate label-join-fields
 command used by @ and #.
 
-Have some sort of quantifier: e.g., $.n#A means execute `$.n' for each
+Have some sort of quantifier: e.g., $.n#A means execute '$.n' for each
 instance of an A field, setting $ to that field, and then join the
 results using the join-authors command.
 
@@ -31,7 +31,7 @@ Trim eign a bit.
 
 In indexed searching discard all numeric keys except dates.
 
-Allow `\ ' to separate article from first word.
+Allow '\ ' to separate article from first word.
 
 %also
 
@@ -51,7 +51,7 @@ first operand of ~. Or perhaps implement <> using some magic 
character
 in the string.
 
 Should special treatment be given to lines beginning with . in
-references?  (Unix refer seems to treat them like `%').
+references?  (Unix refer seems to treat them like '%').
 
 Add global flag to control whether all files should be stat-ed after
 loading, and whether they should be stat-ed before each search.
diff --git a/src/preproc/refer/label.ypp b/src/preproc/refer/label.ypp
index 77d1453..160d711 100644
--- a/src/preproc/refer/label.ypp
+++ b/src/preproc/refer/label.ypp
@@ -1028,8 +1028,8 @@ void compute_labels(reference **v, int n)
 /* A reference with a list of authors <A0,A1,...,AN> _needs_ author i
 where 0 <= i <= N if there exists a reference with a list of authors
 <B0,B1,...,BM> such that <A0,A1,...,AN> != <B0,B1,...,BM> and M >= i
-and Aj = Bj for 0 <= j < i. In this case if we can't say ``A0,
-A1,...,A(i-1) et al'' because this would match both <A0,A1,...,AN> and
+and Aj = Bj for 0 <= j < i. In this case if we can't say "A0,
+A1,...,A(i-1) et al" because this would match both <A0,A1,...,AN> and
 <B0,B1,...,BM>.  If a reference needs author i we only have to call
 need_author(j) for some j >= i such that the reference also needs
 author j. */
diff --git a/src/preproc/refer/ref.cpp b/src/preproc/refer/ref.cpp
index 876f617..868bbfc 100644
--- a/src/preproc/refer/ref.cpp
+++ b/src/preproc/refer/ref.cpp
@@ -365,7 +365,7 @@ void sortify_date(const char *s, int len, string &key)
   const char *year_end;
   const char *year_start = find_year(s, s + len, &year_end);
   if (!year_start) {
-    // Things without years are often `forthcoming', so it makes sense
+    // Things without years are often 'forthcoming', so it makes sense
     // that they sort after things with explicit years.
     key += 'A';
     sortify_words(s, s + len, 0, key);
diff --git a/src/preproc/tbl/main.cpp b/src/preproc/tbl/main.cpp
index 12a0977..206f6f6 100644
--- a/src/preproc/tbl/main.cpp
+++ b/src/preproc/tbl/main.cpp
@@ -886,7 +886,7 @@ format *process_format(table_input &in, options *opt,
       case 'E':
        c = in.get();
        list->equal = 1;
-       // `e' and `x' are mutually exclusive
+       // 'e' and 'x' are mutually exclusive
        list->expand = 0;
        break;
       case 'f':
@@ -1061,16 +1061,16 @@ format *process_format(table_input &in, options *opt,
            } while (c != EOF && csdigit(c));
          }
        }
-       // `w' and `x' are mutually exclusive
+       // 'w' and 'x' are mutually exclusive
        list->expand = 0;
        break;
       case 'x':
       case 'X':
        c = in.get();
        list->expand = 1;
-       // `x' and `e' are mutually exclusive
+       // 'x' and 'e' are mutually exclusive
        list->equal = 0;
-       // `x' and `w' are mutually exclusive
+       // 'x' and 'w' are mutually exclusive
        list->width = "";
        break;
       case 'z':
diff --git a/src/preproc/tbl/table.cpp b/src/preproc/tbl/table.cpp
index e0b4870..184f2ff 100644
--- a/src/preproc/tbl/table.cpp
+++ b/src/preproc/tbl/table.cpp
@@ -505,7 +505,7 @@ void left_text_entry::simple_print(int)
   print_contents();
 }
 
-// The only point of this is to make `\a' ``work'' as in Unix tbl.  Grrr.
+// The only point of this is to make '\a' "work" as in Unix tbl.  Grrr.
 
 void left_text_entry::add_tab()
 {
@@ -621,7 +621,7 @@ void alphabetic_text_entry::simple_print(int)
   print_contents();
 }
 
-// The only point of this is to make `\a' ``work'' as in Unix tbl.  Grrr.
+// The only point of this is to make '\a' "work" as in Unix tbl.  Grrr.
 
 void alphabetic_text_entry::add_tab()
 {
@@ -1030,7 +1030,7 @@ void restore_inline_modifier(const entry_modifier *m)
 
 struct stuff {
   stuff *next;
-  int row;                     // occurs before row `row'
+  int row;                     // occurs before row 'row'
   char printed;                        // has it been printed?
 
   stuff(int);
diff --git a/src/roff/groff/groff.am b/src/roff/groff/groff.am
index 26900f4..46baef1 100644
--- a/src/roff/groff/groff.am
+++ b/src/roff/groff/groff.am
@@ -10,12 +10,12 @@
 #
 # Latest update: 22 Aug 2015
 #
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -63,7 +63,11 @@ groff_opts_with_arg.txt: groff_opts_no_arg.txt
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/roff/groff/pipeline.c b/src/roff/groff/pipeline.c
index a9d493a..a7b0876 100644
--- a/src/roff/groff/pipeline.c
+++ b/src/roff/groff/pipeline.c
@@ -166,7 +166,7 @@ const char *system_shell_dash_c(void)
 
   shell_name = system_shell_name();
 
-  /* Assume that if the shell name ends in `sh', it's Unixy */
+  /* Assume that if the shell name ends in 'sh', it's Unixy */
   if (strcasecmp(shell_name + strlen(shell_name) - strlen("sh"), "sh") == 0)
     dash_c = "-c";
   else
@@ -340,7 +340,7 @@ int run_pipeline(int ncommands, char ***commands, int 
no_pipe)
 
 #else  /* not _WIN32 */
 
-/* MSDOS doesn't have `fork', so we need to simulate the pipe by running
+/* MSDOS doesn't have 'fork', so we need to simulate the pipe by running
    the programs in sequence with standard streams redirected to and
    from temporary files.
 */
@@ -364,16 +364,16 @@ int run_pipeline(int ncommands, char ***commands, int 
no_pipe)
   int i, f, ret = 0;
 
   /* Choose names for a pair of temporary files to implement the pipeline.
-     Microsoft's `tempnam' uses the directory specified by `getenv("TMP")'
+     Microsoft's 'tempnam' uses the directory specified by 'getenv("TMP")'
      if it exists; in case it doesn't, try the GROFF alternatives, or
-     `getenv("TEMP")' as last resort -- at least one of these had better
+     'getenv("TEMP")' as last resort -- at least one of these had better
      be set, since Microsoft's default has a high probability of failure. */
   char *tmpdir;
   if ((tmpdir = getenv("GROFF_TMPDIR")) == NULL
       && (tmpdir = getenv("TMPDIR")) == NULL)
     tmpdir = getenv("TEMP");
 
-  /* Don't use `tmpnam' here: Microsoft's implementation yields unusable
+  /* Don't use 'tmpnam' here: Microsoft's implementation yields unusable
      file names if current directory is on network share with read-only
      root. */
   tmpfiles[0] = tempnam(tmpdir, NULL);
diff --git a/src/roff/grog/grog.am b/src/roff/grog/grog.am
index 215520b..9ac1b85 100644
--- a/src/roff/grog/grog.am
+++ b/src/roff/grog/grog.am
@@ -1,4 +1,4 @@
-# grog.am for `grog'
+# grog.am for 'grog'
 #
 # File position: <groff-source>/src/roff/grog/grog.am
 #
@@ -7,14 +7,14 @@
 #
 # Latest update: 22 Aug 2015
 #
-# This file is part of `grog' which is part of `groff'.
+# This file is part of 'grog' which is part of 'groff'.
 #
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -34,7 +34,7 @@ EXTRA_DIST += \
   src/roff/grog/grog.1.man \
   src/roff/grog/grog.pl
 
-# Perl version works for all parts of `groff'.
+# Perl version works for all parts of 'groff'.
 
 grog: $(grog_srcdir)/grog.pl $(GROG) $(SH_DEPS_SED_SCRIPT)
        $(RM) $@
@@ -52,7 +52,11 @@ grog: $(grog_srcdir)/grog.pl $(GROG) $(SH_DEPS_SED_SCRIPT)
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/roff/grog/grog.pl b/src/roff/grog/grog.pl
index 1527d26..66aee5e 100644
--- a/src/roff/grog/grog.pl
+++ b/src/roff/grog/grog.pl
@@ -10,18 +10,18 @@
 # Written by James Clark, maintained by Werner Lemberg.
 # Rewritten with Perl by Bernd Warken <address@hidden>.
 # The macros for identifying the devices were taken from Ralph
-# Corderoy's `grog.sh' of 2006.
+# Corderoy's 'grog.sh' of 2006.
 
 # Last update: 19 Jul 2015
 
-# This file is part of `grog', which is part of `groff'.
+# This file is part of 'grog', which is part of 'groff'.
 
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 2 of the License, or
 # (at your option) any later version.
 
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -40,7 +40,7 @@ use strict;
 # $Bin is the directory where this script is located
 use FindBin;
 
-my $before_make;       # script before run of `make'
+my $before_make;       # script before run of 'make'
 {
   my $at = '@';
   $before_make = 1 if '@VERSION@' eq "${at}VERSION${at}";
diff --git a/src/roff/grog/subs.pl b/src/roff/grog/subs.pl
index b9076f2..db8128b 100644
--- a/src/roff/grog/subs.pl
+++ b/src/roff/grog/subs.pl
@@ -10,18 +10,18 @@
 # This file was split from grog.pl and put under GPL2 by
 #               Bernd Warken <address@hidden>.
 # The macros for identifying the devices were taken from Ralph
-# Corderoy's `grog.sh' of 2006.
+# Corderoy's 'grog.sh' of 2006.
 
 # Last update: 10 Sep 2015
 
-# This file is part of `grog', which is part of `groff'.
+# This file is part of 'grog', which is part of 'groff'.
 
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 2 of the License, or
 # (at your option) any later version.
 
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -52,16 +52,16 @@ $\ = "\n";
 # my $Sp = '' if $arg eq '-C';
 my $Sp = '';
 
-# from `src/roff/groff/groff.cpp' near `getopt_long'
+# from 'src/roff/groff/groff.cpp' near 'getopt_long'
 my $groff_opts =
   'abcCd:D:eEf:F:gGhiI:jJkK:lL:m:M:n:No:pP:r:RsStT:UvVw:W:XzZ';
 
 my @Command = ();              # stores the final output
-my @Mparams = ();              # stores the options `-m*'
+my @Mparams = ();              # stores the options '-m*'
 my @devices = ();              # stores -T
 
-my $do_run = 0;                        # run generated `groff' command
-my $pdf_with_ligatures = 0;    # `-P-y -PU' for `pdf' device
+my $do_run = 0;                        # run generated 'groff' command
+my $pdf_with_ligatures = 0;    # '-P-y -PU' for 'pdf' device
 my $with_warnings = 0;
 
 my $Prog = $0;
@@ -225,7 +225,7 @@ sub handle_args {
       next;
     }
 
-    # now $arg starts with `-'
+    # now $arg starts with '-'
 
     if ($arg eq '-') {
       unless ($was_minus) {
@@ -329,7 +329,7 @@ sub handle_file_ext {
       next;
     }
 
-    next unless ( $file =~ /\./ ); # file name has no dot `.'
+    next unless ( $file =~ /\./ ); # file name has no dot '.'
 
 ##### handle_file_ext()
     # get extension
@@ -371,9 +371,9 @@ sub handle_file_ext {
                      n|
                      1b
                    )$/x ) {
-      # `man|n' from `groff' source
-      # `1b' from `heirloom'
-      # `[1-9lno]' from man-pages
+      # 'man|n' from 'groff' source
+      # '1b' from 'heirloom'
+      # '[1-9lno]' from man-pages
       if ( $tmac_ext && $tmac_ext ne 'man' ) {
        # found tmac is not 'man'
        print STDERR __FILE__ . ' ' .  __LINE__ . ': ' .
@@ -464,13 +464,13 @@ sub handle_whole_files {
 # do_first_line()
 ########################################################################
 
-# As documented for the `man' program, the first line can be
+# As documented for the 'man' program, the first line can be
 # used as a groff option line.  This is done by:
 # - start the line with '\" (apostrophe, backslash, double quote)
 # - add a space character
-# - a word using the following characters can be appended: `egGjJpRst'.
+# - a word using the following characters can be appended: 'egGjJpRst'.
 #     Each of these characters means an option for the generated
-#     `groff' command line, e.g. `-t'.
+#     'groff' command line, e.g. '-t'.
 
 sub do_first_line {
   my ( $line, $file ) = @_;
@@ -591,12 +591,12 @@ sub do_line {
   ######################################################################
   # soelim
   if ( $line =~ /^\.(do)?\s*(so|mso|PS\s*<|SO_START).*$/ ) {
-    # `.so', `.mso', `.PS<...', `.SO_START'
+    # '.so', '.mso', '.PS<...', '.SO_START'
     $Groff{'soelim'}++;
     return;
   }
   if ( $line =~ /^\.(do)?\s*(so|mso|PS\s*<|SO_START).*$/ ) {
-    # `.do so', `.do mso', `.do PS<...', `.do SO_START'
+    # '.do so', '.do mso', '.do PS<...', '.do SO_START'
     $Groff{'soelim'}++;
     return;
   }
@@ -708,8 +708,8 @@ sub do_line {
   }
 
 ####### do_line()
-  # In the old version of -mdoc `Oo' is a toggle, in the new it's
-  # closed by `Oc'.
+  # In the old version of -mdoc 'Oo' is a toggle, in the new it's
+  # closed by 'Oc'.
   if ( $command =~ /^\.Oc$/ ) {
     $Groff{'Oc'}++;            # only for modern mdoc
     return;
@@ -902,7 +902,7 @@ my $correct_tmac = '';
 sub make_groff_device {
   # globals: @devices
 
-  # default device is `ps' when without `-T'
+  # default device is 'ps' when without '-T'
   my $device;
   push @devices, 'ps' unless ( @devices );
 
@@ -961,7 +961,7 @@ EOF
 sub make_groff_preproc {
   # globals: %Groff, @preprograms, @Command
 
-  # preprocessors without `groff' option
+  # preprocessors without 'groff' option
   if ( $Groff{'lilypond'} ) {
     push @preprograms, 'glilypond';
   }
@@ -972,7 +972,7 @@ sub make_groff_preproc {
     push @preprograms, 'gpinyin';
   }
 
-  # preprocessors with `groff' option
+  # preprocessors with 'groff' option
   if ( ( $Groff{'PS'} ||  $Groff{'PF'} ) &&  $Groff{'PE'} ) {
     $Groff{'pic'} = 1;
   }
@@ -1010,7 +1010,7 @@ sub make_groff_preproc {
 sub make_groff_tmac_man_ms {
   # globals: @filespec, $tmac_ext, %Groff
 
-  # `man' requests, not from `ms'
+  # 'man' requests, not from 'ms'
   if ( $Groff{'SS'} || $Groff{'SY'} || $Groff{'OP'} ||
        $Groff{'TH_first'} || $Groff{'TP'} || $Groff{'UR'} ) {
     $Groff{'man'} = 1;
@@ -1024,7 +1024,7 @@ sub make_groff_tmac_man_ms {
   }
 
 ###### make_groff_tmac_man_ms()
-  # `ms' requests, not from `man'
+  # 'ms' requests, not from 'man'
   if (
       $Groff{'1C'} || $Groff{'2C'} ||
       $Groff{'AB'} || $Groff{'AE'} || $Groff{'AI'} || $Groff{'AU'} ||
@@ -1045,7 +1045,7 @@ sub make_groff_tmac_man_ms {
 
 ###### make_groff_tmac_man_ms()
 
-  # both `man' and `ms' requests
+  # both 'man' and 'ms' requests
   if ( $Groff{'P'} || $Groff{'IP'}  ||
        $Groff{'LP'} || $Groff{'PP'} || $Groff{'SH'} ) {
     if ( $tmac_ext eq 'man' ) {
@@ -1200,7 +1200,7 @@ sub make_groff_line_rest {
   push(@Command, @filespec) unless ( $file_args_included );
 
   #########
-  # execute the `groff' command here with option `--run'
+  # execute the 'groff' command here with option '--run'
   if ( $do_run ) { # with --run
     print STDERR __FILE__ . ' ' .  __LINE__ . ': ' . "@Command";
     my $cmd = join ' ', @Command;
diff --git a/src/roff/nroff/nroff.sh b/src/roff/nroff/nroff.sh
index cbd2bc9..fb8ddf2 100644
--- a/src/roff/nroff/nroff.sh
+++ b/src/roff/nroff/nroff.sh
@@ -5,14 +5,14 @@
 #
 # Written by James Clark, maintained by Werner Lemberg.
 
-# This file is of `groff'.
+# This file is of 'groff'.
 
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License (GPL) as published
 # by the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -27,7 +27,7 @@ prog="$0"
 # Check the GROFF_TYPESETTER environment variable.
 Tenv=$GROFF_TYPESETTER
 
-# Try the `locale charmap' command first because it is most reliable.
+# Try the 'locale charmap' command first because it is most reliable.
 # On systems where it doesn't exist, look at the environment variables.
 case "`exec 2>/dev/null ; locale charmap`" in
   UTF-8)
@@ -59,7 +59,7 @@ case "`exec 2>/dev/null ; locale charmap`" in
     esac ;;
 esac
 
-# `for i; do' doesn't work with some versions of sh
+# 'for i; do' doesn't work with some versions of sh
 
 Topt=
 opts=
@@ -81,10 +81,10 @@ for i
     -T*)
       Topt=$1 ;;
     -u*)
-      # Solaris 2.2 through at least Solaris 9 `man' invokes
-      # `nroff -u0 ... | col -x'.  Ignore the -u0,
-      # since `less' and `more' can use the emboldening info.
-      # However, disable SGR, since Solaris `col' mishandles it.
+      # Solaris 2.2 through at least Solaris 9 'man' invokes
+      # 'nroff -u0 ... | col -x'.  Ignore the -u0,
+      # since 'less' and 'more' can use the emboldening info.
+      # However, disable SGR, since Solaris 'col' mishandles it.
       opts="$opts -P-c" ;;
     -v | --version)
       echo "GNU nroff (groff) version @VERSION@"
@@ -123,8 +123,8 @@ case $T in
     T=-T$Tloc ;;
 esac
 
-# Set up the `GROFF_BIN_PATH' variable
-# to be exported in the current `GROFF_RUNTIME' environment.
+# Set up the 'GROFF_BIN_PATH' variable
+# to be exported in the current 'GROFF_RUNTIME' environment.
 
 @GROFF_BIN_PATH_SETUP@
 export GROFF_BIN_PATH
diff --git a/src/roff/troff/TODO b/src/roff/troff/TODO
index 2c36ab1..630113f 100644
--- a/src/roff/troff/TODO
+++ b/src/roff/troff/TODO
@@ -106,7 +106,7 @@ Request to remove an environment. (Maintain a count of the 
references
 to the environment from the environment table, environment dictionary
 or environment stack.)
 
-Perhaps in the nr request a leading `-' should only be recognized as a
+Perhaps in the nr request a leading '-' should only be recognized as a
 decrement when it's at the same input level as the request.
 
 Don't ever change a charinfo.  Create new variants instead and chain
@@ -121,6 +121,6 @@ More thorough range checking.
 
 Provide syntax for octal and hexadecimal numeric constants.  Perhaps
 o#100 and x#7f as per Scheme.  Or perhaps PostScript 16#7f.  Ambiguity
-between whether `c' is treated as digit or scaling indicator.
+between whether 'c' is treated as digit or scaling indicator.
 
 Local variables.
diff --git a/src/roff/troff/charinfo.h b/src/roff/troff/charinfo.h
index fc1b873..f996c85 100644
--- a/src/roff/troff/charinfo.h
+++ b/src/roff/troff/charinfo.h
@@ -20,7 +20,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 #include <vector>
 #include <utility>
 
-extern int class_flag; // set if there was a call to `.class'
+extern int class_flag; // set if there was a call to '.class'
 extern void get_flags();
 
 class macro;
@@ -45,7 +45,7 @@ class charinfo : glyph {
   std::vector<charinfo *> nested_classes;
 public:
   enum {               // Values for the flags bitmask.  See groff
-                       // manual, description of the `.cflags' request.
+                       // manual, description of the '.cflags' request.
     ENDS_SENTENCE = 0x01,
     BREAK_BEFORE = 0x02,
     BREAK_AFTER = 0x04,
diff --git a/src/roff/troff/dictionary.cpp b/src/roff/troff/dictionary.cpp
index abb59c7..5c41d4f 100644
--- a/src/roff/troff/dictionary.cpp
+++ b/src/roff/troff/dictionary.cpp
@@ -20,8 +20,8 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>. */
 
 #include "troff.h"
 #include "dictionary.h"
-  
-// is `p' a good size for a hash table
+
+// is 'p' a good size for a hash table
 
 static int is_good_size(unsigned int p)
 {
diff --git a/src/roff/troff/div.cpp b/src/roff/troff/div.cpp
index c3ae2e7..6f78acd 100644
--- a/src/roff/troff/div.cpp
+++ b/src/roff/troff/div.cpp
@@ -202,9 +202,9 @@ macro_diversion::macro_diversion(symbol s, int append)
       .a
       .di
 
-       will work and will make `a' contain two copies of what it contained
-       before; in troff, `a' would contain nothing. */
-    request_or_macro *rm 
+       will work and will make 'a' contain two copies of what it contained
+       before; in troff, 'a' would contain nothing. */
+    request_or_macro *rm
       = (request_or_macro *)request_dictionary.remove(s);
     if (!rm || (mac = rm->to_macro()) == 0)
       mac = new macro;
@@ -217,7 +217,7 @@ macro_diversion::macro_diversion(symbol s, int append)
   // stored in the macro. When we detect this, we copy the contents.
   mac = new macro(1);
   if (append) {
-    request_or_macro *rm 
+    request_or_macro *rm
       = (request_or_macro *)request_dictionary.lookup(s);
     if (rm) {
       macro *m = rm->to_macro();
diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp
index f4fdc7e..dc83366 100644
--- a/src/roff/troff/env.cpp
+++ b/src/roff/troff/env.cpp
@@ -777,7 +777,7 @@ environment::environment(const environment *e)
   suppress_next_eol(e->suppress_next_eol),
   seen_break(e->seen_break),
   tabs(e->tabs),
-  name(e->name),               // so that, e.g., `.if "\n[.ev]"0"' works
+  name(e->name),               // so that, e.g., '.if "\n[.ev]"0"' works
   control_char(e->control_char),
   no_break_control_char(e->no_break_control_char),
   hyphen_indicator_char(e->hyphen_indicator_char)
@@ -3729,28 +3729,28 @@ void hyphen_trie::do_delete(void *v)
 
 /* We use very simple rules to parse TeX's hyphenation patterns.
 
-   . `%' starts a comment even if preceded by `\'.
+   . '%' starts a comment even if preceded by '\'.
 
-   . No support for digraphs and like `\$'.
+   . No support for digraphs and like '\$'.
 
-   . `^^xx' (`x' is 0-9 or a-f), and `^^x' (character code of `x' in the
-     range 0-127) are recognized; other use of `^' causes an error.
+   . '^^xx' ('x' is 0-9 or a-f), and '^^x' (character code of 'x' in the
+     range 0-127) are recognized; other use of '^' causes an error.
 
    . No macro expansion.
 
-   . We check for the expression `\patterns{...}' (possibly with
+   . We check for the expression '\patterns{...}' (possibly with
      whitespace before and after the braces).  Everything between the
-     braces is taken as hyphenation patterns.  Consequently, `{' and `}'
+     braces is taken as hyphenation patterns.  Consequently, '{' and '}'
      are not allowed in patterns.
 
-   . Similarly, `\hyphenation{...}' gives a list of hyphenation
+   . Similarly, '\hyphenation{...}' gives a list of hyphenation
      exceptions.
 
-   . `\endinput' is recognized also.
+   . '\endinput' is recognized also.
 
-   . For backwards compatibility, if `\patterns' is missing, the
+   . For backwards compatibility, if '\patterns' is missing, the
      whole file is treated as a list of hyphenation patterns (only
-     recognizing `%' as the start of a comment.
+     recognizing '%' as the start of a comment.
 
 */
 
@@ -3830,7 +3830,7 @@ void hyphen_trie::read_patterns_file(const char *name, 
int append,
     if (c == EOF) {
       if (have_keyword || traditional) // we are done
        break;
-      else {                           // rescan file in `traditional' mode
+      else {                           // rescan file in 'traditional' mode
        rewind(fp);
        traditional = 1;
        c = hpf_getc(fp);
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 23c821e..9cb64e0 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -5570,7 +5570,7 @@ static void troff_request()
 static void skip_alternative()
 {
   int level = 0;
-  // ensure that ``.if 0\{'' works as expected
+  // ensure that ".if 0\{" works as expected
   if (tok.left_brace())
     level++;
   int c;
@@ -6323,7 +6323,7 @@ inline bool psbb_locator::get_header_comment(void)
     //
     get_line(DSC_LINE_MAX_ENFORCE) != 0
 
-    // In header comments, `%X' (`X' any printable character
+    // In header comments, '%X' ('X' any printable character
     // except whitespace) is also acceptable.
     //
     && (buf[0] == '%') && !white_space(buf[1])
@@ -8899,9 +8899,9 @@ charinfo *get_charinfo_by_number(int n)
 }
 
 // This overrides the same function from libgroff; while reading font
-// definition files it puts single-letter glyph names into `charset_table'
-// and converts glyph names of the form `\x' (`x' a single letter) into `x'. 
-// Consequently, symbol("x") refers to glyph name `\x', not `x'.
+// definition files it puts single-letter glyph names into 'charset_table'
+// and converts glyph names of the form '\x' ('x' a single letter) into 'x'.
+// Consequently, symbol("x") refers to glyph name '\x', not 'x'.
 
 glyph *name_to_glyph(const char *nm)
 {
diff --git a/src/roff/troff/mtsm.cpp b/src/roff/troff/mtsm.cpp
index 03f76fc..630957e 100644
--- a/src/roff/troff/mtsm.cpp
+++ b/src/roff/troff/mtsm.cpp
@@ -366,7 +366,7 @@ mtsm::~mtsm()
 }
 
 /*
- *  push_state - push the current troff state and use `n' as
+ *  push_state - push the current troff state and use 'n' as
  *               the new troff state.
  */
 
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index b4daaef..72f31fa 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -1176,7 +1176,7 @@ void troff_output_file::put_char(charinfo *ci, tfont *tf,
   }
 }
 
-// set_font calls `flush_tbuf' if necessary.
+// set_font calls 'flush_tbuf' if necessary.
 
 void troff_output_file::set_font(tfont *tf)
 {
@@ -1241,7 +1241,7 @@ void troff_output_file::set_font(tfont *tf)
   current_tfont = tf;
 }
 
-// fill_color calls `flush_tbuf' and `do_motion' if necessary.
+// fill_color calls 'flush_tbuf' and 'do_motion' if necessary.
 
 void troff_output_file::fill_color(color *col)
 {
@@ -1294,7 +1294,7 @@ void troff_output_file::fill_color(color *col)
   put('\n');
 }
 
-// glyph_color calls `flush_tbuf' and `do_motion' if necessary.
+// glyph_color calls 'flush_tbuf' and 'do_motion' if necessary.
 
 void troff_output_file::glyph_color(color *col)
 {
diff --git a/src/roff/troff/number.cpp b/src/roff/troff/number.cpp
index ade4d4e..8ee3503 100644
--- a/src/roff/troff/number.cpp
+++ b/src/roff/troff/number.cpp
@@ -602,7 +602,7 @@ static int parse_term(units *v, int scale_indicator,
     break;
   case 'm':
     {
-      // Convert to hunits so that with -Tascii `m' behaves as in nroff.
+      // Convert to hunits so that with -Tascii 'm' behaves as in nroff.
       hunits em = curenv->get_size();
       *v = scale(*v, em.is_zero() ? hresolution : em.to_units(), divisor);
     }
@@ -615,7 +615,7 @@ static int parse_term(units *v, int scale_indicator,
     break;
   case 'n':
     {
-      // Convert to hunits so that with -Tascii `n' behaves as in nroff.
+      // Convert to hunits so that with -Tascii 'n' behaves as in nroff.
       hunits en = curenv->get_size()/2;
       *v = scale(*v, en.is_zero() ? hresolution : en.to_units(), divisor);
     }
diff --git a/src/roff/troff/token.h b/src/roff/troff/token.h
index 4c07ccb..25d73cf 100644
--- a/src/roff/troff/token.h
+++ b/src/roff/troff/token.h
@@ -41,18 +41,18 @@ class token {
     TOKEN_ITALIC_CORRECTION,   // \/
     TOKEN_LEADER,              // ^A
     TOKEN_LEFT_BRACE,
-    TOKEN_MARK_INPUT,          // \k -- `nm' is the name of the register
+    TOKEN_MARK_INPUT,          // \k -- 'nm' is the name of the register
     TOKEN_NEWLINE,             // newline
     TOKEN_NODE,
     TOKEN_NUMBERED_CHAR,
     TOKEN_PAGE_EJECTOR,
     TOKEN_REQUEST,
     TOKEN_RIGHT_BRACE,
-    TOKEN_SPACE,               // ` ' -- ordinary space
+    TOKEN_SPACE,               // ' ' -- ordinary space
     TOKEN_SPECIAL,             // a special character -- \' \` \- \(xx \[xxx]
-    TOKEN_SPREAD,              // \p -- break and spread output line 
+    TOKEN_SPREAD,              // \p -- break and spread output line
     TOKEN_STRETCHABLE_SPACE,   // \~
-    TOKEN_UNSTRETCHABLE_SPACE, // `\ '
+    TOKEN_UNSTRETCHABLE_SPACE, // '\ '
     TOKEN_HORIZONTAL_SPACE,    // \|, \^, \0, \h
     TOKEN_TAB,                 // tab
     TOKEN_TRANSPARENT,         // \!
diff --git a/src/roff/troff/troff.am b/src/roff/troff/troff.am
index 7f326e0..191798a 100644
--- a/src/roff/troff/troff.am
+++ b/src/roff/troff/troff.am
@@ -47,7 +47,7 @@ troff_SOURCES = \
   src/roff/troff/request.h \
   src/roff/troff/hvunits.h
 
-nodist_troff_SOURCES = src/roff/troff/majorminor.cpp 
+nodist_troff_SOURCES = src/roff/troff/majorminor.cpp
 
 src/roff/troff/input.$(OBJEXT): defs.h
 CLEANFILES += src/roff/troff/majorminor.cpp
@@ -64,7 +64,11 @@ src/roff/troff/majorminor.cpp: $(top_srcdir)/VERSION 
$(top_srcdir)/REVISION
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/utils/addftinfo/addftinfo.am b/src/utils/addftinfo/addftinfo.am
index c0f0eb7..c60acac 100644
--- a/src/utils/addftinfo/addftinfo.am
+++ b/src/utils/addftinfo/addftinfo.am
@@ -1,4 +1,4 @@
-# Automake rules for `src utils addftinfo'
+# Automake rules for 'src utils addftinfo'
 #
 # File position: <groff-source>/src/utils/addftinfo/addftinfo.am
 #
@@ -6,12 +6,12 @@
 #
 # Latest update: 22 Aug 2015
 #
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 2 of the License, or
 # (at your option) any later version.
 #
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -33,7 +33,11 @@ addftinfo_SOURCES = \
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/utils/afmtodit/afmtodit.am b/src/utils/afmtodit/afmtodit.am
index 339ed1b..6b4fb95 100644
--- a/src/utils/afmtodit/afmtodit.am
+++ b/src/utils/afmtodit/afmtodit.am
@@ -1,4 +1,4 @@
-# Automake rules for `src utils afmtodit'
+# Automake rules for 'src utils afmtodit'
 #
 # File position: <groff-source>/src/utils/afmtodit/afmtdodit.am
 #
@@ -52,7 +52,11 @@ afmtodit: $(afmtodit_srcdir)/afmtodit.pl 
$(afmtodit_srcdir)/afmtodit.tables
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
index 1a3dae8..f2fc6c2 100644
--- a/src/utils/afmtodit/afmtodit.pl
+++ b/src/utils/afmtodit/afmtodit.pl
@@ -247,7 +247,7 @@ while (<MAP>) {
            $nmap{$field[0]} += 1;
 
            # There is more than one way to make a PS glyph name;
-           # let us try Unicode names with both `uni' and `u' prefixes.
+           # let us try Unicode names with both 'uni' and 'u' prefixes.
            my $utmp = $AGL_to_unicode{$field[0]};
            if (defined $utmp && $utmp =~ /^[0-9A-F]{4}$/) {
                foreach my $unicodepsname ("uni" . $utmp, "u" . $utmp) {
@@ -295,19 +295,19 @@ if (!$opt_x) {
            #   Drop all characters from the glyph name starting with the
            #   first occurrence of a period (U+002E FULL STOP), if any.
            #   ?? We avoid mapping of glyphs with periods, since they are
-           #   likely to be variant glyphs, leading to a `many ps glyphs --
+           #   likely to be variant glyphs, leading to a 'many ps glyphs --
            #   one groff glyph' conflict.
            #
            #   If multiple glyphs in the font represent the same character
-           #   in the Unicode standard, as do `A' and `A.swash', for example,
+           #   in the Unicode standard, as do 'A' and 'A.swash', for example,
            #   they can be differentiated by using the same base name with
            #   different suffixes.  This suffix (the part of glyph name that
            #   follows the first period) does not participate in the
            #   computation of a character sequence.  It can be used by font
            #   designers to indicate some characteristics of the glyph.  The
            #   suffix may contain periods or any other permitted characters.
-           #   Small cap A, for example, could be named `uni0041.sc' or
-           #   `A.sc'.
+           #   Small cap A, for example, could be named 'uni0041.sc' or
+           #   'A.sc'.
 
            next if $ch =~ /\./;
 
@@ -331,7 +331,7 @@ if (!$opt_x) {
                    $utmp = "U+" . $utmp;
                }
 
-               #   * Otherwise, if the component is of the form `uni'
+               #   * Otherwise, if the component is of the form 'uni'
                #     (U+0075 U+006E U+0069) followed by a sequence of
                #     uppercase hexadecimal digits (0 .. 9, A .. F, i.e.,
                #     U+0030 .. U+0039, U+0041 .. U+0046), the length of
@@ -354,7 +354,7 @@ if (!$opt_x) {
                    }
                }
 
-               #   * Otherwise, if the component is of the form `u' (U+0075)
+               #   * Otherwise, if the component is of the form 'u' (U+0075)
                #     followed by a sequence of four to six uppercase
                #     hexadecimal digits {0 .. 9, A .. F} (U+0030 .. U+0039,
                #     U+0041 .. U+0046), and those digits represent a number
@@ -397,7 +397,7 @@ if (!$opt_x) {
 }
 
 # Check explicitly for groff's standard ligatures -- many afm files don't
-# have proper `L' entries.
+# have proper 'L' entries.
 
 my %default_ligatures = (
   "fi", "f i",
diff --git a/src/utils/afmtodit/afmtodit.tables 
b/src/utils/afmtodit/afmtodit.tables
index cda121a..57a0657 100644
--- a/src/utils/afmtodit/afmtodit.tables
+++ b/src/utils/afmtodit/afmtodit.tables
@@ -2038,7 +2038,7 @@ my %unicode_decomposed = (
 
 # This table has been algorithmically derived from the file glyphlist.txt,
 # version 2.0, available from partners.adobe.com, on 2005-12-09.  For glyphs
-# `Delta', `Omega', and `mu', the values have been manually changed to the
+# 'Delta', 'Omega', and 'mu', the values have been manually changed to the
 # ones from aglfn.txt, version 1.6.
 my %AGL_to_unicode = (
   "A", "0041",
diff --git a/src/utils/afmtodit/make-afmtodit-tables 
b/src/utils/afmtodit/make-afmtodit-tables
index 2f9d5aa..a2bfe1a 100755
--- a/src/utils/afmtodit/make-afmtodit-tables
+++ b/src/utils/afmtodit/make-afmtodit-tables
@@ -1,7 +1,7 @@
 #! /bin/sh
 #
-# make-afmtodit-tables -- script for creating the `unicode_decomposed'
-#                         and `AGL_to_unicode' tables
+# make-afmtodit-tables -- script for creating the 'unicode_decomposed'
+#                         and 'AGL_to_unicode' tables
 #
 # Copyright (C) 2005-2014  Free Software Foundation, Inc.
 #      Written by Werner Lemberg <address@hidden>
@@ -27,11 +27,11 @@
 #   make-afmtodit-tables \
 #     UnicodeData.txt version-string glyphlist.txt > afmtodit.in
 #
-# `UnicodeData.txt' is the central database file from the Unicode standard.
+# 'UnicodeData.txt' is the central database file from the Unicode standard.
 # Unfortunately, it doesn't contain a version number which must be thus
 # provided manually as an additional parameter.
 #
-# `glyphlist.txt' holds the Adobe Glyph List (AGL).
+# 'glyphlist.txt' holds the Adobe Glyph List (AGL).
 #
 # This program needs a C preprocessor.
 #
diff --git a/src/utils/hpftodit/hpftodit.am b/src/utils/hpftodit/hpftodit.am
index 257c633..7bb178a 100644
--- a/src/utils/hpftodit/hpftodit.am
+++ b/src/utils/hpftodit/hpftodit.am
@@ -1,4 +1,4 @@
-# Automake rules for `src utils hpftodit'
+# Automake rules for 'src utils hpftodit'
 #
 # File position: <groff-source>/src/utils/hpftodit/hpftodit.am
 #
@@ -6,12 +6,12 @@
 #
 # Latest update: 22 Aug 2015
 #
-# `groff' is free software; you can redistribute it and/or modify it
+# 'groff' is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 2 of the License, or
 # (at your option) any later version.
 #
-# `groff' is distributed in the hope that it will be useful, but
+# 'groff' is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
@@ -32,7 +32,11 @@ hpftodit_SOURCES = \
 
 
 ########################################################################
-### Emacs settings
+# Editor settings
+########################################################################
+#
 # Local Variables:
 # mode: makefile-automake
+# fill-column: 72
 # End:
+# vim: set filetype=automake textwidth=72:
diff --git a/src/utils/lkbib/lkbib.cpp b/src/utils/lkbib/lkbib.cpp
index c6859f5..0a75f1d 100644
--- a/src/utils/lkbib/lkbib.cpp
+++ b/src/utils/lkbib/lkbib.cpp
@@ -68,7 +68,7 @@ int main(int argc, char **argv)
        char *ptr;
        long n = strtol(optarg, &ptr, 10);
        if (n == 0 && ptr == optarg) {
-         error("bad integer `%1' in `t' option", optarg);
+         error("bad integer '%1' in 't' option", optarg);
          break;
        }
        if (n < 1)
diff --git a/src/utils/lookbib/lookbib.cpp b/src/utils/lookbib/lookbib.cpp
index 5845628..160c40d 100644
--- a/src/utils/lookbib/lookbib.cpp
+++ b/src/utils/lookbib/lookbib.cpp
@@ -68,7 +68,7 @@ int main(int argc, char **argv)
        char *ptr;
        long n = strtol(optarg, &ptr, 10);
        if (n == 0 && ptr == optarg) {
-         error("bad integer `%1' in `t' option", optarg);
+         error("bad integer '%1' in 't' option", optarg);
          break;
        }
        if (n < 1)
diff --git a/src/utils/tfmtodit/tfmtodit.cpp b/src/utils/tfmtodit/tfmtodit.cpp
index fff9854..5bd354a 100644
--- a/src/utils/tfmtodit/tfmtodit.cpp
+++ b/src/utils/tfmtodit/tfmtodit.cpp
@@ -276,14 +276,14 @@ int tfm::load(const char *file)
   errno = 0;
   FILE *fp = fopen(file, FOPEN_RB);
   if (!fp) {
-    error("can't open `%1': %2", file, strerror(errno));
+    error("can't open '%1': %2", file, strerror(errno));
     return 0;
   }
   int c1 = getc(fp);
   int c2 = getc(fp);
   if (c1 == EOF || c2 == EOF) {
     fclose(fp);
-    error("unexpected end of file on `%1'", file);
+    error("unexpected end of file on '%1'", file);
     return 0;
   }
   int lf = (c1 << 8) + c2;
@@ -291,16 +291,16 @@ int tfm::load(const char *file)
   unsigned char *buf = new unsigned char[toread];
   if (fread(buf, 1, toread, fp) != (size_t)toread) {
     if (feof(fp))
-      error("unexpected end of file on `%1'", file);
+      error("unexpected end of file on '%1'", file);
     else
-      error("error on file `%1'", file);
+      error("error on file '%1'", file);
     a_delete buf;
     fclose(fp);
     return 0;
   }
   fclose(fp);
   if (lf < 6) {
-    error("bad tfm file `%1': impossibly short", file);
+    error("bad tfm file '%1': impossibly short", file);
     a_delete buf;
     return 0;
   }
@@ -317,12 +317,12 @@ int tfm::load(const char *file)
   int ne = read2(ptr);
   np = read2(ptr);
   if (6 + lh + (ec - bc + 1) + nw + nh + nd + ni + nl + nk + ne + np != lf) {
-    error("bad tfm file `%1': lengths do not sum", file);
+    error("bad tfm file '%1': lengths do not sum", file);
     a_delete buf;
     return 0;
   }
   if (lh < 2) {
-    error("bad tfm file `%1': header too short", file);
+    error("bad tfm file '%1': header too short", file);
     a_delete buf;
     return 0;
   }
@@ -416,7 +416,7 @@ int gf::load(const char *file)
   errno = 0;
   FILE *fp = fopen(file, FOPEN_RB);
   if (!fp) {
-    error("can't open `%1': %2", file, strerror(errno));
+    error("can't open '%1': %2", file, strerror(errno));
     return 0;
   }
   if (getc(fp) != pre || getc(fp) != gf_id_byte) {
@@ -533,7 +533,7 @@ int gf::load(const char *file)
        goto eof;
       break;
     default:
-      fatal("unrecognized opcode `%1'", op);
+      fatal("unrecognized opcode '%1'", op);
       break;
     }
   }
@@ -602,7 +602,7 @@ int read_map(const char *file, char_list **table)
   errno = 0;
   FILE *fp = fopen(file, "r");
   if (!fp) {
-    error("can't open `%1': %2", file, strerror(errno));
+    error("can't open '%1': %2", file, strerror(errno));
     return 0;
   }
   for (int i = 0; i < 256; i++)
@@ -645,8 +645,8 @@ int read_map(const char *file, char_list **table)
 
 
 /* Every character that can participate in a ligature appears in the
-lig_chars table. `ch' gives the full-name of the character, `name'
-gives the groff name of the character, `i' gives its index in
+lig_chars table. 'ch' gives the full-name of the character, 'name'
+gives the groff name of the character, 'i' gives its index in
 the encoding, which is filled in later  (-1 if it does not appear). */
 
 struct S {
@@ -752,7 +752,7 @@ int main(int argc, char **argv)
     return 1;
   errno = 0;
   if (!freopen(font_file, "w", stdout)) {
-    error("can't open `%1' for writing: %2", font_file, strerror(errno));
+    error("can't open '%1' for writing: %2", font_file, strerror(errno));
     return 1;
   }
   printf("name %s\n", font_file);
diff --git a/src/utils/xtotroff/xtotroff.c b/src/utils/xtotroff/xtotroff.c
index 87d7d40..b20fda7 100644
--- a/src/utils/xtotroff/xtotroff.c
+++ b/src/utils/xtotroff/xtotroff.c
@@ -64,7 +64,7 @@ int charExists(XFontStruct * fi, int c)
 {
   XCharStruct *p;
 
-  /* `c' is always >= 0 */
+  /* 'c' is always >= 0 */
   if ((unsigned int) c < fi->min_char_or_byte2
       || (unsigned int) c > fi->max_char_or_byte2)
     return 0;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]