diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l
index a41d436f86e7ba3c33504c193d9240d91b3393fb..948059868e5df5f998d8b1c880a18093523ce5f1 100644
--- a/Parser/Gmsh.l
+++ b/Parser/Gmsh.l
@@ -462,6 +462,12 @@ void skip(const char *skip, const char *until)
         else if(c_next ==  '/') skipline();
         else unput(c_next);
       }
+      if(chars[0] == '"'){
+        parsestring('"');
+      }
+      if(chars[0] == '\''){
+        parsestring('\'');
+      }
       if(!c_previous || !is_alpha(c_previous)){
         if(chars[0] == until[0]) break;
         if(skip && chars[0] == skip[0]) break;
diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp
index d24bcba714d2482b48228359d20f3ab073f3dfdd..7ec9cb1e6076929c20810dc0430f8931f2fb361d 100644
--- a/Parser/Gmsh.yy.cpp
+++ b/Parser/Gmsh.yy.cpp
@@ -3991,6 +3991,12 @@ void skip(const char *skip, const char *until)
         else if(c_next ==  '/') skipline();
         else unput(c_next);
       }
+      if(chars[0] == '"'){
+        parsestring('"');
+      }
+      if(chars[0] == '\''){
+        parsestring('\'');
+      }
       if(!c_previous || !is_alpha(c_previous)){
         if(chars[0] == until[0]) break;
         if(skip && chars[0] == skip[0]) break;
diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi
index e2755e7d47c747c6881ca31bb0de8dbe3a13983d..3d8467976d565079c4889d41a45093c97e6b423d 100644
--- a/doc/texinfo/gmsh.texi
+++ b/doc/texinfo/gmsh.texi
@@ -858,7 +858,7 @@ parsing of the script file:
   StringToName(@var{char-expression}) | S2N(@var{char-expression}) |
   GetNumber(@var{char-expression} <,@var{expression}>) |
   GetValue("@var{string}", @var{expression}) |
-  DefineNumber(@var{expression}, @var{onelab-options}) |
+  DefineNumber(@var{expression}, @var{onelab-options})
 @end example
 
 Such @w{@var{expression}s} are used in most of Gmsh's scripting