groff-commit
[Top][All Lists]
Advanced

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

[groff] 01/02: src: Migrate diagnostics away from `these quotes'.


From: G. Branden Robinson
Subject: [groff] 01/02: src: Migrate diagnostics away from `these quotes'.
Date: Thu, 9 Nov 2017 17:59:34 -0500 (EST)

gbranden pushed a commit to branch master
in repository groff.

commit 682a257d87870308ae289a57bd57d778cc991aee
Author: G. Branden Robinson <address@hidden>
Date:   Thu Nov 9 17:31:13 2017 -0500

    src: Migrate diagnostics away from `these quotes'.
    
    Fix bug https://savannah.gnu.org/bugs/?52374.
    
    Signed-off-by: G. Branden Robinson <address@hidden>
---
 ChangeLog                               |   6 ++
 src/devices/grodvi/dvi.cpp              |   8 +-
 src/devices/grohtml/post-html.cpp       |  20 ++---
 src/devices/grolbp/lbp.cpp              |  10 +--
 src/devices/grolj4/lj4.cpp              |  14 +--
 src/devices/grops/ps.cpp                |  36 ++++----
 src/devices/grops/psrm.cpp              |  14 +--
 src/devices/grotty/tty.cpp              |   2 +-
 src/devices/xditview/device.c           |   4 +-
 src/libs/libbib/index.cpp               |  40 ++++-----
 src/libs/libbib/linear.cpp              |  12 +--
 src/libs/libbib/search.cpp              |   2 +-
 src/libs/libdriver/input.cpp            |  36 ++++----
 src/libs/libdriver/printer.cpp          |  14 +--
 src/libs/libgroff/assert.cpp            |   2 +-
 src/libs/libgroff/font.cpp              |  60 ++++++-------
 src/libs/libgroff/getopt.c              |  38 ++++-----
 src/libs/libgroff/getopt1.c             |   4 +-
 src/libs/libgroff/relocate.cpp          |  10 +--
 src/libs/libgroff/searchpath.cpp        |   8 +-
 src/libs/libgroff/tmpfile.cpp           |   2 +-
 src/preproc/eqn/box.cpp                 |   2 +-
 src/preproc/eqn/delim.cpp               |   2 +-
 src/preproc/eqn/lex.cpp                 |  16 ++--
 src/preproc/eqn/main.cpp                |  24 +++---
 src/preproc/eqn/text.cpp                |   4 +-
 src/preproc/grn/hdb.cpp                 |   4 +-
 src/preproc/grn/main.cpp                |   2 +-
 src/preproc/html/pre-html.cpp           |  18 ++--
 src/preproc/pic/lex.cpp                 |  12 +--
 src/preproc/pic/main.cpp                |   6 +-
 src/preproc/pic/object.cpp              |   2 +-
 src/preproc/pic/pic.ypp                 |  20 ++---
 src/preproc/pic/tex.cpp                 |   2 +-
 src/preproc/preconv/preconv.cpp         |  22 ++---
 src/preproc/refer/command.cpp           |  14 +--
 src/preproc/refer/label.ypp             |   6 +-
 src/preproc/refer/refer.cpp             |  38 ++++-----
 src/preproc/soelim/soelim.cpp           |   2 +-
 src/preproc/tbl/main.cpp                |  58 ++++++-------
 src/preproc/tbl/table.cpp               |  10 +--
 src/roff/groff/groff.cpp                |  18 ++--
 src/roff/grog/subs.pl                   |  32 +++----
 src/roff/troff/div.cpp                  |   2 +-
 src/roff/troff/env.cpp                  |  28 +++---
 src/roff/troff/input.cpp                | 146 ++++++++++++++++----------------
 src/roff/troff/node.cpp                 |  18 ++--
 src/roff/troff/number.cpp               |  10 +--
 src/roff/troff/reg.cpp                  |   6 +-
 src/utils/addftinfo/addftinfo.cpp       |   6 +-
 src/utils/afmtodit/afmtodit.pl          |  14 +--
 src/utils/afmtodit/make-afmtodit-tables |   4 +-
 src/utils/hpftodit/hpftodit.cpp         |   6 +-
 src/utils/indxbib/indxbib.cpp           |  12 +--
 src/utils/xtotroff/Makefile.in          |   2 +-
 55 files changed, 458 insertions(+), 452 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b71d87d..7017dff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-11-09  G. Branden Robinson <address@hidden>
+
+       src: Migrate diagnostics away from `these quotes'.
+
+       Fix bug https://savannah.gnu.org/bugs/?52374.
+
 2017-11-07  G. Branden Robinson <address@hidden>
 
        tmac/strip.sed: Remove nilpotent capture from address.
diff --git a/src/devices/grodvi/dvi.cpp b/src/devices/grodvi/dvi.cpp
index 976ac05..45e8b1e 100644
--- a/src/devices/grodvi/dvi.cpp
+++ b/src/devices/grodvi/dvi.cpp
@@ -85,7 +85,7 @@ void dvi_font::handle_unknown_font_command(const char 
*command,
   if (strcmp(command, "checksum") == 0) {
     if (arg == 0)
       fatal_with_file_and_line(filename, lineno,
-                              "`checksum' command requires an argument");
+                              "'checksum' command requires an argument");
     checksum = int(strtol(arg, &ptr, 10));
     if (checksum == 0 && ptr == arg) {
       fatal_with_file_and_line(filename, lineno, "bad checksum");
@@ -94,7 +94,7 @@ void dvi_font::handle_unknown_font_command(const char 
*command,
   else if (strcmp(command, "designsize") == 0) {
     if (arg == 0)
       fatal_with_file_and_line(filename, lineno,
-                              "`designsize' command requires an argument");
+                              "'designsize' command requires an argument");
     design_size = int(strtol(arg, &ptr, 10));
     if (design_size == 0 && ptr == arg) {
       fatal_with_file_and_line(filename, lineno, "bad design size");
@@ -885,7 +885,7 @@ void draw_dvi_printer::draw(int code, int *p, int np, const 
environment *env)
       break;
     }
   default:
-    error("unrecognised drawing command `%1'", char(code));
+    error("unrecognised drawing command '%1'", char(code));
     break;
   }
 }
@@ -935,7 +935,7 @@ int main(int argc, char **argv)
     case 'p':
       if (!font::scan_papersize(optarg, 0,
                                &user_paper_length, &user_paper_width))
-       error("invalid custom paper size `%1' ignored", optarg);
+       error("invalid custom paper size '%1' ignored", optarg);
       break;
     case 'v':
       {
diff --git a/src/devices/grohtml/post-html.cpp 
b/src/devices/grohtml/post-html.cpp
index a93af7c..7778b3a 100644
--- a/src/devices/grohtml/post-html.cpp
+++ b/src/devices/grohtml/post-html.cpp
@@ -1742,7 +1742,7 @@ void assert_state::add (assert_pos **h,
        l = "<none>";
       if (v == NULL)
        v = "no value at all";
-      fprintf(stderr, "%s:%s:error in assert format of id=%s expecting value 
to be prefixed with an `=' got %s\n",
+      fprintf(stderr, "%s:%s:error in assert format of id=%s expecting value 
to be prefixed with an '=' got %s\n",
              f, l, i, v);
     }
     t->id = i;
@@ -4240,7 +4240,7 @@ void html_printer::draw(int code, int *p, int np, const 
environment *env)
     break;
 
   default:
-    error("unrecognised drawing command `%1'", char(code));
+    error("unrecognised drawing command '%1'", char(code));
     break;
   }
 }
@@ -4703,7 +4703,7 @@ void html_printer::set_char(glyph *g, font *f, const 
environment *env,
   style sty(f, env->size, env->height, env->slant, env->fontno, *env->col);
   if (sty.slant != 0) {
     if (sty.slant > 80 || sty.slant < -80) {
-      error("silly slant `%1' degrees", sty.slant);
+      error("silly slant '%1' degrees", sty.slant);
       sty.slant = 0;
     }
   }
@@ -4741,16 +4741,16 @@ void html_printer::set_numbered_char(int num, const 
environment *env,
   glyph *g = number_to_glyph(num);
   int fn = env->fontno;
   if (fn < 0 || fn >= nfonts) {
-    error("bad font position `%1'", fn);
+    error("bad font position '%1'", fn);
     return;
   }
   font *f = font_table[fn];
   if (f == 0) {
-    error("no font mounted at `%1'", fn);
+    error("no font mounted at '%1'", fn);
     return;
   }
   if (!f->contains(g)) {
-    error("font `%1' does not contain numbered character %2",
+    error("font '%1' does not contain numbered character %2",
          f->get_name(),
          num);
     return;
@@ -4772,21 +4772,21 @@ glyph *html_printer::set_char_and_width(const char *nm, 
const environment *env,
   glyph *g = name_to_glyph(nm);
   int fn = env->fontno;
   if (fn < 0 || fn >= nfonts) {
-    error("bad font position `%1'", fn);
+    error("bad font position '%1'", fn);
     return UNDEFINED_GLYPH;
   }
   *f = font_table[fn];
   if (*f == 0) {
-    error("no font mounted at `%1'", fn);
+    error("no font mounted at '%1'", fn);
     return UNDEFINED_GLYPH;
   }
   if (!(*f)->contains(g)) {
     if (nm[0] != '\0' && nm[1] == '\0')
-      error("font `%1' does not contain ascii character `%2'",
+      error("font '%1' does not contain ascii character '%2'",
            (*f)->get_name(),
            nm[0]);
     else
-      error("font `%1' does not contain special character `%2'",
+      error("font '%1' does not contain special character '%2'",
            (*f)->get_name(),
            nm);
     return UNDEFINED_GLYPH;
diff --git a/src/devices/grolbp/lbp.cpp b/src/devices/grolbp/lbp.cpp
index ad30b27..05324f3 100644
--- a/src/devices/grolbp/lbp.cpp
+++ b/src/devices/grolbp/lbp.cpp
@@ -117,7 +117,7 @@ void lbp_font::handle_unknown_font_command(const char 
*command,
   if (strcmp(command, "lbpname") == 0) {
     if (arg == 0)
       fatal_with_file_and_line(filename, lineno,
-                              "`%1' command requires an argument",
+                              "'%1' command requires an argument",
                               command);
     this->lbpname = new char[strlen(arg) + 1];
     strcpy(this->lbpname, arg);
@@ -540,7 +540,7 @@ void lbp_printer::draw(int code, int *p, int np, const 
environment *env)
     // not implemented yet
     break;
   default:
-    error("unrecognised drawing command `%1'", char(code));
+    error("unrecognised drawing command '%1'", char(code));
     break;
   }
   return;
@@ -590,7 +590,7 @@ static void handle_unknown_desc_command(const char 
*command, const char *arg,
       return;
     if (arg == 0)
       error_with_file_and_line(filename, lineno,
-                              "`orientation' command requires an argument");
+                              "'orientation' command requires an argument");
     else {
       if (strcasecmp(arg, "portrait") == 0)
        orientation = 0;
@@ -599,7 +599,7 @@ static void handle_unknown_desc_command(const char 
*command, const char *arg,
          orientation = 1;
        else
          error_with_file_and_line(filename, lineno,
-                                  "invalid argument to `orientation' command");
+                                  "invalid argument to 'orientation' command");
       }
     }
   }
@@ -657,7 +657,7 @@ int main(int argc, char **argv)
        const char *s;
        if (!font::scan_papersize(optarg, &s,
                                  &user_paperlength, &user_paperwidth))
-         error("invalid paper size `%1' ignored", optarg);
+         error("invalid paper size '%1' ignored", optarg);
        else
          user_papersize = set_papersize(s);
        break;
diff --git a/src/devices/grolj4/lj4.cpp b/src/devices/grolj4/lj4.cpp
index 874b5c9..4ae5893 100644
--- a/src/devices/grolj4/lj4.cpp
+++ b/src/devices/grolj4/lj4.cpp
@@ -131,23 +131,23 @@ void lj4_font::handle_unknown_font_command(const char 
*command,
     if (strcmp(command, command_table[i].s) == 0) {
       if (arg == 0)
        fatal_with_file_and_line(filename, lineno,
-                                "`%1' command requires an argument",
+                                "'%1' command requires an argument",
                                 command);
       char *ptr;
       long n = strtol(arg, &ptr, 10);
       if (n == 0 && ptr == arg)
        fatal_with_file_and_line(filename, lineno,
-                                "`%1' command requires numeric argument",
+                                "'%1' command requires numeric argument",
                                 command);
       if (n < command_table[i].min) {
        error_with_file_and_line(filename, lineno,
-                                "argument for `%1' command must not be less 
than %2",
+                                "argument for '%1' command must not be less 
than %2",
                                 command, command_table[i].min);
        n = command_table[i].min;
       }
       else if (n > command_table[i].max) {
        error_with_file_and_line(filename, lineno,
-                                "argument for `%1' command must not be greater 
than %2",
+                                "argument for '%1' command must not be greater 
than %2",
                                 command, command_table[i].max);
        n = command_table[i].max;
       }
@@ -230,7 +230,7 @@ lj4_printer::lj4_printer(int ps)
   if (font::papersize) {
     int n = lookup_paper_size(font::papersize);
     if (n < 0)
-      error("unknown paper size `%1'", font::papersize);
+      error("unknown paper size '%1'", font::papersize);
     else
       paper_size = n;
   }
@@ -532,7 +532,7 @@ void lj4_printer::draw(int code, int *p, int np, const 
environment *env)
       break;
     }
   default:
-    error("unrecognised drawing command `%1'", char(code));
+    error("unrecognised drawing command '%1'", char(code));
     break;
   }
 }
@@ -640,7 +640,7 @@ int main(int argc, char **argv)
       {
        int n = lookup_paper_size(optarg);
        if (n < 0)
-         error("unknown paper size `%1'", optarg);
+         error("unknown paper size '%1'", optarg);
        else
          user_paper_size = n;
        break;
diff --git a/src/devices/grops/ps.cpp b/src/devices/grops/ps.cpp
index c840176..5c548a8 100644
--- a/src/devices/grops/ps.cpp
+++ b/src/devices/grops/ps.cpp
@@ -441,7 +441,7 @@ void ps_font::handle_unknown_font_command(const char 
*command, const char *arg,
   if (strcmp(command, "encoding") == 0) {
     if (arg == 0)
       error_with_file_and_line(filename, lineno,
-                              "`encoding' command requires an argument");
+                              "'encoding' command requires an argument");
     else
       encoding = strsave(arg);
   }
@@ -453,7 +453,7 @@ static void handle_unknown_desc_command(const char 
*command, const char *arg,
   if (strcmp(command, "broken") == 0) {
     if (arg == 0)
       error_with_file_and_line(filename, lineno,
-                              "`broken' command requires an argument");
+                              "'broken' command requires an argument");
     else if (!bflag)
       broken_flags = atoi(arg);
   }
@@ -694,7 +694,7 @@ void ps_printer::set_char(glyph *g, font *f, const 
environment *env, int w,
   style sty(f, sub, env->size, env->height, env->slant);
   if (sty.slant != 0) {
     if (sty.slant > 80 || sty.slant < -80) {
-      error("silly slant `%1' degrees", sty.slant);
+      error("silly slant '%1' degrees", sty.slant);
       sty.slant = 0;
     }
   }
@@ -786,7 +786,7 @@ void ps_printer::define_encoding(const char *encoding, int 
encoding_index)
   char *path;
   FILE *fp = font::open_file(encoding, &path);
   if (fp == 0)
-    fatal("can't open encoding file `%1'", encoding);
+    fatal("can't open encoding file '%1'", encoding);
   int lineno = 1;
   const int BUFFER_SIZE = 512;
   char buf[BUFFER_SIZE];
@@ -880,7 +880,7 @@ void ps_printer::set_style(const style &sty)
   out.put_literal_symbol(buf);
   const char *psname = sty.f->get_internal_name();
   if (psname == 0)
-    fatal("no internalname specified for font `%1'", sty.f->get_name());
+    fatal("no internalname specified for font '%1'", sty.f->get_name());
   char *encoding = ((ps_font *)sty.f)->encoding;
   if (sty.sub == 0) {
     if (encoding != 0) {
@@ -1243,7 +1243,7 @@ void ps_printer::draw(int code, int *p, int np, const 
environment *env)
     }
     break;
   default:
-    error("unrecognised drawing command `%1'", char(code));
+    error("unrecognised drawing command '%1'", char(code));
     break;
   }
   output_hpos = output_vpos = -1;
@@ -1354,7 +1354,7 @@ void ps_printer::end_page(int)
   set_color(&default_color);
   out.put_symbol("EP");
   if (invis_count != 0) {
-    error("missing `endinvis' command");
+    error("missing 'endinvis' command");
     invis_count = 0;
   }
 }
@@ -1541,7 +1541,7 @@ void ps_printer::special(char *arg, const environment 
*env, char type)
   for (; *p != '\0' && *p != ':' && *p != ' ' && *p != '\n'; p++)
     ;
   if (*p == '\0' || strncmp(tag, "ps", p - tag) != 0) {
-    error("X command without `ps:' tag ignored");
+    error("X command without 'ps:' tag ignored");
     return;
   }
   p++;
@@ -1562,7 +1562,7 @@ void ps_printer::special(char *arg, const environment 
*env, char type)
       (this->*(proc_table[i].proc))(p, env);
       return;
     }
-  error("X command `%1' not recognised", command);
+  error("X command '%1' not recognised", command);
 }
 
 // A conforming PostScript document must not have lines longer
@@ -1658,7 +1658,7 @@ void ps_printer::do_mdef(char *arg, const environment *)
     return;
   }
   if (n < 0) {
-    error("out of range argument `%1' to X mdef command", int(n));
+    error("out of range argument '%1' to X mdef command", int(n));
     return;
   }
   arg = p;
@@ -1702,11 +1702,11 @@ void ps_printer::do_import(char *arg, const environment 
*env)
     if (*p == '\0')
       error("too few arguments for X import command");
     else
-      error("invalid argument `%1' for X import command", p);
+      error("invalid argument '%1' for X import command", p);
     return;
   }
   if (*p != '\0') {
-    error("superfluous argument `%1' for X import command", p);
+    error("superfluous argument '%1' for X import command", p);
     return;
   }
   int llx = parms[0];
@@ -1716,12 +1716,12 @@ void ps_printer::do_import(char *arg, const environment 
*env)
   int desired_width = parms[4];
   int desired_height = parms[5];
   if (desired_width <= 0) {
-    error("bad width argument `%1' for X import command: must be > 0",
+    error("bad width argument '%1' for X import command: must be > 0",
          desired_width);
     return;
   }
   if (nparms == 6 && desired_height <= 0) {
-    error("bad height argument `%1' for X import command: must be > 0",
+    error("bad height argument '%1' for X import command: must be > 0",
          desired_height);
     return;
   }
@@ -1767,7 +1767,7 @@ void ps_printer::do_invis(char *, const environment *)
 void ps_printer::do_endinvis(char *, const environment *)
 {
   if (invis_count == 0)
-    error("unbalanced `endinvis' command");
+    error("unbalanced 'endinvis' command");
   else
     --invis_count;
 }
@@ -1802,7 +1802,7 @@ int main(int argc, char **argv)
       break;
     case 'c':
       if (sscanf(optarg, "%d", &ncopies) != 1 || ncopies <= 0) {
-       error("bad number of copies `%1'", optarg);
+       error("bad number of copies '%1'", optarg);
        ncopies = 1;
       }
       break;
@@ -1824,7 +1824,7 @@ int main(int argc, char **argv)
     case 'p':
       if (!font::scan_papersize(optarg, 0,
                                &user_paper_length, &user_paper_width))
-       error("invalid custom paper size `%1' ignored", optarg);
+       error("invalid custom paper size '%1' ignored", optarg);
       break;
     case 'P':
       env = "GROPS_PROLOGUE";
@@ -1840,7 +1840,7 @@ int main(int argc, char **argv)
       break;
     case 'w':
       if (sscanf(optarg, "%d", &linewidth) != 1 || linewidth < 0) {
-       error("bad linewidth `%1'", optarg);
+       error("bad linewidth '%1'", optarg);
        linewidth = -1;
       }
       break;
diff --git a/src/devices/grops/psrm.cpp b/src/devices/grops/psrm.cpp
index 1d29190..7ab13cb 100644
--- a/src/devices/grops/psrm.cpp
+++ b/src/devices/grops/psrm.cpp
@@ -317,7 +317,7 @@ void resource_manager::output_prolog(ps_output &out)
   char *prologue = getenv("GROPS_PROLOGUE");
   FILE *fp = font::open_file(prologue, &path);
   if (!fp)
-    fatal("can't find `%1'", prologue);
+    fatal("can't find '%1'", prologue);
   fputs("%%BeginResource: ", outfp);
   procset_resource->print_type_and_name(outfp);
   putc('\n', outfp);
@@ -340,7 +340,7 @@ void resource_manager::supply_resource(resource *r, int 
rank, FILE *outfp,
 {
   if (r->flags & resource::BUSY) {
     r->name += '\0';
-    fatal("loop detected in dependency graph for %1 `%2'",
+    fatal("loop detected in dependency graph for %1 '%2'",
          resource_table[r->type],
          r->name.contents());
   }
@@ -353,7 +353,7 @@ void resource_manager::supply_resource(resource *r, int 
rank, FILE *outfp,
     if (r->type == RESOURCE_FONT) {
       fp = font::open_file(r->filename, &path);
       if (!fp) {
-       error("can't find `%1'", r->filename);
+       error("can't find '%1'", r->filename);
        a_delete r->filename;
        r->filename = 0;
       }
@@ -362,7 +362,7 @@ void resource_manager::supply_resource(resource *r, int 
rank, FILE *outfp,
       errno = 0;
       fp = include_search_path.open_file_cautious(r->filename);
       if (!fp) {
-       error("can't open `%1': %2", r->filename, strerror(errno));
+       error("can't open '%1': %2", r->filename, strerror(errno));
        a_delete r->filename;
        r->filename = 0;
       }
@@ -810,7 +810,7 @@ int resource_manager::do_begin_data(const char *ptr, int, 
FILE *fp,
     if (*ptr != '\0') {
       unit = read_one_of(&ptr, units, 2);
       if (unit < 0) {
-       error("expected `Bytes' or `Lines'");
+       error("expected 'Bytes' or 'Lines'");
        return 0;
       }
     }
@@ -928,7 +928,7 @@ static unsigned parse_extensions(const char *ptr)
     if (i >= NEXTENSIONS) {
       string s(name, ptr - name);
       s += '\0';
-      error("unknown extension `%1'", s.contents());
+      error("unknown extension '%1'", s.contents());
     }
   }
   return flags;
@@ -1077,7 +1077,7 @@ void resource_manager::read_download_file()
   char *path = 0;
   FILE *fp = font::open_file("download", &path);
   if (!fp)
-    fatal("can't find `download'");
+    fatal("can't find 'download'");
   char buf[512];
   int lineno = 0;
   while (fgets(buf, sizeof(buf), fp)) {
diff --git a/src/devices/grotty/tty.cpp b/src/devices/grotty/tty.cpp
index f710678..77abfb6 100644
--- a/src/devices/grotty/tty.cpp
+++ b/src/devices/grotty/tty.cpp
@@ -420,7 +420,7 @@ void tty_printer::special(char *arg, const environment 
*env, char type)
   for (; *p != '\0' && *p != ':' && *p != ' ' && *p != '\n'; p++)
     ;
   if (*p == '\0' || strncmp(tag, "tty", p - tag) != 0) {
-    error("X command without `tty:' tag ignored");
+    error("X command without 'tty:' tag ignored");
     return;
   }
   p++;
diff --git a/src/devices/xditview/device.c b/src/devices/xditview/device.c
index 2cb2219..2226f62 100644
--- a/src/devices/xditview/device.c
+++ b/src/devices/xditview/device.c
@@ -416,7 +416,7 @@ int read_charset_section(DeviceFont *f, FILE *fp)
            break;
        if (strcmp(p, "\"") == 0) {
            if (!last_charinfo) {
-               error("first line of charset section cannot use `\"'");
+               error("first line of charset section cannot use '\"'");
                return 0;
            }
            else
@@ -532,7 +532,7 @@ FILE *open_device_file(const char *device_name, const char 
*file_name,
   sprintf(buf, "dev%s/%s", device_name, file_name);
   fp = find_file(buf, result);
   if (!fp) {
-      fprintf(stderr, "can't find device file `%s'\n", file_name);
+      fprintf(stderr, "can't find device file '%s'\n", file_name);
       fflush(stderr);
   }
   XtFree(buf);
diff --git a/src/libs/libbib/index.cpp b/src/libs/libbib/index.cpp
index 097c66a..0026c9b 100644
--- a/src/libs/libbib/index.cpp
+++ b/src/libs/libbib/index.cpp
@@ -149,17 +149,17 @@ int index_search_item::load(int fd)
   unused(&fd_closer);
   struct stat sb;
   if (fstat(fd, &sb) < 0) {
-    error("can't fstat `%1': %2", name, strerror(errno));
+    error("can't fstat '%1': %2", name, strerror(errno));
     return 0;
   }
   if (!S_ISREG(sb.st_mode)) {
-    error("`%1' is not a regular file", name);
+    error("'%1' is not a regular file", name);
     return 0;
   }
   mtime = sb.st_mtime;
   int size = int(sb.st_size);
   if (size == 0) {
-    error("`%1' is an empty file", name);
+    error("'%1' is an empty file", name);
     return 0;
   }
   char *addr;
@@ -171,7 +171,7 @@ int index_search_item::load(int fd)
   else {
     addr = buffer = (char *)malloc(size);
     if (buffer == 0) {
-      error("can't allocate buffer for `%1'", name);
+      error("can't allocate buffer for '%1'", name);
       return 0;
     }
     char *ptr = buffer;
@@ -179,11 +179,11 @@ int index_search_item::load(int fd)
     while (bytes_to_read > 0) {
       int nread = read(fd, ptr, bytes_to_read);
       if (nread == 0) {
-       error("unexpected EOF on `%1'", name);
+       error("unexpected EOF on '%1'", name);
        return 0;
       }
       if (nread < 0) {
-       error("read error on `%1': %2", name, strerror(errno));
+       error("read error on '%1': %2", name, strerror(errno));
        return 0;
       }
       bytes_to_read -= nread;
@@ -192,11 +192,11 @@ int index_search_item::load(int fd)
   }
   header = *(index_header *)addr;
   if (header.magic != INDEX_MAGIC) {
-    error("`%1' is not an index file: wrong magic number", name);
+    error("'%1' is not an index file: wrong magic number", name);
     return 0;
   }
   if (header.version != INDEX_VERSION) {
-    error("version number in `%1' is wrong: was %2, should be %3",
+    error("version number in '%1' is wrong: was %2, should be %3",
          name, header.version, INDEX_VERSION);
     return 0;
   }
@@ -206,7 +206,7 @@ int index_search_item::load(int fd)
            + header.strings_size
            + sizeof(header));
   if (sz != size) {
-    error("size of `%1' is wrong: was %2, should be %3",
+    error("size of '%1' is wrong: was %2, should be %3",
          name, size, sz);
     return 0;
   }
@@ -258,7 +258,7 @@ int index_search_item::verify()
   const char *reason = do_verify();
   if (!reason)
     return 1;
-  error("`%1' is bad: %2", name, reason);
+  error("'%1' is bad: %2", name, reason);
   return 0;
 }
 
@@ -309,7 +309,7 @@ 
index_search_item_iterator::index_search_item_iterator(index_search_item *ind,
   found_list = indx->search(q, strlen(q), &temp_list);
   if (!found_list) {
     found_list = &minus_one;
-    warning("all keys would have been discarded in constructing index `%1'",
+    warning("all keys would have been discarded in constructing index '%1'",
            indx->name);
   }
 }
@@ -364,7 +364,7 @@ int index_search_item_iterator::get_tag(int tagno,
   const char *filename = indx->munge_filename(indx->pool + tp->filename_index);
   int fd = open(filename, O_RDONLY | O_BINARY);
   if (fd < 0) {
-    error("can't open `%1': %2", filename, strerror(errno));
+    error("can't open '%1': %2", filename, strerror(errno));
     return 0;
   }
   struct stat sb;
@@ -387,17 +387,17 @@ int index_search_item_iterator::get_tag(int tagno,
     return 0;
   }
   if (tp->start != 0 && fseek(fp, long(tp->start), 0) < 0)
-    error("can't seek on `%1': %2", filename, strerror(errno));
+    error("can't seek on '%1': %2", filename, strerror(errno));
   else {
     int length = tp->length;
     int err = 0;
     if (length == 0) {
       if (fstat(fileno(fp), &sb) < 0) {
-       error("can't stat `%1': %2", filename, strerror(errno));
+       error("can't stat '%1': %2", filename, strerror(errno));
        err = 1;
       }
       else if (!S_ISREG(sb.st_mode)) {
-       error("`%1' is not a regular file", filename);
+       error("'%1' is not a regular file", filename);
        err = 1;
       }
       else
@@ -410,7 +410,7 @@ int index_search_item_iterator::get_tag(int tagno,
        buf = new char[buflen];
       }
       if (fread(buf + 1, 1, length, fp) != (size_t)length)
-       error("fread on `%1' failed: %2", filename, strerror(errno));
+       error("fread on '%1' failed: %2", filename, strerror(errno));
       else {
        buf[0] = '\n';
        // Remove the CR characters from CRLF pairs.
@@ -568,7 +568,7 @@ void index_search_item::read_common_words_file()
   errno = 0;
   FILE *fp = fopen(common_words_file, "r");
   if (!fp) {
-    error("can't open `%1': %2", common_words_file, strerror(errno));
+    error("can't open '%1': %2", common_words_file, strerror(errno));
     return;
   }
   common_words_table_size = 2*header.common + 1;
@@ -618,7 +618,7 @@ void index_search_item::add_out_of_date_file(int fd, const 
char *filename,
     if ((*pp)->is_named(filename))
       return;
   *pp = make_linear_search_item(fd, filename, fid);
-  warning("`%1' modified since `%2' created", filename, name);
+  warning("'%1' modified since '%2' created", filename, name);
 }
 
 void index_search_item::check_files()
@@ -630,11 +630,11 @@ void index_search_item::check_files()
     const char *path = munge_filename(ptr);
     struct stat sb;
     if (stat(path, &sb) < 0)
-      error("can't stat `%1': %2", path, strerror(errno));
+      error("can't stat '%1': %2", path, strerror(errno));
     else if (sb.st_mtime > mtime) {
       int fd = open(path, O_RDONLY | O_BINARY);
       if (fd < 0)
-       error("can't open `%1': %2", path, strerror(errno));
+       error("can't open '%1': %2", path, strerror(errno));
       else
        add_out_of_date_file(fd, path, filename_id + (ptr - pool));
     }
diff --git a/src/libs/libbib/linear.cpp b/src/libs/libbib/linear.cpp
index b31547d..c343a15 100644
--- a/src/libs/libbib/linear.cpp
+++ b/src/libs/libbib/linear.cpp
@@ -303,9 +303,9 @@ int file_buffer::load(int fd, const char *filename)
 {
   struct stat sb;
   if (fstat(fd, &sb) < 0)
-    error("can't fstat `%1': %2", filename, strerror(errno));
+    error("can't fstat '%1': %2", filename, strerror(errno));
   else if (!S_ISREG(sb.st_mode))
-    error("`%1' is not a regular file", filename);
+    error("'%1' is not a regular file", filename);
   else {
     // We need one character extra at the beginning for an additional newline
     // used as a sentinel.  We get 4 instead so that the read buffer will be
@@ -316,16 +316,16 @@ int file_buffer::load(int fd, const char *filename)
     buffer = new char[size + 4 + 1];
     int nread = read(fd, buffer + 4, size);
     if (nread < 0)
-      error("error reading `%1': %2", filename, strerror(errno));
+      error("error reading '%1': %2", filename, strerror(errno));
     else if (nread != size)
-      error("size of `%1' decreased", filename);
+      error("size of '%1' decreased", filename);
     else {
       char c;
       nread = read(fd, &c, 1);
       if (nread != 0)
-       error("size of `%1' increased", filename);
+       error("size of '%1' increased", filename);
       else if (memchr(buffer + 4, '\0', size < 1024 ? size : 1024) != 0)
-       error("database `%1' is a binary file", filename);
+       error("database '%1' is a binary file", filename);
       else {
        close(fd);
        buffer[3] = '\n';
diff --git a/src/libs/libbib/search.cpp b/src/libs/libbib/search.cpp
index 484d80c..0265246 100644
--- a/src/libs/libbib/search.cpp
+++ b/src/libs/libbib/search.cpp
@@ -56,7 +56,7 @@ void search_list::add_file(const char *filename, int silent)
     int fd = open(filename, O_RDONLY | O_BINARY);
     if (fd < 0) {
       if (!silent)
-       error("can't open `%1': %2", filename, strerror(errno));
+        error("can't open '%1': %2", filename, strerror(errno));
     }
     else
       p = make_linear_search_item(fd, filename, next_fid);
diff --git a/src/libs/libdriver/input.cpp b/src/libs/libdriver/input.cpp
index 4e02b7c..e17c5af 100644
--- a/src/libs/libdriver/input.cpp
+++ b/src/libs/libdriver/input.cpp
@@ -612,7 +612,7 @@ void delete_current_env(void)
 void
 fatal_command(char command)
 {
-  fatal("`%1' command invalid before first `p' command", command);
+  fatal("'%1' command invalid before first 'p' command", command);
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -1296,7 +1296,7 @@ parse_color_command(color *col)
     col->set_rgb(red, green, blue);
     break;
   default:
-    error("invalid color scheme `%1'", (int) subcmd);
+    error("invalid color scheme '%1'", (int) subcmd);
     break;
   } // end of color subcommands
 }
@@ -1464,7 +1464,7 @@ parse_x_command(void)
     {
       char *str_arg = get_extended_arg();
       if (str_arg == 0)
-       warning("empty argument for `x F' command");
+       warning("empty argument for 'x F' command");
       else {
        remember_source_filename(str_arg);
        a_delete str_arg;
@@ -1478,14 +1478,14 @@ parse_x_command(void)
     skip_line_x();
     break;
   case 'i':                    // x init: initialize device
-    error("duplicate `x init' command");
+    error("duplicate 'x init' command");
     skip_line_x();
     break;
   case 'p':                    // x pause: pause device
     skip_line_x();
     break;
   case 'r':                    // x res: set resolution
-    error("duplicate `x res' command");
+    error("duplicate 'x res' command");
     skip_line_x();
     break;
   case 's':                    // x stop: stop device
@@ -1500,7 +1500,7 @@ parse_x_command(void)
     skip_line_x();
     break;
   case 'T':                    // x Typesetter: set typesetter
-    error("duplicate `x T' command");
+    error("duplicate 'x T' command");
     skip_line();
     break;
   case 'u':                    // x underline: from .cu
@@ -1515,7 +1515,7 @@ parse_x_command(void)
     {
       char *str_arg = get_extended_arg(); // includes line skip
       if (npages <= 0)
-       error("`x X' command invalid before first `p' command");
+       error("'x X' command invalid before first 'p' command");
       else if (str_arg && (strncmp(str_arg, "devtag:",
                                   strlen("devtag:")) == 0))
        pr->devtag(str_arg, current_env);
@@ -1525,7 +1525,7 @@ parse_x_command(void)
       break;
     }
   default:                     // ignore unknown x commands, but warn
-    warning("unknown command `x %1'", subcmd);
+    warning("unknown command 'x %1'", subcmd);
     skip_line();
   }
   a_delete subcmd_str;
@@ -1565,7 +1565,7 @@ do_file(const char *filename)
     errno = 0;
     current_file = fopen(filename, "r");
     if (errno != 0 || current_file == 0) {
-      error("can't open file `%1'", filename);
+      error("can't open file '%1'", filename);
       return;
     }
   }
@@ -1593,10 +1593,10 @@ do_file(const char *filename)
     if ((int) command == EOF)
       return;
     if ((int) command != 'x')
-      fatal("the first command must be `x T'");
+      fatal("the first command must be 'x T'");
     str_arg = get_string_arg();
     if (str_arg[0] != 'T')
-      fatal("the first command must be `x T'");
+      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
@@ -1615,10 +1615,10 @@ do_file(const char *filename)
     // 2nd command `x res'
     command = next_command();
     if ((int) command != 'x')
-      fatal("the second command must be `x res'");
+      fatal("the second command must be 'x res'");
     str_arg = get_string_arg();
     if (str_arg[0] != 'r')
-      fatal("the second command must be `x res'");
+      fatal("the second command must be 'x res'");
     a_delete str_arg;
     int_arg = get_integer_arg();
     EnvInt font_res = font::res;
@@ -1635,10 +1635,10 @@ do_file(const char *filename)
     // 3rd command `x init'
     command = next_command();
     if (command != 'x')
-      fatal("the third command must be `x init'");
+      fatal("the third command must be 'x init'");
     str_arg = get_string_arg();
     if (str_arg[0] != 'i')
-      fatal("the third command must be `x init'");
+      fatal("the third command must be 'x init'");
     a_delete str_arg;
     skip_line_x();
   }
@@ -1705,7 +1705,7 @@ do_file(const char *filename)
          fatal_command(command);
        Char c = next_arg_begin();
        if (c == '\n' || c == EOF)
-         error("missing argument to `c' command");
+         error("missing argument to 'c' command");
        else
          pr->set_ascii_char((unsigned char) c, current_env);
        break;
@@ -1812,7 +1812,7 @@ do_file(const char *filename)
       stopped = parse_x_command();
       break;
     default:
-      warning("unrecognized command `%1'", (unsigned char) command);
+      warning("unrecognized command '%1'", (unsigned char) command);
       skip_line();
       break;
     } // end of switch
@@ -1826,6 +1826,6 @@ do_file(const char *filename)
   fclose(current_file);
   // If `stopped' is not `true' here then there wasn't any `x stop'.
   if (!stopped)
-    warning("no final `x stop' command");
+    warning("no final 'x stop' command");
   delete_current_env();
 }
diff --git a/src/libs/libdriver/printer.cpp b/src/libs/libdriver/printer.cpp
index 0dbf4c4..78f64f3 100644
--- a/src/libs/libdriver/printer.cpp
+++ b/src/libs/libdriver/printer.cpp
@@ -203,21 +203,21 @@ glyph *printer::set_char_and_width(const char *nm, const 
environment *env,
   glyph *g = name_to_glyph(nm);
   int fn = env->fontno;
   if (fn < 0 || fn >= nfonts) {
-    error("bad font position `%1'", fn);
+    error("bad font position '%1'", fn);
     return UNDEFINED_GLYPH;
   }
   *f = font_table[fn];
   if (*f == 0) {
-    error("no font mounted at `%1'", fn);
+    error("no font mounted at '%1'", fn);
     return UNDEFINED_GLYPH;
   }
   if (!(*f)->contains(g)) {
     if (nm[0] != '\0' && nm[1] == '\0')
-      error("font `%1' does not contain ascii character `%2'",
+      error("font '%1' does not contain ascii character '%2'",
            (*f)->get_name(),
            nm[0]);
     else
-      error("font `%1' does not contain special character `%2'",
+      error("font '%1' does not contain special character '%2'",
            (*f)->get_name(),
            nm);
     return UNDEFINED_GLYPH;
@@ -233,16 +233,16 @@ void printer::set_numbered_char(int num, const 
environment *env, int *widthp)
   glyph *g = number_to_glyph(num);
   int fn = env->fontno;
   if (fn < 0 || fn >= nfonts) {
-    error("bad font position `%1'", fn);
+    error("bad font position '%1'", fn);
     return;
   }
   font *f = font_table[fn];
   if (f == 0) {
-    error("no font mounted at `%1'", fn);
+    error("no font mounted at '%1'", fn);
     return;
   }
   if (!f->contains(g)) {
-    error("font `%1' does not contain numbered character %2",
+    error("font '%1' does not contain numbered character %2",
          f->get_name(),
          num);
     return;
diff --git a/src/libs/libgroff/assert.cpp b/src/libs/libgroff/assert.cpp
index 17db5ca..0334729 100644
--- a/src/libs/libgroff/assert.cpp
+++ b/src/libs/libgroff/assert.cpp
@@ -26,7 +26,7 @@ void assertion_failed(int lineno, const char *filename)
 {
   if (program_name != 0)
     fprintf(stderr, "%s: ", program_name);
-  fprintf(stderr, "Failed assertion at line %d, file `%s'.\n",
+  fprintf(stderr, "Failed assertion at line %d, file '%s'.\n",
          lineno, filename);
   fflush(stderr);
   abort();
diff --git a/src/libs/libgroff/font.cpp b/src/libs/libgroff/font.cpp
index e95b032..e65aaba 100644
--- a/src/libs/libgroff/font.cpp
+++ b/src/libs/libgroff/font.cpp
@@ -110,7 +110,7 @@ int text_file::next()
       if (c == EOF)
        break;
       if (invalid_input_char(c))
-       error("invalid input character code `%1'", int(c));
+       error("invalid input character code '%1'", int(c));
       else {
        if (i + 1 >= size) {
          char *old_buf = buf;
@@ -764,7 +764,7 @@ int font::load(int *not_found, int head_only)
     if (not_found)
       *not_found = 1;
     else
-      error("`DESC' is not a valid font file name");
+      error("'DESC' is not a valid font file name");
     return 0;
   }
   char *path;
@@ -773,7 +773,7 @@ int font::load(int *not_found, int head_only)
     if (not_found)
       *not_found = 1;
     else
-      error("can't find font file `%1'", name);
+      error("can't find font file '%1'", name);
     return 0;
   }
   text_file t(fp, path);
@@ -792,7 +792,7 @@ int font::load(int *not_found, int head_only)
       p = strtok(0, WS);
       int n;
       if (p == 0 || sscanf(p, "%d", &n) != 1 || n <= 0) {
-       t.error("bad argument for `spacewidth' command");
+       t.error("bad argument for 'spacewidth' command");
        return 0;
       }
       space_width = n;
@@ -801,7 +801,7 @@ int font::load(int *not_found, int head_only)
       p = strtok(0, WS);
       double n;
       if (p == 0 || sscanf(p, "%lf", &n) != 1 || n >= 90.0 || n <= -90.0) {
-       t.error("bad argument for `slant' command", p);
+       t.error("bad argument for 'slant' command", p);
        return 0;
       }
       slant = n;
@@ -822,7 +822,7 @@ int font::load(int *not_found, int head_only)
        else if (strcmp(p, "ffl") == 0)
          ligatures |= LIG_ffl;
        else {
-         t.error("unrecognised ligature `%1'", p);
+         t.error("unrecognised ligature '%1'", p);
          return 0;
        }
       }
@@ -830,7 +830,7 @@ int font::load(int *not_found, int head_only)
     else if (strcmp(p, "internalname") == 0) {
       p = strtok(0, WS);
       if (!p) {
-       t.error("`internalname' command requires argument");
+       t.error("'internalname' command requires argument");
        return 0;
       }
       internalname = new char[strlen(p) + 1];
@@ -880,7 +880,7 @@ int font::load(int *not_found, int head_only)
          }
          int n;
          if (sscanf(p, "%d", &n) != 1) {
-           t.error("bad kern amount `%1'", p);
+           t.error("bad kern amount '%1'", p);
            return 0;
          }
          glyph *g1 = name_to_glyph(c1);
@@ -931,33 +931,33 @@ int font::load(int *not_found, int head_only)
                                &metric.pre_math_space,
                                &metric.subscript_correction);
            if (nparms < 1) {
-             t.error("bad width for `%1'", nm);
+             t.error("bad width for '%1'", nm);
              return 0;
            }
            p = strtok(0, WS);
            if (p == 0) {
-             t.error("missing character type for `%1'", nm);
+             t.error("missing character type for '%1'", nm);
              return 0;
            }
            int type;
            if (sscanf(p, "%d", &type) != 1) {
-             t.error("bad character type for `%1'", nm);
+             t.error("bad character type for '%1'", nm);
              return 0;
            }
            if (type < 0 || type > 255) {
-             t.error("character type `%1' out of range", type);
+             t.error("character type '%1' out of range", type);
              return 0;
            }
            metric.type = type;
            p = strtok(0, WS);
            if (p == 0) {
-             t.error("missing code for `%1'", nm);
+             t.error("missing code for '%1'", nm);
              return 0;
            }
            char *ptr;
            metric.code = (int)strtol(p, &ptr, 0);
            if (metric.code == 0 && ptr == p) {
-             t.error("bad code `%1' for character `%2'", p, nm);
+             t.error("bad code '%1' for character '%2'", p, nm);
              return 0;
            }
            if (is_unicode) {
@@ -991,8 +991,8 @@ int font::load(int *not_found, int head_only)
        }
       }
       else {
-       t.error("unrecognised command `%1' "
-               "after `kernpairs' or `charset' command",
+       t.error("unrecognised command '%1' "
+               "after 'kernpairs' or 'charset' command",
                  command);
        return 0;
       }
@@ -1000,7 +1000,7 @@ int font::load(int *not_found, int head_only)
     compact();
   }
   if (!is_unicode && !had_charset) {
-    t.error("missing `charset' command");
+    t.error("missing 'charset' command");
     return 0;
   }
   if (space_width == 0) {
@@ -1034,7 +1034,7 @@ int font::load_desc()
   FILE *fp;
   char *path;
   if ((fp = open_file("DESC", &path)) == 0) {
-    error("can't find `DESC' file");
+    error("can't find 'DESC' file");
     return 0;
   }
   text_file t(fp, path);
@@ -1050,13 +1050,13 @@ int font::load_desc()
     if (found) {
       char *q = strtok(0, WS);
       if (!q) {
-       t.error("missing value for command `%1'", p);
+       t.error("missing value for command '%1'", p);
        return 0;
       }
       //int *ptr = &(this->*(table[idx-1].ptr));
       int *ptr = table[idx-1].ptr;
       if (sscanf(q, "%d", ptr) != 1) {
-       t.error("bad number `%1'", q);
+       t.error("bad number '%1'", q);
        return 0;
       }
     }
@@ -1073,7 +1073,7 @@ int font::load_desc()
     else if (strcmp("fonts", p) == 0) {
       p = strtok(0, WS);
       if (!p || sscanf(p, "%d", &nfonts) != 1 || nfonts <= 0) {
-       t.error("bad number of fonts `%1'", p);
+       t.error("bad number of fonts '%1'", p);
        return 0;
       }
       font_name_table = (const char **)new char *[nfonts+1]; 
@@ -1132,7 +1132,7 @@ int font::load_desc()
        p = strtok(0, WS);
        while (p == 0) {
          if (!t.next()) {
-           t.error("list of sizes must be terminated by `0'");
+           t.error("list of sizes must be terminated by '0'");
            return 0;
          }
          p = strtok(t.buf, WS);
@@ -1147,7 +1147,7 @@ int font::load_desc()
            break;
          // fall through
        default:
-         t.error("bad size range `%1'", p);
+         t.error("bad size range '%1'", p);
          return 0;
        }
        if (i + 2 > n) {
@@ -1217,31 +1217,31 @@ int font::load_desc()
     }
   }
   if (res == 0) {
-    t.error("missing `res' command");
+    t.error("missing 'res' command");
     return 0;
   }
   if (unitwidth == 0) {
-    t.error("missing `unitwidth' command");
+    t.error("missing 'unitwidth' command");
     return 0;
   }
   if (font_name_table == 0) {
-    t.error("missing `fonts' command");
+    t.error("missing 'fonts' command");
     return 0;
   }
   if (sizes == 0) {
-    t.error("missing `sizes' command");
+    t.error("missing 'sizes' command");
     return 0;
   }
   if (sizescale < 1) {
-    t.error("bad `sizescale' value");
+    t.error("bad 'sizescale' value");
     return 0;
   }
   if (hor < 1) {
-    t.error("bad `hor' value");
+    t.error("bad 'hor' value");
     return 0;
   }
   if (vert < 1) {
-    t.error("bad `vert' value");
+    t.error("bad 'vert' value");
     return 0;
   }
   return 1;
diff --git a/src/libs/libgroff/getopt.c b/src/libs/libgroff/getopt.c
index 07a757c..eb6afa7 100644
--- a/src/libs/libgroff/getopt.c
+++ b/src/libs/libgroff/getopt.c
@@ -546,7 +546,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
 #if defined _LIBC && defined USE_IN_LIBIO
              char *buf;
 
-             if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
+             if (__asprintf (&buf, _("%s: option '%s' is ambiguous\n"),
                              argv[0], argv[d->optind]) >= 0)
                {
                  _IO_flockfile (stderr);
@@ -565,7 +565,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                  free (buf);
                }
 #else
-             fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+             fprintf (stderr, _("%s: option '%s' is ambiguous\n"),
                       argv[0], argv[d->optind]);
 #endif
            }
@@ -599,11 +599,11 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                          /* --option */
 #if defined _LIBC && defined USE_IN_LIBIO
                          n = __asprintf (&buf, _("\
-%s: option `--%s' doesn't allow an argument\n"),
+%s: option '--%s' doesn't allow an argument\n"),
                                          argv[0], pfound->name);
 #else
                          fprintf (stderr, _("\
-%s: option `--%s' doesn't allow an argument\n"),
+%s: option '--%s' doesn't allow an argument\n"),
                                   argv[0], pfound->name);
 #endif
                        }
@@ -612,12 +612,12 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                          /* +option or -option */
 #if defined _LIBC && defined USE_IN_LIBIO
                          n = __asprintf (&buf, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
+%s: option '%c%s' doesn't allow an argument\n"),
                                          argv[0], argv[d->optind - 1][0],
                                          pfound->name);
 #else
                          fprintf (stderr, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
+%s: option '%c%s' doesn't allow an argument\n"),
                                   argv[0], argv[d->optind - 1][0],
                                   pfound->name);
 #endif
@@ -663,7 +663,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                      char *buf;
 
                      if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
+%s: option '%s' requires an argument\n"),
                                      argv[0], argv[d->optind - 1]) >= 0)
                        {
                          _IO_flockfile (stderr);
@@ -684,7 +684,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                        }
 #else
                      fprintf (stderr,
-                              _("%s: option `%s' requires an argument\n"),
+                              _("%s: option '%s' requires an argument\n"),
                               argv[0], argv[d->optind - 1]);
 #endif
                    }
@@ -722,10 +722,10 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                {
                  /* --option */
 #if defined _LIBC && defined USE_IN_LIBIO
-                 n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
+                 n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"),
                                  argv[0], d->__nextchar);
 #else
-                 fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+                 fprintf (stderr, _("%s: unrecognized option '--%s'\n"),
                           argv[0], d->__nextchar);
 #endif
                }
@@ -733,10 +733,10 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                {
                  /* +option or -option */
 #if defined _LIBC && defined USE_IN_LIBIO
-                 n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
+                 n = __asprintf (&buf, _("%s: unrecognized option '%c%s'\n"),
                                  argv[0], argv[d->optind][0], d->__nextchar);
 #else
-                 fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+                 fprintf (stderr, _("%s: unrecognized option '%c%s'\n"),
                           argv[0], argv[d->optind][0], d->__nextchar);
 #endif
                }
@@ -930,7 +930,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
 #if defined _LIBC && defined USE_IN_LIBIO
                char *buf;
 
-               if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
+               if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
                                argv[0], argv[d->optind]) >= 0)
                  {
                    _IO_flockfile (stderr);
@@ -949,7 +949,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                    free (buf);
                  }
 #else
-               fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+               fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
                         argv[0], argv[d->optind]);
 #endif
              }
@@ -974,7 +974,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                        char *buf;
 
                        if (__asprintf (&buf, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
+%s: option '-W %s' doesn't allow an argument\n"),
                                        argv[0], pfound->name) >= 0)
                          {
                            _IO_flockfile (stderr);
@@ -995,7 +995,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                          }
 #else
                        fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
+%s: option '-W %s' doesn't allow an argument\n"),
                                 argv[0], pfound->name);
 #endif
                      }
@@ -1016,7 +1016,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                        char *buf;
 
                        if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
+%s: option '%s' requires an argument\n"),
                                        argv[0], argv[d->optind - 1]) >= 0)
                          {
                            _IO_flockfile (stderr);
@@ -1037,7 +1037,7 @@ _getopt_internal_r (int argc, char **argv, const char 
*optstring,
                          }
 #else
                        fprintf (stderr,
-                                _("%s: option `%s' requires an argument\n"),
+                                _("%s: option '%s' requires an argument\n"),
                                 argv[0], argv[d->optind - 1]);
 #endif
                      }
@@ -1214,7 +1214,7 @@ main (int argc, char **argv)
          break;
 
        case 'c':
-         printf ("option c with value `%s'\n", optarg);
+         printf ("option c with value '%s'\n", optarg);
          break;
 
        case '?':
diff --git a/src/libs/libgroff/getopt1.c b/src/libs/libgroff/getopt1.c
index 234ba3a..196916c 100644
--- a/src/libs/libgroff/getopt1.c
+++ b/src/libs/libgroff/getopt1.c
@@ -143,11 +143,11 @@ main (int argc, char **argv)
          break;
 
        case 'c':
-         printf ("option c with value `%s'\n", optarg);
+         printf ("option c with value '%s'\n", optarg);
          break;
 
        case 'd':
-         printf ("option d with value `%s'\n", optarg);
+         printf ("option d with value '%s'\n", optarg);
          break;
 
        case '?':
diff --git a/src/libs/libgroff/relocate.cpp b/src/libs/libgroff/relocate.cpp
index 7696c4f..6c092e2 100644
--- a/src/libs/libgroff/relocate.cpp
+++ b/src/libs/libgroff/relocate.cpp
@@ -75,8 +75,8 @@ char *searchpath(const char *name, const char *pathp)
   if (!name || !*name)
     return 0;
 #if DEBUG
-  fprintf(stderr, "searchpath: pathp: `%s'\n", pathp);
-  fprintf(stderr, "searchpath: trying `%s'\n", name);
+  fprintf(stderr, "searchpath: pathp: '%s'\n", pathp);
+  fprintf(stderr, "searchpath: trying '%s'\n", name);
 #endif
   // Try first NAME as such; success if NAME is an absolute filename,
   // or if NAME is found in the current directory.
@@ -88,7 +88,7 @@ char *searchpath(const char *name, const char *pathp)
     path = realpath(name, path);
 #endif
 #if DEBUG
-    fprintf(stderr, "searchpath: found `%s'\n", path);
+    fprintf(stderr, "searchpath: found '%s'\n", path);
 #endif
     return path;
   }
@@ -107,11 +107,11 @@ char *searchpath(const char *name, const char *pathp)
       path[end - p] = '/';
     strcpy(path + (end - p) + need_slash, name);
 #if DEBUG
-    fprintf(stderr, "searchpath: trying `%s'\n", path);
+    fprintf(stderr, "searchpath: trying '%s'\n", path);
 #endif
     if (!access(path, F_OK)) {
 #if DEBUG
-      fprintf(stderr, "searchpath: found `%s'\n", name);
+      fprintf(stderr, "searchpath: found '%s'\n", name);
 #endif
       return path;
     }
diff --git a/src/libs/libgroff/searchpath.cpp b/src/libs/libgroff/searchpath.cpp
index 055810d..a52bcea 100644
--- a/src/libs/libgroff/searchpath.cpp
+++ b/src/libs/libgroff/searchpath.cpp
@@ -118,12 +118,12 @@ FILE *search_path::open_file(const char *name, char 
**pathp)
       origpath[end - p] = '/';
     strcpy(origpath + (end - p) + need_slash, name);
 #if 0
-    fprintf(stderr, "origpath `%s'\n", origpath);
+    fprintf(stderr, "origpath '%s'\n", origpath);
 #endif
     char *path = relocate(origpath);
     a_delete origpath;
 #if 0
-    fprintf(stderr, "trying `%s'\n", path);
+    fprintf(stderr, "trying '%s'\n", path);
 #endif
     FILE *fp = fopen(path, "r");
     if (fp) {
@@ -175,12 +175,12 @@ FILE *search_path::open_file_cautious(const char *name, 
char **pathp,
       origpath[end - p] = '/';
     strcpy(origpath + (end - p) + need_slash, name);
 #if 0
-    fprintf(stderr, "origpath `%s'\n", origpath);
+    fprintf(stderr, "origpath '%s'\n", origpath);
 #endif
     char *path = relocate(origpath);
     a_delete origpath;
 #if 0
-    fprintf(stderr, "trying `%s'\n", path);
+    fprintf(stderr, "trying '%s'\n", path);
 #endif
     FILE *fp = fopen(path, mode);
     if (fp) {
diff --git a/src/libs/libgroff/tmpfile.cpp b/src/libs/libgroff/tmpfile.cpp
index d18aa73..1e46d89 100644
--- a/src/libs/libgroff/tmpfile.cpp
+++ b/src/libs/libgroff/tmpfile.cpp
@@ -146,7 +146,7 @@ xtmpfile_list_init::~xtmpfile_list_init()
   xtmpfile_list *x = xtmpfiles_to_delete;
   while (x != 0) {
     if (unlink(x->fname) < 0)
-      error("cannot unlink `%1': %2", x->fname, strerror(errno));
+      error("cannot unlink '%1': %2", x->fname, strerror(errno));
     xtmpfile_list *tmp = x;
     x = x->next;
     a_delete tmp->fname;
diff --git a/src/preproc/eqn/box.cpp b/src/preproc/eqn/box.cpp
index 59d4515..cd03f6f 100644
--- a/src/preproc/eqn/box.cpp
+++ b/src/preproc/eqn/box.cpp
@@ -131,7 +131,7 @@ void set_param(const char *name, int value)
       *param_table[i].ptr = value;
       return;
     }
-  error("unrecognised parameter `%1'", name);
+  error("unrecognised parameter '%1'", name);
 }
 
 int script_style(int style)
diff --git a/src/preproc/eqn/delim.cpp b/src/preproc/eqn/delim.cpp
index 626e7d3..b8a5303 100644
--- a/src/preproc/eqn/delim.cpp
+++ b/src/preproc/eqn/delim.cpp
@@ -301,7 +301,7 @@ static void define_extensible_string(char *delim, int uid,
        && (left_or_right & d->flags) != 0)
       break;
   if (i >= DELIM_TABLE_SIZE) {
-    error("there is no `%1' delimiter", delim);
+    error("there is no '%1' delimiter", delim);
     printf(".nr " DELIM_WIDTH_REG " 0\n");
     return;
   }
diff --git a/src/preproc/eqn/lex.cpp b/src/preproc/eqn/lex.cpp
index b8490ce..32aa471 100644
--- a/src/preproc/eqn/lex.cpp
+++ b/src/preproc/eqn/lex.cpp
@@ -850,15 +850,15 @@ int get_token(int lookup_flag = 0)
            quoted = 0;
            switch (c) {
            case EOF:
-             lex_error("`\\' ignored at end of equation");
+             lex_error("'\\' ignored at end of equation");
              done = 1;
              break;
            case '\n':
-             lex_error("`\\' ignored because followed by newline");
+             lex_error("'\\' ignored because followed by newline");
              done = 1;
              break;
            case '\t':
-             lex_error("`\\' ignored because followed by tab");
+             lex_error("'\\' ignored because followed by tab");
              done = 1;
              break;
            case '"':
@@ -932,7 +932,7 @@ void do_include()
   errno = 0;
   FILE *fp = fopen(filename, "r");
   if (fp == 0) {
-    lex_error("can't open included file `%1'", filename);
+    lex_error("can't open included file '%1'", filename);
     return;
   }
   current_input = new file_input(fp, filename, current_input);
@@ -992,7 +992,7 @@ void do_gsize()
   }
   token_buffer += '\0';
   if (!set_gsize(token_buffer.contents()))
-    lex_error("invalid size `%1'", token_buffer.contents());
+    lex_error("invalid size '%1'", token_buffer.contents());
 }
 
 void do_gfont()
@@ -1039,7 +1039,7 @@ void do_space()
   char *ptr;
   long n = strtol(token_buffer.contents(), &ptr, 10);
   if (n == 0 && ptr == token_buffer.contents())
-    lex_error("bad argument `%1' to space command", token_buffer.contents());
+    lex_error("bad argument '%1' to space command", token_buffer.contents());
   else
     set_space(int(n));
 }
@@ -1071,7 +1071,7 @@ void do_delim()
     c = get_char();
   int d;
   if (c == EOF || (d = get_char()) == EOF)
-    lex_error("end of file while reading argument to `delim'");
+    lex_error("end of file while reading argument to 'delim'");
   else {
     if (c == 'o' && d == 'f' && peek_char() == 'f') {
       (void)get_char();
@@ -1125,7 +1125,7 @@ void do_set()
   token_buffer += '\0';
   int n;
   if (sscanf(&token_buffer[0], "%d", &n) != 1) {
-    lex_error("bad number `%1'", token_buffer.contents());
+    lex_error("bad number '%1'", token_buffer.contents());
     return;
   }
   set_param(param.contents(), n);
diff --git a/src/preproc/eqn/main.cpp b/src/preproc/eqn/main.cpp
index 46da2fe..0d047cf 100644
--- a/src/preproc/eqn/main.cpp
+++ b/src/preproc/eqn/main.cpp
@@ -55,7 +55,7 @@ int read_line(FILE *fp, string *p)
     if (!invalid_input_char(c))
       *p += char(c);
     else
-      error("invalid input character code `%1'", c);
+      error("invalid input character code '%1'", c);
     if (c == '\n')
       break;
   }
@@ -152,7 +152,7 @@ static int inline_equation(FILE *fp, string &linebuf, 
string &str)
   inline_flag = 1;
   for (;;) {
     if (no_newline_in_delim_flag && strchr(start + 1, end_delim) == 0) {
-      error("missing `%1'", end_delim);
+      error("missing '%1'", end_delim);
       char *nl = strchr(start + 1, '\n');
       if (nl != 0)
        *nl = '\0';
@@ -174,7 +174,7 @@ static int inline_equation(FILE *fp, string &linebuf, 
string &str)
       }
       str += ptr;
       if (!read_line(fp, &linebuf))
-       fatal("unterminated `%1' at line %2, looking for `%3'",
+       fatal("unterminated '%1' at line %2, looking for '%3'",
              start_delim, start_lineno, end_delim);
       linebuf += '\0';
       ptr = &linebuf[0];
@@ -304,9 +304,9 @@ int main(int argc, char **argv)
       if (optarg[0] == '\0' || optarg[1] == '\0')
        error("-d requires two character argument");
       else if (invalid_input_char(optarg[0]))
-       error("bad delimiter `%1'", optarg[0]);
+       error("bad delimiter '%1'", optarg[0]);
       else if (invalid_input_char(optarg[1]))
-       error("bad delimiter `%1'", optarg[1]);
+       error("bad delimiter '%1'", optarg[1]);
       else {
        start_delim = optarg[0];
        end_delim = optarg[1];
@@ -334,7 +334,7 @@ int main(int argc, char **argv)
       break;
     case 's':
       if (!set_gsize(optarg))
-       error("invalid size `%1'", optarg);
+       error("invalid size '%1'", optarg);
       break;
     case 'p':
       {
@@ -342,7 +342,7 @@ int main(int argc, char **argv)
        if (sscanf(optarg, "%d", &n) == 1)
          set_script_reduction(n);
        else
-         error("bad size `%1'", optarg);
+         error("bad size '%1'", optarg);
       }
       break;
     case 'm':
@@ -351,14 +351,14 @@ int main(int argc, char **argv)
        if (sscanf(optarg, "%d", &n) == 1)
          set_minimum_size(n);
        else
-         error("bad size `%1'", optarg);
+         error("bad size '%1'", optarg);
       }
       break;
     case 'r':
       one_size_reduction_flag = 1;
       break;
     case 'D':
-      warning("-D option is obsolete: use `set draw_lines 1' instead");
+      warning("-D option is obsolete: use 'set draw_lines 1' instead");
       draw_flag = 1;
       break;
     case 'N':
@@ -383,11 +383,11 @@ int main(int argc, char **argv)
     printf(".if !'\\*(.T'%s' "
           ".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",
+          ".tm warning: %s should have been given a '-T\\*(.T' option\n",
           device, program_name);
     printf(".if '\\*(.T'html' "
           ".if !'%s'ps' "
-          ".tm warning: %s should have been given a `-Tps' option\n",
+          ".tm warning: %s should have been given a '-Tps' option\n",
           device, program_name);
     printf(".if '\\*(.T'html' "
           ".if !'%s'ps' "
@@ -413,7 +413,7 @@ int main(int argc, char **argv)
        errno = 0;
        FILE *fp = fopen(argv[i], "r");
        if (!fp)
-         fatal("can't open `%1': %2", argv[i], strerror(errno));
+         fatal("can't open '%1': %2", argv[i], strerror(errno));
        else {
          do_file(fp, argv[i]);
          fclose(fp);
diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp
index 7e6fede..2d78b9c 100644
--- a/src/preproc/eqn/text.cpp
+++ b/src/preproc/eqn/text.cpp
@@ -550,7 +550,7 @@ void box::set_spacing_type(char *type)
 {
   int t = lookup_spacing_type(type);
   if (t < 0)
-    error("unrecognised type `%1'", type);
+    error("unrecognised type '%1'", type);
   else
     spacing_type = t;
   free(type);
@@ -700,7 +700,7 @@ void set_char_type(const char *type, char *ch)
   int st = lookup_spacing_type(type);
   int ft = lookup_font_type(type);
   if (st < 0 && ft < 0) {
-    error("bad character type `%1'", type);
+    error("bad character type '%1'", type);
     a_delete ch;
     return;
   }
diff --git a/src/preproc/grn/hdb.cpp b/src/preproc/grn/hdb.cpp
index 4d1896d..f97dd6b 100644
--- a/src/preproc/grn/hdb.cpp
+++ b/src/preproc/grn/hdb.cpp
@@ -98,7 +98,7 @@ DBRead(register FILE *file)
   (void) fscanf(file, "%" MAXSTRING_S "s%*[^\n]\n", string);
   if (strcmp(string, "gremlinfile")) {
     if (strcmp(string, "sungremlinfile")) {
-      error("`%1' is not a gremlin file", gremlinfile);
+      error("'%1' is not a gremlin file", gremlinfile);
       return (elist);
     }
     SUNFILE = TRUE;
@@ -113,7 +113,7 @@ DBRead(register FILE *file)
     /* I changed the scanf format because the element */
     /* can have two words (e.g. CURVE SPLINE)         */
     if (fscanf(file, "\n%" MAXSTRING_S "[^\n]%*[^\n]\n", string) == EOF) {
-      error("`%1', error in file format", gremlinfile);
+      error("'%1', error in file format", gremlinfile);
       return (elist);
     }
 
diff --git a/src/preproc/grn/main.cpp b/src/preproc/grn/main.cpp
index dd9c4d0..58b591b 100644
--- a/src/preproc/grn/main.cpp
+++ b/src/preproc/grn/main.cpp
@@ -922,7 +922,7 @@ interpret(char *line)
     break;
 
   default:
-    error("unknown command `%1' on line %2", str1, linenum);
+    error("unknown command '%1' on line %2", str1, linenum);
     exit(8);
     break;
   };
diff --git a/src/preproc/html/pre-html.cpp b/src/preproc/html/pre-html.cpp
index 9ba0988..353ae01 100644
--- a/src/preproc/html/pre-html.cpp
+++ b/src/preproc/html/pre-html.cpp
@@ -306,7 +306,7 @@ static unsigned int get_resolution(void)
       return res;
     }
   }
-  fatal("can't find `res' keyword in devps/DESC");
+  fatal("can't find 'res' keyword in devps/DESC");
   return 0;
 }
 
@@ -341,9 +341,9 @@ void html_system(const char *s, int redirect_stdout)
     if (redirect_stdout)
       dup2(save_stdout, 1);
     if (status == -1)
-      fprintf(stderr, "Calling `%s' failed\n", s);
+      fprintf(stderr, "Calling '%s' failed\n", s);
     else if (status)
-      fprintf(stderr, "Calling `%s' returned status %d\n", s, status);
+      fprintf(stderr, "Calling '%s' returned status %d\n", s, status);
     close(save_stderr);
     close(save_stdout);
   }
@@ -519,12 +519,12 @@ static void writeString(const char *s)
 static void makeFileName(void)
 {
   if ((image_dir != NULL) && (strchr(image_dir, '%') != NULL)) {
-    error("cannot use a `%%' within the image directory name");
+    error("cannot use a '%%' within the image directory name");
     exit(1);
   }
 
   if ((image_template != NULL) && (strchr(image_template, '%') != NULL)) {
-    error("cannot use a `%%' within the image template");
+    error("cannot use a '%%' within the image template");
     exit(1);
   }
 
@@ -579,7 +579,7 @@ static void checkImageDir(void)
 {
   if (image_dir != NULL && strcmp(image_dir, "") != 0)
     if (!(mkdir(image_dir, 0777) == 0 || errno == EEXIST)) {
-      error("cannot create directory `%1'", image_dir);
+      error("cannot create directory '%1'", image_dir);
       exit(1);
     }
 }
@@ -1557,8 +1557,8 @@ static void usage(FILE *stream)
     "it is part of the groff pipeline to produce HTML output.\n"
     "\n"
     "If there is ever the need to call it manually (e.g., for\n"
-    "debugging purposes), add command-line option `-V' while calling\n"
-    "the `groff' program to see which arguments are passed to it.\n"
+    "debugging purposes), add command-line option '-V' while calling\n"
+    "the 'groff' program to see which arguments are passed to it.\n"
     "\n");
 }
 
@@ -1818,7 +1818,7 @@ static int do_file(const char *filename)
   else {
     fp = fopen(filename, "r");
     if (fp == 0) {
-      error("can't open `%1': %2", filename, strerror(errno));
+      error("can't open '%1': %2", filename, strerror(errno));
       return 0;
     }
   }
diff --git a/src/preproc/pic/lex.cpp b/src/preproc/pic/lex.cpp
index 53a15b6..b7f0464 100644
--- a/src/preproc/pic/lex.cpp
+++ b/src/preproc/pic/lex.cpp
@@ -929,7 +929,7 @@ int get_token(int lookup_flag)
          break;
        }
        else if (c == EOF) {
-         error("missing `\"'");
+         error("missing '\"'");
          break;
        }
        else if (c == '"') {
@@ -1404,7 +1404,7 @@ int for_input::get()
     }
     double val;
     if (!lookup_variable(var, &val)) {
-      lex_error("body of `for' terminated enclosing block");
+      lex_error("body of 'for' terminated enclosing block");
       return EOF;
     }
     if (by_is_multiplicative)
@@ -1465,7 +1465,7 @@ void do_copy(const char *filename)
   errno = 0;
   FILE *fp = fopen(filename, "r");
   if (fp == 0) {
-    lex_error("can't open `%1': %2", filename, strerror(errno));
+    lex_error("can't open '%1': %2", filename, strerror(errno));
     return;
   }
   input_stack::push(new file_input(fp, filename));
@@ -1711,7 +1711,7 @@ void copy_file_thru(const char *filename, const char 
*body, const char *until)
   errno = 0;
   FILE *fp = fopen(filename, "r");
   if (fp == 0) {
-    lex_error("can't open `%1': %2", filename, strerror(errno));
+    lex_error("can't open '%1': %2", filename, strerror(errno));
     return;
   }
   input *in = new copy_file_thru_input(new simple_file_input(fp, filename),
@@ -2019,7 +2019,7 @@ void yyerror(const char *s)
       if (context[0] == '\n' && context[1] == '\0')
        error("%1 before newline", s);
       else
-       error("%1 before `%2'", s, context);
+       error("%1 before '%2'", s, context);
     }
     else
       error("%1 at end of picture", s);
@@ -2029,7 +2029,7 @@ void yyerror(const char *s)
       if (context[0] == '\n' && context[1] == '\0')
        error_with_file_and_line(filename, lineno, "%1 before newline", s);
       else
-       error_with_file_and_line(filename, lineno, "%1 before `%2'",
+       error_with_file_and_line(filename, lineno, "%1 before '%2'",
                                 s, context);
     }
     else
diff --git a/src/preproc/pic/main.cpp b/src/preproc/pic/main.cpp
index 0444be2..2eb3883 100644
--- a/src/preproc/pic/main.cpp
+++ b/src/preproc/pic/main.cpp
@@ -241,7 +241,7 @@ void do_picture(FILE *fp)
     if (c == '\n') 
       current_lineno++;
     if (filename.length() == 0)
-      error("missing filename after `<'");
+      error("missing filename after '<'");
     else {
       filename += '\0';
       const char *old_filename = current_filename;
@@ -307,7 +307,7 @@ void do_file(const char *filename)
     fp = fopen(filename, "r");
     if (fp == 0) {
       delete out;
-      fatal("can't open `%1': %2", filename, strerror(errno));
+      fatal("can't open '%1': %2", filename, strerror(errno));
     }
   }
   string fn(filename);
@@ -467,7 +467,7 @@ void do_whole_file(const char *filename)
     errno = 0;
     fp = fopen(filename, "r");
     if (fp == 0)
-      fatal("can't open `%1': %2", filename, strerror(errno));
+      fatal("can't open '%1': %2", filename, strerror(errno));
   }
   lex_init(new file_input(fp, filename));
   if (yyparse())
diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp
index 5a408f3..41fd535 100644
--- a/src/preproc/pic/object.cpp
+++ b/src/preproc/pic/object.cpp
@@ -2031,7 +2031,7 @@ int path::follow(const place &pl, place *result) const
   const place *p = &pl;
   for (string_list *lb = label_list; lb; lb = lb->next)
     if (p->obj == 0 || (p = p->obj->find_label(lb->str)) == 0) {
-      lex_error("object does not contain a place `%1'", lb->str);
+      lex_error("object does not contain a place '%1'", lb->str);
       return 0;
     }
   if (crn == 0 || p->obj == 0)
diff --git a/src/preproc/pic/pic.ypp b/src/preproc/pic/pic.ypp
index 2deaf7c..a5f122e 100644
--- a/src/preproc/pic/pic.ypp
+++ b/src/preproc/pic/pic.ypp
@@ -321,7 +321,7 @@ placeless_element:
                {
                  place *p = lookup_label($1);
                  if (!p) {
-                   lex_error("variable `%1' not defined", $1);
+                   lex_error("variable '%1' not defined", $1);
                    YYABORT;
                  }
                  p->obj = 0;
@@ -359,7 +359,7 @@ placeless_element:
                {
                  delim_flag = 0;
                  if (safer_flag)
-                   lex_error("unsafe to run command `%1'", $3);
+                   lex_error("unsafe to run command '%1'", $3);
                  else
                    system($3);
                  a_delete $3;
@@ -1268,7 +1268,7 @@ label:
                {
                  place *p = lookup_label($1);
                  if (!p) {
-                   lex_error("there is no place `%1'", $1);
+                   lex_error("there is no place '%1'", $1);
                    YYABORT;
                  }
                  $$ = *p;
@@ -1390,25 +1390,25 @@ path:
        /* The rest of these rules are a compatibility sop. */
        | ORDINAL LAST object_type relative_path
                {
-                 lex_warning("`%1%2 last %3' in `with' argument ignored",
+                 lex_warning("'%1%2 last %3' in 'with' argument ignored",
                              $1, ordinal_postfix($1), object_type_name($3));
                  $$ = $4;
                }
        | LAST object_type relative_path
                {
-                 lex_warning("`last %1' in `with' argument ignored",
+                 lex_warning("'last %1' in 'with' argument ignored",
                              object_type_name($2));
                  $$ = $3;
                }
        | ORDINAL object_type relative_path
                {
-                 lex_warning("`%1%2 %3' in `with' argument ignored",
+                 lex_warning("'%1%2 %3' in 'with' argument ignored",
                              $1, ordinal_postfix($1), object_type_name($2));
                  $$ = $3;
                }
        | LABEL relative_path
                {
-                 lex_warning("initial `%1' in `with' argument ignored", $1);
+                 lex_warning("initial '%1' in 'with' argument ignored", $1);
                  a_delete $1;
                  $$ = $2;
                }
@@ -1497,7 +1497,7 @@ expr_not_lower_than:
        VARIABLE
                {
                  if (!lookup_variable($1, & $$)) {
-                   lex_error("there is no variable `%1'", $1);
+                   lex_error("there is no variable '%1'", $1);
                    YYABORT;
                  }
                  free($1);
@@ -1566,11 +1566,11 @@ expr_not_lower_than:
                  errno = 0;
                  $$ = pow($1, $3);
                  if (errno == EDOM) {
-                   lex_error("arguments to `^' operator out of domain");
+                   lex_error("arguments to '^' operator out of domain");
                    YYABORT;
                  }
                  if (errno == ERANGE) {
-                   lex_error("result of `^' operator out of range");
+                   lex_error("result of '^' operator out of range");
                    YYABORT;
                  }
                }
diff --git a/src/preproc/pic/tex.cpp b/src/preproc/pic/tex.cpp
index 48c2e23..37b3f66 100644
--- a/src/preproc/pic/tex.cpp
+++ b/src/preproc/pic/tex.cpp
@@ -428,7 +428,7 @@ void tpic_output::command(const char *s, const char 
*filename, int lineno)
       int temp = (int)strtol(p, &ptr, 10);
       if (temp == 0 && ptr == p)
        error_with_file_and_line(filename, lineno,
-                                "argument to `.ps' not an integer");
+                                "argument to '.ps' not an integer");
       else if (temp < 0)
        error_with_file_and_line(filename, lineno,
                                 "negative pen size");
diff --git a/src/preproc/preconv/preconv.cpp b/src/preproc/preconv/preconv.cpp
index 96ae7f8..f11ea6c 100644
--- a/src/preproc/preconv/preconv.cpp
+++ b/src/preproc/preconv/preconv.cpp
@@ -663,7 +663,7 @@ conversion_iconv(FILE *fp, const string &data, char *enc)
   iconv_t handle = iconv_open(UNICODE, enc);
   if (handle == (iconv_t)-1) {
     if (errno == EINVAL) {
-      error("encoding system `%1' not supported by iconv()", enc);
+      error("encoding system '%1' not supported by iconv()", enc);
       return;
     }
     fatal("iconv_open failed");
@@ -1082,10 +1082,10 @@ do_file(const char *filename)
   string BOM, data;
   if (strcmp(filename, "-")) {
     if (debug_flag)
-      fprintf(stderr, "file `%s':\n", filename);
+      fprintf(stderr, "file '%s':\n", filename);
     fp = fopen(filename, FOPEN_RB);
     if (!fp) {
-      error("can't open `%1': %2", filename, strerror(errno));
+      error("can't open '%1': %2", filename, strerror(errno));
       return 0;
     }
   }
@@ -1101,11 +1101,11 @@ do_file(const char *filename)
   int must_free_encoding = 0;
   if (user_encoding[0]) {
     if (debug_flag) {
-      fprintf(stderr, "  user-specified encoding `%s', "
+      fprintf(stderr, "  user-specified encoding '%s', "
                      "no search for coding tag\n",
                      user_encoding);
       if (BOM_encoding && strcmp(BOM_encoding, user_encoding))
-       fprintf(stderr, "  but BOM in data stream implies encoding `%s'!\n",
+       fprintf(stderr, "  but BOM in data stream implies encoding '%s'!\n",
                        BOM_encoding);
     }
     encoding = (char *)user_encoding;
@@ -1132,7 +1132,7 @@ do_file(const char *filename)
     }
     else
       if (debug_flag)
-       fprintf(stderr, "  file encoding: `%s'\n", file_encoding);
+       fprintf(stderr, "  file encoding: '%s'\n", file_encoding);
     encoding = file_encoding;
   }
   strncpy(encoding_string, encoding, MAX_VAR_LEN - 1);
@@ -1143,12 +1143,12 @@ do_file(const char *filename)
   // Translate from MIME & Emacs encoding names to locale encoding names.
   encoding = emacs2mime(encoding_string);
   if (encoding[0] == '\0') {
-    error("encoding `%1' not supported, not a portable encoding",
+    error("encoding '%1' not supported, not a portable encoding",
          encoding_string);
     return 0;
   }
   if (debug_flag)
-    fprintf(stderr, "  encoding used: `%s'\n", encoding);
+    fprintf(stderr, "  encoding used: '%s'\n", encoding);
   if (!raw_flag) {
     string fn(filename);
     fn += '\0';
@@ -1167,7 +1167,7 @@ do_file(const char *filename)
 #if HAVE_ICONV
     conversion_iconv(fp, BOM + data, encoding);
 #else
-    error("encoding system `%1' not supported", encoding);
+    error("encoding system '%1' not supported", encoding);
     success = 0;
 #endif /* HAVE_ICONV */
   }
@@ -1191,7 +1191,7 @@ usage(FILE *stream)
                  "-r           don't add .lf requests\n"
                  "-v           print version number\n"
                  "\n"
-                 "The default encoding is `%s'.\n",
+                 "The default encoding is '%s'.\n",
                  program_name, default_encoding);
 }
 
@@ -1274,7 +1274,7 @@ main(int argc, char **argv)
     }
   int nbad = 0;
   if (debug_flag)
-    fprintf(stderr, "default encoding: `%s'\n", default_encoding);
+    fprintf(stderr, "default encoding: '%s'\n", default_encoding);
   if (optind >= argc)
     nbad += !do_file("-");
   else
diff --git a/src/preproc/refer/command.cpp b/src/preproc/refer/command.cpp
index 523560f..3244fe4 100644
--- a/src/preproc/refer/command.cpp
+++ b/src/preproc/refer/command.cpp
@@ -155,7 +155,7 @@ void input_stack::push_file(const char *fn)
     errno = 0;
     fp = fopen(fn, "r");
     if (fp == 0) {
-      error("can't open `%1': %2", fn, strerror(errno));
+      error("can't open '%1': %2", fn, strerror(errno));
       return;
     }
   }
@@ -697,7 +697,7 @@ static int check_args(const char *types, const char *name,
        break;
       }
       else {
-       input_stack::error("missing argument for command `%1'", name);
+       input_stack::error("missing argument for command '%1'", name);
        return 0;
       }
     }
@@ -710,7 +710,7 @@ static int check_args(const char *types, const char *name,
        long n = strtol(argv->s, &ptr, 10);
        if ((n == 0 && ptr == argv->s)
            || *ptr != '\0') {
-         input_stack::error("argument %1 for command `%2' must be an integer",
+         input_stack::error("argument %1 for command '%2' must be an integer",
                             argno + 1, name);
          return 0;
        }
@@ -721,7 +721,7 @@ static int check_args(const char *types, const char *name,
       {
        for (const char *ptr = argv->s; *ptr != '\0'; ptr++)
          if (!cs_field_name(*ptr)) {
-           input_stack::error("argument %1 for command `%2' must be a list of 
fields",
+           input_stack::error("argument %1 for command '%2' must be a list of 
fields",
                             argno + 1, name);
            return 0;
          }
@@ -730,7 +730,7 @@ static int check_args(const char *types, const char *name,
     case 'F':
       if (argv->s[0] == '\0' || argv->s[1] != '\0'
          || !cs_field_name(argv->s[0])) {
-       input_stack::error("argument %1 for command `%2' must be a field name",
+       input_stack::error("argument %1 for command '%2' must be a field name",
                           argno + 1, name);
        return 0;
       }
@@ -747,7 +747,7 @@ static int check_args(const char *types, const char *name,
     ++argno;
   }
   if (argc > 0) {
-    input_stack::error("too many arguments for command `%1'", name);
+    input_stack::error("too many arguments for command '%1'", name);
     return 0;
   }
   return 1;
@@ -762,7 +762,7 @@ static void execute_command(const char *name, int argc, 
argument *argv)
        (*command_table[i].func)(argc, argv);
       return;
     }
-  input_stack::error("unknown command `%1'", name);
+  input_stack::error("unknown command '%1'", name);
 }
 
 static void command_loop()
diff --git a/src/preproc/refer/label.ypp b/src/preproc/refer/label.ypp
index f45cceb..77d1453 100644
--- a/src/preproc/refer/label.ypp
+++ b/src/preproc/refer/label.ypp
@@ -308,7 +308,7 @@ string:
                    $$ = new format_expr($2);
                    break;
                  default:
-                   command_error("unrecognized format `%1'", char($2));
+                   command_error("unrecognized format '%1'", char($2));
                    $$ = new format_expr('a');
                    break;
                  }
@@ -344,7 +344,7 @@ string:
                    break;
                  default:
                    $$ = $1;
-                   command_error("unknown function `%1'", char($4));
+                   command_error("unknown function '%1'", char($4));
                    break;
                  }
                }
@@ -494,7 +494,7 @@ int set_short_label_spec(const char *label_spec)
 void yyerror(const char *message)
 {
   if (spec_cur < spec_end)
-    command_error("label specification %1 before `%2'", message, spec_cur);
+    command_error("label specification %1 before '%2'", message, spec_cur);
   else
     command_error("label specification %1 at end of string",
                  message, spec_cur);
diff --git a/src/preproc/refer/refer.cpp b/src/preproc/refer/refer.cpp
index b60e04c..0cb05bf 100644
--- a/src/preproc/refer/refer.cpp
+++ b/src/preproc/refer/refer.cpp
@@ -173,7 +173,7 @@ int main(int argc, char **argv)
              --argc;
            }
            else {
-             error("option `f' requires an argument");
+             error("option 'f' requires an argument");
              usage(stderr);
              exit(1);
            }
@@ -185,7 +185,7 @@ int main(int argc, char **argv)
          const char *ptr;
          for (ptr = num; *ptr; ptr++)
            if (!csdigit(*ptr)) {
-             error("bad character `%1' in argument to -f option", *ptr);
+             error("bad character '%1' in argument to -f option", *ptr);
              break;
            }
          if (*ptr == '\0') {
@@ -218,7 +218,7 @@ int main(int argc, char **argv)
            buf[0] = *opt++;
          else {
            if (*opt != '\0')
-             error("bad field name `%1'", *opt++);
+             error("bad field name '%1'", *opt++);
            buf[0] = 'L';
          }
          buf[1] = '~';
@@ -234,7 +234,7 @@ int main(int argc, char **argv)
          const char *ptr;
          for (ptr = ++opt; *ptr; ptr++)
            if (!csdigit(*ptr)) {
-             error("argument to `a' option not a number");
+             error("argument to 'a' option not a number");
              break;
            }
          if (*ptr == '\0') {
@@ -256,7 +256,7 @@ int main(int argc, char **argv)
            char *ptr;
            long n = strtol(opt, &ptr, 10);
            if (n == 0 && ptr == opt) {
-             error("bad integer `%1' in `l' option", opt);
+             error("bad integer '%1' in 'l' option", opt);
              opt = 0;
              break;
            }
@@ -272,7 +272,7 @@ int main(int argc, char **argv)
            char *ptr;
            long n = strtol(opt, &ptr, 10);
            if (n == 0 && ptr == opt) {
-             error("bad integer `%1' in `l' option", opt);
+             error("bad integer '%1' in 'l' option", opt);
              opt = 0;
              break;
            }
@@ -281,7 +281,7 @@ int main(int argc, char **argv)
            sprintf(strchr(buf, '\0'), "-%ld", n);
            opt = ptr;
            if (*opt != '\0')
-             error("argument to `l' option not of form `m,n'");
+             error("argument to 'l' option not of form 'm,n'");
          }
          strcat(buf, "%a");
          if (!set_label_spec(buf))
@@ -302,7 +302,7 @@ int main(int argc, char **argv)
              argc--;
            }
            else {
-             error("option `p' requires an argument");
+             error("option 'p' requires an argument");
              usage(stderr);
              exit(1);
            }
@@ -328,7 +328,7 @@ int main(int argc, char **argv)
          char *ptr;
          long n = strtol(opt, &ptr, 10);
          if (n == 0 && ptr == opt) {
-           error("bad integer `%1' in `t' option", opt);
+           error("bad integer '%1' in 't' option", opt);
            opt = 0;
            break;
          }
@@ -357,7 +357,7 @@ int main(int argc, char **argv)
        }
        // fall through
       default:
-       error("unrecognized option `%1'", *opt);
+       error("unrecognized option '%1'", *opt);
        usage(stderr);
        exit(1);
        break;
@@ -428,7 +428,7 @@ static void do_file(const char *filename)
     errno = 0;
     fp = fopen(filename, "r");
     if (fp == 0) {
-      error("can't open `%1': %2", filename, strerror(errno));
+      error("can't open '%1': %2", filename, strerror(errno));
       return;
     }
   }
@@ -470,7 +470,7 @@ static void do_file(const char *filename)
        int c = getc(fp);
        if (c == EOF) {
          error_with_file_and_line(current_filename, start_lineno,
-                                  "missing `.]' line");
+                                  "missing '.]' line");
          break;
        }
        if (start_of_line)
@@ -500,7 +500,7 @@ static void do_file(const char *filename)
        if (accumulate)
          output_references();
        else
-         error("found `$LIST$' but not accumulating references");
+         error("found '$LIST$' but not accumulating references");
       }
       else {
        unsigned flags = (accumulate
@@ -580,7 +580,7 @@ static void do_file(const char *filename)
        }
        if (c == EOF) {
          error_with_file_and_line(current_filename, start_lineno,
-                                  "missing `.R2' line");
+                                  "missing '.R2' line");
          break;
        }
        if (invalid_input_char(c))
@@ -943,7 +943,7 @@ void output_references()
   assert(accumulate);
   if (!hash_table_size) {
     if (have_bibliography)
-      error("nothing to reference (probably `bibliography' before `sort')");
+      error("nothing to reference (probably 'bibliography' before 'sort')");
     accumulate = 0;
     nreferences = 0;
     return;
@@ -1013,7 +1013,7 @@ static reference *find_reference(const char *query, int 
query_len)
   const char *start;
   int len;
   if (!iter.next(&start, &len, &rid)) {
-    error("no matches for `%1'", str.contents());
+    error("no matches for '%1'", str.contents());
     return 0;
   }
   const char *end = start + len;
@@ -1024,13 +1024,13 @@ static reference *find_reference(const char *query, int 
query_len)
       ;
   }
   if (start >= end) {
-    error("found a reference for `%1' but it didn't contain any fields",
+    error("found a reference for '%1' but it didn't contain any fields",
          str.contents());
     return 0;
   }
   reference *result = new reference(start, end - start, &rid);
   if (iter.next(&start, &len, &rid))
-    warning("multiple matches for `%1'", str.contents());
+    warning("multiple matches for '%1'", str.contents());
   return result;
 }
 
@@ -1110,7 +1110,7 @@ void do_bib(const char *filename)
     errno = 0;
     fp = fopen(filename, "r");
     if (fp == 0) {
-      error("can't open `%1': %2", filename, strerror(errno));
+      error("can't open '%1': %2", filename, strerror(errno));
       return;
     }
     current_filename = filename;
diff --git a/src/preproc/soelim/soelim.cpp b/src/preproc/soelim/soelim.cpp
index d96609c..2e78d12 100644
--- a/src/preproc/soelim/soelim.cpp
+++ b/src/preproc/soelim/soelim.cpp
@@ -159,7 +159,7 @@ int do_file(const char *filename)
   whole_filename += '\0';
   free(file_name_in_path);
   if (fp == 0) {
-    error("can't open `%1': %2", whole_filename.contents(), strerror(err));
+    error("can't open '%1': %2", whole_filename.contents(), strerror(err));
     return 0;
   }
   normalize_for_lf(whole_filename);
diff --git a/src/preproc/tbl/main.cpp b/src/preproc/tbl/main.cpp
index 27171c7..12a0977 100644
--- a/src/preproc/tbl/main.cpp
+++ b/src/preproc/tbl/main.cpp
@@ -421,7 +421,7 @@ options *process_options(table_input &in)
       while (*q != ')' && *q != '\0')
        q++;
       if (*q == '\0')
-       error("missing `)'");
+       error("missing ')'");
       else
        *q++ = '\0';
     }
@@ -431,20 +431,20 @@ options *process_options(table_input &in)
     }
     else if (strieq(p, "tab")) {
       if (!arg)
-       error("`tab' option requires argument in parentheses");
+       error("'tab' option requires argument in parentheses");
       else {
        if (arg[0] == '\0' || arg[1] != '\0')
-         error("argument to `tab' option must be a single character");
+         error("argument to 'tab' option must be a single character");
        else
          opt->tab_char = arg[0];
       }
     }
     else if (strieq(p, "linesize")) {
       if (!arg)
-       error("`linesize' option requires argument in parentheses");
+       error("'linesize' option requires argument in parentheses");
       else {
        if (sscanf(arg, "%d", &opt->linesize) != 1)
-         error("bad linesize `%s'", arg);
+         error("bad linesize '%s'", arg);
        else if (opt->linesize <= 0) {
          error("linesize must be positive");
          opt->linesize = 0;
@@ -453,9 +453,9 @@ options *process_options(table_input &in)
     }
     else if (strieq(p, "delim")) {
       if (!arg)
-       error("`delim' option requires argument in parentheses");
+       error("'delim' option requires argument in parentheses");
       else if (arg[0] == '\0' || arg[1] == '\0' || arg[2] != '\0')
-       error("argument to `delim' option must be two characters");
+       error("argument to 'delim' option must be two characters");
       else {
        opt->delim[0] = arg[0];
        opt->delim[1] = arg[1];
@@ -463,50 +463,50 @@ options *process_options(table_input &in)
     }
     else if (strieq(p, "center") || strieq(p, "centre")) {
       if (arg)
-       error("`center' option does not take an argument");
+       error("'center' option does not take an argument");
       opt->flags |= table::CENTER;
     }
     else if (strieq(p, "expand")) {
       if (arg)
-       error("`expand' option does not take an argument");
+       error("'expand' option does not take an argument");
       opt->flags |= table::EXPAND;
     }
     else if (strieq(p, "box") || strieq(p, "frame")) {
       if (arg)
-       error("`box' option does not take an argument");
+       error("'box' option does not take an argument");
       opt->flags |= table::BOX;
     }
     else if (strieq(p, "doublebox") || strieq(p, "doubleframe")) {
       if (arg)
-       error("`doublebox' option does not take an argument");
+       error("'doublebox' option does not take an argument");
       opt->flags |= table::DOUBLEBOX;
     }
     else if (strieq(p, "allbox")) {
       if (arg)
-       error("`allbox' option does not take an argument");
+       error("'allbox' option does not take an argument");
       opt->flags |= table::ALLBOX;
     }
     else if (strieq(p, "nokeep")) {
       if (arg)
-       error("`nokeep' option does not take an argument");
+       error("'nokeep' option does not take an argument");
       opt->flags |= table::NOKEEP;
     }
     else if (strieq(p, "nospaces")) {
       if (arg)
-       error("`nospaces' option does not take an argument");
+       error("'nospaces' option does not take an argument");
       opt->flags |= table::NOSPACES;
     }
     else if (strieq(p, "nowarn")) {
       if (arg)
-       error("`nowarn' option does not take an argument");
+       error("'nowarn' option does not take an argument");
       opt->flags |= table::NOWARN;
     }
     else if (strieq(p, "decimalpoint")) {
       if (!arg)
-       error("`decimalpoint' option requires argument in parentheses");
+       error("'decimalpoint' option requires argument in parentheses");
       else {
        if (arg[0] == '\0' || arg[1] != '\0')
-         error("argument to `decimalpoint' option must be a single character");
+         error("argument to 'decimalpoint' option must be a single character");
        else
          opt->decimal_point_char = arg[0];
       }
@@ -515,7 +515,7 @@ options *process_options(table_input &in)
       opt->flags |= table::EXPERIMENTAL;
     }
     else {
-      error("unrecognised global option `%1'", p);
+      error("unrecognised global option '%1'", p);
       // delete opt;
       // return 0;
     }
@@ -835,7 +835,7 @@ format *process_format(table_input &in, options *opt,
       default:
        if (c == opt->tab_char)
          break;
-       error("unrecognised format `%1'", char(c));
+       error("unrecognised format '%1'", char(c));
        free_input_entry_format_list(list);
        return 0;
       }
@@ -902,7 +902,7 @@ format *process_format(table_input &in, options *opt,
          for (;;) {
            c = in.get();
            if (c == EOF || c == ' ' || c == '\t') {
-             error("missing `)'");
+             error("missing ')'");
              break;
            }
            if (c == ')') {
@@ -941,7 +941,7 @@ format *process_format(table_input &in, options *opt,
          for (;;) {
            c = in.get();
            if (c == EOF || c == ' ' || c == '\t') {
-             error("missing `)'");
+             error("missing ')'");
              break;
            }
            if (c == ')') {
@@ -972,7 +972,7 @@ format *process_format(table_input &in, options *opt,
          c = in.get();
        }
        if (c == EOF || !csdigit(c)) {
-         error("`p' modifier must be followed by number");
+         error("'p' modifier must be followed by number");
          list->point_size.inc = 0;
        }
        else {
@@ -1009,7 +1009,7 @@ format *process_format(table_input &in, options *opt,
          c = in.get();
        }
        if (c == EOF || !csdigit(c)) {
-         error("`v' modifier must be followed by number");
+         error("'v' modifier must be followed by number");
          list->vertical_spacing.inc = 0;
        }
        else {
@@ -1036,7 +1036,7 @@ format *process_format(table_input &in, options *opt,
          c = in.get();
          while (c != ')') {
            if (c == EOF || c == '\n') {
-             error("missing `)'");
+             error("missing ')'");
              free_input_entry_format_list(list);
              return 0;
            }
@@ -1053,7 +1053,7 @@ format *process_format(table_input &in, options *opt,
          else
            list->width = "";
          if (c == EOF || !csdigit(c))
-           error("bad argument for `w' modifier");
+           error("bad argument for 'w' modifier");
          else {
            do {
              list->width += char(c);
@@ -1108,7 +1108,7 @@ format *process_format(table_input &in, options *opt,
       c = in.get();
     } while (c == ' ' || c == '\t');
     if (c != '\n') {
-      error("`.' not last character on line");
+      error("'.' not last character on line");
       free_input_entry_format_list(list);
       return 0;
     }
@@ -1225,7 +1225,7 @@ format *process_format(table_input &in, options *opt,
     return 0;
   }
   if (have_expand && (opt->flags & table::EXPAND)) {
-    error("ignoring global `expand' option because of `x' specifiers");
+    error("ignoring global 'expand' option because of 'x' specifiers");
     opt->flags &= ~table::EXPAND;
   }
   return f;
@@ -1435,7 +1435,7 @@ table *process_data(table_input &in, format *f, options 
*opt)
                  if (c == '\n')
                    in.unget(c);
                  input_entry += '\0';
-                 error("excess data entry `%1' discarded",
+                 error("excess data entry '%1' discarded",
                        input_entry.contents());
                  if (c == '\n')
                    (void)in.get();
@@ -1612,7 +1612,7 @@ int main(int argc, char **argv)
        errno = 0;
        FILE *fp = fopen(argv[i], "r");
        if (fp == 0)
-         fatal("can't open `%1': %2", argv[i], strerror(errno));
+         fatal("can't open '%1': %2", argv[i], strerror(errno));
        else {
          current_lineno = 1;
          string fn(argv[i]);
diff --git a/src/preproc/tbl/table.cpp b/src/preproc/tbl/table.cpp
index 32347bd..e0b4870 100644
--- a/src/preproc/tbl/table.cpp
+++ b/src/preproc/tbl/table.cpp
@@ -1609,13 +1609,13 @@ void table::add_entry(int r, int c, const string &str, 
const entry_format *f,
     case FORMAT_HLINE:
       if (str.length() != 0)
        error_with_file_and_line(fn, ln,
-                                "non-empty data entry for `_' format ignored");
+                                "non-empty data entry for '_' format ignored");
       e = new single_line_entry(this, f);
       break;
     case FORMAT_DOUBLE_HLINE:
       if (str.length() != 0)
        error_with_file_and_line(fn, ln,
-                                "non-empty data entry for `=' format ignored");
+                                "non-empty data entry for '=' format ignored");
       e = new double_line_entry(this, f);
       break;
     default:
@@ -2132,7 +2132,7 @@ void table::compute_expand_width()
           "delim off\n"
           ".EN\n"
           "..\n");
-    prints(".tm1 \"warning: file `\\n[.F]', around line \\n[.c]:\n"
+    prints(".tm1 \"warning: file '\\n[.F]', around line \\n[.c]:\n"
           ".tm1 \"  table wider than line width\n");
     prints(".ig\n"
           ".EQ\n"
@@ -2184,7 +2184,7 @@ void table::compute_separation_factor()
           "delim off\n"
           ".EN\n"
           "..\n");
-    prints(".tm1 \"warning: file `\\n[.F]', around line \\n[.c]:\n"
+    prints(".tm1 \"warning: file '\\n[.F]', around line \\n[.c]:\n"
           ".tm1 \"  column separation set to zero\n"
           ".nr " SEPARATION_FACTOR_REG " 0\n");
   }
@@ -2192,7 +2192,7 @@ void table::compute_separation_factor()
         ".el .if \\n[" SEPARATION_FACTOR_REG "]<1n \\{\\\n");
   entry_list->set_location();
   if (!(flags & NOWARN)) {
-    prints(".tm1 \"warning: file `\\n[.F]', around line \\n[.c]:\n"
+    prints(".tm1 \"warning: file '\\n[.F]', around line \\n[.c]:\n"
           ".tm1 \"  table squeezed horizontally to fit line length\n");
     prints(".ig\n"
           ".EQ\n"
diff --git a/src/roff/groff/groff.cpp b/src/roff/groff/groff.cpp
index d0231b9..46cbf01 100644
--- a/src/roff/groff/groff.cpp
+++ b/src/roff/groff/groff.cpp
@@ -340,9 +340,9 @@ int main(int argc, char **argv)
   }
   font::set_unknown_desc_command_handler(handle_unknown_desc_command);
   if (!font::load_desc())
-    fatal("invalid device `%1'", device);
+    fatal("invalid device '%1'", device);
   if (!postdriver)
-    fatal("no `postpro' command in DESC file for device `%1'", device);
+    fatal("no 'postpro' command in DESC file for device '%1'", device);
   if (predriver && !zflag) {
     commands[TROFF_INDEX].insert_arg(commands[TROFF_INDEX].get_name());
     commands[TROFF_INDEX].set_name(predriver);
@@ -411,7 +411,7 @@ int main(int argc, char **argv)
   if (strcmp(device, "html") == 0) {
     if (is_xhtml) {
       if (oflag)
-       fatal("`-o' option is invalid with device `xhtml'");
+       fatal("'-o' option is invalid with device 'xhtml'");
       if (zflag)
        commands[EQN_INDEX].append_arg("-Tmathml:xhtml");
       else if (eflag)
@@ -419,7 +419,7 @@ int main(int argc, char **argv)
     }
     else {
       if (oflag)
-       fatal("`-o' option is invalid with device `html'");
+       fatal("'-o' option is invalid with device 'html'");
       // html renders equations as images via ps
       commands[EQN_INDEX].append_arg("-Tps:html");
     }
@@ -515,19 +515,19 @@ void handle_unknown_desc_command(const char *command, 
const char *arg,
   if (strcmp(command, "print") == 0) {
     if (arg == 0)
       error_with_file_and_line(filename, lineno,
-                              "`print' command requires an argument");
+                              "'print' command requires an argument");
     else
       spooler = strsave(arg);
   }
   if (strcmp(command, "prepro") == 0) {
     if (arg == 0)
       error_with_file_and_line(filename, lineno,
-                              "`prepro' command requires an argument");
+                              "'prepro' command requires an argument");
     else {
       for (const char *p = arg; *p; p++)
        if (csspace(*p)) {
          error_with_file_and_line(filename, lineno,
-                                  "invalid `prepro' argument `%1'"
+                                  "invalid 'prepro' argument '%1'"
                                   ": program name required", arg);
          return;
        }
@@ -537,12 +537,12 @@ void handle_unknown_desc_command(const char *command, 
const char *arg,
   if (strcmp(command, "postpro") == 0) {
     if (arg == 0)
       error_with_file_and_line(filename, lineno,
-                              "`postpro' command requires an argument");
+                              "'postpro' command requires an argument");
     else {
       for (const char *p = arg; *p; p++)
        if (csspace(*p)) {
          error_with_file_and_line(filename, lineno,
-                                  "invalid `postpro' argument `%1'"
+                                  "invalid 'postpro' argument '%1'"
                                   ": program name required", arg);
          return;
        }
diff --git a/src/roff/grog/subs.pl b/src/roff/grog/subs.pl
index 3aae019..b9076f2 100644
--- a/src/roff/grog/subs.pl
+++ b/src/roff/grog/subs.pl
@@ -325,7 +325,7 @@ sub handle_file_ext {
     # test for each file name in the arguments
     unless ( open(FILE, $file eq "-" ? $file : "< $file") ) {
       print STDERR __FILE__ . ' ' .  __LINE__ . ': ' .
-       "$Prog: can't open \`$file\': $!";
+       "$Prog: can't open \'$file\': $!";
       next;
     }
 
@@ -430,7 +430,7 @@ sub handle_whole_files {
   foreach my $file ( @filespec ) {
     unless ( open(FILE, $file eq "-" ? $file : "< $file") ) {
       print STDERR __FILE__ . ' ' .  __LINE__ . ': ' .
-       "$Prog: can't open \`$file\': $!";
+       "$Prog: can't open \'$file\': $!";
       next;
     }
     my $line = <FILE>; # get single line
@@ -942,11 +942,11 @@ sub make_groff_device {
     } else {   # no --ligature argument
       if ( $with_warnings ) {
        print STDERR <<EOF;
-If you have trouble with ligatures like `fi' in the `groff' output, you
+If you have trouble with ligatures like 'fi' in the 'groff' output, you
 can proceed as one of
-- add `grog' option `--with_ligatures' or
-- use the `grog' option combination `-P-y -PU' or
-- try to remove the font named similar to `fonts-texgyre' from your system.
+- add 'grog' option '--with_ligatures' or
+- use the 'grog' option combination '-P-y -PU' or
+- try to remove the font named similar to 'fonts-texgyre' from your system.
 EOF
       }        # end of warning
     }  # end of ligature
@@ -1154,7 +1154,7 @@ sub make_groff_line_rest {
     # ignore other -m arguments and the found ones
     $last_m_arg = $Mparams[-1];        # take the last -m argument
     print STDERR __FILE__ . ' ' .  __LINE__ . ': ' .
-      $Prog . ": more than 1 `-m' argument: @Mparams";
+      $Prog . ": more than 1 '-m' argument: @Mparams";
     print STDERR __FILE__ . ' ' .  __LINE__ . ': ' .
       'We take the last one: ' . $last_m_arg;
   } elsif ( $nr_m_args == 1 ) {
@@ -1222,24 +1222,24 @@ sub help {
 usage: grog [option]... [--] [filespec]...
 
 "filespec" is either the name of an existing, readable file or "-" for
-standard input.  If no `filespec' is specified, standard input is
-assumed automatically.  All arguments after a `--' are regarded as file
-names, even if they start with a `-' character.
+standard input.  If no 'filespec' is specified, standard input is
+assumed automatically.  All arguments after a '--' are regarded as file
+names, even if they start with a '-' character.
 
-`option' is either a `groff' option or one of these:
+'option' is either a 'groff' option or one of these:
 
 -h|--help      print this uasge message and exit
 -v|--version   print version information and exit
 
 -C             compatibility mode
---ligatures    include options `-P-y -PU' for internal font, which
-               preserves the ligatures like `fi'
+--ligatures    include options '-P-y -PU' for internal font, which
+               preserves the ligatures like 'fi'
 --run          run the checked-out groff command
 --warnings     display more warnings to standard error
 
-All other options should be `groff' 1-character options.  These are then
-appended to the generated `groff' command line.  The `-m' options will
-be checked by `grog'.
+All other options should be 'groff' 1-character options.  These are then
+appended to the generated 'groff' command line.  The '-m' options will
+be checked by 'grog'.
 
 EOF
   exit 0;
diff --git a/src/roff/troff/div.cpp b/src/roff/troff/div.cpp
index 9be6ae7..c3ae2e7 100644
--- a/src/roff/troff/div.cpp
+++ b/src/roff/troff/div.cpp
@@ -547,7 +547,7 @@ void top_level_diversion::print_traps()
 void end_diversions()
 {
   while (curdiv != topdiv) {
-    error("automatically ending diversion `%1' on exit",
+    error("automatically ending diversion '%1' on exit",
            curdiv->nm.contents());
     diversion *tem = curdiv;
     curdiv = curdiv->prev;
diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp
index e590f97..f4fdc7e 100644
--- a/src/roff/troff/env.cpp
+++ b/src/roff/troff/env.cpp
@@ -695,7 +695,7 @@ environment::environment(symbol nm)
   if (!is_good_fontno(1))
     fatal("font number 1 not a valid font");
   if (family->make_definite(1) < 0)
-    fatal("invalid default family `%1'", default_family.contents());
+    fatal("invalid default family '%1'", default_family.contents());
   prev_fontno = fontno;
 }
 
@@ -1259,7 +1259,7 @@ void override_sizes()
        break;
       // fall through
     default:
-      warning(WARN_RANGE, "bad size range `%1'", p);
+      warning(WARN_RANGE, "bad size range '%1'", p);
       return;
     }
     if (i + 2 > n) {
@@ -2229,15 +2229,15 @@ node *environment::make_tag(const char *nm, int i)
 void environment::dump_troff_state()
 {
 #define SPACES "                                            "
-  fprintf(stderr, SPACES "register `in' = %d\n", curenv->indent.to_units());
+  fprintf(stderr, SPACES "register 'in' = %d\n", curenv->indent.to_units());
   if (curenv->have_temporary_indent)
-    fprintf(stderr, SPACES "register `ti' = %d\n",
+    fprintf(stderr, SPACES "register 'ti' = %d\n",
            curenv->temporary_indent.to_units());
-  fprintf(stderr, SPACES "centered lines `ce' = %d\n", curenv->center_lines);
-  fprintf(stderr, SPACES "register `ll' = %d\n",
+  fprintf(stderr, SPACES "centered lines 'ce' = %d\n", curenv->center_lines);
+  fprintf(stderr, SPACES "register 'll' = %d\n",
          curenv->line_length.to_units());
-  fprintf(stderr, SPACES "fill `fi=1/nf=0' = %d\n", curenv->fill);
-  fprintf(stderr, SPACES "page offset `po' = %d\n",
+  fprintf(stderr, SPACES "fill 'fi=1/nf=0' = %d\n", curenv->fill);
+  fprintf(stderr, SPACES "page offset 'po' = %d\n",
          topdiv->get_page_offset().to_units());
   fprintf(stderr, SPACES "seen_break = %d\n", curenv->seen_break);
   fprintf(stderr, SPACES "seen_space = %d\n", curenv->seen_space);
@@ -2487,7 +2487,7 @@ void adjust()
          warning(WARN_RANGE, "negative adjustment mode");
        else if (n > 5) {
          curenv->adjust_mode = 5;
-         warning(WARN_RANGE, "adjustment mode `%1' out of range", n);
+         warning(WARN_RANGE, "adjustment mode '%1' out of range", n);
        }
        else
          curenv->adjust_mode = n;
@@ -3225,8 +3225,8 @@ void environment::print_env()
   errprint("  requested size: %1s\n", requested_size);
   errprint("  previous font number: %1\n", prev_fontno);
   errprint("  font number: %1\n", fontno);
-  errprint("  previous family: `%1'\n", prev_family->nm.contents());
-  errprint("  family: `%1'\n", family->nm.contents());
+  errprint("  previous family: '%1'\n", prev_family->nm.contents());
+  errprint("  family: '%1'\n", family->nm.contents());
   errprint("  space size: %1/36 em\n", space_size);
   errprint("  sentence space size: %1/36 em\n", sentence_space_size);
   errprint("  previous line interrupted: %1\n",
@@ -3266,7 +3266,7 @@ void environment::print_env()
     errprint("  underline spaces: %1\n", underline_spaces ? "yes" : "no");
   }
   if (input_trap.contents()) {
-    errprint("  input trap macro: `%1'\n", input_trap.contents());
+    errprint("  input trap macro: '%1'\n", input_trap.contents());
     errprint("  input trap line counter: %1\n", input_trap_count);
     errprint("  continued input trap: %1\n",
             continued_input_trap ? "yes" : "no");
@@ -3806,7 +3806,7 @@ void hyphen_trie::read_patterns_file(const char *name, 
int append,
   char *path = 0;
   FILE *fp = mac_path->open_file(name, &path);
   if (fp == 0) {
-    error("can't find hyphenation patterns file `%1'", name);
+    error("can't find hyphenation patterns file '%1'", name);
     return;
   }
   int c = hpf_getc(fp);
@@ -3903,7 +3903,7 @@ void hyphen_trie::read_patterns_file(const char *name, 
int append,
       }
       else if (c == '{') {
        if (have_patterns || have_hyphenation)
-         error("`{' not allowed within %1 group",
+         error("'{' not allowed within %1 group",
                have_patterns ? "\\patterns" : "\\hyphenation");
        c = hpf_getc(fp);               // skipped if not starting \patterns
                                        // or \hyphenation
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index fe5698f..23c821e 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -401,7 +401,7 @@ int file_iterator::get_location(int /*allow_macro*/,
 
 void file_iterator::backtrace()
 {
-  errprint("%1:%2: backtrace: %3 `%1'\n", filename, lineno,
+  errprint("%1:%2: backtrace: %3 '%1'\n", filename, lineno,
           popened ? "process" : "file");
 }
 
@@ -810,7 +810,7 @@ void next_file()
     errno = 0;
     FILE *fp = include_search_path.open_file_cautious(nm.contents());
     if (!fp)
-      error("can't open `%1': %2", nm.contents(), strerror(errno));
+      error("can't open '%1': %2", nm.contents(), strerror(errno));
     else
       input_stack::next_file(fp, nm.contents());
   }
@@ -1218,7 +1218,7 @@ static color *lookup_color(symbol nm)
     return &default_color;
   color *c = (color *)color_dictionary.lookup(nm);
   if (c == 0)
-    warning(WARN_COLOR, "color `%1' not defined", nm.contents());
+    warning(WARN_COLOR, "color '%1' not defined", nm.contents());
   return c;
 }
 
@@ -1283,7 +1283,7 @@ static color *read_rgb(char end = 0)
   color *col = new color;
   if (*s == '#') {
     if (!col->read_rgb(s)) {
-      warning(WARN_COLOR, "expecting rgb color definition not `%1'", s);
+      warning(WARN_COLOR, "expecting rgb color definition not '%1'", s);
       delete col;
       return 0;
     }
@@ -1312,7 +1312,7 @@ static color *read_cmy(char end = 0)
   color *col = new color;
   if (*s == '#') {
     if (!col->read_cmy(s)) {
-      warning(WARN_COLOR, "expecting cmy color definition not `%1'", s);
+      warning(WARN_COLOR, "expecting cmy color definition not '%1'", s);
       delete col;
       return 0;
     }
@@ -1341,7 +1341,7 @@ static color *read_cmyk(char end = 0)
   color *col = new color;
   if (*s == '#') {
     if (!col->read_cmyk(s)) {
-      warning(WARN_COLOR, "`expecting a cmyk color definition not `%1'", s);
+      warning(WARN_COLOR, "expecting a cmyk color definition not '%1'", s);
       delete col;
       return 0;
     }
@@ -1371,7 +1371,7 @@ static color *read_gray(char end = 0)
   color *col = new color;
   if (*s == '#') {
     if (!col->read_gray(s)) {
-      warning(WARN_COLOR, "`expecting a gray definition not `%1'", s);
+      warning(WARN_COLOR, "expecting a gray definition not '%1'", s);
       delete col;
       return 0;
     }
@@ -1427,7 +1427,7 @@ static void define_color()
     col = read_cmy();
   else {
     warning(WARN_COLOR,
-           "unknown color space `%1'; use rgb, cmyk, gray or cmy",
+           "unknown color space '%1'; use rgb, cmyk, gray or cmy",
            style.contents());
     skip_line();
     return;
@@ -2352,7 +2352,7 @@ int token::delimiter(int err)
     case ')':
     case '.':
       if (err)
-       error("cannot use character `%1' as a starting delimiter", char(c));
+        error("cannot use character '%1' as a starting delimiter", char(c));
       return 0;
     default:
       return 1;
@@ -2383,55 +2383,55 @@ const char *token::description()
   case TOKEN_BACKSPACE:
     return "a backspace character";
   case TOKEN_CHAR:
-    buf[0] = '`';
+    buf[0] = '\'';
     buf[1] = c;
     buf[2] = '\'';
     buf[3] = '\0';
     return buf;
   case TOKEN_DUMMY:
-    return "`\\&'";
+    return "'\\&'";
   case TOKEN_ESCAPE:
-    return "`\\e'";
+    return "'\\e'";
   case TOKEN_HYPHEN_INDICATOR:
-    return "`\\%'";
+    return "'\\%'";
   case TOKEN_INTERRUPT:
-    return "`\\c'";
+    return "'\\c'";
   case TOKEN_ITALIC_CORRECTION:
-    return "`\\/'";
+    return "'\\/'";
   case TOKEN_LEADER:
     return "a leader character";
   case TOKEN_LEFT_BRACE:
-    return "`\\{'";
+    return "'\\{'";
   case TOKEN_MARK_INPUT:
-    return "`\\k'";
+    return "'\\k'";
   case TOKEN_NEWLINE:
     return "newline";
   case TOKEN_NODE:
     return "a node";
   case TOKEN_NUMBERED_CHAR:
-    return "`\\N'";
+    return "'\\N'";
   case TOKEN_RIGHT_BRACE:
-    return "`\\}'";
+    return "'\\}'";
   case TOKEN_SPACE:
     return "a space";
   case TOKEN_SPECIAL:
     return "a special character";
   case TOKEN_SPREAD:
-    return "`\\p'";
+    return "'\\p'";
   case TOKEN_STRETCHABLE_SPACE:
-    return "`\\~'";
+    return "'\\~'";
   case TOKEN_UNSTRETCHABLE_SPACE:
-    return "`\\ '";
+    return "'\\ '";
   case TOKEN_HORIZONTAL_SPACE:
     return "a horizontal space";
   case TOKEN_TAB:
     return "a tab character";
   case TOKEN_TRANSPARENT:
-    return "`\\!'";
+    return "'\\!'";
   case TOKEN_TRANSPARENT_DUMMY:
-    return "`\\)'";
+    return "'\\)'";
   case TOKEN_ZERO_WIDTH_BREAK:
-    return "`\\:'";
+    return "'\\:'";
   case TOKEN_EOF:
     return "end of input";
   default:
@@ -2691,7 +2691,7 @@ static int transparent_translate(int cc)
       int c = ci->get_ascii_code();
       if (c != '\0')
        return c;
-      error("can't translate %1 to special character `%2'"
+      error("can't translate %1 to special character '%2'"
            " in transparent throughput",
            input_char_description(cc),
            ci->nm.contents());
@@ -3574,7 +3574,7 @@ void string_iterator::backtrace()
     errprint("%1:%2: backtrace", mac.filename, mac.lineno + lineno - 1);
     if (how_invoked) {
       if (!nm.is_null())
-       errprint(": %1 `%2'\n", how_invoked, nm.contents());
+       errprint(": %1 '%2'\n", how_invoked, nm.contents());
       else
        errprint(": %1\n", how_invoked);
     }
@@ -3786,13 +3786,13 @@ static void interpolate_macro(symbol nm, int no_next)
        macro *m = r->to_macro();
        if (!m || !m->empty())
          warned = warning(WARN_SPACE,
-                          "macro `%1' not defined "
-                          "(possibly missing space after `%2')",
+                          "macro '%1' not defined "
+                          "(possibly missing space after '%2')",
                           nm.contents(), buf);
       }
     }
     if (!warned) {
-      warning(WARN_MAC, "macro `%1' not defined", nm.contents());
+      warning(WARN_MAC, "macro '%1' not defined", nm.contents());
       p = new macro;
       request_dictionary.define(nm, p);
     }
@@ -3865,7 +3865,7 @@ static void decode_string_args(macro_iterator *mi)
     while (c == ' ')
       c = get_copy(&n);
     if (c == '\n' || c == EOF) {
-      error("missing `]'");
+      error("missing ']'");
       break;
     }
     if (c == ']')
@@ -3964,7 +3964,7 @@ void composite_request()
     if (!from_gn) {
       from_gn = check_unicode_name(from.contents());
       if (!from_gn) {
-       error("invalid composite glyph name `%1'", from.contents());
+       error("invalid composite glyph name '%1'", from.contents());
        skip_line();
        return;
       }
@@ -3980,7 +3980,7 @@ void composite_request()
       if (!to_gn) {
        to_gn = check_unicode_name(to.contents());
        if (!to_gn) {
-         error("invalid composite glyph name `%1'", to.contents());
+         error("invalid composite glyph name '%1'", to.contents());
          skip_line();
          return;
        }
@@ -4006,7 +4006,7 @@ static symbol composite_glyph_name(symbol nm)
   if (!gn) {
     gn = check_unicode_name(nm.contents());
     if (!gn) {
-      error("invalid base glyph `%1' in composite glyph name", nm.contents());
+      error("invalid base glyph '%1' in composite glyph name", nm.contents());
       return EMPTY_SYMBOL;
     }
   }
@@ -4027,7 +4027,7 @@ static symbol composite_glyph_name(symbol nm)
     if (!u) {
       u = check_unicode_name(gl.contents());
       if (!u) {
-       error("invalid component `%1' in composite glyph name",
+       error("invalid component '%1' in composite glyph name",
              gl.contents());
        return EMPTY_SYMBOL;
       }
@@ -4403,7 +4403,7 @@ static void interpolate_arg(symbol nm)
     for (p = s; *p && csdigit(*p); p++)
       ;
     if (*p)
-      copy_mode_error("bad argument name `%1'", s);
+      copy_mode_error("bad argument name '%1'", s);
     else
       input_stack::push(input_stack::get_arg(atoi(s)));
   }
@@ -4565,10 +4565,10 @@ void do_define_macro(define_mode mode, calling_mode 
calling, comp_mode comp)
       if (mode == DEFINE_NORMAL || mode == DEFINE_APPEND) {
        if (have_start_location)
          error_with_file_and_line(start_filename, start_lineno,
-                                  "end of file while defining macro `%1'",
+                                  "end of file while defining macro '%1'",
                                   nm.contents());
        else
-         error("end of file while defining macro `%1'", nm.contents());
+         error("end of file while defining macro '%1'", nm.contents());
       }
       else {
        if (have_start_location)
@@ -4671,7 +4671,7 @@ void alias_macro()
     symbol s2 = get_name(1);
     if (!s2.is_null()) {
       if (!request_dictionary.alias(s1, s2))
-       warning(WARN_MAC, "macro `%1' not defined", s2.contents());
+       warning(WARN_MAC, "macro '%1' not defined", s2.contents());
     }
   }
   skip_line();
@@ -4725,7 +4725,7 @@ void substring_request()
     request_or_macro *p = lookup_request(s);
     macro *m = p->to_macro();
     if (!m)
-      error("cannot apply `substring' on a request");
+      error("cannot apply 'substring' on a request");
     else {
       int end = -1;
       if (!has_arg() || get_integer(&end)) {
@@ -5049,7 +5049,7 @@ static int read_size(int *x)
       return 0;
     if (!(start.ch() == '[' && tok.ch() == ']') && start != tok) {
       if (start.ch() == '[')
-       error("missing `]'");
+       error("missing ']'");
       else
        error("missing closing delimiter");
       return 0;
@@ -5515,7 +5515,7 @@ static node *do_suppress(symbol nm)
     }
     break;
   default:
-    error("`%1' is an invalid argument to \\O", *s);
+    error("'%1' is an invalid argument to \\O", *s);
   }
   return 0;
 }
@@ -5887,7 +5887,7 @@ void source()
     if (fp)
       input_stack::push(new file_iterator(fp, nm.contents()));
     else
-      error("can't open `%1': %2", nm.contents(), strerror(errno));
+      error("can't open '%1': %2", nm.contents(), strerror(errno));
     tok.next();
   }
 }
@@ -5934,7 +5934,7 @@ void pipe_source()
       if (fp)
        input_stack::push(new file_iterator(fp, symbol(buf).contents(), 1));
       else
-       error("can't open pipe to process `%1': %2", buf, strerror(errno));
+       error("can't open pipe to process '%1': %2", buf, strerror(errno));
       a_delete buf;
     }
     tok.next();
@@ -6037,7 +6037,7 @@ filename(fname), llx(0), lly(0), urx(0), ury(0), 
lastc(EOF)
       // ...except in the case of an empty file, which we are
       // unable to process further.
       //
-      error("`%1' is empty", filename);
+      error("'%1' is empty", filename);
 
 # if 0
     else if (context_args("%PDF-")) {
@@ -6079,7 +6079,7 @@ filename(fname), llx(0), lly(0), urx(0), ury(0), 
lastc(EOF)
                  // ...we must ensure it is not a further attempt to defer
                  // assignment to a trailer, (which we are already parsing).
                  //
-                 error("`(atend)' not allowed in trailer of `%1'", filename);
+                 error("'(atend)' not allowed in trailer of '%1'", filename);
              }
            }
            else
@@ -6094,7 +6094,7 @@ filename(fname), llx(0), lly(0), urx(0), ury(0), 
lastc(EOF)
            // we were unable to extract a valid set of range values from
            // it; all we can do is diagnose this.
            //
-           error("the arguments to the %%%%BoundingBox comment in `%1' are 
bad",
+           error("the arguments to the %%%%BoundingBox comment in '%1' are 
bad",
                  filename);
          }
        }
@@ -6104,13 +6104,13 @@ filename(fname), llx(0), lly(0), urx(0), ury(0), 
lastc(EOF)
        // Conversely, this arises when no value specifying %%BoundingBox
        // comment has been found, in any appropriate location...
        //
-       error("%%%%BoundingBox comment not found in `%1'", filename);
+       error("%%%%BoundingBox comment not found in '%1'", filename);
     }
     else
       // ...while this indicates that there was no appropriate file format
       // identifier, on the first line of the input file.
       //
-      error("`%1' does not conform to the Document Structuring Conventions",
+      error("'%1' does not conform to the Document Structuring Conventions",
            filename);
 
     // Regardless of success or failure of bounding box property acquisition,
@@ -6121,7 +6121,7 @@ filename(fname), llx(0), lly(0), urx(0), ury(0), 
lastc(EOF)
   else
     // ...but in this case, we did not successfully open any input file.
     //
-    error("can't open `%1': %2", filename, strerror(errno));
+    error("can't open '%1': %2", filename, strerror(errno));
 
   // Irrespective of whether or not we were able to successfully acquire the
   // bounding box properties, we ALWAYS update the associated gtroff registers.
@@ -6207,7 +6207,7 @@ int psbb_locator::get_line(int dscopt)
        //
        // ...rejecting any which may be designated as invalid.
        //
-       error("invalid input character code %1 in `%2'", int(c), filename);
+       error("invalid input character code %1 in '%2'", int(c), filename);
 
       // On reading a valid input character, and when there is
       // room in caller's buffer...
@@ -6226,7 +6226,7 @@ int psbb_locator::get_line(int dscopt)
        // ...diagnose and truncate.
        //
        dscopt = DSC_LINE_MAX_CHECKED;
-       error("PostScript file `%1' is non-conforming "
+       error("PostScript file '%1' is non-conforming "
              "because length of line exceeds 255", filename);
       }
     }
@@ -6515,7 +6515,7 @@ const char *input_char_description(int c)
   if (invalid_input_char(c)) {
     const char *s = asciify(c);
     if (*s) {
-      buf[0] = '`';
+      buf[0] = '\'';
       strcpy(buf + 1, s);
       strcat(buf, "'");
       return buf;
@@ -6524,7 +6524,7 @@ const char *input_char_description(int c)
     return buf;
   }
   if (csprint(c)) {
-    buf[0] = '`';
+    buf[0] = '\'';
     buf[1] = c;
     buf[2] = '\'';
     return buf;
@@ -6629,7 +6629,7 @@ void do_open(int append)
       errno = 0;
       FILE *fp = fopen(filename.contents(), append ? "a" : "w");
       if (!fp) {
-       error("can't open `%1' for %2: %3",
+       error("can't open '%1' for %2: %3",
              filename.contents(),
              append ? "appending" : "writing",
              strerror(errno));
@@ -6670,7 +6670,7 @@ void close_request()
   if (!stream.is_null()) {
     FILE *fp = (FILE *)stream_dictionary.remove(stream);
     if (!fp)
-      error("no stream named `%1'", stream.contents());
+      error("no stream named '%1'", stream.contents());
     else
       fclose(fp);
   }
@@ -6688,7 +6688,7 @@ void do_write_request(int newline)
   }
   FILE *fp = (FILE *)stream_dictionary.lookup(stream);
   if (!fp) {
-    error("no stream named `%1'", stream.contents());
+    error("no stream named '%1'", stream.contents());
     skip_line();
     return;
   }
@@ -6724,7 +6724,7 @@ void write_macro_request()
   }
   FILE *fp = (FILE *)stream_dictionary.lookup(stream);
   if (!fp) {
-    error("no stream named `%1'", stream.contents());
+    error("no stream named '%1'", stream.contents());
     skip_line();
     return;
   }
@@ -6766,7 +6766,7 @@ void warnscale_request()
       warn_scale = (double)units_per_inch / 6.0;
     else {
       warning(WARN_SCALE,
-             "invalid scaling indicator `%1', using `i' instead", c);
+             "invalid scaling indicator '%1', using 'i' instead", c);
       c = 'i';
     }
     warn_scaling_indicator = c;
@@ -6985,7 +6985,7 @@ void define_class()
       child2 = tok.get_char(1);
       if (!child2) {
        warning(WARN_MISSING,
-               "missing end of character range in class `%1'",
+               "missing end of character range in class '%1'",
                nm.contents());
        skip_line();
        return;
@@ -7026,7 +7026,7 @@ void define_class()
        int u1 = child1->get_unicode_code();
        if (u1 < 0) {
          warning(WARN_SYNTAX,
-                 "invalid character value in class `%1'",
+                 "invalid character value in class '%1'",
                  nm.contents());
          skip_line();
          return;
@@ -7056,7 +7056,7 @@ void define_class()
       int u1 = child1->get_unicode_code();
       if (u1 < 0) {
        warning(WARN_SYNTAX,
-               "invalid character value in class `%1'",
+               "invalid character value in class '%1'",
                nm.contents());
        skip_line();
        return;
@@ -7067,7 +7067,7 @@ void define_class()
   }
   if (!ci->is_class()) {
     warning(WARN_SYNTAX,
-           "empty class definition for `%1'",
+           "empty class definition for '%1'",
            nm.contents());
     skip_line();
     return;
@@ -7088,7 +7088,7 @@ charinfo *token::get_char(int required)
     if (escape_char != 0)
       return charset_table[escape_char];
     else {
-      error("`\\e' used while no current escape character");
+      error("'\\e' used while no current escape character");
       return 0;
     }
   }
@@ -7546,7 +7546,7 @@ void transparent_file()
     errno = 0;
     FILE *fp = include_search_path.open_file_cautious(filename.contents());
     if (!fp)
-      error("can't open `%1': %2", filename.contents(), strerror(errno));
+      error("can't open '%1': %2", filename.contents(), strerror(errno));
     else {
       int bol = 1;
       for (;;) {
@@ -7724,7 +7724,7 @@ void macro_source()
       a_delete path;
     }
     else
-      warning(WARN_FILE, "can't find macro file `%1'", nm.contents());
+      warning(WARN_FILE, "can't find macro file '%1'", nm.contents());
     tok.next();
   }
 }
@@ -7740,7 +7740,7 @@ static void process_input_file(const char *name)
     errno = 0;
     fp = include_search_path.open_file_cautious(name);
     if (!fp)
-      fatal("can't open `%1': %2", name, strerror(errno));
+      fatal("can't open '%1': %2", name, strerror(errno));
   }
   input_stack::push(new file_iterator(fp, name));
   tok.next();
@@ -7948,13 +7948,13 @@ int main(int argc, char **argv)
       break;
     case 'd':
       if (*optarg == '\0')
-       error("`-d' requires non-empty argument");
+       error("'-d' requires non-empty argument");
       else
        add_string(optarg, &string_assignments);
       break;
     case 'r':
       if (*optarg == '\0')
-       error("`-r' requires non-empty argument");
+       error("'-r' requires non-empty argument");
       else
        add_string(optarg, &register_assignments);
       break;
@@ -8285,7 +8285,7 @@ static request_or_macro *lookup_request(symbol nm)
   assert(!nm.is_null());
   request_or_macro *p = (request_or_macro *)request_dictionary.lookup(nm);
   if (p == 0) {
-    warning(WARN_MAC, "macro `%1' not defined", nm.contents());
+    warning(WARN_MAC, "macro '%1' not defined", nm.contents());
     p = new macro;
     request_dictionary.define(nm, p);
   }
@@ -8534,7 +8534,7 @@ static void enable_warning(const char *name)
   if (mask)
     warning_mask |= mask;
   else
-    error("unknown warning `%1'", name);
+    error("unknown warning '%1'", name);
 }
 
 static void disable_warning(const char *name)
@@ -8543,7 +8543,7 @@ static void disable_warning(const char *name)
   if (mask)
     warning_mask &= ~mask;
   else
-    error("unknown warning `%1'", name);
+    error("unknown warning '%1'", name);
 }
 
 static void copy_mode_error(const char *format,
@@ -8599,7 +8599,7 @@ static void do_error(error_type type,
     if (topdiv != curdiv) {
       double fromtop1 = curdiv->get_vertical_position().to_units()
                        / warn_scale;
-      fprintf(stderr, ", div `%s', %.1f%c",
+      fprintf(stderr, ", div '%s', %.1f%c",
              curdiv->get_diversion_name(), fromtop1, warn_scaling_indicator);
     }
     fprintf(stderr, "]: ");
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index 6bdf579..b4daaef 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -1552,7 +1552,7 @@ void troff_output_file::really_copy_file(hunits x, vunits 
y,
   errno = 0;
   FILE *ifp = include_search_path.open_file_cautious(filename);
   if (ifp == 0)
-    error("can't open `%1': %2", filename, strerror(errno));
+    error("can't open '%1': %2", filename, strerror(errno));
   else {
     int c;
     while ((c = getc(ifp)) != EOF)
@@ -1668,13 +1668,13 @@ real_output_file::~real_output_file()
     if (result < 0)
       fatal("pclose failed");
     if (!WIFEXITED(result))
-      error("output process `%1' got fatal signal %2",
+      error("output process '%1' got fatal signal %2",
            pipe_command,
            WIFSIGNALED(result) ? WTERMSIG(result) : WSTOPSIG(result));
     else {
       int exit_status = WEXITSTATUS(result);
       if (exit_status != 0)
-       error("output process `%1' exited with status %2",
+       error("output process '%1' exited with status %2",
              pipe_command, exit_status);
     }
   }
@@ -4016,7 +4016,7 @@ int get_reg_int(const char *p)
   if (r && (r->get_value(&prev_value)))
     return (int)prev_value;
   else
-    warning(WARN_REG, "number register `%1' not defined", p);
+    warning(WARN_REG, "number register '%1' not defined", p);
   return 0;
 }
 
@@ -4026,7 +4026,7 @@ const char *get_reg_str(const char *p)
   if (r)
     return r->get_string();
   else
-    warning(WARN_REG, "register `%1' not defined", p);
+    warning(WARN_REG, "register '%1' not defined", p);
   return 0;
 }
 
@@ -4913,7 +4913,7 @@ node *make_glyph_node(charinfo *s, environment *env, int 
no_error_message = 0)
        unsigned char input_code = s->get_ascii_code();
        if (input_code != 0) {
          if (csgraph(input_code))
-           warning(WARN_CHAR, "can't find character `%1'", input_code);
+           warning(WARN_CHAR, "can't find character '%1'", input_code);
          else
            warning(WARN_CHAR, "can't find character with input code %1",
                    int(input_code));
@@ -4921,7 +4921,7 @@ node *make_glyph_node(charinfo *s, environment *env, int 
no_error_message = 0)
        else if (s->nm.contents()) {
          const char *nm = s->nm.contents();
          const char *backslash = (nm[1] == 0) ? "\\" : "";
-         warning(WARN_CHAR, "can't find special character `%1%2'",
+         warning(WARN_CHAR, "can't find special character '%1%2'",
                  backslash, nm);
        }
       }
@@ -5899,7 +5899,7 @@ static int mount_font_no_translate(int n, symbol name, 
symbol external_name,
       return fm != 0;
     if (!fm) {
       if (not_found)
-       warning(WARN_FONT, "can't find font `%1'", external_name.contents());
+       warning(WARN_FONT, "can't find font '%1'", external_name.contents());
       (void)font_dictionary.lookup(external_name, &a_char);
       return 0;
     }
@@ -5907,7 +5907,7 @@ static int mount_font_no_translate(int n, symbol name, 
symbol external_name,
   }
   else if (p == &a_char) {
 #if 0
-    error("invalid font `%1'", external_name.contents());
+    error("invalid font '%1'", external_name.contents());
 #endif
     return 0;
   }
diff --git a/src/roff/troff/number.cpp b/src/roff/troff/number.cpp
index d9cd059..ade4d4e 100644
--- a/src/roff/troff/number.cpp
+++ b/src/roff/troff/number.cpp
@@ -226,7 +226,7 @@ static int start_number()
     return 0;
   }
   if (tok.right_brace()) {
-    warning(WARN_RIGHT_BRACE, "`\\}' where number expected");
+    warning(WARN_RIGHT_BRACE, "'\\}' where number expected");
     return 0;
   }
   return 1;
@@ -461,7 +461,7 @@ static int parse_term(units *v, int scale_indicator,
        scale_indicator = c;
       }
       else {
-       error("expected `;' after scale-indicator (got %1)",
+       error("expected ';' after scale-indicator (got %1)",
              tok.description());
        return 0;
       }
@@ -476,7 +476,7 @@ static int parse_term(units *v, int scale_indicator,
     if (tok.ch() != ')') {
       if (rigid)
        return 0;
-      warning(WARN_SYNTAX, "missing `)' (got %1)", tok.description());
+      warning(WARN_SYNTAX, "missing ')' (got %1)", tok.description());
     }
     else
       tok.next();
@@ -556,7 +556,7 @@ static int parse_term(units *v, int scale_indicator,
     case 'z':
       if (c != 'u' && c != 'z') {
        warning(WARN_SCALE,
-               "only `z' and `u' scale indicators valid in this context");
+               "only 'z' and 'u' scale indicators valid in this context");
        break;
       }
       si = c;
@@ -569,7 +569,7 @@ static int parse_term(units *v, int scale_indicator,
       break;
     default:
       if (c == 'z') {
-       warning(WARN_SCALE, "`z' scale indicator invalid in this context");
+       warning(WARN_SCALE, "'z' scale indicator invalid in this context");
        break;
       }
       si = c;
diff --git a/src/roff/troff/reg.cpp b/src/roff/troff/reg.cpp
index 20aeb6d..4e5cecd 100644
--- a/src/roff/troff/reg.cpp
+++ b/src/roff/troff/reg.cpp
@@ -99,7 +99,7 @@ static const char *number_value_to_ascii(int value, char 
format, int width)
       const char *s = format == 'i' ? "zwmdclxvi" : "ZWMDCLXVI";
       int n = int(value);
       if (n >= 40000 || n <= -40000) {
-       error("magnitude of `%1' too big for i or I format", n);
+       error("magnitude of '%1' too big for i or I format", n);
        return i_to_a(n);
       }
       if (n == 0) {
@@ -370,7 +370,7 @@ reg *lookup_number_reg(symbol nm)
 {
   reg *r = (reg *)number_reg_dictionary.lookup(nm);
   if (r == 0) {
-    warning(WARN_REG, "number register `%1' not defined", nm.contents());
+    warning(WARN_REG, "number register '%1' not defined", nm.contents());
     r = new number_reg;
     number_reg_dictionary.define(nm, r);
   }
@@ -426,7 +426,7 @@ void alias_reg()
     symbol s2 = get_name(1);
     if (!s2.is_null()) {
       if (!number_reg_dictionary.alias(s1, s2))
-       warning(WARN_REG, "number register `%1' not defined", s2.contents());
+       warning(WARN_REG, "number register '%1' not defined", s2.contents());
     }
   }
   skip_line();
diff --git a/src/utils/addftinfo/addftinfo.cpp 
b/src/utils/addftinfo/addftinfo.cpp
index e2e6f85..3eb0a4c 100644
--- a/src/utils/addftinfo/addftinfo.cpp
+++ b/src/utils/addftinfo/addftinfo.cpp
@@ -110,12 +110,12 @@ int main(int argc, char **argv)
     size_t j;
     for (j = 0;; j++) {
       if (j >= sizeof(param_table)/sizeof(param_table[0]))
-       fatal("parameter `%1' not recognized", argv[i] + 1);
+       fatal("parameter '%1' not recognized", argv[i] + 1);
       if (strcmp(param_table[j].name, argv[i] + 1) == 0)
        break;
     }
     if (sscanf(argv[i+1], "%d", &(param.*(param_table[j].par))) != 1)
-      fatal("invalid argument `%1'", argv[i+1]);
+      fatal("invalid argument '%1'", argv[i+1]);
     i++;
   }    
   if (argc - i != 3)
@@ -123,7 +123,7 @@ int main(int argc, char **argv)
   errno = 0;
   FILE *infp = fopen(font, "r");
   if (infp == 0)
-    fatal("can't open `%1': %2", font, strerror(errno));
+    fatal("can't open '%1': %2", font, strerror(errno));
   convert_font(param, infp, stdout);
   return 0;
 }
diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
index 6dcfe1c..1a3dae8 100644
--- a/src/utils/afmtodit/afmtodit.pl
+++ b/src/utils/afmtodit/afmtodit.pl
@@ -65,7 +65,7 @@ my (@encoding, %in_encoding);
 my (%width, %height, %depth);
 my (%left_side_bearing, %right_side_bearing);
 
-open(AFM, $afm) || die "$prog: can't open \`$ARGV[0]': $!\n";
+open(AFM, $afm) || die "$prog: can't open '$ARGV[0]': $!\n";
 
 while (<AFM>) {
     chomp;
@@ -179,7 +179,7 @@ my ($sizescale, $resolution, $unitwidth);
 $sizescale = 1;
 
 open(DESC, $desc) || open(DESC, $sys_desc) ||
-    die "$prog: can't open \`$desc' or \`$sys_desc': $!\n";
+    die "$prog: can't open '$desc' or '$sys_desc': $!\n";
 while (<DESC>) {
     next if /^#/;
     chop;
@@ -203,7 +203,7 @@ if ($opt_e) {
 
     my $sys_opt_e = $groff_sys_fontdir . "/devps/" . $opt_e;
     open(ENCODING, $opt_e) || open(ENCODING, $sys_opt_e) ||
-       die "$prog: can't open \`$opt_e' or \`$sys_opt_e': $!\n";
+       die "$prog: can't open '$opt_e' or '$sys_opt_e': $!\n";
     while (<ENCODING>) {
        next if /^#/;
        chop;
@@ -224,7 +224,7 @@ if ($opt_e) {
 my (%nmap, %map);
 
 open(MAP, $map) || open(MAP, $sys_map) ||
-    die "$prog: can't open \`$map' or \`$sys_map': $!\n";
+    die "$prog: can't open '$map' or '$sys_map': $!\n";
 while (<MAP>) {
     next if /^#/;
     chop;
@@ -235,11 +235,11 @@ while (<MAP>) {
            # The PostScript character "space" is automatically mapped
            # to the groff character "space"; this is for grops.
            warn "you are not allowed to map to " .
-                "the groff character \`space'";
+                "the groff character 'space'";
        }
        elsif ($field[0] eq "space") {
            warn "you are not allowed to map " .
-                "the PostScript character \`space'";
+                "the PostScript character 'space'";
        }
        else {
            $nmap{$field[0]} += 0;
@@ -415,7 +415,7 @@ while (my ($lig, $components) = each %default_ligatures) {
 
 # print it all out
 
-open(FONT, ">$outfile") || die "$prog: can't open \`$outfile' for output: 
$!\n";
+open(FONT, ">$outfile") || die "$prog: can't open '$outfile' for output: $!\n";
 select(FONT);
 
 print("# This file has been generated with " .
diff --git a/src/utils/afmtodit/make-afmtodit-tables 
b/src/utils/afmtodit/make-afmtodit-tables
index e95595f..2f9d5aa 100755
--- a/src/utils/afmtodit/make-afmtodit-tables
+++ b/src/utils/afmtodit/make-afmtodit-tables
@@ -50,11 +50,11 @@ version_string="$2"
 glyph_list="$3"
 
 if test ! -f "$1"; then
-  echo "File \`$1' doesn't exist" >&2
+  echo "File '$1' doesn't exist" >&2
   exit 2
 fi
 if test ! -f "$3"; then
-  echo "File \`$3' doesn't exist" >&2
+  echo "File '$3' doesn't exist" >&2
   exit 2
 fi
 
diff --git a/src/utils/hpftodit/hpftodit.cpp b/src/utils/hpftodit/hpftodit.cpp
index e6ceb01..e5c22dd 100644
--- a/src/utils/hpftodit/hpftodit.cpp
+++ b/src/utils/hpftodit/hpftodit.cpp
@@ -344,7 +344,7 @@ main(int argc, char **argv)
   current_lineno = -1;         // no line numbers
   if (!debug_flag && !equal(argv[optind + 2], "-"))
     if (freopen(argv[optind + 2], "w", stdout) == NULL)
-      fatal("cannot open `%1': %2", argv[optind + 2], strerror(errno));
+      fatal("cannot open '%1': %2", argv[optind + 2], strerror(errno));
   current_filename = argv[optind];
 
   check_units(f, tfm_type, &ppi, &upem);
@@ -403,7 +403,7 @@ File::File(const char *s)
   // on byte counts.
   int fd = open(s, O_RDONLY | O_BINARY);
   if (fd < 0)
-    fatal("cannot open `%1': %2", s, strerror(errno));
+    fatal("cannot open '%1': %2", s, strerror(errno));
   current_filename = s;
   struct stat sb;
   if (fstat(fd, &sb) < 0)
@@ -1339,7 +1339,7 @@ read_map(const char *file, const int tfm_type)
   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;
   }
   current_filename = file;
diff --git a/src/utils/indxbib/indxbib.cpp b/src/utils/indxbib/indxbib.cpp
index f4bbb5d..9df9654 100644
--- a/src/utils/indxbib/indxbib.cpp
+++ b/src/utils/indxbib/indxbib.cpp
@@ -221,7 +221,7 @@ int main(int argc, char **argv)
     name_max = file_name_max(".");
   const char *filename = p ? p + 1 : base_name;
   if (strlen(filename) + sizeof(INDEX_SUFFIX) - 1 > name_max)
-    fatal("`%1.%2' is too long for a filename", filename, INDEX_SUFFIX);
+    fatal("'%1.%2' is too long for a filename", filename, INDEX_SUFFIX);
   if (p) {
     p++;
     temp_index_file = new char[p - base_name + sizeof(TEMP_INDEX_TEMPLATE)];
@@ -247,7 +247,7 @@ int main(int argc, char **argv)
       errno = 0;
       fp = fopen(foption, "r");
       if (!fp)
-       fatal("can't open `%1': %2", foption, strerror(errno));
+       fatal("can't open '%1': %2", foption, strerror(errno));
     }
     string path;
     int lineno = 1;
@@ -307,7 +307,7 @@ int main(int argc, char **argv)
   ignore_fatal_signals();
   if (unlink(index_file) < 0) {
     if (errno != ENOENT)
-      fatal("can't unlink `%1': %2", index_file, strerror(errno));
+      fatal("can't unlink '%1': %2", index_file, strerror(errno));
   }
   if (link(temp_index_file, index_file) < 0)
     fatal("can't link temporary index file: %1", strerror(errno));
@@ -379,7 +379,7 @@ static void read_common_words_file()
   errno = 0;
   FILE *fp = fopen(common_words_file, "r");
   if (!fp)
-    fatal("can't open `%1': %2", common_words_file, strerror(errno));
+    fatal("can't open '%1': %2", common_words_file, strerror(errno));
   common_words_table = new word_list * [hash_table_size];
   for (int i = 0; i < hash_table_size; i++)
     common_words_table[i] = 0;
@@ -416,7 +416,7 @@ static int do_whole_file(const char *filename)
   errno = 0;
   FILE *fp = fopen(filename, "r");
   if (!fp) {
-    error("can't open `%1': %2", filename, strerror(errno));
+    error("can't open '%1': %2", filename, strerror(errno));
     return 0;
   }
   int count = 0;
@@ -453,7 +453,7 @@ static int do_file(const char *filename)
   // byte counts to be consistent with fseek.
   FILE *fp = fopen(filename, FOPEN_RB);
   if (fp == 0) {
-    error("can't open `%1': %2", filename, strerror(errno));
+    error("can't open '%1': %2", filename, strerror(errno));
     return 0;
   }
   int filename_index = filenames.length();
diff --git a/src/utils/xtotroff/Makefile.in b/src/utils/xtotroff/Makefile.in
index 9da7d7e..e6740f8 100644
--- a/src/utils/xtotroff/Makefile.in
+++ b/src/utils/xtotroff/Makefile.in
@@ -31,7 +31,7 @@ DPIS=75 100
 RM=rm -f
 
 all:
-       @echo "Say \`make fonts' to generate fonts for gxditview."
+       @echo "Say 'make fonts' to generate fonts for gxditview."
 
 fonts: $(xtotroff) $(driverdir)/DESC.in $(driverdir)/FontMap
        fonts=`sed -e 's/[       ].*//' $(driverdir)/FontMap`; \



reply via email to

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