changeset 23804:8057d3f0673d

Use C++11 raw string literals to avoid escaping backslashes in strings. * file-editor-tab.cc, octave-qscintilla.cc, graphics.cc, help.cc, input.cc, oct-stream.cc, regexp.cc, sparse-xdiv.cc, sysdep.cc, utils.cc, xdiv.cc, ov-java.cc, ov.cc, file-ops.cc, lo-sysdep.cc, oct-env.cc, mkoctfile.in.cc, shared-fcns.h: Replace regular strings containing "\\" patterns with R"(...\...)".
author Rik <rik@octave.org>
date Fri, 28 Jul 2017 11:19:36 -0700
parents 90689bdbe048
children bf061a189af9
files libgui/src/m-editor/file-editor-tab.cc libgui/src/m-editor/octave-qscintilla.cc libinterp/corefcn/graphics.cc libinterp/corefcn/help.cc libinterp/corefcn/input.cc libinterp/corefcn/oct-stream.cc libinterp/corefcn/regexp.cc libinterp/corefcn/sparse-xdiv.cc libinterp/corefcn/sysdep.cc libinterp/corefcn/utils.cc libinterp/corefcn/xdiv.cc libinterp/octave-value/ov-java.cc libinterp/octave-value/ov.cc liboctave/system/file-ops.cc liboctave/system/lo-sysdep.cc liboctave/system/oct-env.cc src/mkoctfile.in.cc src/shared-fcns.h
diffstat 18 files changed, 37 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor-tab.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libgui/src/m-editor/file-editor-tab.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -744,9 +744,9 @@
 
               for (i=1; i<=3; i++) // test the first 5 keyword sets
                 {
-                  keyword = QString (lexer->keywords (i));          // get list
-                  keyword_list = keyword.split (QRegExp ("\\s+"));  // split
-                  for (j = 0; j < keyword_list.size (); j++)        // add to API
+                  keyword = QString (lexer->keywords (i));           // get list
+                  keyword_list = keyword.split (QRegExp (R"(\s+)")); // split
+                  for (j = 0; j < keyword_list.size (); j++)         // add to API
                     _lexer_apis->add (keyword_list.at (j));
                 }
             }
--- a/libgui/src/m-editor/octave-qscintilla.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libgui/src/m-editor/octave-qscintilla.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -497,7 +497,7 @@
         return;
       if (next_start == start)      // same => check if already is "end"
         {
-          QRegExp rx_start = QRegExp ("(\\w+)");
+          QRegExp rx_start = QRegExp (R"((\w+))");
           int tmp = rx_start.indexIn (next_line, start);
            if (tmp != -1 && is_end (rx_start.cap(1), first_word))
              return;
--- a/libinterp/corefcn/graphics.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/graphics.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -2511,9 +2511,9 @@
       else
         {
           // Matlab specifically uses "\default" to escape string setting
-          if (sval == "\\default")
+          if (sval == R"(\default)")
             rep->set (pname, "default");
-          else if (sval == "\\factory")
+          else if (sval == R"(\factory)")
             rep->set (pname, "factory");
           else
             rep->set (pname, val);
@@ -11784,7 +11784,7 @@
 
       if (pname != "timeout")
         {
-          if (pname.compare ("\\timeout"))
+          if (pname.compare (R"(\timeout)"))
             pname = "timeout";
 
           static octave_value wf_listener;
--- a/libinterp/corefcn/help.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/help.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -105,8 +105,8 @@
   ".^",
   "./",
   "/",
-  ".\\",
-  "\\",
+  R"(.\)",
+  R"(\)",
   ":",
   ";",
   "<",
--- a/libinterp/corefcn/input.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/input.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -127,7 +127,7 @@
   // Use literal "octave" instead of "\\s" to avoid setting the prompt
   // to "octave.exe" or "octave-gui", etc.
 
-  VPS1 = "octave:\\#> ";
+  VPS1 = R"(octave:\#> )";
   VPS2 = "> ";
   std::string VPS4 = "+ ";
 
--- a/libinterp/corefcn/oct-stream.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/oct-stream.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -3693,7 +3693,7 @@
         else if (param == "endofline")
           {
             bool valid = true;
-            std::string s = args(i+1).xstring_value ("%s: EndOfLine must be at most one character or '\\r\\n'", who.c_str ());
+            std::string s = args(i+1).xstring_value (R"(%s: EndOfLine must be at most one character or '\r\n')", who.c_str ());
             if (args(i+1).is_sq_string ())
               s = do_string_escapes (s);
             int l = s.length ();
@@ -3712,7 +3712,7 @@
               valid = false;
 
             if (! valid)
-              error ("%s: EndOfLine must be at most one character or '\\r\\n'",
+              error (R"(%s: EndOfLine must be at most one character or '\r\n')",
                      who.c_str ());
           }
         else
--- a/libinterp/corefcn/regexp.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/regexp.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -109,7 +109,7 @@
                 {
                   bad_esc_seq = true;
                   tmpi = 0;
-                  warning ("malformed octal escape sequence '\\o' -- converting to '\\0'");
+                  warning (R"(malformed octal escape sequence '\o' -- converting to '\0')");
                 }
               retval[i] = tmpi;
               j = k - 1;
@@ -204,7 +204,7 @@
                 }
               if (bad_esc_seq || (brace && s[k++] != '}'))
                 {
-                  warning ("malformed octal escape sequence '\\o' -- converting to '\\0'");
+                  warning (R"(malformed octal escape sequence '\o' -- converting to '\0')");
                   tmpi = 0;
                 }
               retval[i] = tmpi;
@@ -241,7 +241,7 @@
                 }
               if (bad_esc_seq || (brace && s[k++] != '}'))
                 {
-                  warning ("malformed hex escape sequence '\\x' -- converting to '\\0'");
+                  warning (R"(malformed hex escape sequence '\x' -- converting to '\0')");
                   tmpi = 0;
                 }
               retval[i] = tmpi;
--- a/libinterp/corefcn/sparse-xdiv.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/sparse-xdiv.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -59,7 +59,7 @@
       octave_idx_type a_nc = a.cols ();
       octave_idx_type b_nc = b.cols ();
 
-      octave::err_nonconformant ("operator \\", a_nr, a_nc, b_nr, b_nc);
+      octave::err_nonconformant (R"(operator \)", a_nr, a_nc, b_nr, b_nc);
     }
 
   return true;
--- a/libinterp/corefcn/sysdep.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/sysdep.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -149,7 +149,7 @@
 
   if (! bin_dir.empty ())
     {
-      size_t pos = bin_dir.rfind ("\\bin\\");
+      size_t pos = bin_dir.rfind (R"(\bin\)");
 
       if (pos != std::string::npos)
         octave::sys::env::putenv ("OCTAVE_HOME", bin_dir.substr (0, pos));
@@ -584,7 +584,7 @@
   // P_tmpdir, or they define it to a single backslash, neither of which
   // is particularly helpful.
 
-  if (retval.empty () || retval == "\\")
+  if (retval.empty () || retval == '\\')
     {
       retval = octave::sys::env::getenv ("TEMP");
 
@@ -592,7 +592,7 @@
         retval = octave::sys::env::getenv ("TMP");
 
       if (retval.empty ())
-        retval = "c:\\temp";
+        retval = R"(c:\temp)";
     }
 
   return retval;
--- a/libinterp/corefcn/utils.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/utils.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -714,7 +714,7 @@
                 }
 
               if (k == j+1)
-                warning ("malformed hex escape sequence '\\x' -- converting to '\\0'");
+                warning (R"(malformed hex escape sequence '\x' -- converting to '\0')");
 
               retval[i] = tmpi;
               j = k - 1;
@@ -722,7 +722,7 @@
             }
 
             default:
-              warning ("unrecognized escape sequence '\\%c' -- converting to '%c'", s[j], s[j]);
+              warning (R"(unrecognized escape sequence '\%c' -- converting to '%c')", s[j], s[j]);
               retval[i] = s[j];
               break;
             }
--- a/libinterp/corefcn/xdiv.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/corefcn/xdiv.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -67,7 +67,7 @@
                                                           : a.rows ());
       octave_idx_type b_nc = b.cols ();
 
-      octave::err_nonconformant ("operator \\", a_nr, a_nc, b_nr, b_nc);
+      octave::err_nonconformant (R"(operator \)", a_nr, a_nc, b_nr, b_nc);
     }
 
   return true;
--- a/libinterp/octave-value/ov-java.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/octave-value/ov-java.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -519,7 +519,7 @@
       // and load the symbol from the dll.
       std::string key, value;
 
-      key = "software\\javasoft\\java runtime environment";
+      key = R"(software\javasoft\java runtime environment)";
 
       value = octave::sys::env::getenv ("JAVA_VERSION");
       if (value.empty ())
@@ -534,7 +534,7 @@
           value = regval;
         }
 
-      key = key + "\\" + value;
+      key = key + '\\' + value;
       value = "RuntimeLib";
       jvm_lib_path = read_registry_string (key, value);
 
--- a/libinterp/octave-value/ov.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/libinterp/octave-value/ov.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -193,7 +193,7 @@
       return "^";
 
     case op_ldiv:
-      return "\\";
+      return R"(\)";
 
     case op_lt:
       return "<";
@@ -223,7 +223,7 @@
       return ".^";
 
     case op_el_ldiv:
-      return ".\\";
+      return R"(.\)";
 
     case op_el_and:
       return "&";
@@ -364,7 +364,7 @@
       return "/=";
 
     case op_ldiv_eq:
-      return "\\=";
+      return R"(\=)";
 
     case op_pow_eq:
       return "^=";
@@ -376,7 +376,7 @@
       return "./=";
 
     case op_el_ldiv_eq:
-      return ".\\=";
+      return R"(.\=)";
 
     case op_el_pow_eq:
       return ".^=";
--- a/liboctave/system/file-ops.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/liboctave/system/file-ops.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -234,7 +234,7 @@
       std::string dir_sep_str (void)
       {
 #if (defined (OCTAVE_HAVE_WINDOWS_FILESYSTEM) && ! defined (OCTAVE_HAVE_POSIX_FILESYSTEM))
-        return "\\";
+        return R"(\)";
 #else
         return "/";
 #endif
@@ -243,7 +243,7 @@
       std::string dir_sep_chars (void)
       {
 #if defined (OCTAVE_HAVE_WINDOWS_FILESYSTEM)
-        return "/\\";
+        return R"(/\)";
 #else
         return dir_sep_str ();
 #endif
--- a/liboctave/system/lo-sysdep.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/liboctave/system/lo-sysdep.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -62,7 +62,7 @@
 
 #if defined (OCTAVE_USE_WINDOWS_API)
       if (path.length () == 2 && path[1] == ':')
-        path += "\\";
+        path += '\\';
 #endif
 
       return octave_chdir_wrapper (path.c_str ());
--- a/liboctave/system/oct-env.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/liboctave/system/oct-env.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -207,8 +207,8 @@
 
       // Some versions of MinGW and MSVC either don't define P_tmpdir, or
       // define it to a single backslash.  In such cases just use C:\temp.
-      if (tempd.empty () || tempd == "\\")
-        tempd = "c:\\temp";
+      if (tempd.empty () || tempd == '\\')
+        tempd = R"(c:\temp)";
 
 #else
 
--- a/src/mkoctfile.in.cc	Fri Jul 28 10:34:33 2017 -0700
+++ b/src/mkoctfile.in.cc	Fri Jul 28 11:19:36 2017 -0700
@@ -151,7 +151,7 @@
 
 #if defined (OCTAVE_USE_WINDOWS_API)
   std::string DEFAULT_INCFLAGS
-    = "-I" + quote_path (vars["OCTINCLUDEDIR"] + "\\..")
+    = "-I" + quote_path (vars["OCTINCLUDEDIR"] + R"(\..)")
       + " -I" + quote_path (vars["OCTINCLUDEDIR"]);
 #else
   std::string DEFAULT_INCFLAGS
--- a/src/shared-fcns.h	Fri Jul 28 10:34:33 2017 -0700
+++ b/src/shared-fcns.h	Fri Jul 28 11:19:36 2017 -0700
@@ -52,7 +52,7 @@
       namebuf[MAX_PATH] = '\0';
 
       std::string exe_name = namebuf;
-      size_t pos = exe_name.rfind ("\\");
+      size_t pos = exe_name.rfind ('\\');
 
       if (pos != std::string::npos)
         bin_dir = exe_name.substr (0, pos + 1);
@@ -60,7 +60,7 @@
 
   if (! bin_dir.empty ())
     {
-      size_t pos = bin_dir.rfind ("\\bin\\");
+      size_t pos = bin_dir.rfind (R"(\bin\)");
 
       if (pos != std::string::npos)
         retval = bin_dir.substr (0, pos);
@@ -82,7 +82,7 @@
 #endif
 
 #if defined (OCTAVE_HAVE_WINDOWS_FILESYSTEM)
-static std::string dir_sep_chars = "/\\";
+static std::string dir_sep_chars = R"(/\)";
 #else
 static std::string dir_sep_chars = "/";
 #endif