changeset 15468:049e8bbff782

maint: periodic merge of stable to default
author John W. Eaton <jwe@octave.org>
date Mon, 01 Oct 2012 18:30:44 -0400
parents ded4ce76ee7a (current diff) d174210ce1ec (diff)
children 6437fa7263dd
files doc/interpreter/intro.txi doc/interpreter/io.txi doc/interpreter/octave.texi libinterp/corefcn/dlmread.cc libinterp/corefcn/schur.cc libinterp/dldfcn/__magick_read__.cc libinterp/interp-core/defun-dld.h libinterp/interp-core/dynamic-ld.cc libinterp/interp-core/gl-render.cc libinterp/interp-core/gripes.cc libinterp/interp-core/ls-hdf5.cc libinterp/interp-core/ls-mat-ascii.cc libinterp/interp-core/ls-mat4.cc libinterp/interp-core/ls-mat5.cc libinterp/interp-core/ls-oct-binary.cc libinterp/interp-core/oct-stream.cc libinterp/interp-core/oct-stream.h libinterp/interp-core/txt-eng-ft.cc libinterp/interpfcn/data.cc libinterp/interpfcn/debug.cc libinterp/interpfcn/defun.cc libinterp/interpfcn/defun.h libinterp/interpfcn/error.cc libinterp/interpfcn/error.h libinterp/interpfcn/graphics.cc libinterp/interpfcn/input.cc libinterp/interpfcn/load-path.cc libinterp/interpfcn/load-save.cc libinterp/interpfcn/ls-oct-ascii.cc libinterp/interpfcn/oct-hist.cc libinterp/interpfcn/pager.cc libinterp/interpfcn/pr-output.cc libinterp/interpfcn/symtab.cc libinterp/interpfcn/symtab.h libinterp/interpfcn/toplev.cc libinterp/interpfcn/utils.cc libinterp/interpfcn/variables.cc libinterp/octave-value/ov-base-diag.cc libinterp/octave-value/ov-base.cc libinterp/octave-value/ov-class.cc libinterp/octave-value/ov-colon.h libinterp/octave-value/ov-struct.cc libinterp/octave-value/ov-typeinfo.cc libinterp/octave-value/ov.cc libinterp/octave.cc libinterp/parse-tree/lex.ll libinterp/parse-tree/oct-parse.yy libinterp/parse-tree/pt-binop.cc libinterp/parse-tree/pt-eval.cc libinterp/parse-tree/pt-id.cc libinterp/parse-tree/pt-idx.cc libinterp/parse-tree/pt-misc.cc libinterp/parse-tree/pt-unop.cc liboctave/numeric/oct-rand.cc liboctave/system/file-ops.cc liboctave/system/oct-env.cc liboctave/util/cmd-edit.cc liboctave/util/data-conv.cc liboctave/util/glob-match.h liboctave/util/kpse.cc liboctave/util/oct-locbuf.h liboctave/util/oct-md5.cc scripts/general/interp2.m scripts/help/doc.m scripts/help/get_first_help_sentence.m scripts/help/help.m scripts/help/type.m scripts/help/unimplemented.m scripts/help/which.m scripts/miscellaneous/mkoctfile.m scripts/miscellaneous/recycle.m scripts/optimization/optimset.m scripts/pkg/pkg.m scripts/plot/colstyle.m scripts/plot/private/__fltk_print__.m scripts/plot/private/__gnuplot_print__.m scripts/plot/private/__go_draw_figure__.m scripts/plot/private/__pie__.m scripts/plot/private/__pltopt__.m scripts/plot/private/__print_parse_opts__.m scripts/plot/uigetdir.m scripts/plot/uigetfile.m scripts/plot/uiputfile.m scripts/signal/stft.m scripts/statistics/base/mean.m scripts/statistics/tests/t_test_regression.m
diffstat 95 files changed, 365 insertions(+), 366 deletions(-) [+]
line wrap: on
line diff
--- a/doc/interpreter/intro.txi
+++ b/doc/interpreter/intro.txi
@@ -524,7 +524,7 @@
 @example
 @group
 fieldnames ([1, 2; 3, 4])
-error: fieldnames: wrong type argument `matrix'
+error: fieldnames: wrong type argument 'matrix'
 @end group
 @end example
 
--- a/doc/interpreter/io.txi
+++ b/doc/interpreter/io.txi
@@ -408,7 +408,7 @@
 @group
 pct = 37;
 filename = "foo.txt";
-printf ("Processed %d%% of `%s'.\nPlease be patient.\n",
+printf ("Processed %d%% of '%s'.\nPlease be patient.\n",
         pct, filename);
 @end group
 @end example
@@ -418,7 +418,7 @@
 
 @example
 @group
-Processed 37% of `foo.txt'.
+Processed 37% of 'foo.txt'.
 Please be patient.
 @end group
 @end example
@@ -698,7 +698,7 @@
 
 The following flags can be used to modify the behavior:
 
-@c Not @samp so we can have ` ' as an item.
+@c Not @samp so we can have ' ' as an item.
 @table @asis
 @item @samp{-}
 Left-justify the result in the field.  Normally the result is
--- a/libinterp/corefcn/dlmread.cc
+++ b/libinterp/corefcn/dlmread.cc
@@ -221,7 +221,7 @@
 
       if (! input_file)
         {
-          error ("dlmread: unable to open file `%s'", fname.c_str ());
+          error ("dlmread: unable to open file '%s'", fname.c_str ());
           return retval;
         }
       else
--- a/libinterp/corefcn/schur.cc
+++ b/libinterp/corefcn/schur.cc
@@ -169,7 +169,7 @@
       if (ord_char != 'U' && ord_char != 'A' && ord_char != 'D'
           && ord_char != 'u' && ord_char != 'a' && ord_char != 'd')
         {
-          warning ("schur: incorrect ordered schur argument `%c'",
+          warning ("schur: incorrect ordered schur argument '%c'",
                    ord.c_str ());
           return retval;
         }
--- a/libinterp/dldfcn/__magick_read__.cc
+++ b/libinterp/dldfcn/__magick_read__.cc
@@ -1080,7 +1080,7 @@
         {
           std::string msg = fs.error ();
 
-          error ("imfinfo: error reading `%s': %s",
+          error ("imfinfo: error reading '%s': %s",
                  filename.c_str (), msg.c_str ());
 
           return retval;
--- a/libinterp/interp-core/defun-dld.h
+++ b/libinterp/interp-core/defun-dld.h
@@ -44,7 +44,7 @@
 #define DEFUN_DLD(name, args_name, nargout_name, doc) \
   DEFUN_DLD_INTERNAL (name, args_name, nargout_name, doc)
 
-// This one can be used when `name' cannot be used directly (if it is
+// This one can be used when 'name' cannot be used directly (if it is
 // already defined as a macro).  In that case, name is already a
 // quoted string, and the internal name of the function must be passed
 // too (the convention is to use a prefix of "F", so "foo" becomes
--- a/libinterp/interp-core/dynamic-ld.cc
+++ b/libinterp/interp-core/dynamic-ld.cc
@@ -398,7 +398,7 @@
               retval = f (oct_file, relative);
 
               if (! retval)
-                ::error ("failed to install .oct file function `%s'",
+                ::error ("failed to install .oct file function '%s'",
                          fcn_name.c_str ());
             }
         }
@@ -468,7 +468,7 @@
             retval = new octave_mex_function (function, have_fmex,
                                               mex_file, fcn_name);
           else
-            ::error ("failed to install .mex file function `%s'",
+            ::error ("failed to install .mex file function '%s'",
                      fcn_name.c_str ());
         }
       else
--- a/libinterp/interp-core/gl-render.cc
+++ b/libinterp/interp-core/gl-render.cc
@@ -582,7 +582,7 @@
     }
   else
     {
-      warning ("opengl_renderer: cannot render object of type `%s'",
+      warning ("opengl_renderer: cannot render object of type '%s'",
                props.graphics_object_name ().c_str ());
     }
 }
@@ -2982,7 +2982,7 @@
       }
       break;
     default:
-      warning ("opengl_renderer: unsupported marker `%s'",
+      warning ("opengl_renderer: unsupported marker '%s'",
                marker.c_str ());
       break;
     }
--- a/libinterp/interp-core/gripes.cc
+++ b/libinterp/interp-core/gripes.cc
@@ -103,7 +103,7 @@
 void
 gripe_invalid_value_specified (const char *name)
 {
-  warning ("invalid value specified for `%s'", name);
+  warning ("invalid value specified for '%s'", name);
 }
 
 void
@@ -134,9 +134,9 @@
 gripe_wrong_type_arg (const char *name, const char *s, bool is_error)
 {
   if (is_error)
-    error ("%s: wrong type argument `%s'", name, s);
+    error ("%s: wrong type argument '%s'", name, s);
   else
-    warning ("%s: wrong type argument `%s'", name, s);
+    warning ("%s: wrong type argument '%s'", name, s);
 }
 
 void
@@ -165,14 +165,14 @@
 gripe_wrong_type_arg_for_unary_op (const octave_value& op)
 {
   std::string type = op.type_name ();
-  error ("invalid operand `%s' for unary operator", type.c_str ());
+  error ("invalid operand '%s' for unary operator", type.c_str ());
 }
 
 void
 gripe_wrong_type_arg_for_binary_op (const octave_value& op)
 {
   std::string type = op.type_name ();
-  error ("invalid operand `%s' for binary operator", type.c_str ());
+  error ("invalid operand '%s' for binary operator", type.c_str ());
 }
 
 void
--- a/libinterp/interp-core/ls-hdf5.cc
+++ b/libinterp/interp-core/ls-hdf5.cc
@@ -438,7 +438,7 @@
           hid_t int_sign = H5Tget_sign (type_id);
 
           if (int_sign == H5T_SGN_ERROR)
-            warning ("load: can't read `%s' (unknown datatype)", name);
+            warning ("load: can't read '%s' (unknown datatype)", name);
           else
             {
               if (int_sign == H5T_SGN_NONE)
@@ -447,7 +447,7 @@
 
               int slen = H5Tget_size (type_id);
               if (slen < 0)
-                warning ("load: can't read `%s' (unknown datatype)", name);
+                warning ("load: can't read '%s' (unknown datatype)", name);
               else
                 {
                   switch (slen)
@@ -469,7 +469,7 @@
                       break;
 
                     default:
-                      warning ("load: can't read `%s' (unknown datatype)",
+                      warning ("load: can't read '%s' (unknown datatype)",
                                name);
                       int_typ = "";
                       break;
@@ -478,7 +478,7 @@
             }
 #endif
           if (int_typ == "")
-            warning ("load: can't read `%s' (unknown datatype)", name);
+            warning ("load: can't read '%s' (unknown datatype)", name);
           else
             {
               // Matrix or scalar?
@@ -523,7 +523,7 @@
         }
       else
         {
-          warning ("load: can't read `%s' (unknown datatype)", name);
+          warning ("load: can't read '%s' (unknown datatype)", name);
           retval = 0; // unknown datatype; skip
         }
 
@@ -540,7 +540,7 @@
     {
       // should we attempt to handle invalid identifiers by converting
       // bad characters to '_', say?
-      warning ("load: skipping invalid identifier `%s' in hdf5 file",
+      warning ("load: skipping invalid identifier '%s' in hdf5 file",
                name);
     }
 
@@ -899,7 +899,7 @@
     H5Gclose (data_id);
 
   if (! retval)
-    error ("save: error while writing `%s' to hdf5 file", name.c_str ());
+    error ("save: error while writing '%s' to hdf5 file", name.c_str ());
 
   return retval;
 }
--- a/libinterp/interp-core/ls-mat-ascii.cc
+++ b/libinterp/interp-core/ls-mat-ascii.cc
@@ -178,7 +178,7 @@
     }
 
   if (nr == 0 || nc == 0)
-    error ("load: file `%s' seems to be empty!", filename.c_str ());
+    error ("load: file '%s' seems to be empty!", filename.c_str ());
 
   is.clear ();
   is.seekg (pos);
@@ -284,7 +284,7 @@
                         }
                       else
                         {
-                          error ("load: failed to read matrix from file `%s'",
+                          error ("load: failed to read matrix from file '%s'",
                                  filename.c_str ());
 
                           return retval;
@@ -313,15 +313,15 @@
                        expected, total_count);
             }
           else
-            error ("load: failed to read matrix from file `%s'",
+            error ("load: failed to read matrix from file '%s'",
                    filename.c_str ());
         }
       else
-        error ("load: unable to extract matrix size from file `%s'",
+        error ("load: unable to extract matrix size from file '%s'",
                filename.c_str ());
     }
   else
-    error ("load: unable to convert filename `%s' to valid identifier",
+    error ("load: unable to convert filename '%s' to valid identifier",
            filename.c_str ());
 
   return retval;
--- a/libinterp/interp-core/ls-mat4.cc
+++ b/libinterp/interp-core/ls-mat4.cc
@@ -395,7 +395,7 @@
 
         if (! is || error_state)
           {
-            error ("load: reading matrix data for `%s'", name);
+            error ("load: reading matrix data for '%s'", name);
             goto data_read_error;
           }
 
@@ -408,7 +408,7 @@
 
             if (! is || error_state)
               {
-                error ("load: reading imaginary matrix data for `%s'", name);
+                error ("load: reading imaginary matrix data for '%s'", name);
                 goto data_read_error;
               }
 
@@ -431,7 +431,7 @@
     }
 
  data_read_error:
-  error ("load: trouble reading binary file `%s'", filename.c_str ());
+  error ("load: trouble reading binary file '%s'", filename.c_str ());
   return retval;
 }
 
--- a/libinterp/interp-core/ls-mat5.cc
+++ b/libinterp/interp-core/ls-mat5.cc
@@ -374,7 +374,7 @@
   \
         if (read_mat5_tag (is, swap, type, len)) \
           { \
-            error ("load: reading matrix data for `%s'", retval.c_str ()); \
+            error ("load: reading matrix data for '%s'", retval.c_str ()); \
             goto data_read_error; \
           } \
   \
@@ -385,7 +385,7 @@
   \
         if (! is || error_state) \
           { \
-            error ("load: reading matrix data for `%s'", retval.c_str ()); \
+            error ("load: reading matrix data for '%s'", retval.c_str ()); \
             goto data_read_error; \
           } \
   \
@@ -398,7 +398,7 @@
   \
             if (read_mat5_tag (is, swap, type, len)) \
               { \
-                error ("load: reading matrix data for `%s'", \
+                error ("load: reading matrix data for '%s'", \
                        retval.c_str ()); \
                 goto data_read_error; \
               } \
@@ -409,7 +409,7 @@
   \
             if (! is || error_state) \
               { \
-                error ("load: reading imaginary matrix data for `%s'", \
+                error ("load: reading imaginary matrix data for '%s'", \
                        retval.c_str ()); \
                 goto data_read_error; \
               } \
@@ -714,7 +714,7 @@
 
             if (! is || error_state)
               {
-                error ("load: reading cell data for `%s'", nm.c_str ());
+                error ("load: reading cell data for '%s'", nm.c_str ());
                 goto data_read_error;
               }
 
@@ -756,7 +756,7 @@
 
         if (read_mat5_tag (is, swap, type, len))
           {
-            error ("load: reading sparse row data for `%s'", retval.c_str ());
+            error ("load: reading sparse row data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -767,7 +767,7 @@
 
         if (! is || error_state)
           {
-            error ("load: reading sparse row data for `%s'", retval.c_str ());
+            error ("load: reading sparse row data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -776,7 +776,7 @@
         // col indices
         if (read_mat5_tag (is, swap, type, len))
           {
-            error ("load: reading sparse column data for `%s'", retval.c_str ());
+            error ("load: reading sparse column data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -787,7 +787,7 @@
 
         if (! is || error_state)
           {
-            error ("load: reading sparse column data for `%s'", retval.c_str ());
+            error ("load: reading sparse column data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -796,7 +796,7 @@
         // real data subelement
         if (read_mat5_tag (is, swap, type, len))
           {
-            error ("load: reading sparse matrix data for `%s'", retval.c_str ());
+            error ("load: reading sparse matrix data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -814,7 +814,7 @@
 
         if (! is || error_state)
           {
-            error ("load: reading sparse matrix data for `%s'", retval.c_str ());
+            error ("load: reading sparse matrix data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -827,7 +827,7 @@
 
             if (read_mat5_tag (is, swap, type, len))
               {
-                error ("load: reading sparse matrix data for `%s'", retval.c_str ());
+                error ("load: reading sparse matrix data for '%s'", retval.c_str ());
                 goto data_read_error;
               }
 
@@ -836,7 +836,7 @@
 
             if (! is || error_state)
               {
-                error ("load: reading imaginary sparse matrix data for `%s'",
+                error ("load: reading imaginary sparse matrix data for '%s'",
                        retval.c_str ());
                 goto data_read_error;
               }
@@ -1319,7 +1319,7 @@
 
         if (read_mat5_tag (is, swap, type, len))
           {
-            error ("load: reading matrix data for `%s'", retval.c_str ());
+            error ("load: reading matrix data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -1330,7 +1330,7 @@
 
         if (! is || error_state)
           {
-            error ("load: reading matrix data for `%s'", retval.c_str ());
+            error ("load: reading matrix data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -1344,7 +1344,7 @@
 
             if (read_mat5_tag (is, swap, type, len))
               {
-                error ("load: reading matrix data for `%s'", retval.c_str ());
+                error ("load: reading matrix data for '%s'", retval.c_str ());
                 goto data_read_error;
               }
 
@@ -1354,7 +1354,7 @@
 
             if (! is || error_state)
               {
-                error ("load: reading imaginary matrix data for `%s'",
+                error ("load: reading imaginary matrix data for '%s'",
                        retval.c_str ());
                 goto data_read_error;
               }
@@ -1385,7 +1385,7 @@
 
         if (read_mat5_tag (is, swap, type, len))
           {
-            error ("load: reading matrix data for `%s'", retval.c_str ());
+            error ("load: reading matrix data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -1396,7 +1396,7 @@
 
         if (! is || error_state)
           {
-            error ("load: reading matrix data for `%s'", retval.c_str ());
+            error ("load: reading matrix data for '%s'", retval.c_str ());
             goto data_read_error;
           }
 
@@ -1423,7 +1423,7 @@
 
             if (read_mat5_tag (is, swap, type, len))
               {
-                error ("load: reading matrix data for `%s'", retval.c_str ());
+                error ("load: reading matrix data for '%s'", retval.c_str ());
                 goto data_read_error;
               }
 
@@ -1433,7 +1433,7 @@
 
             if (! is || error_state)
               {
-                error ("load: reading imaginary matrix data for `%s'",
+                error ("load: reading imaginary matrix data for '%s'",
                        retval.c_str ());
                 goto data_read_error;
               }
@@ -1505,11 +1505,11 @@
 
  data_read_error:
  early_read_error:
-  error ("load: trouble reading binary file `%s'", filename.c_str ());
+  error ("load: trouble reading binary file '%s'", filename.c_str ());
   return std::string ();
 
  skip_ahead:
-  warning ("skipping over `%s'", retval.c_str ());
+  warning ("skipping over '%s'", retval.c_str ());
   is.seekg (pos + static_cast<std::streamoff> (element_length));
   return read_mat5_binary_element (is, filename, swap, global, tc);
 }
@@ -2717,7 +2717,7 @@
   return true;
 
  error_cleanup:
-  error ("save: error while writing `%s' to MAT file", name.c_str ());
+  error ("save: error while writing '%s' to MAT file", name.c_str ());
 
   return false;
 }
--- a/libinterp/interp-core/ls-oct-binary.cc
+++ b/libinterp/interp-core/ls-oct-binary.cc
@@ -256,7 +256,7 @@
   if (!tc.load_binary (is, swap, fmt))
     {
     data_read_error:
-      error ("load: trouble reading binary file `%s'", filename.c_str ());
+      error ("load: trouble reading binary file '%s'", filename.c_str ());
     }
 
   return retval;
--- a/libinterp/interp-core/oct-stream.cc
+++ b/libinterp/interp-core/oct-stream.cc
@@ -508,8 +508,8 @@
 
       std::cerr
         << "modifier:   " << elt->modifier << "\n"
-        << "char_class: `" << undo_string_escapes (elt->char_class) << "'\n"
-        << "text:       `" << undo_string_escapes (elt->text) << "'\n\n";
+        << "char_class: '" << undo_string_escapes (elt->char_class) << "'\n"
+        << "text:       '" << undo_string_escapes (elt->text) << "'\n\n";
     }
 }
 
@@ -867,12 +867,12 @@
 
       std::cerr
         << "args:     " << elt->args << "\n"
-        << "flags:    `" << elt->flags << "'\n"
+        << "flags:    '" << elt->flags << "'\n"
         << "width:    " << elt->fw << "\n"
         << "prec:     " << elt->prec << "\n"
-        << "type:     `" << elt->type << "'\n"
-        << "modifier: `" << elt->modifier << "'\n"
-        << "text:     `" << undo_string_escapes (elt->text) << "'\n\n";
+        << "type:     '" << elt->type << "'\n"
+        << "modifier: '" << elt->modifier << "'\n"
+        << "text:     '" << undo_string_escapes (elt->text) << "'\n\n";
     }
 }
 
@@ -1387,7 +1387,7 @@
  \
   tmp.resize (n)
 
-// For a `%s' format, skip initial whitespace and then read until the
+// For a '%s' format, skip initial whitespace and then read until the
 // next whitespace character or until WIDTH characters have been read.
 #define BEGIN_S_CONVERSION() \
   int width = elt->width; \
@@ -2476,7 +2476,7 @@
 
           if (elt)
             {
-              // NSA is the number of `star' args to convert.
+              // NSA is the number of 'star' args to convert.
 
               int nsa = (elt->fw < 0) + (elt->prec < 0);
 
--- a/libinterp/interp-core/oct-stream.h
+++ b/libinterp/interp-core/oct-stream.h
@@ -87,14 +87,14 @@
   // TRUE if we are not storing the result of this conversion.
   bool discard;
 
-  // Type of conversion -- `d', `i', `o', `u', `x', `e', `f', `g',
-  // `c', `s', `p', `%', or `['.
+  // Type of conversion -- 'd', 'i', 'o', 'u', 'x', 'e', 'f', 'g',
+  // 'c', 's', 'p', '%', or '['.
   char type;
 
-  // A length modifier -- `h', `l', or `L'.
+  // A length modifier -- 'h', 'l', or 'L'.
   char modifier;
 
-  // The class of characters in a `[' format.
+  // The class of characters in a '[' format.
   std::string char_class;
 };
 
@@ -229,14 +229,14 @@
   // Precision.
   int prec;
 
-  // Flags -- `-', `+', ` ', `0', or `#'.
+  // Flags -- '-', '+', ' ', '0', or '#'.
   std::string flags;
 
-  // Type of conversion -- `d', `i', `o', `x', `X', `u', `c', `s',
-  // `f', `e', `E', `g', `G', `p', or `%'
+  // Type of conversion -- 'd', 'i', 'o', 'x', 'X', 'u', 'c', 's',
+  // 'f', 'e', 'E', 'g', 'G', 'p', or '%'
   char type;
 
-  // A length modifier -- `h', `l', or `L'.
+  // A length modifier -- 'h', 'l', or 'L'.
   char modifier;
 };
 
--- a/libinterp/interp-core/txt-eng-ft.cc
+++ b/libinterp/interp-core/txt-eng-ft.cc
@@ -45,7 +45,7 @@
 gripe_missing_glyph (char c)
 {
   warning_with_id ("Octave:missing-glyph",
-                   "ft_render: skipping missing glyph for character `%c'",
+                   "ft_render: skipping missing glyph for character '%c'",
                    c);
 }
 
@@ -53,7 +53,7 @@
 gripe_glyph_render (char c)
 {
   warning_with_id ("Octave:glyph-render",
-                   "ft_render: unable to render glyph for character `%c'",
+                   "ft_render: unable to render glyph for character '%c'",
                    c);
 }
 
@@ -136,7 +136,7 @@
       // FIXME -- Skip the call to FcFini because it can trigger the
       // assertion
       //
-      //   octave: fccache.c:507: FcCacheFini: Assertion `fcCacheChains[i] == ((void *)0)' failed.
+      //   octave: fccache.c:507: FcCacheFini: Assertion 'fcCacheChains[i] == ((void *)0)' failed.
       //
       // if (fontconfig_initialized)
       //   FcFini ();
@@ -298,7 +298,7 @@
         }
       break;
     default:
-      ::error ("ft_render: invalid mode `%d'", mode);
+      ::error ("ft_render: invalid mode '%d'", mode);
       break;
     }
 }
--- a/libinterp/interpfcn/data.cc
+++ b/libinterp/interpfcn/data.cc
@@ -6209,7 +6209,7 @@
 */
 
 // Sort the rows of the matrix @var{a} according to the order
-// specified by @var{mode}, which can either be `ascend' or `descend'
+// specified by @var{mode}, which can either be 'ascend' or 'descend'
 // and return the index vector corresponding to the sort order.
 //
 // This function does not yet support sparse matrices.
--- a/libinterp/interpfcn/debug.cc
+++ b/libinterp/interpfcn/debug.cc
@@ -784,7 +784,7 @@
             }
         }
       else
-        os << "dbtype: unable to open `" << ff << "' for reading!\n";
+        os << "dbtype: unable to open '" << ff << "' for reading!\n";
     }
   else
     os << "dbtype: unknown function " << name << "\n";
--- a/libinterp/interpfcn/defun.cc
+++ b/libinterp/interpfcn/defun.cc
@@ -68,7 +68,7 @@
 {
   if (version != OCTAVE_API_VERSION)
     {
-      error ("API version %s found in .oct file function `%s'\n"
+      error ("API version %s found in .oct file function '%s'\n"
              "       does not match the running Octave (API version %s)\n"
              "       this can lead to incorrect results or other failures\n"
              "       you can fix this problem by recompiling this .oct file",
--- a/libinterp/interpfcn/defun.h
+++ b/libinterp/interpfcn/defun.h
@@ -44,7 +44,7 @@
 #define DEFUN(name, args_name, nargout_name, doc) \
   DEFUN_INTERNAL (name, args_name, nargout_name, doc)
 
-// This one can be used when `name' cannot be used directly (if it is
+// This one can be used when 'name' cannot be used directly (if it is
 // already defined as a macro).  In that case, name is already a
 // quoted string, and the internal name of the function must be passed
 // too (the convention is to use a prefix of "F", so "foo" becomes "Ffoo").
--- a/libinterp/interpfcn/error.cc
+++ b/libinterp/interpfcn/error.cc
@@ -110,7 +110,7 @@
 
 // Tell the error handler whether to print messages, or just store
 // them for later.  Used for handling errors in eval() and
-// the `unwind_protect' statement.
+// the 'unwind_protect' statement.
 int buffer_error_messages = 0;
 
 // TRUE means error messages are turned off.
@@ -921,10 +921,10 @@
                           if (l > 0)
                             {
                               if (c > 0)
-                                pr_where_1 ("error: called from `%s' near line %d, column %d",
+                                pr_where_1 ("error: called from '%s' near line %d, column %d",
                                             nm.c_str (), l, c);
                               else
-                                pr_where_1 ("error: called from `%d' near line %d", nm.c_str (), l);
+                                pr_where_1 ("error: called from '%d' near line %d", nm.c_str (), l);
                             }
                         }
                     }
@@ -946,10 +946,10 @@
                           if (l > 0)
                             {
                               if (c > 0)
-                                pr_where_1 ("error: called from `%s' in file %s near line %d, column %d",
+                                pr_where_1 ("error: called from '%s' in file %s near line %d, column %d",
                                             nm.c_str (), file.c_str (), l, c);
                               else
-                                pr_where_1 ("error: called from `%d' in file %s near line %d", nm.c_str (), file.c_str (), l);
+                                pr_where_1 ("error: called from '%d' in file %s near line %d", nm.c_str (), file.c_str (), l);
                             }
                         }
                     }
@@ -1537,7 +1537,7 @@
           if (m.contains ("identifier") && m.contains ("state"))
             warning_options = m;
           else
-            error ("warning: expecting structure with fields `identifier' and `state'");
+            error ("warning: expecting structure with fields 'identifier' and 'state'");
 
           done = true;
 
--- a/libinterp/interpfcn/error.h
+++ b/libinterp/interpfcn/error.h
@@ -30,7 +30,7 @@
 class unwind_protect;
 
 #define panic_impossible() \
-  panic ("impossible state reached in file `%s' at line %d", \
+  panic ("impossible state reached in file '%s' at line %d", \
          __FILE__, __LINE__)
 
 extern OCTINTERP_API void reset_error_handler (void);
@@ -122,7 +122,7 @@
 
 // Tell the error handler whether to print messages, or just store
 // them for later.  Used for handling errors in eval() and
-// the `unwind_protect' statement.
+// the 'unwind_protect' statement.
 extern OCTINTERP_API int buffer_error_messages;
 
 // TRUE means error messages are turned off.
--- a/libinterp/interpfcn/graphics.cc
+++ b/libinterp/interpfcn/graphics.cc
@@ -1803,7 +1803,7 @@
                 pval_map[pname] = val;
             }
           else
-            error ("invalid %s property `%s'", pfx.c_str (), pname.c_str ());
+            error ("invalid %s property '%s'", pfx.c_str (), pname.c_str ());
         }
     }
 
@@ -7781,7 +7781,7 @@
         obj.initialize ();
     }
   else
-    error ("gh_manager::do_make_graphics_handle: invalid object type `%s'",
+    error ("gh_manager::do_make_graphics_handle: invalid object type '%s'",
            go_name.c_str ());
 
   return h;
@@ -9351,7 +9351,7 @@
             retval = pl->second;
         }
       else
-        error ("default graphics toolkit `%s' is not available!",
+        error ("default graphics toolkit '%s' is not available!",
                dtk.c_str ());
     }
   else
@@ -9475,7 +9475,7 @@
                 do_events = false;
               else
                 {
-                  error ("drawnow: invalid argument, expected `expose' as argument");
+                  error ("drawnow: invalid argument, expected 'expose' as argument");
                   return retval;
                 }
             }
@@ -9517,7 +9517,7 @@
 
                           if (! (fs && fs.is_dir ()))
                             {
-                              error ("drawnow: nonexistent directory `%s'",
+                              error ("drawnow: nonexistent directory '%s'",
                                      dirname.c_str ());
 
                               return retval;
@@ -9829,7 +9829,7 @@
                             go.get_properties ().insert_property (name, p);
                         }
                       else
-                        error ("addproperty: a `%s' property already exists in the graphics object",
+                        error ("addproperty: a '%s' property already exists in the graphics object",
                                name.c_str ());
                     }
                   else
@@ -10191,10 +10191,10 @@
                   if (s.compare ("timeout"))
                     timeout_index = max_arg_index + 1;
                   else
-                    error ("waitfor: invalid parameter `%s'", s.c_str ());
+                    error ("waitfor: invalid parameter '%s'", s.c_str ());
                 }
               else
-                error ("waitfor: invalid parameter, expected `timeout'");
+                error ("waitfor: invalid parameter, expected 'timeout'");
             }
 
           if (! error_state && timeout_index >= 0)
--- a/libinterp/interpfcn/input.cc
+++ b/libinterp/interpfcn/input.cc
@@ -422,7 +422,7 @@
   return status;
 }
 
-// Fix things up so that input can come from file `name', printing a
+// Fix things up so that input can come from file 'name', printing a
 // warning if the file doesn't exist.
 
 FILE *
--- a/libinterp/interpfcn/load-path.cc
+++ b/libinterp/interpfcn/load-path.cc
@@ -656,7 +656,7 @@
 
   if (len > 1 && dir_arg.substr (len-2) == "//")
     warning_with_id ("Octave:recursive-path-search",
-                     "trailing `//' is no longer special in search path elements");
+                     "trailing '//' is no longer special in search path elements");
 
   std::string dir = file_ops::tilde_expand (dir_arg);
 
--- a/libinterp/interpfcn/load-save.cc
+++ b/libinterp/interpfcn/load-save.cc
@@ -121,7 +121,7 @@
 }
 
 // The format string for the comment line at the top of text-format
-// save files.  Passed to strftime.  Should begin with `#' and contain
+// save files.  Passed to strftime.  Should begin with '#' and contain
 // no newline characters.
 static std::string Vsave_header_format_string = default_save_header_format ();
 
@@ -129,11 +129,11 @@
 gripe_file_open (const std::string& fcn, const std::string& file)
 {
   if (fcn == "load")
-    error ("%s: unable to open input file `%s'", fcn.c_str (), file.c_str ());
+    error ("%s: unable to open input file '%s'", fcn.c_str (), file.c_str ());
   else if (fcn == "save")
-    error ("%s: unable to open output file `%s'", fcn.c_str (), file.c_str ());
+    error ("%s: unable to open output file '%s'", fcn.c_str (), file.c_str ());
   else
-    error ("%s: unable to open file `%s'", fcn.c_str (), file.c_str ());
+    error ("%s: unable to open file '%s'", fcn.c_str (), file.c_str ());
 }
 
 // Install a variable with name NAME and the value VAL in the
@@ -394,7 +394,7 @@
           if (tc.is_defined ())
             {
               if (format == LS_MAT_ASCII && argv_idx < argc)
-                warning ("load: loaded ASCII file `%s' -- ignoring extra args",
+                warning ("load: loaded ASCII file '%s' -- ignoring extra args",
                          orig_fname.c_str ());
 
               if (format == LS_MAT_ASCII
@@ -442,12 +442,12 @@
                 break;
             }
           else
-            error ("load: unable to load variable `%s'", name.c_str ());
+            error ("load: unable to load variable '%s'", name.c_str ());
         }
       else
         {
           if (count == 0)
-            error ("load: are you sure `%s' is an Octave data file?",
+            error ("load: are you sure '%s' is an Octave data file?",
                    orig_fname.c_str ());
 
           break;
@@ -873,7 +873,7 @@
                   file.close ();
                 }
               else
-                error ("load: unable to open input file `%s'",
+                error ("load: unable to open input file '%s'",
                        orig_fname.c_str ());
             }
         }
@@ -1269,7 +1269,7 @@
 
       if (! symbol_table::is_variable (struct_name))
         {
-          error ("save: no such variable: `%s'", struct_name.c_str ());
+          error ("save: no such variable: '%s'", struct_name.c_str ());
           return;
         }
 
@@ -1277,7 +1277,7 @@
 
       if (! struct_var.is_map () || struct_var.numel () != 1)
         {
-          error ("save: `%s' is not a scalar structure",
+          error ("save: '%s' is not a scalar structure",
                  struct_name.c_str ());
           return;
         }
@@ -1292,7 +1292,7 @@
               if (! save_fields (os, struct_var_map, argv[i], fmt,
                                  save_as_floats))
                 {
-                  warning ("save: no such field `%s.%s'",
+                  warning ("save: no such field '%s.%s'",
                            struct_name.c_str (), argv[i].c_str ());
                 }
             }
@@ -1305,7 +1305,7 @@
       for (int i = argv_idx; i < argc; i++)
         {
           if (! save_vars (os, argv[i], fmt, save_as_floats))
-            warning ("save: no such variable `%s'", argv[i].c_str ());
+            warning ("save: no such variable '%s'", argv[i].c_str ());
         }
     }
 }
@@ -1350,7 +1350,7 @@
         }
     }
 
-  message (0, "save to `%s' complete", fname);
+  message (0, "save to '%s' complete", fname);
 }
 
 void
@@ -1362,7 +1362,7 @@
 
       const char *fname = Voctave_core_file_name.c_str ();
 
-      message (0, "attempting to save variables to `%s'...", fname);
+      message (0, "attempting to save variables to '%s'...", fname);
 
       load_save_format format = LS_BINARY;
 
@@ -1404,7 +1404,7 @@
               file.close ();
             }
           else
-            warning ("unable to open `%s' for writing...", fname);
+            warning ("unable to open '%s' for writing...", fname);
         }
       else
 #endif /* HAVE_HDF5 */
@@ -1423,7 +1423,7 @@
                   file.close ();
                 }
               else
-                warning ("unable to open `%s' for writing...", fname);
+                warning ("unable to open '%s' for writing...", fname);
             }
           else
 #endif
@@ -1437,7 +1437,7 @@
                   file.close ();
                 }
               else
-                warning ("unable to open `%s' for writing...", fname);
+                warning ("unable to open '%s' for writing...", fname);
             }
         }
     }
@@ -1636,7 +1636,7 @@
         }
     }
 
-  // Guard against things like `save a*', which are probably mistakes...
+  // Guard against things like 'save a*', which are probably mistakes...
 
   else if (i == argc - 1 && glob_pattern_p (argv[i]))
     {
--- a/libinterp/interpfcn/ls-oct-ascii.cc
+++ b/libinterp/interpfcn/ls-oct-ascii.cc
@@ -155,7 +155,7 @@
 //
 // The input file must have a header followed by some data.
 //
-// All lines in the header must begin with a `#' character.
+// All lines in the header must begin with a '#' character.
 //
 // The header must contain a list of keyword and value pairs with the
 // keyword and value separated by a colon.
@@ -244,7 +244,7 @@
   if (name.empty ())
     {
       if (count == 0)
-        error ("load: empty name keyword or no data found in file `%s'",
+        error ("load: empty name keyword or no data found in file '%s'",
                filename.c_str ());
 
       return std::string ();
@@ -253,7 +253,7 @@
   if (! (name == ".nargin." || name == ".nargout."
          || name == CELL_ELT_TAG || valid_identifier (name)))
     {
-      error ("load: bogus identifier `%s' found in file `%s'",
+      error ("load: bogus identifier '%s' found in file '%s'",
              name.c_str (), filename.c_str ());
       return std::string ();
     }
@@ -283,7 +283,7 @@
         tc = octave_value_typeinfo::lookup_type (typ);
 
       if (! tc.load_ascii (is))
-        error ("load: trouble reading ascii file `%s'", filename.c_str ());
+        error ("load: trouble reading ascii file '%s'", filename.c_str ());
     }
   else
     error ("load: failed to extract keyword specifying value type");
--- a/libinterp/interpfcn/oct-hist.cc
+++ b/libinterp/interpfcn/oct-hist.cc
@@ -149,7 +149,7 @@
             command_history::set_file (argv[i+1]);
 
           if (option == "-a")
-            // Append `new' lines to file.
+            // Append 'new' lines to file.
             command_history::append ();
 
           else if (option == "-w")
@@ -161,7 +161,7 @@
             command_history::read ();
 
           else if (option == "-n")
-            // Read `new' history from file.
+            // Read 'new' history from file.
             command_history::read_range ();
 
           else
@@ -187,9 +187,9 @@
       if (sscanf (argv[i].c_str (), "%d", &limit) != 1)
         {
           if (argv[i][0] == '-')
-            error ("history: unrecognized option `%s'", argv[i].c_str ());
+            error ("history: unrecognized option '%s'", argv[i].c_str ());
           else
-            error ("history: bad non-numeric arg `%s'", argv[i].c_str ());
+            error ("history: bad non-numeric arg '%s'", argv[i].c_str ());
 
           return;
         }
@@ -260,10 +260,10 @@
   return line;
 }
 
-// Use `command' to replace the last entry in the history list, which,
-// by this time, is `run_history blah...'.  The intent is that the
-// new command becomes the history entry, and that `fc' should never
-// appear in the history list.  This way you can do `run_history' to
+// Use 'command' to replace the last entry in the history list, which,
+// by this time, is 'run_history blah...'.  The intent is that the
+// new command becomes the history entry, and that 'fc' should never
+// appear in the history list.  This way you can do 'run_history' to
 // your heart's content.
 
 static void
@@ -393,7 +393,7 @@
 
   if (! file)
     {
-      error ("%s: couldn't open temporary file `%s'", warn_for,
+      error ("%s: couldn't open temporary file '%s'", warn_for,
              name.c_str ());
       return retval;
     }
--- a/libinterp/interpfcn/pager.cc
+++ b/libinterp/interpfcn/pager.cc
@@ -509,7 +509,7 @@
   external_diary_file.open (diary_file.c_str (), std::ios::app);
 
   if (! external_diary_file)
-    error ("diary: can't open diary file `%s'", diary_file.c_str ());
+    error ("diary: can't open diary file '%s'", diary_file.c_str ());
 }
 
 DEFUN (diary, args, ,
@@ -612,7 +612,7 @@
       else if (arg == "off")
         Vpage_screen_output = false;
       else
-        error ("more: unrecognized argument `%s'", arg.c_str ());
+        error ("more: unrecognized argument '%s'", arg.c_str ());
     }
   else if (argc == 1)
     Vpage_screen_output = ! Vpage_screen_output;
--- a/libinterp/interpfcn/pr-output.cc
+++ b/libinterp/interpfcn/pr-output.cc
@@ -58,8 +58,8 @@
 #include "utils.h"
 #include "variables.h"
 
-// TRUE means use a scaled fixed point format for `format long' and
-// `format short'.
+// TRUE means use a scaled fixed point format for 'format long' and
+// 'format short'.
 static bool Vfixed_point_format = false;
 
 // The maximum field width for a number printed by the default output
@@ -3633,7 +3633,7 @@
                 }
               else
                 {
-                  error ("format: unrecognized option `short %s'",
+                  error ("format: unrecognized option 'short %s'",
                          arg.c_str ());
                   return;
                 }
@@ -3678,7 +3678,7 @@
                 }
               else
                 {
-                  error ("format: unrecognized option `long %s'",
+                  error ("format: unrecognized option 'long %s'",
                          arg.c_str ());
                   return;
                 }
@@ -3757,7 +3757,7 @@
           Vcompact_format = false;
         }
       else
-        error ("format: unrecognized format state `%s'", arg.c_str ());
+        error ("format: unrecognized format state '%s'", arg.c_str ());
     }
   else
     {
--- a/libinterp/interpfcn/symtab.cc
+++ b/libinterp/interpfcn/symtab.cc
@@ -1704,7 +1704,7 @@
           retval = symbol_table::varval (name);
 
           if (retval.is_undefined ())
-            error ("variable_value: `%s' is not a variable in the current scope",
+            error ("variable_value: '%s' is not a variable in the current scope",
                    name.c_str ());
         }
       else
--- a/libinterp/interpfcn/symtab.h
+++ b/libinterp/interpfcn/symtab.h
@@ -1593,7 +1593,7 @@
       }
     // FIXME -- is this necessary, or even useful?
     // else
-    //   error ("clear: no such function `%s'", name.c_str ());
+    //   error ("clear: no such function '%s'", name.c_str ());
   }
 
   // This clears oct and mex files, incl. autoloads.
@@ -1639,7 +1639,7 @@
         fcn_table[alias] = finfo;
       }
     else
-      panic ("alias: `%s' is undefined", name.c_str ());
+      panic ("alias: '%s' is undefined", name.c_str ());
   }
 
   static void add_dispatch (const std::string& name, const std::string& type,
--- a/libinterp/interpfcn/toplev.cc
+++ b/libinterp/interpfcn/toplev.cc
@@ -817,7 +817,7 @@
       retval(0) = cmd_status;
     }
   else
-    error ("unable to start subprocess for `%s'", cmd_str.c_str ());
+    error ("unable to start subprocess for '%s'", cmd_str.c_str ());
 
   return retval;
 }
@@ -1483,12 +1483,12 @@
               Cell c = m.contents (arg);
 
               if (c.is_empty ())
-                error ("octave_config_info: no info for `%s'", arg.c_str ());
+                error ("octave_config_info: no info for '%s'", arg.c_str ());
               else
                 retval = c(0);
             }
           else
-            error ("octave_config_info: invalid parameter `%s'", arg.c_str ());
+            error ("octave_config_info: invalid parameter '%s'", arg.c_str ());
         }
     }
   else if (nargin == 0)
--- a/libinterp/interpfcn/utils.cc
+++ b/libinterp/interpfcn/utils.cc
@@ -629,8 +629,8 @@
               break;
 
             default:
-              warning ("unrecognized escape sequence `\\%c' --\
- converting to `%c'", s[j], s[j]);
+              warning ("unrecognized escape sequence '\\%c' --\
+ converting to '%c'", s[j], s[j]);
               retval[i] = s[j];
               break;
             }
--- a/libinterp/interpfcn/variables.cc
+++ b/libinterp/interpfcn/variables.cc
@@ -109,7 +109,7 @@
     }
 
   if (! ans && warn)
-    error ("%s: the symbol `%s' is not valid as a function",
+    error ("%s: the symbol '%s' is not valid as a function",
            warn_for.c_str (), fcn_name.c_str ());
 
   return ans;
@@ -167,7 +167,7 @@
 
               if (! retval)
                 {
-                  error ("%s: `%s' is not valid as a function",
+                  error ("%s: '%s' is not valid as a function",
                          warn_for.c_str (), fname.c_str ());
                   return retval;
                 }
@@ -176,7 +176,7 @@
                        warn_for.c_str ());
             }
           else
-            error ("%s: `%s' is not valid as a function",
+            error ("%s: '%s' is not valid as a function",
                    warn_for.c_str (), fname.c_str ());
         }
       else
@@ -608,7 +608,7 @@
   octave_value val = symbol_table::global_varval (nm);
 
   if (val.is_undefined () && ! silent)
-    error ("get_global_value: undefined symbol `%s'", nm.c_str ());
+    error ("get_global_value: undefined symbol '%s'", nm.c_str ());
 
   return val;
 }
@@ -625,7 +625,7 @@
   octave_value val = symbol_table::top_level_varval (nm);
 
   if (val.is_undefined () && ! silent)
-    error ("get_top_level_value: undefined symbol `%s'", nm.c_str ());
+    error ("get_top_level_value: undefined symbol '%s'", nm.c_str ());
 
   return val;
 }
@@ -1110,7 +1110,7 @@
                   break;
 
                 default:
-                  error ("whos_line_format: modifier `%c' unknown",
+                  error ("whos_line_format: modifier '%c' unknown",
                          param.modifier);
 
                   os << std::setiosflags (std::ios::right)
@@ -1160,7 +1160,7 @@
                   break;
 
                 default:
-                  error ("whos_line_format: command `%c' unknown",
+                  error ("whos_line_format: command '%c' unknown",
                          param.command);
                 }
 
@@ -1593,7 +1593,7 @@
       else if (argv[i] == "global")
         global_only = true;
       else if (argv[i][0] == '-')
-        warning ("%s: unrecognized option `%s'", my_name.c_str (),
+        warning ("%s: unrecognized option '%s'", my_name.c_str (),
                  argv[i].c_str ());
       else
         break;
--- a/libinterp/octave-value/ov-base-diag.cc
+++ b/libinterp/octave-value/ov-base-diag.cc
@@ -148,7 +148,7 @@
           {
             octave_value_list jdx = idx.front ();
             // Check for a simple element assignment. That means, if D is a diagonal matrix,
-            // `D(i,i) = x' will not destroy its diagonality (provided i is a valid index).
+            // 'D(i,i) = x' will not destroy its diagonality (provided i is a valid index).
             if (jdx.length () == 2 && jdx(0).is_scalar_type () && jdx(1).is_scalar_type ())
               {
                 typename DMT::element_type val;
--- a/libinterp/octave-value/ov-base.cc
+++ b/libinterp/octave-value/ov-base.cc
@@ -1272,7 +1272,7 @@
 static void
 gripe_indexed_assignment (const std::string& tn1, const std::string& tn2)
 {
-  error ("assignment of `%s' to indexed `%s' not implemented",
+  error ("assignment of '%s' to indexed '%s' not implemented",
          tn2.c_str (), tn1.c_str ());
 }
 
@@ -1280,7 +1280,7 @@
 gripe_assign_conversion_failed (const std::string& tn1,
                                 const std::string& tn2)
 {
-  error ("type conversion for assignment of `%s' to indexed `%s' failed",
+  error ("type conversion for assignment of '%s' to indexed '%s' failed",
          tn2.c_str (), tn1.c_str ());
 }
 
@@ -1288,7 +1288,7 @@
 gripe_no_conversion (const std::string& on, const std::string& tn1,
                      const std::string& tn2)
 {
-  error ("operator %s: no conversion for assignment of `%s' to indexed `%s'",
+  error ("operator %s: no conversion for assignment of '%s' to indexed '%s'",
          on.c_str (), tn2.c_str (), tn1.c_str ());
 }
 
--- a/libinterp/octave-value/ov-class.cc
+++ b/libinterp/octave-value/ov-class.cc
@@ -324,13 +324,13 @@
                       subs_field(i) = val;
                     else
                       {
-                        error ("expecting character string argument for `.' index");
+                        error ("expecting character string argument for '.' index");
                         return retval;
                       }
                   }
                 else
                   {
-                    error ("expecting single argument for `.' index");
+                    error ("expecting single argument for '.' index");
                     return retval;
                   }
               }
@@ -386,7 +386,7 @@
       if (p != my_map.end ())
         retval = my_map.contents (p);
       else
-        error ("class has no member `%s'", nm.c_str ());
+        error ("class has no member '%s'", nm.c_str ());
     }
   else
     gripe_invalid_index1 ();
@@ -1975,7 +1975,7 @@
                             octave_class::exemplar_map[id]
                               = octave_class::exemplar_info (retval);
                           else if (! it->second.compare (retval))
-                            error ("class: object of class `%s' does not match previously constructed objects",
+                            error ("class: object of class '%s' does not match previously constructed objects",
                                    id.c_str ());
                         }
                     }
@@ -1983,7 +1983,7 @@
                     error ("class: expecting structure S as first argument");
                 }
               else
-                error ("class: `%s' is invalid as a class name in this context",
+                error ("class: '%s' is invalid as a class name in this context",
                        id.c_str ());
             }
           else
--- a/libinterp/octave-value/ov-colon.h
+++ b/libinterp/octave-value/ov-colon.h
@@ -39,7 +39,7 @@
 
 class tree_walker;
 
-// A type to represent `:' as used for indexing.
+// A type to represent ':' as used for indexing.
 
 class
 octave_magic_colon : public octave_base_value
--- a/libinterp/octave-value/ov-struct.cc
+++ b/libinterp/octave-value/ov-struct.cc
@@ -85,7 +85,7 @@
   else if (auto_add)
     retval = (numel () == 0) ? Cell (dim_vector (1, 1)) : Cell (dims ());
   else
-    error ("structure has no member `%s'", nm.c_str ());
+    error ("structure has no member '%s'", nm.c_str ());
 
   return retval;
 }
@@ -1100,7 +1100,7 @@
   octave_value retval = map.getfield (nm);
 
   if (! auto_add && retval.is_undefined ())
-    error ("structure has no member `%s'", nm.c_str ());
+    error ("structure has no member '%s'", nm.c_str ());
 
   return retval;
 }
@@ -1807,7 +1807,7 @@
 
       if (! valid_identifier (key))
         {
-          error ("struct: invalid structure field name `%s'", key.c_str ());
+          error ("struct: invalid structure field name '%s'", key.c_str ());
           return retval;
         }
 
--- a/libinterp/octave-value/ov-typeinfo.cc
+++ b/libinterp/octave-value/ov-typeinfo.cc
@@ -243,7 +243,7 @@
     {
       std::string op_name = octave_value::unary_op_as_string (op);
 
-      warning ("duplicate unary operator `%s' for class dispatch",
+      warning ("duplicate unary operator '%s' for class dispatch",
                op_name.c_str ());
     }
 
@@ -261,7 +261,7 @@
       std::string op_name = octave_value::unary_op_as_string (op);
       std::string type_name = types(t);
 
-      warning ("duplicate unary operator `%s' for type `%s'",
+      warning ("duplicate unary operator '%s' for type '%s'",
                op_name.c_str (), type_name.c_str ());
     }
 
@@ -279,7 +279,7 @@
       std::string op_name = octave_value::unary_op_as_string (op);
       std::string type_name = types(t);
 
-      warning ("duplicate unary operator `%s' for type `%s'",
+      warning ("duplicate unary operator '%s' for type '%s'",
                op_name.c_str (), type_name.c_str ());
     }
 
@@ -296,7 +296,7 @@
     {
       std::string op_name = octave_value::binary_op_as_string (op);
 
-      warning ("duplicate binary operator `%s' for class dispatch",
+      warning ("duplicate binary operator '%s' for class dispatch",
                op_name.c_str ());
     }
 
@@ -316,7 +316,7 @@
       std::string t1_name = types(t1);
       std::string t2_name = types(t2);
 
-      warning ("duplicate binary operator `%s' for types `%s' and `%s'",
+      warning ("duplicate binary operator '%s' for types '%s' and '%s'",
                op_name.c_str (), t1_name.c_str (), t1_name.c_str ());
     }
 
@@ -333,7 +333,7 @@
     {
       std::string op_name = octave_value::binary_op_fcn_name (op);
 
-      warning ("duplicate compound binary operator `%s' for class dispatch",
+      warning ("duplicate compound binary operator '%s' for class dispatch",
                op_name.c_str ());
     }
 
@@ -353,7 +353,7 @@
       std::string t1_name = types(t1);
       std::string t2_name = types(t2);
 
-      warning ("duplicate compound binary operator `%s' for types `%s' and `%s'",
+      warning ("duplicate compound binary operator '%s' for types '%s' and '%s'",
                op_name.c_str (), t1_name.c_str (), t1_name.c_str ());
     }
 
@@ -370,7 +370,7 @@
       std::string t1_name = types(t1);
       std::string t2_name = types(t2);
 
-      warning ("duplicate concatenation operator for types `%s' and `%s'",
+      warning ("duplicate concatenation operator for types '%s' and '%s'",
                t1_name.c_str (), t1_name.c_str ());
     }
 
@@ -390,7 +390,7 @@
       std::string t_lhs_name = types(t_lhs);
       std::string t_rhs_name = types(t_rhs);
 
-      warning ("duplicate assignment operator `%s' for types `%s' and `%s'",
+      warning ("duplicate assignment operator '%s' for types '%s' and '%s'",
                op_name.c_str (), t_lhs_name.c_str (), t_rhs_name.c_str ());
     }
 
@@ -408,7 +408,7 @@
       std::string op_name = octave_value::assign_op_as_string (op);
       std::string t_lhs_name = types(t_lhs);
 
-      warning ("duplicate assignment operator `%s' for types `%s'",
+      warning ("duplicate assignment operator '%s' for types '%s'",
                op_name.c_str (), t_lhs_name.c_str ());
     }
 
@@ -426,7 +426,7 @@
       std::string t_lhs_name = types(t_lhs);
       std::string t_rhs_name = types(t_rhs);
 
-      warning ("overriding assignment conversion for types `%s' and `%s'",
+      warning ("overriding assignment conversion for types '%s' and '%s'",
                t_lhs_name.c_str (), t_rhs_name.c_str ());
     }
 
@@ -444,7 +444,7 @@
       std::string t_name = types(t);
       std::string t_result_name = types(t_result);
 
-      warning ("overriding type conversion op for `%s' to `%s'",
+      warning ("overriding type conversion op for '%s' to '%s'",
                t_name.c_str (), t_result_name.c_str ());
     }
 
@@ -462,7 +462,7 @@
       std::string t_name = types(t);
       std::string t_result_name = types(t_result);
 
-      warning ("overriding widening op for `%s' to `%s'",
+      warning ("overriding widening op for '%s' to '%s'",
                t_name.c_str (), t_result_name.c_str ());
     }
 
--- a/libinterp/octave-value/ov.cc
+++ b/libinterp/octave-value/ov.cc
@@ -1343,7 +1343,7 @@
 gripe_assign_failed (const std::string& on, const std::string& tn1,
                      const std::string& tn2)
 {
-  error ("assignment failed for `%s %s %s'",
+  error ("assignment failed for '%s %s %s'",
          tn1.c_str (), on.c_str (), tn2.c_str ());
 }
 #endif
@@ -1353,7 +1353,7 @@
                                   const std::string& tn1,
                                   const std::string& tn2)
 {
-  error ("assignment failed, or no method for `%s %s %s'",
+  error ("assignment failed, or no method for '%s %s %s'",
          tn1.c_str (), on.c_str (), tn2.c_str ());
 }
 
@@ -1911,14 +1911,14 @@
 gripe_binary_op (const std::string& on, const std::string& tn1,
                  const std::string& tn2)
 {
-  error ("binary operator `%s' not implemented for `%s' by `%s' operations",
+  error ("binary operator '%s' not implemented for '%s' by '%s' operations",
          on.c_str (), tn1.c_str (), tn2.c_str ());
 }
 
 static void
 gripe_binary_op_conv (const std::string& on)
 {
-  error ("type conversion failed for binary operator `%s'", on.c_str ());
+  error ("type conversion failed for binary operator '%s'", on.c_str ());
 }
 
 octave_value
@@ -2223,7 +2223,7 @@
 static void
 gripe_cat_op (const std::string& tn1, const std::string& tn2)
 {
-  error ("concatenation operator not implemented for `%s' by `%s' operations",
+  error ("concatenation operator not implemented for '%s' by '%s' operations",
          tn1.c_str (), tn2.c_str ());
 }
 
@@ -2335,14 +2335,14 @@
 static void
 gripe_unary_op (const std::string& on, const std::string& tn)
 {
-  error ("unary operator `%s' not implemented for `%s' operands",
+  error ("unary operator '%s' not implemented for '%s' operands",
          on.c_str (), tn.c_str ());
 }
 
 static void
 gripe_unary_op_conv (const std::string& on)
 {
-  error ("type conversion failed for unary operator `%s'", on.c_str ());
+  error ("type conversion failed for unary operator '%s'", on.c_str ());
 }
 
 octave_value
@@ -2422,7 +2422,7 @@
 gripe_unary_op_conversion_failed (const std::string& op,
                                   const std::string& tn)
 {
-  error ("operator %s: type conversion for `%s' failed",
+  error ("operator %s: type conversion for '%s' failed",
          op.c_str (), tn.c_str ());
 }
 
@@ -2814,7 +2814,7 @@
                 type_string[k] = '.';
               else
                 {
-                  error ("%s: invalid indexing type `%s'", name, item.c_str ());
+                  error ("%s: invalid indexing type '%s'", name, item.c_str ());
                   return;
                 }
             }
@@ -2853,7 +2853,7 @@
         }
     }
   else
-    error ("%s: second argument must be a structure with fields `type' and `subs'", name);
+    error ("%s: second argument must be a structure with fields 'type' and 'subs'", name);
 }
 
 DEFUN (subsref, args, nargout,
--- a/libinterp/octave.cc
+++ b/libinterp/octave.cc
@@ -193,7 +193,7 @@
        [--verbose] [--version] [file]";
 
 // This is here so that it's more likely that the usage message and
-// the real set of options will agree.  Note: the `+' must come first
+// the real set of options will agree.  Note: the '+' must come first
 // to prevent getopt from permuting arguments!
 static const char *short_opts = "+HVdfhip:qvx";
 
--- a/libinterp/parse-tree/lex.ll
+++ b/libinterp/parse-tree/lex.ll
@@ -108,7 +108,7 @@
 
 // Try to avoid crashing out completely on fatal scanner errors.
 // The call to yy_fatal_error should never happen, but it avoids a
-// `static function defined but not used' warning from gcc.
+// 'static function defined but not used' warning from gcc.
 
 #ifdef YY_FATAL_ERROR
 #undef YY_FATAL_ERROR
@@ -430,7 +430,7 @@
 
 %{
 // For this and the next two rules, we're looking at ']', and we
-// need to know if the next token is `=' or `=='.
+// need to know if the next token is '=' or '=='.
 //
 // It would have been so much easier if the delimiters were simply
 // different for the expression on the left hand side of the equals
@@ -672,7 +672,7 @@
   }
 
 %{
-// Real numbers.  Don't grab the `.' part of a dot operator as part of
+// Real numbers.  Don't grab the '.' part of a dot operator as part of
 // the constant.
 %}
 
@@ -721,7 +721,7 @@
 
         if ((reading_fcn_file || reading_script_file || reading_classdef_file)
             && ! curr_fcn_file_name.empty ())
-          warning ("near line %d of file `%s.m'",
+          warning ("near line %d of file '%s.m'",
                    input_line_number, curr_fcn_file_name.c_str ());
       }
 
@@ -1069,7 +1069,7 @@
       {
         current_input_column++;
 
-        error ("invalid character `%s' (ASCII %d) near line %d, column %d",
+        error ("invalid character '%s' (ASCII %d) near line %d, column %d",
                undo_string_escape (static_cast<char> (c)), c,
                input_line_number, current_input_column);
 
@@ -2548,7 +2548,7 @@
   return false;
 }
 
-// We have seen a `.' and need to see if it is the start of a
+// We have seen a '.' and need to see if it is the start of a
 // continuation.  If so, this eats it, up to and including the new
 // line character.
 
@@ -3339,7 +3339,7 @@
   // If we are looking at a text style function, set up to gobble its
   // arguments.
   //
-  // If the following token is `=', or if we are parsing a function
+  // If the following token is '=', or if we are parsing a function
   // return list or function parameter list, or if we are looking at
   // something like [ab,cd] = foo (), force the symbol to be inserted
   // as a variable in the current symbol table.
@@ -3557,11 +3557,11 @@
 
   if (nm.empty ())
     warning_with_id ("Octave:separator-insert",
-                     "potential auto-insertion of `%c' near line %d",
+                     "potential auto-insertion of '%c' near line %d",
                      sep, input_line_number);
   else
     warning_with_id ("Octave:separator-insert",
-                     "potential auto-insertion of `%c' near line %d of file %s",
+                     "potential auto-insertion of '%c' near line %d of file %s",
                      sep, input_line_number, nm.c_str ());
 }
 
--- a/libinterp/parse-tree/oct-parse.yy
+++ b/libinterp/parse-tree/oct-parse.yy
@@ -904,7 +904,7 @@
                   { $$ = make_boolean_op (EXPR_OR_OR, $1, $2, $3); }
                 ;
 
-// Arrange for the lexer to return CLOSE_BRACE for `]' by looking ahead
+// Arrange for the lexer to return CLOSE_BRACE for ']' by looking ahead
 // one token for an assignment op.
 
 assign_lhs      : simple_expr
@@ -1218,7 +1218,7 @@
                 ;
 
 // ===========================================
-// Some `subroutines' for function definitions
+// Some 'subroutines' for function definitions
 // ===========================================
 
 push_fcn_symtab : // empty
@@ -1741,7 +1741,7 @@
 end_error (const char *type, token::end_tok_type ettype, int l, int c)
 {
   static const char *fmt
-    = "`%s' command matched by `%s' near line %d column %d";
+    = "'%s' command matched by '%s' near line %d column %d";
 
   switch (ettype)
     {
@@ -1872,7 +1872,7 @@
       else
         warning_with_id
           ("Octave:assign-as-truth-value",
-           "suggest parenthesis around assignment used as truth value near line %d, column %d in file `%s'",
+           "suggest parenthesis around assignment used as truth value near line %d, column %d in file '%s'",
            expr->line (), expr->column (), curr_fcn_file_full_name.c_str ());
     }
 }
@@ -1890,7 +1890,7 @@
       else
         warning_with_id
           ("Octave:variable-switch-label",
-           "variable switch label near line %d, column %d in file `%s'",
+           "variable switch label near line %d, column %d in file '%s'",
            expr->line (), expr->column (), curr_fcn_file_full_name.c_str ());
     }
 }
@@ -2854,7 +2854,7 @@
       {
         warning_with_id
           ("Octave:function-name-clash",
-           "function name `%s' does not agree with function file name `%s'",
+           "function name '%s' does not agree with function file name '%s'",
            id_name.c_str (), curr_fcn_file_full_name.c_str ());
 
         id_name = nm;
@@ -2898,13 +2898,13 @@
 
       if (fs && fs.is_newer (now))
         warning_with_id ("Octave:future-time-stamp",
-                         "time stamp for `%s' is in the future", nm.c_str ());
+                         "time stamp for '%s' is in the future", nm.c_str ());
     }
   else if (! (input_from_tmp_history_file || input_from_startup_file)
            && reading_script_file
            && curr_fcn_file_name == id_name)
     {
-      warning ("function `%s' defined within script file `%s'",
+      warning ("function '%s' defined within script file '%s'",
                id_name.c_str (), curr_fcn_file_full_name.c_str ());
     }
 
@@ -3124,7 +3124,7 @@
       else
         {
           if (reading_script_file)
-            warning ("ignoring persistent declaration near line %d of file `%s'",
+            warning ("ignoring persistent declaration near line %d of file '%s'",
                      l, curr_fcn_file_full_name.c_str ());
           else
             warning ("ignoring persistent declaration near line %d", l);
@@ -3209,7 +3209,7 @@
       if (tmp->is_expression ())
         warning_with_id
           ("Octave:missing-semicolon",
-           "missing semicolon near line %d, column %d in file `%s'",
+           "missing semicolon near line %d, column %d in file '%s'",
             tmp->line (), tmp->column (), curr_fcn_file_full_name.c_str ());
     }
 }
@@ -3621,9 +3621,9 @@
         }
     }
   else if (require_file)
-    error ("no such file, `%s'", ff.c_str ());
+    error ("no such file, '%s'", ff.c_str ());
   else if (! warn_for.empty ())
-    error ("%s: unable to open file `%s'", warn_for.c_str (), ff.c_str ());
+    error ("%s: unable to open file '%s'", warn_for.c_str (), ff.c_str ());
 
   return fcn_ptr;
 }
@@ -3909,7 +3909,7 @@
                 }
               if (! found)
                 warning_with_id ("Octave:autoload-relative-file-name",
-                                 "autoload: `%s' is not an absolute file name",
+                                 "autoload: '%s' is not an absolute file name",
                                  nm.c_str ());
             }
           autoload_map[argv[1]] = nm;
@@ -4025,7 +4025,7 @@
             }
         }
       else
-        error ("source: error sourcing file `%s'",
+        error ("source: error sourcing file '%s'",
                file_full_name.c_str ());
     }
 }
@@ -4154,7 +4154,7 @@
     {
       maybe_missing_function_hook (name);
       if (! error_state)
-        error ("feval: function `%s' not found", name.c_str ());
+        error ("feval: function '%s' not found", name.c_str ());
     }
 
   return retval;
@@ -4294,7 +4294,7 @@
             retval = feval (fcn.function_value (), args.splice (0, 1),
                             nargout);
           else
-            error ("builtin: lookup for symbol `%s' failed", name.c_str ());
+            error ("builtin: lookup for symbol '%s' failed", name.c_str ());
         }
       else
         error ("builtin: function name (F) must be a string");
--- a/libinterp/parse-tree/pt-binop.cc
+++ b/libinterp/parse-tree/pt-binop.cc
@@ -46,7 +46,7 @@
   octave_value_list retval;
 
   if (nargout > 1)
-    error ("binary operator `%s': invalid number of output arguments",
+    error ("binary operator '%s': invalid number of output arguments",
            oper () . c_str ());
   else
     retval = rvalue1 (nargout);
@@ -176,7 +176,7 @@
   octave_value_list retval;
 
   if (nargout > 1)
-    error ("binary operator `%s': invalid number of output arguments",
+    error ("binary operator '%s': invalid number of output arguments",
            oper () . c_str ());
   else
     retval = rvalue1 (nargout);
--- a/libinterp/parse-tree/pt-eval.cc
+++ b/libinterp/parse-tree/pt-eval.cc
@@ -268,7 +268,7 @@
 {
   octave_quit ();
 
-  // Maybe handle `continue N' someday...
+  // Maybe handle 'continue N' someday...
 
   if (tree_continue_command::continuing)
     tree_continue_command::continuing--;
@@ -488,7 +488,7 @@
         }
     }
   else
-    error ("in statement `for [X, Y] = VAL', VAL must be a structure");
+    error ("in statement 'for [X, Y] = VAL', VAL must be a structure");
 }
 
 void
--- a/libinterp/parse-tree/pt-id.cc
+++ b/libinterp/parse-tree/pt-id.cc
@@ -50,10 +50,10 @@
 
   if (l == -1 && c == -1)
     ::error_with_id ("Octave:undefined-function",
-                     "`%s' undefined", name ().c_str ());
+                     "'%s' undefined", name ().c_str ());
   else
     ::error_with_id ("Octave:undefined-function",
-                     "`%s' undefined near line %d column %d",
+                     "'%s' undefined near line %d column %d",
                      name ().c_str (), l, c);
 }
 
@@ -74,7 +74,7 @@
       //
       // If this identifier refers to a function, we need to know
       // whether it is indexed so that we can do the same thing
-      // for `f' and `f()'.  If the index is present, return the
+      // for 'f' and 'f()'.  If the index is present, return the
       // function object and let tree_index_expression::rvalue
       // handle indexing.  Otherwise, arrange to call the function
       // here, so that we don't return the function definition as
--- a/libinterp/parse-tree/pt-idx.cc
+++ b/libinterp/parse-tree/pt-idx.cc
@@ -220,7 +220,7 @@
               fn = t.string_value ();
 
               if (! valid_identifier (fn))
-                ::error ("invalid structure field name `%s'", fn.c_str ());
+                ::error ("invalid structure field name '%s'", fn.c_str ());
             }
         }
       else
--- a/libinterp/parse-tree/pt-misc.cc
+++ b/libinterp/parse-tree/pt-misc.cc
@@ -83,7 +83,7 @@
           else if (dict.find (name) != dict.end ())
             {
               retval = false;
-              error ("`%s' appears more than once in parameter list",
+              error ("'%s' appears more than once in parameter list",
                      name.c_str ());
               break;
             }
--- a/libinterp/parse-tree/pt-unop.cc
+++ b/libinterp/parse-tree/pt-unop.cc
@@ -49,7 +49,7 @@
   octave_value_list retval;
 
   if (nargout > 1)
-    error ("prefix operator `%s': invalid number of output arguments",
+    error ("prefix operator '%s': invalid number of output arguments",
            oper () . c_str ());
   else
     retval = rvalue1 (nargout);
@@ -136,7 +136,7 @@
   octave_value_list retval;
 
   if (nargout > 1)
-    error ("postfix operator `%s': invalid number of output arguments",
+    error ("postfix operator '%s': invalid number of output arguments",
            oper () . c_str ());
   else
     retval = rvalue1 (nargout);
--- a/liboctave/numeric/oct-rand.cc
+++ b/liboctave/numeric/oct-rand.cc
@@ -658,7 +658,7 @@
     retval = gamma_dist;
   else
     (*current_liboctave_error_handler)
-      ("rand: invalid distribution `%s'", d.c_str ());
+      ("rand: invalid distribution '%s'", d.c_str ());
 
   return retval;
 }
--- a/liboctave/system/file-ops.cc
+++ b/liboctave/system/file-ops.cc
@@ -118,13 +118,13 @@
 file_ops::tilde_expansion_hook file_ops::tilde_expansion_failure_hook = 0;
 
 // When non-null, this is a NULL terminated array of strings which are
-// duplicates for a tilde prefix.  Bash uses this to expand `=~' and
-// `:~'.
+// duplicates for a tilde prefix.  Bash uses this to expand '=~' and
+// ':~'.
 string_vector file_ops::tilde_additional_prefixes = default_prefixes;
 
 // When non-null, this is a NULL terminated array of strings which
 // match the end of a username, instead of just "/".  Bash sets this
-// to `:' and `=~'.
+// to ':' and '=~'.
 string_vector file_ops::tilde_additional_suffixes = default_suffixes;
 
 // Find the start of a tilde expansion in S, and return the index
@@ -222,7 +222,7 @@
   if (f_len == 0 || filename[0] != '~')
     return filename;
 
-  // A leading `~/' or a bare `~' is *always* translated to the value
+  // A leading '~/' or a bare '~' is *always* translated to the value
   // of $HOME or the home directory of the current user, regardless of
   // any preexpansion hook.
 
--- a/liboctave/system/oct-env.cc
+++ b/liboctave/system/oct-env.cc
@@ -234,7 +234,7 @@
 }
 
 // Return a pretty pathname.  If the first part of the pathname is the
-// same as $HOME, then replace that with `~'.
+// same as $HOME, then replace that with '~'.
 
 std::string
 octave_env::do_polite_directory_format (const std::string& name) const
@@ -301,7 +301,7 @@
   return false;
 }
 
-// Return the `basename' of the pathname in STRING (the stuff after
+// Return the 'basename' of the pathname in STRING (the stuff after
 // the last directory separator).  If STRING is not a full pathname,
 // simply return it.
 
--- a/liboctave/util/cmd-edit.cc
+++ b/liboctave/util/cmd-edit.cc
@@ -1276,7 +1276,7 @@
 //      \a      bell (ascii 07)
 //      \d      the date
 //      \e      escape (ascii 033)
-//      \h      the hostname up to the first `.'
+//      \h      the hostname up to the first '.'
 //      \H      the hostname
 //      \n      CRLF
 //      \r      CR
--- a/liboctave/util/data-conv.cc
+++ b/liboctave/util/data-conv.cc
@@ -291,7 +291,7 @@
           else
             {
               (*current_liboctave_error_handler)
-                ("invalid repeat count in `%s'", str.c_str ());
+                ("invalid repeat count in '%s'", str.c_str ());
 
               return;
             }
@@ -364,7 +364,7 @@
       else
         {
           (*current_liboctave_error_handler)
-            ("invalid repeat count in `%s'", str.c_str ());
+            ("invalid repeat count in '%s'", str.c_str ());
 
           return;
         }
@@ -852,7 +852,7 @@
 
     default:
       (*current_liboctave_error_handler)
-        ("impossible state reached in file `%s' at line %d",
+        ("impossible state reached in file '%s' at line %d",
          __FILE__, __LINE__);
       break;
     }
@@ -979,7 +979,7 @@
 
     default:
       (*current_liboctave_error_handler)
-        ("impossible state reached in file `%s' at line %d",
+        ("impossible state reached in file '%s' at line %d",
          __FILE__, __LINE__);
       break;
     }
@@ -1002,7 +1002,7 @@
 
     default:
       (*current_liboctave_error_handler)
-        ("impossible state reached in file `%s' at line %d",
+        ("impossible state reached in file '%s' at line %d",
          __FILE__, __LINE__);
       break;
     }
--- a/liboctave/util/glob-match.h
+++ b/liboctave/util/glob-match.h
@@ -36,9 +36,9 @@
 
   enum opts
   {
-    pathname = 1,  // No wildcard can ever match `/'.
+    pathname = 1,  // No wildcard can ever match '/'.
     noescape = 2,  // Backslashes don't quote special chars.
-    period = 4     // Leading `.' is matched only explicitly.
+    period = 4     // Leading '.' is matched only explicitly.
   };
 
   glob_match (const std::string& p,
--- a/liboctave/util/kpse.cc
+++ b/liboctave/util/kpse.cc
@@ -57,8 +57,8 @@
 
 #ifdef __DJGPP__
 #include <fcntl.h>      /* for long filenames' stuff */
-#include <dir.h>        /* for `getdisk' */
-#include <io.h>         /* for `setmode' */
+#include <dir.h>        /* for 'getdisk' */
+#include <io.h>         /* for 'setmode' */
 #endif
 }
 
@@ -67,7 +67,7 @@
 #define KPATHSEA 32
 #endif
 
-/* System dependencies that are figured out by `configure'.  If we are
+/* System dependencies that are figured out by 'configure'.  If we are
    compiling standalone, we get our c-auto.h.  Otherwise, the package
    containing us must provide this (unless it can somehow generate ours
    from c-auto.in).  We use <...> instead of "..." so that the current
@@ -111,7 +111,7 @@
 #ifndef IS_DIR_SEP
 #define IS_DIR_SEP(ch) ((ch) == DIR_SEP)
 #endif
-#ifndef IS_DEVICE_SEP /* No `devices' on, e.g., Unix.  */
+#ifndef IS_DEVICE_SEP /* No 'devices' on, e.g., Unix.  */
 #define IS_DEVICE_SEP(ch) 0
 #endif
 #ifndef NAME_BEGINS_WITH_DEVICE
@@ -276,7 +276,7 @@
 /* Define common sorts of messages.  */
 
 /* This should be called only after a system call fails.  Don't exit
-   with status `errno', because that might be 256, which would mean
+   with status 'errno', because that might be 256, which would mean
    success (exit statuses are truncated to eight bits).  */
 #define FATAL_PERROR(str) \
   do \
@@ -339,7 +339,7 @@
 static string_vector kpse_db_search (const std::string& name,
                                      const std::string& path_elt, bool all);
 
-#include <ctime> /* for `time' */
+#include <ctime> /* for 'time' */
 
 static bool
 kpse_is_env_sep (char c)
@@ -711,7 +711,7 @@
                      filename.c_str ());
 
           /* And show them online, if debugging.  We've already started
-             the debugging line in `search', where this is called, so
+             the debugging line in 'search', where this is called, so
              just print the filename here, don't use DEBUGF.  */
           if (KPSE_DEBUG_P (KPSE_DEBUG_SEARCH))
             gnulib::fputs (filename.c_str (), stderr);
@@ -768,7 +768,7 @@
   string_vector ret_list;
   std::string found = kpse_readable_file (name);
 
-  /* Add `found' to the return list even if it's null; that tells
+  /* Add 'found' to the return list even if it's null; that tells
      the caller we didn't find anything.  */
   ret_list.append (found);
 
@@ -830,8 +830,8 @@
          (2b) no db exists; or
          (2c) no db's are relevant to this elt; or
          (3) MUST_EXIST && NAME was not in the db.
-         In (2*), `found' will be NULL.
-         In (3),  `found' will be an empty list. */
+         In (2*), 'found' will be NULL.
+         In (3),  'found' will be an empty list. */
 
       if (allow_disk_search && found.empty ())
         {
@@ -912,7 +912,7 @@
 
 /* Search PATH for the first NAME.  */
 
-/* Call `kpse_expand' on NAME.  If the result is an absolute or
+/* Call 'kpse_expand' on NAME.  If the result is an absolute or
    explicitly relative filename, check whether it is a readable
    (regular) file.
 
@@ -940,9 +940,9 @@
 }
 
 /* Search all elements of PATH for files named NAME.  Not sure if it's
-   right to assert `must_exist' here, but it suffices now.  */
-
-/* Like `kpse_path_search' with MUST_EXIST true, but return a list of
+   right to assert 'must_exist' here, but it suffices now.  */
+
+/* Like 'kpse_path_search' with MUST_EXIST true, but return a list of
    all the filenames (or NULL if none), instead of taking the first.  */
 
 static string_vector
@@ -1026,8 +1026,8 @@
                    (2c) no db's are relevant to this elt; or
                    (3) MUST_EXIST && NAME was not in the db.
 
-                 In (2*), `found' will be NULL.
-                 In (3),  `found' will be an empty list. */
+                 In (2*), 'found' will be NULL.
+                 In (3),  'found' will be an empty list. */
 
               if (allow_disk_search && found.empty ())
                 {
@@ -1162,7 +1162,7 @@
 /* Search each element of PATH for each element of NAMES and return a
    list containing everything found, in the order found.  */
 
-/* Like `kpse_path_find_first_of' with MUST_EXIST true, but return a
+/* Like 'kpse_path_find_first_of' with MUST_EXIST true, but return a
    list of all the filenames (or NULL if none), instead of taking the
    first.  */
 
@@ -1192,7 +1192,7 @@
     {
       expansion = name;
 
-      /* If a bare tilde, return the home directory or `.'.  (Very
+      /* If a bare tilde, return the home directory or '.'.  (Very
          unlikely that the directory name will do anyone any good, but
          ...  */
     }
@@ -1203,7 +1203,7 @@
       if (expansion.empty ())
         expansion = ".";
 
-      /* If `~/', remove any trailing / or replace leading // in $HOME.
+      /* If '~/', remove any trailing / or replace leading // in $HOME.
          Should really check for doubled intermediate slashes, too.  */
     }
   else if (IS_DIR_SEP (name[1]))
@@ -1226,7 +1226,7 @@
 
       expansion = home + name.substr (c);
 
-      /* If `~user' or `~user/', look up user in the passwd database (but
+      /* If '~user' or '~user/', look up user in the passwd database (but
          OS/2 doesn't have this concept.  */
     }
   else
@@ -1241,10 +1241,10 @@
       std::string user = name.substr (1, c-1);
 
       /* We only need the cast here for (deficient) systems
-         which do not declare `getpwnam' in <pwd.h>.  */
+         which do not declare 'getpwnam' in <pwd.h>.  */
       octave_passwd p = octave_passwd::getpwnam (user);
 
-      /* If no such user, just use `.'.  */
+      /* If no such user, just use '.'.  */
       std::string home = p ? p.dir () : std::string (".");
 
       if (home.empty ())
@@ -1356,11 +1356,11 @@
   return ret;
 }
 
-/* Do brace expansion and call `kpse_expand' on each element of the
+/* Do brace expansion and call 'kpse_expand' on each element of the
    result; return the final expansion (always in fresh memory, even if
-   no expansions were done).  We don't call `kpse_expand_default'
+   no expansions were done).  We don't call 'kpse_expand_default'
    because there is a whole sequence of defaults to run through; see
-   `kpse_init_format'.  */
+   'kpse_init_format'.  */
 
 static std::string
 kpse_brace_expand (const std::string& path)
@@ -1394,8 +1394,8 @@
 /* Expand all special constructs in a path, and include only the actually
    existing directories in the result. */
 
-/* Do brace expansion and call `kpse_expand' on each argument of the
-   result, then expand any `//' constructs.  The final expansion (always
+/* Do brace expansion and call 'kpse_expand' on each argument of the
+   result, then expand any '//' constructs.  The final expansion (always
    in fresh memory) is a path of all the existing directories that match
    the pattern. */
 
@@ -1671,8 +1671,8 @@
                (i+1 < text_len &&
                 (brace_whitespace (text[i+1]) || text[i+1] == '}'))))
             continue;
-          /* If this is being compiled as part of bash, ignore the `{'
-             in a `${}' construct */
+          /* If this is being compiled as part of bash, ignore the '{'
+             in a '${}' construct */
           if ((c != '{') || i == 0 || (text[i-1] != '$'))
             break;
         }
@@ -1714,8 +1714,8 @@
   string_vector suffix;      /* For kpse_find_file to check for/append.  */
 };
 
-/* The sole variable of that type, indexed by `kpse_file_format_type'.
-   Initialized by calls to `kpse_find_file' for `kpse_init_format'.  */
+/* The sole variable of that type, indexed by 'kpse_file_format_type'.
+   Initialized by calls to 'kpse_find_file' for 'kpse_init_format'.  */
 static kpse_format_info_type kpse_format_info;
 
 /* And EXPAND_DEFAULT calls kpse_expand_default on try_path and the
@@ -1793,11 +1793,11 @@
      component of FILENAME, we've matched.  */
   if (! matched && *path_elt == 0)
     {
-      /* Probably PATH_ELT ended with `vf' or some such, and FILENAME
-         ends with `vf/ptmr.vf'.  In that case, we'll be at a
+      /* Probably PATH_ELT ended with 'vf' or some such, and FILENAME
+         ends with 'vf/ptmr.vf'.  In that case, we'll be at a
          directory separator.  On the other hand, if PATH_ELT ended
-         with a / (as in `vf/'), FILENAME being the same `vf/ptmr.vf',
-         we'll be at the `p'.  Upshot: if we're at a dir separator in
+         with a / (as in 'vf/'), FILENAME being the same 'vf/ptmr.vf',
+         we'll be at the 'p'.  Upshot: if we're at a dir separator in
          FILENAME, skip it.  But if not, that's ok, as long as there
          are no more dir separators.  */
 
@@ -1874,8 +1874,8 @@
     return ret;
 
   /* When tex-glyph.c calls us looking for, e.g., dpi600/cmr10.pk, we
-     won't find it unless we change NAME to just `cmr10.pk' and append
-     `/dpi600' to PATH_ELT.  We are justified in using a literal `/'
+     won't find it unless we change NAME to just 'cmr10.pk' and append
+     '/dpi600' to PATH_ELT.  We are justified in using a literal '/'
      here, since that's what tex-glyph.c unconditionally uses in
      DPI_BITMAP_SPEC.  But don't do anything if the / begins NAME; that
      should never happen.  */
@@ -1889,7 +1889,7 @@
   else
     path_elt = orig_path_elt;
 
-  /* Don't bother doing any lookups if this `path_elt' isn't covered by
+  /* Don't bother doing any lookups if this 'path_elt' isn't covered by
      any of database directories.  We do this not so much because the
      extra couple of hash lookups matter -- they don't -- but rather
      because we want to return NULL in this case, so path_search can
@@ -1917,7 +1917,7 @@
     {
       std::string atry = aliases[i];
 
-      /* We have an ls-R db.  Look up `atry'.  */
+      /* We have an ls-R db.  Look up 'atry'.  */
       string_vector db_dirs = hash_lookup (db, atry);
 
       /* For each filename found, see if it matches the path element.  For
@@ -1947,8 +1947,8 @@
                 {
                   /* The hit in the DB doesn't exist in disk.  Now try
                      all its aliases.  For example, suppose we have a
-                     hierarchy on CD, thus `mf.bas', but ls-R contains
-                     `mf.base'.  Find it anyway.  Could probably work
+                     hierarchy on CD, thus 'mf.bas', but ls-R contains
+                     'mf.base'.  Find it anyway.  Could probably work
                      around this with aliases, but this is pretty easy
                      and shouldn't hurt.  The upshot is that if one of
                      the aliases actually exists, we use that.  */
@@ -2228,8 +2228,8 @@
   else
     {
       /* If we do have something to match, see if it exists.  For
-         example, POST might be `pk/ljfour', and they might have a
-         directory `$TEXMF/fonts/pk/ljfour' that we should find.  */
+         example, POST might be 'pk/ljfour', and they might have a
+         directory '$TEXMF/fonts/pk/ljfour' that we should find.  */
       name += post;
       expand_elt (str_list_ptr, name, elt_length);
       name.resize (elt_length);
@@ -2274,8 +2274,8 @@
   else
     {
       /* If we do have something to match, see if it exists.  For
-         example, POST might be `pk/ljfour', and they might have a
-         directory `$TEXMF/fonts/pk/ljfour' that we should find.  */
+         example, POST might be 'pk/ljfour', and they might have a
+         directory '$TEXMF/fonts/pk/ljfour' that we should find.  */
       name += post;
       expand_elt (str_list_ptr, name, elt_length);
       name.resize (elt_length);
@@ -2283,7 +2283,7 @@
 
   while ((e = gnulib::readdir (dir)))
     {
-      /* If it begins with a `.', never mind.  (This allows ``hidden''
+      /* If it begins with a '.', never mind.  (This allows "hidden"
          directories that the algorithm won't find.)  */
 
       if (e->d_name[0] != '.')
@@ -2326,7 +2326,7 @@
 #endif
             }
 
-          /* Remove the directory entry we just checked from `name'.  */
+          /* Remove the directory entry we just checked from 'name'.  */
           name.resize (elt_length);
         }
     }
@@ -2388,7 +2388,7 @@
    current working directory.
 
    It's up to the caller to expand ELT.  This is because this routine is
-   most likely only useful to be called from `kpse_path_search', which
+   most likely only useful to be called from 'kpse_path_search', which
    has already assumed expansion has been done.  */
 
 static str_llist_type *
@@ -2493,20 +2493,20 @@
 
   /* If we are the first unmoved element, nothing to relink.  */
   if (unmoved != mover)
-    { /* Remember `mover's current successor, so we can relink `mover's
+    { /* Remember 'mover's current successor, so we can relink 'mover's
          predecessor to it.  */
       str_llist_elt_type *before_mover;
       str_llist_elt_type *after_mover = STR_LLIST_NEXT (*mover);
 
-      /* Find `mover's predecessor.  */
+      /* Find 'mover's predecessor.  */
       for (before_mover = unmoved; STR_LLIST_NEXT (*before_mover) != mover;
            before_mover = STR_LLIST_NEXT (*before_mover))
         ;
 
-      /* `before_mover' now links to `after_mover'.  */
+      /* 'before_mover' now links to 'after_mover'.  */
       STR_LLIST_NEXT (*before_mover) = after_mover;
 
-      /* Insert `mover' before `unmoved' and after `last_moved' (or at
+      /* Insert 'mover' before 'unmoved' and after 'last_moved' (or at
          the head of the list).  */
       STR_LLIST_NEXT (*mover) = unmoved;
       if (! last_moved)
@@ -2544,8 +2544,8 @@
     ? expansions[var] : false;
 }
 
-/* Append the result of value of `var' to EXPANSION, where `var' begins
-   at START and ends at END.  If `var' is not set, do not complain.
+/* Append the result of value of 'var' to EXPANSION, where 'var' begins
+   at START and ends at END.  If 'var' is not set, do not complain.
    This is a subroutine for the more complicated expansion function.  */
 
 static void
@@ -2554,7 +2554,7 @@
   if (expanding_p (var))
     {
       (*current_liboctave_warning_handler)
-        ("kpathsea: variable `%s' references itself (eventually)",
+        ("kpathsea: variable '%s' references itself (eventually)",
          var.c_str ());
     }
   else
@@ -2604,7 +2604,7 @@
         {
           i++;
 
-          /* Three cases: `$VAR', `${VAR}', `$<anything-else>'.  */
+          /* Three cases: '$VAR', '${VAR}', '$<anything-else>'.  */
           if (IS_VAR_CHAR (src[i]))
             {
               /* $V: collect name constituents, then expand.  */
@@ -2645,7 +2645,7 @@
             {
               /* $<something-else>: error.  */
               (*current_liboctave_warning_handler)
-                ("%s: Unrecognized variable construct `$%c'",
+                ("%s: Unrecognized variable construct '$%c'",
                  src.c_str (), src[i]);
 
               /* Just ignore those chars and keep going.  */
--- a/liboctave/util/oct-locbuf.h
+++ b/liboctave/util/oct-locbuf.h
@@ -174,7 +174,7 @@
 #define OCTAVE_LOCAL_BUFFER_MAX_STACK_SIZE 8192
 
 // If we have automatic arrays, we use an automatic array if the size
-// is small enough.  To avoid possibly evaluating `size' multiple
+// is small enough.  To avoid possibly evaluating 'size' multiple
 // times, we first cache it.  Note that we always construct both the
 // stack array and the octave_local_buffer object, but only one of
 // them will be nonempty.
--- a/liboctave/util/oct-md5.cc
+++ b/liboctave/util/oct-md5.cc
@@ -78,7 +78,7 @@
         (*current_liboctave_error_handler) ("internal error in md5_stream");
     }
   else
-    (*current_liboctave_error_handler) ("unable to open file `%s' for reading",
+    (*current_liboctave_error_handler) ("unable to open file '%s' for reading",
                                         file.c_str ());
 
   return retval;
--- a/scripts/general/interp2.m
+++ b/scripts/general/interp2.m
@@ -397,7 +397,7 @@
         ZI (!inside) = extrapval;
 
       else
-        error ("interp2: input data must have `meshgrid' format");
+        error ("interp2: input data must have 'meshgrid' format");
       endif
 
     elseif (strcmp (method, "spline"))
@@ -405,7 +405,7 @@
         ZI = __splinen__ ({Y(:,1).', X(1,:)}, Z, {YI(:,1), XI(1,:)}, extrapval,
                         "spline");
       else
-        error ("interp2: input data must have `meshgrid' format");
+        error ("interp2: input data must have 'meshgrid' format");
       endif
     else
       error ("interp2: interpolation METHOD not recognized");
--- a/scripts/help/doc.m
+++ b/scripts/help/doc.m
@@ -92,7 +92,7 @@
     if (! (have_fname && status == 0))
       status = system (cmd);
       if (status == 127)
-        warning ("unable to find info program `%s'", info_program ());
+        warning ("unable to find info program '%s'", info_program ());
       endif
     endif
 
--- a/scripts/help/get_first_help_sentence.m
+++ b/scripts/help/get_first_help_sentence.m
@@ -66,9 +66,9 @@
     case "html"
       [text, status] = first_sentence_html (help_text, max_len);
     case "not documented"
-      error ("get_first_help_sentence: `%s' is not documented\n", name);
+      error ("get_first_help_sentence: '%s' is not documented\n", name);
     case "not found"
-      error ("get_first_help_sentence: `%s' not found\n", name);
+      error ("get_first_help_sentence: '%s' not found\n", name);
     otherwise
       error ("get_first_help_sentence: internal error: unsupported help text format: '%s'\n", format);
   endswitch
--- a/scripts/help/help.m
+++ b/scripts/help/help.m
@@ -100,7 +100,7 @@
       case "html"
         [text, status] = strip_html_tags (text);
       case "not documented"
-        error ("help: `%s' is not documented\n", name);
+        error ("help: '%s' is not documented\n", name);
       case "not found"
         do_contents (name);
         return;
@@ -197,7 +197,7 @@
     msg = feval (missing_function_hook, name);
 
     if (isempty (msg))
-      msg = sprintf ("`%s' not found", name);
+      msg = sprintf ("'%s' not found", name);
     endif
 
     error ("help: %s\n", msg);
--- a/scripts/help/print_usage.m
+++ b/scripts/help/print_usage.m
@@ -59,9 +59,9 @@
     case "html"
       [usage_string, status] = get_usage_html (text, max_len);
     case "not documented"
-      error ("print_usage: `%s' is not documented\n", name);
+      error ("print_usage: '%s' is not documented\n", name);
     case "not found"
-      error ("print_usage: `%s' not found\n", name);
+      error ("print_usage: '%s' not found\n", name);
     otherwise
       error ("print_usage: internal error: unsupported help text format: '%s'\n", format);
   endswitch
--- a/scripts/help/private/__additional_help_message__.m
+++ b/scripts/help/private/__additional_help_message__.m
@@ -29,7 +29,7 @@
     msg = "\
 Additional help for built-in functions and operators is\n\
 available in the on-line version of the manual.  Use the command\n\
-`doc <topic>' to search the manual index.\n\
+'doc <topic>' to search the manual index.\n\
 \n\
 Help and information about Octave is also available on the WWW\n\
 at http://www.octave.org and via the help@octave.org\n\
--- a/scripts/help/type.m
+++ b/scripts/help/type.m
@@ -73,13 +73,13 @@
       if (isempty (file))
         ## 'name' is an ordinary file, and not a function name.
         ## FIXME: Should we just print it anyway?
-        error ("type: `%s' undefined\n", name);
+        error ("type: '%s' undefined\n", name);
       endif
 
       ## Read the file
       fid = fopen (file, "r");
       if (fid < 0)
-        error ("type: couldn't open `%s' for reading", file);
+        error ("type: couldn't open '%s' for reading", file);
       endif
       contents = char (fread (fid).');
       fclose (fid);
@@ -99,7 +99,7 @@
     elseif (any (strcmp (__keywords__ (), name)))
       text = sprintf ("%s is a keyword", name);
     else
-      error ("type: `%s' undefined\n", name);
+      error ("type: '%s' undefined\n", name);
     endif
 
     ## Should we return the text or print if
--- a/scripts/help/unimplemented.m
+++ b/scripts/help/unimplemented.m
@@ -54,7 +54,7 @@
 
   otherwise
     if (ismember (fcn, missing_functions ()))
-      txt = sprintf ("the `%s' function is not yet implemented in Octave", fcn);
+      txt = sprintf ("the '%s' function is not yet implemented in Octave", fcn);
     else
       is_matlab_function = false;
       txt = "";
@@ -420,5 +420,4 @@
 %! str = unimplemented ("quad2d");
 %! assert (str(1:51), "quad2d is not implemented.  Consider using dblquad.");
 %! str = unimplemented ("MException");
-%! assert (str(1:58), "the `MException' function is not yet implemented in Octave");
- 
+%! assert (str(1:58), "the 'MException' function is not yet implemented in Octave");
--- a/scripts/help/which.m
+++ b/scripts/help/which.m
@@ -32,15 +32,15 @@
       for i = 1:nargin
         if (isempty (m(i).file))
           if (! isempty (m(i).type))
-            printf ("`%s' is a %s\n",
+            printf ("'%s' is a %s\n",
                     m(i).name, m(i).type);
           endif
         else
           if (isempty (m(i).type))
-            printf ("`%s' is the file %s\n",
+            printf ("'%s' is the file %s\n",
                     m(i).name, m(i).file);
           else
-            printf ("`%s' is a %s from the file %s\n",
+            printf ("'%s' is a %s from the file %s\n",
                     m(i).name, m(i).type, m(i).file);
           endif
         endif
--- a/scripts/miscellaneous/cast.m
+++ b/scripts/miscellaneous/cast.m
@@ -33,7 +33,7 @@
                              "double"; "single"; "logical"; "char"})))
         retval = feval (typ, val);
       else
-        error ("cast: type name `%s' is not a built-in type", typ);
+        error ("cast: type name '%s' is not a built-in type", typ);
       endif
     else
       error ("cast: expecting TYPE name as second argument");
--- a/scripts/miscellaneous/dir.m
+++ b/scripts/miscellaneous/dir.m
@@ -82,7 +82,7 @@
       fn = flst{1};
       [st, err, msg] = stat (fn);
       if (err < 0)
-        warning ("dir: `stat (%s)' failed: %s", fn, msg);
+        warning ("dir: 'stat (%s)' failed: %s", fn, msg);
         nf = 0;
       elseif (S_ISDIR (st.mode))
         flst = readdir (flst{1});
@@ -99,7 +99,7 @@
         fn = flst{i};
         [st, err, msg] = lstat (fn);
         if (err < 0)
-          warning ("dir: `lstat (%s)' failed: %s", fn, msg);
+          warning ("dir: 'lstat (%s)' failed: %s", fn, msg);
         else
           ## If we are looking at a link that points to something,
           ## return info about the target of the link, otherwise, return
@@ -136,7 +136,7 @@
     ## Print the structure to the screen.
     printf ("%s", list_in_columns ({info.name}));
   else
-    warning ("dir: nonexistent directory `%s'", directory);
+    warning ("dir: nonexistent directory '%s'", directory);
   endif
 
 endfunction
--- a/scripts/miscellaneous/license.m
+++ b/scripts/miscellaneous/license.m
@@ -138,10 +138,10 @@
           elseif (strcmp (varargin{3}, "disable"))
             __octave_licenses__{found,3} = false;
           else
-            error ("license: TOGGLE must be either `enable' or `disable'");
+            error ("license: TOGGLE must be either 'enable' or 'disable'");
           endif
         else
-          error ("license: FEATURE `%s' not found", feature);
+          error ("license: FEATURE '%s' not found", feature);
         endif
       endif
 
@@ -182,6 +182,6 @@
 %% Test input validation
 %!error license ("not_inuse")
 %!error <TOGGLE must be either> license ("test", "Octave", "not_enable")
-%!error <FEATURE `INVALID' not found> license ("test", "INVALID", "enable")
+%!error <FEATURE 'INVALID' not found> license ("test", "INVALID", "enable")
 %!error license ("not_test", "Octave", "enable")
 
--- a/scripts/miscellaneous/mkoctfile.m
+++ b/scripts/miscellaneous/mkoctfile.m
@@ -160,7 +160,7 @@
   endif
 
   if (sys == 127)
-    warning ("unable to find mkoctfile in expected location: `%s'",
+    warning ("unable to find mkoctfile in expected location: '%s'",
              shell_script);
 
     warning ("mkoctfile exited with failure status");
--- a/scripts/miscellaneous/recycle.m
+++ b/scripts/miscellaneous/recycle.m
@@ -48,7 +48,7 @@
       elseif (strcmpi (state, "off"))
         current_state = "off";
       else
-        error ("recycle: invalid value of STATE = `%s'", state);
+        error ("recycle: invalid value of STATE = '%s'", state);
       endif
     else
       error ("recycle: STATE must be a character string");
--- a/scripts/miscellaneous/tempdir.m
+++ b/scripts/miscellaneous/tempdir.m
@@ -33,7 +33,7 @@
   endif
 
   if (! isdir (dirname))
-    warning ("tempdir: `%s' does not exist or is not a directory", dirname);
+    warning ("tempdir: '%s' does not exist or is not a directory", dirname);
   endif
 
 endfunction
--- a/scripts/optimization/optimset.m
+++ b/scripts/optimization/optimset.m
@@ -121,7 +121,7 @@
     try
       retval = feval (fcn, "defaults");
     catch
-      error ("optimset: no defaults for function `%s'", fcn);
+      error ("optimset: no defaults for function '%s'", fcn);
     end_try_catch
   elseif (nargs == 2 && isstruct (varargin{1}) && isstruct (varargin{2}))
     ## Set slots in old from nonempties in new.  Should we be checking
--- a/scripts/plot/closereq.m
+++ b/scripts/plot/closereq.m
@@ -30,7 +30,7 @@
   if (nargin == 0)
     cf = gcbf ();
     if (isempty (cf))
-      warning ("closereq: calling closereq from octave prompt is not supported, use `close' instead");
+      warning ("closereq: calling closereq from octave prompt is not supported, use 'close' instead");
       cf = get (0, "currentfigure");
     endif
     if (! isempty (cf) && isfigure (cf))
--- a/scripts/plot/colstyle.m
+++ b/scripts/plot/colstyle.m
@@ -81,7 +81,7 @@
 
 %!test
 %! [l, c, m, msg] = colstyle ("~");
-%! assert (msg, "colstyle: unrecognized format character: `~'");
+%! assert (msg, "colstyle: unrecognized format character: '~'");
 
 %% Test input validation
 %!error colstyle ()
--- a/scripts/plot/private/__fltk_print__.m
+++ b/scripts/plot/private/__fltk_print__.m
@@ -61,7 +61,7 @@
       endif
     else
       error ("print:invalid-suffix", 
-             "invalid suffix `%s' for device `%s'.",
+             "invalid suffix '%s' for device '%s'.",
              opts.name(dot:end), lower (opts.devopt));
     endif
     gl2ps_device = {sprintf("%snotxt", lower (suffix))};
--- a/scripts/plot/private/__gnuplot_print__.m
+++ b/scripts/plot/private/__gnuplot_print__.m
@@ -76,7 +76,7 @@
         name = opts.name(1:dot-1);
       else
         error ("print:invalid-suffix", 
-               "invalid suffix `%s' for device `%s'.",
+               "invalid suffix '%s' for device '%s'.",
                opts.name(dot:end), lower (opts.devopt));
       endif
     endif
--- a/scripts/plot/private/__go_draw_figure__.m
+++ b/scripts/plot/private/__go_draw_figure__.m
@@ -199,7 +199,7 @@
         fflush (plot_stream);
       endif
     else
-      error ("__go_draw_figure__: expecting figure object, found `%s'",
+      error ("__go_draw_figure__: expecting figure object, found '%s'",
              htype);
     endif
   else
--- a/scripts/plot/private/__pie__.m
+++ b/scripts/plot/private/__pie__.m
@@ -139,7 +139,7 @@
                text(xt, yt, labels{i}, "horizontalalignment", align)];
 
     else
-      error ("__pie__: unknown caller `%s'", caller);
+      error ("__pie__: unknown caller '%s'", caller);
     endif
   endfor
 
--- a/scripts/plot/private/__pltopt__.m
+++ b/scripts/plot/private/__pltopt__.m
@@ -219,7 +219,7 @@
         endif
       else
         if (err_on_invalid)
-          error ("%s: unrecognized format character: `%s'", caller, topt);
+          error ("%s: unrecognized format character: '%s'", caller, topt);
         else
           valid = false;
           options = __default_plot_options__ ();
--- a/scripts/plot/private/__print_parse_opts__.m
+++ b/scripts/plot/private/__print_parse_opts__.m
@@ -157,7 +157,7 @@
       elseif (length (arg) > 2 && arg(1:2) == "-f")
         arg_st.figure = str2num (arg(3:end));
       elseif (length (arg) >= 1 && arg(1) == "-")
-        error ("print: unknown option `%s'", arg);
+        error ("print: unknown option '%s'", arg);
       elseif (length (arg) > 0)
         arg_st.name = arg;
       endif
@@ -500,7 +500,7 @@
   persistent data = struct ()
 
   if (! isfield (data, binary))
-    ## Reinitialize when `user_binaries' is present.
+    ## Reinitialize when 'user_binaries' is present.
     data.(binary).bin = "";
     data.(binary).warn_on_absence = false;
   endif
--- a/scripts/plot/uigetdir.m
+++ b/scripts/plot/uigetdir.m
@@ -38,7 +38,7 @@
     if (! __is_function__ (funcname))
       error ("uigetdir: fltk graphics toolkit required");
     elseif (! strcmp (defaulttoolkit, "gnuplot"))
-      warning ("uigetdir: no implementation for toolkit `%s', using `fltk' instead",
+      warning ("uigetdir: no implementation for toolkit '%s', using 'fltk' instead",
                defaulttoolkit);
     endif
   endif
--- a/scripts/plot/uigetfile.m
+++ b/scripts/plot/uigetfile.m
@@ -72,7 +72,7 @@
     if (! __is_function__ (funcname))
       error ("uigetfile: fltk graphics toolkit required");
     elseif (! strcmp (defaulttoolkit, "gnuplot"))
-      warning ("uigetfile: no implementation for toolkit `%s', using `fltk' instead",
+      warning ("uigetfile: no implementation for toolkit '%s', using 'fltk' instead",
                defaulttoolkit);
     endif
   endif
--- a/scripts/plot/uiputfile.m
+++ b/scripts/plot/uiputfile.m
@@ -63,7 +63,7 @@
     if (! __is_function__ (funcname))
       error ("uiputfile: fltk graphics toolkit required");
     elseif (! strcmp (defaulttoolkit, "gnuplot"))
-      warning ("uiputfile: no implementation for toolkit `%s', using `fltk' instead",
+      warning ("uiputfile: no implementation for toolkit '%s', using 'fltk' instead",
                defaulttoolkit);
     endif
   endif
--- a/scripts/signal/stft.m
+++ b/scripts/signal/stft.m
@@ -78,7 +78,7 @@
       elseif (strcmp (win_type, "rectangle"))
         win_type = 3;
       else
-        error ("stft: unknown window type `%s'", win_type);
+        error ("stft: unknown window type '%s'", win_type);
       endif
     endif
   else
--- a/scripts/statistics/base/mean.m
+++ b/scripts/statistics/base/mean.m
@@ -121,7 +121,7 @@
   elseif (strcmp (opt, "h"))
     y = n ./ sum (1 ./ x, dim);
   else
-    error ("mean: option `%s' not recognized", opt);
+    error ("mean: option '%s' not recognized", opt);
   endif
 
 endfunction
--- a/scripts/statistics/tests/anova.m
+++ b/scripts/statistics/tests/anova.m
@@ -50,14 +50,14 @@
     print_usage ();
   elseif (nargin == 1)
     if (isvector (y))
-      error ("anova: for `anova (Y)', Y must not be a vector");
+      error ("anova: for 'anova (Y)', Y must not be a vector");
     endif
     [group_count, k] = size (y);
     n = group_count * k;
     group_mean = mean (y);
   else
     if (! isvector (y))
-      error ("anova: for `anova (Y, G)', Y must be a vector");
+      error ("anova: for 'anova (Y, G)', Y must be a vector");
     endif
     n = length (y);
     if (! isvector (g) || (length (g) != n))
--- a/scripts/statistics/tests/cor_test.m
+++ b/scripts/statistics/tests/cor_test.m
@@ -113,7 +113,7 @@
     t.dist = "stdnormal";
     cdf = stdnormal_cdf (t.stat);
   else
-    error ("cor_test: METHOD `%s' not recognized", method);
+    error ("cor_test: METHOD '%s' not recognized", method);
   endif
 
   if (strcmp (alt, "!=") || strcmp (alt, "<>"))
@@ -123,7 +123,7 @@
   elseif (strcmp (alt, "<"))
     t.pval = cdf;
   else
-    error ("cor_test: alternative `%s' not recognized", alt);
+    error ("cor_test: alternative '%s' not recognized", alt);
   endif
 
   t.alternative = alt;
--- a/scripts/statistics/tests/t_test_regression.m
+++ b/scripts/statistics/tests/t_test_regression.m
@@ -86,7 +86,7 @@
   elseif (strcmp (alt, "<"))
     pval = cdf;
   else
-    error ("t_test_regression: the value `%s' for alt is not possible", alt);
+    error ("t_test_regression: the value '%s' for alt is not possible", alt);
   endif
 
   if (nargout == 0)
--- a/test/test_eval-catch.m
+++ b/test/test_eval-catch.m
@@ -32,8 +32,8 @@
 %% test/octave.test/eval-catch/eval-catch-5.m
 %!test
 %! eval ("clear a; a; str = '';", "str=lasterr;");
-%! assert (lasterr()(1:13), "`a' undefined");
-%! assert (str(1:13), "`a' undefined");
+%! assert (lasterr()(1:13), "'a' undefined");
+%! assert (str(1:13), "'a' undefined");
 
 %% test/octave.test/eval-catch/eval-catch-6.m
 %!test
@@ -48,26 +48,26 @@
 %!endfunction
 %!test
 %! eval ("clear a; a; str='';", "str = mangle (lasterr);");
-%! assert (mangle(lasterr)(1:14), "<`a' undefined");
-%! assert (str(1:14), "<`a' undefined");
+%! assert (mangle(lasterr)(1:14), "<'a' undefined");
+%! assert (str(1:14), "<'a' undefined");
 
 %% test/octave.test/eval-catch/eval-catch-8.m
 %!test
 %! eval ("eval (\"clear a; a;str1='';\", \"str1=lasterr;\"); clear b; b; str2='';",
 %! "str2 = lasterr;");
-%! assert (str1(1:13), "`a' undefined");
-%! assert (str2(1:13), "`b' undefined");
+%! assert (str1(1:13), "'a' undefined");
+%! assert (str2(1:13), "'b' undefined");
 
 %% test/octave.test/eval-catch/eval-catch-9.m
 %!test
 %! eval ("clear a; a; str1='';",
 %! "eval (\"clear b; b; str2='';\", \"str2=lasterr;\"); str1=lasterr;");
-%! assert (str1(1:13), "`b' undefined");
-%! assert (str2(1:13), "`b' undefined");
+%! assert (str1(1:13), "'b' undefined");
+%! assert (str2(1:13), "'b' undefined");
 
 %% test/octave.test/eval-catch/eval-catch-10.m
 %!test
 %! eval ("eval (\"clear a; a; str='';\",\"error (cstrcat (\\\"rethrow: \\\", lasterr));str='';\");",
 %! "str=lasterr;");
-%! assert (str(1:22), "rethrow: `a' undefined");
+%! assert (str(1:22), "rethrow: 'a' undefined");
 
--- a/test/test_try.m
+++ b/test/test_try.m
@@ -63,9 +63,9 @@
 %!   a;
 %!   error ("Shoudn't get here");
 %! catch
-%!   assert (lasterr()(1:13), "`a' undefined");
+%!   assert (lasterr()(1:13), "'a' undefined");
 %! end_try_catch
-%! assert (lasterr()(1:13), "`a' undefined");
+%! assert (lasterr()(1:13), "'a' undefined");
 
 %% test/octave.test/try/try-6.m
 %!test 
@@ -86,7 +86,7 @@
 %!   a;
 %!   error ("Shoudn't get here");
 %! catch
-%!   assert (mangle (lasterr)(1:14), "<`a' undefined");
+%!   assert (mangle (lasterr)(1:14), "<'a' undefined");
 %! end_try_catch
 
 %% test/octave.test/try/try-8.m
@@ -97,13 +97,13 @@
 %!     a;
 %!     error ("Shoudn't get here");
 %!   catch
-%!     assert (lasterr()(1:13), "`a' undefined");
+%!     assert (lasterr()(1:13), "'a' undefined");
 %!   end_try_catch
 %!   clear b;
 %!   b;
 %!   error ("Shoudn't get here");
 %! catch
-%!   assert (lasterr()(1:13), "`b' undefined");
+%!   assert (lasterr()(1:13), "'b' undefined");
 %! end_try_catch
 
 %% test/octave.test/try/try-9.m
@@ -114,12 +114,12 @@
 %!   error ("Shoudn't get here");
 %! catch
 %!   try
-%!     assert (lasterr()(1:13), "`a' undefined");
+%!     assert (lasterr()(1:13), "'a' undefined");
 %!     clear b;
 %!     b;
 %!     error ("Shoudn't get here");
 %!   catch
-%!     assert (lasterr()(1:13), "`b' undefined");
+%!     assert (lasterr()(1:13), "'b' undefined");
 %!   end_try_catch
 %! end_try_catch
 
@@ -134,6 +134,6 @@
 %!     error (cstrcat ("rethrow: ", lasterr));
 %!   end_try_catch
 %! catch
-%!   assert (lasterr()(1:22), "rethrow: `a' undefined");
+%!   assert (lasterr()(1:22), "rethrow: 'a' undefined");
 %! end_try_catch