]> git.saurik.com Git - bison.git/commitdiff
use a more consistent quoting style.
authorAkim Demaille <demaille@gostai.com>
Wed, 8 Feb 2012 09:28:58 +0000 (10:28 +0100)
committerAkim Demaille <demaille@gostai.com>
Wed, 8 Feb 2012 10:32:36 +0000 (11:32 +0100)
See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators.  Use shorter messages.  Factor similar
messages to a single format, to make localization easier.

* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
* src/scan-code.l, src/scan-gram.l, src/symtab.c:
Use quote() or quotearg_colon() on printf arguments instead of
quotes in the format string.
* data/bison.m4: Keep sync with the changes in muscle-tab.c.

* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
expected messages.

14 files changed:
data/bison.m4
lib/.gitignore
m4/.gitignore
src/files.c
src/getargs.c
src/muscle-tab.c
src/muscle-tab.h
src/reader.c
src/scan-code.l
src/scan-gram.l
src/symtab.c
tests/input.at
tests/regression.at
tests/skeletons.at

index 7dfb1a72f6482b86aa23253a07cb1c30688b3a97..37bc012f58f9f1822cbba76389ccbc1255b751ce 100644 (file)
@@ -598,7 +598,7 @@ m4_define([b4_percent_define_get_loc],
           [m4_pushdef([b4_loc], m4_indir([b4_percent_define_loc(]$1[)]))dnl
 b4_loc[]dnl
 m4_popdef([b4_loc])],
-          [b4_fatal([[undefined %%define variable '%s' passed to b4_percent_define_get_loc]], [$1])])])
+          [b4_fatal([[b4_percent_define_get_loc: undefined %%define variable '%s']], [$1])])])
 
 # b4_percent_define_get_syncline(VARIABLE)
 # ----------------------------------------
@@ -615,7 +615,7 @@ m4_popdef([b4_loc])],
 m4_define([b4_percent_define_get_syncline],
 [m4_ifdef([b4_percent_define_syncline(]$1[)],
           [m4_indir([b4_percent_define_syncline(]$1[)])],
-          [b4_fatal([[undefined %%define variable '%s' passed to b4_percent_define_get_syncline]], [$1])])])
+          [b4_fatal([[b4_percent_define_get_syncline: undefined %%define variable '%s']], [$1])])])
 
 # b4_percent_define_ifdef(VARIABLE, IF-TRUE, [IF-FALSE])
 # ------------------------------------------------------
@@ -659,7 +659,7 @@ m4_define([b4_percent_define_flag_if],
                                            [[invalid value for %%define Boolean variable '%s']],
                                            [$1])],
                            [[b4_percent_define_flag_if($1)]])])],
-  [b4_fatal([[undefined %%define variable '%s' passed to b4_percent_define_flag_if]], [$1])])])
+  [b4_fatal([[b4_percent_define_flag_if: undefined %%define variable '%s']], [$1])])])
 
 
 # b4_percent_define_default(VARIABLE, DEFAULT)
@@ -731,7 +731,7 @@ m4_define([_b4_percent_define_check_values],
                                      [[accepted value: '%s']],
                                      m4_dquote(b4_value))])])dnl
    m4_popdef([b4_good_value])],
-  [b4_fatal([[undefined %%define variable '%s' passed to b4_percent_define_check_values]], [$1])])])
+  [b4_fatal([[b4_percent_define_check_values: undefined %%define variable '%s']], [$1])])])
 
 # b4_percent_code_get([QUALIFIER])
 # --------------------------------
index 365b84d0dc04e6b646cd048062f3cd0824c1818b..5b14836bf1b3fdba539ae579150e53f7027d753f 100644 (file)
@@ -1,4 +1,3 @@
-
 /*.a
 /*.bak
 /*.o
 /xsize.h
 /xstrndup.c
 /xstrndup.h
-
 /c-strcaseeq.h
 /fd-hook.c
 /fd-hook.h
index 901724d0fbb214792b62fa75fb304ab46fd35dd7..01e5f645c225c047ad89cab53c4409e2d2eabc4d 100644 (file)
@@ -1,4 +1,3 @@
-
 /00gnulib.m4
 /alloca.m4
 /argmatch.m4
@@ -6,7 +5,9 @@
 /assert.m4
 /calloc.m4
 /cloexec.m4
+/close-stream.m4
 /close.m4
+/closeout.m4
 /codeset.m4
 /config-h.m4
 /configmake.m4
 /fcntl_h.m4
 /float_h.m4
 /fopen.m4
+/fpending.m4
 /fpieee.m4
 /fprintf-posix.m4
 /frexp.m4
 /frexpl.m4
+/fstat.m4
 /getdtablesize.m4
 /getopt.m4
 /gettext.m4
@@ -57,6 +60,8 @@
 /iswblank.m4
 /javacomp.m4
 /javaexec.m4
+/largefile.m4
+/ldexp.m4
 /ldexpl.m4
 /lib-ld.m4
 /lib-link.m4
 /memchr.m4
 /mmap-anon.m4
 /mode_t.m4
+/msvc-inval.m4
+/msvc-nothrow.m4
 /multiarch.m4
 /nls.m4
 /nocrash.m4
 /open.m4
+/pathmax.m4
 /perror.m4
 /pipe.m4
 /pipe2.m4
 /progtest.m4
 /quote.m4
 /quotearg.m4
+/raise.m4
 /rawmemchr.m4
 /realloc.m4
 /sched_h.m4
 /spawn-pipe.m4
 /spawn_h.m4
 /sprintf-posix.m4
+/ssize_t.m4
 /stat.m4
 /stdbool.m4
 /stddef_h.m4
 /strchrnul.m4
 /strdup.m4
 /strerror.m4
+/strerror_r.m4
 /string_h.m4
 /strndup.m4
 /strnlen.m4
 /xalloc.m4
 /xsize.m4
 /xstrndup.m4
-
-/fstat.m4
-/largefile.m4
-/ldexp.m4
-/msvc-inval.m4
-/msvc-nothrow.m4
-/pathmax.m4
-/raise.m4
-/ssize_t.m4
-/strerror_r.m4
-/close-stream.m4
-/closeout.m4
-/fpending.m4
index 66d92185d254cc30c8850917e06aed4909d1fcd9..d80b718d67db377971ee091a5f3a8cbe15719635 100644 (file)
@@ -25,6 +25,7 @@
 #include <dirname.h>
 #include <get-errno.h>
 #include <quote.h>
+#include <quotearg.h>
 #include <stdio-safer.h>
 #include <xstrndup.h>
 
@@ -109,7 +110,8 @@ xfopen (const char *name, const char *mode)
 
   ptr = fopen_safer (name, mode);
   if (!ptr)
-    error (EXIT_FAILURE, get_errno (), _("cannot open file '%s'"), name);
+    error (EXIT_FAILURE, get_errno (),
+           _("%s: cannot open"), quotearg_colon (name));
 
   return ptr;
 }
index 5fa3c4523e3a49e6e20d2e9975b9267684f6f1ed..e5d1faa362e06da8fdedf5bcce90f3411468da5d 100644 (file)
@@ -26,7 +26,6 @@
 #include <c-strcase.h>
 #include <configmake.h>
 #include <error.h>
-#include <quotearg.h>
 
 /* Hack to get <getopt.h> to declare getopt with a prototype.  */
 #if lint && ! defined __GNU_LIBRARY__
@@ -45,6 +44,7 @@
 #include "files.h"
 #include "getargs.h"
 #include "muscle-tab.h"
+#include "quote.h"
 #include "uniqstr.h"
 
 bool defines_flag;
@@ -421,14 +421,14 @@ language_argmatch (char const *arg, int prio, location loc)
             language = &valid_languages[i];
             return;
           }
-      msg = _("invalid language '%s'");
+      msg = _("%s: invalid language");
     }
   else if (language_prio == prio)
     msg = _("multiple language declarations are invalid");
   else
     return;
 
-  complain_at (loc, msg, arg);
+  complain_at (loc, msg, quotearg_colon (arg));
 }
 
 /*----------------------.
@@ -679,9 +679,9 @@ getargs (int argc, char *argv[])
   if (argc - optind != 1)
     {
       if (argc - optind < 1)
-        error (0, 0, _("missing operand after '%s'"), argv[argc - 1]);
+        error (0, 0, _("%s: missing operand"), quotearg_colon (argv[argc - 1]));
       else
-        error (0, 0, _("extra operand '%s'"), argv[optind + 1]);
+        error (0, 0, _("extra operand %s"), quote (argv[optind + 1]));
       usage (EXIT_FAILURE);
     }
 
index e366d33b1298943021ab2134cf8a5a1859c75dc0..bc1aa1fc183b313c6fb80d48c74394d57aad7565 100644 (file)
 #include "system.h"
 
 #include <hash.h>
-#include <quotearg.h>
 
 #include "complain.h"
 #include "files.h"
-#include "muscle-tab.h"
 #include "getargs.h"
+#include "muscle-tab.h"
+#include "quote.h"
 
 /* A key-value pair, along with storage that can be reclaimed when
    this pair is no longer needed.  */
@@ -439,8 +439,8 @@ muscle_percent_define_insert (char const *variable, location variable_loc,
         atoi (muscle_find_const (how_name));
       if (how_old == MUSCLE_PERCENT_DEFINE_F)
         return;
-      complain_at (variable_loc, _("%%define variable '%s' redefined"),
-                   variable);
+      complain_at (variable_loc, _("%%define variable %s redefined"),
+                   quote (variable));
       complain_at (muscle_percent_define_get_loc (variable),
                    _("previous definition"));
     }
@@ -503,8 +503,8 @@ muscle_percent_define_get_loc (char const *variable)
   char const *loc_name;
   loc_name = UNIQSTR_CONCAT ("percent_define_loc(", variable, ")");
   if (!muscle_find_const (loc_name))
-    fatal(_("undefined %%define variable '%s' passed to"
-            " muscle_percent_define_get_loc"), variable);
+    fatal(_("%s: undefined %%define variable %s"),
+          "muscle_percent_define_get_loc", quote (variable));
   return muscle_location_decode (loc_name);
 }
 
@@ -517,8 +517,8 @@ muscle_percent_define_get_syncline (char const *variable)
     UNIQSTR_CONCAT ("percent_define_syncline(", variable, ")");
   syncline = muscle_find_const (syncline_name);
   if (!syncline)
-    fatal(_("undefined %%define variable '%s' passed to"
-            " muscle_percent_define_get_syncline"), variable);
+    fatal(_("%s: undefined %%define variable %s"),
+          "muscle_percent_define_get_syncline", quote (variable));
   return syncline;
 }
 
@@ -563,14 +563,14 @@ muscle_percent_define_flag_if (char const *variable)
         {
           muscle_insert (invalid_boolean_name, "");
           complain_at(muscle_percent_define_get_loc (variable),
-                      _("invalid value for %%define Boolean variable '%s'"),
-                      variable);
+                      _("invalid value for %%define Boolean variable %s"),
+                      quote (variable));
         }
       free (value);
     }
   else
-    fatal(_("undefined %%define variable '%s' passed to muscle_percent_define_flag_if"),
-          variable);
+    fatal(_("%s: undefined %%define variable %s"),
+          "muscle_percent_define_flag", quote (variable));
 
   return result;
 }
@@ -621,10 +621,10 @@ muscle_percent_define_check_values (char const * const *values)
             {
               location loc = muscle_percent_define_get_loc (*variablep);
               complain_at(loc,
-                          _("invalid value for %%define variable '%s': '%s'"),
-                          *variablep, value);
+                          _("invalid value for %%define variable %s: %s"),
+                          quote (*variablep), quote_n (1, value));
               for (values = variablep + 1; *values; ++values)
-                complain_at (loc, _("accepted value: '%s'"), *values);
+                complain_at (loc, _("accepted value: %s"), quote (*values));
             }
           else
             {
@@ -634,9 +634,8 @@ muscle_percent_define_check_values (char const * const *values)
           free (value);
         }
       else
-        fatal(_("undefined %%define variable '%s' passed to"
-                " muscle_percent_define_check_values"),
-              *variablep);
+        fatal (_("%s: undefined %%define variable %s"),
+               "muscle_percent_define_check_values", quote (*variablep));
     }
 }
 
index 4bf8d66d4aab2689d28e3222759d44e6a6110696..5f701ae41a242aaee5dc7fb840d12a178230db2d 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef MUSCLE_TAB_H_
 # define MUSCLE_TAB_H_
 
+# include <quotearg.h>
+
 # include "location.h"
 
 void muscle_init (void);
index 60fe7bd03b70aeccb15cc6f3ee393649b8070851..107fe9010f008d33b191eee3e144cd8112c7f206 100644 (file)
@@ -130,8 +130,8 @@ record_merge_function_type (int merger, uniqstr type, location declaration_loc)
   if (merge_function->type != NULL && !UNIQSTR_EQ (merge_function->type, type))
     {
       complain_at (declaration_loc,
-                   _("result type clash on merge function '%s': <%s> != <%s>"),
-                   merge_function->name, type, merge_function->type);
+                   _("result type clash on merge function %s: <%s> != <%s>"),
+                   quote (merge_function->name), type, merge_function->type);
       complain_at (merge_function->type_declaration_location,
                    _("previous declaration"));
     }
index ba6adb1fd8e356fc684ae51fa46a94ee4ca01882..b8c0c1b069191c656686d68c5a3cea917a4958cb 100644 (file)
@@ -755,13 +755,13 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
             {
               if (rule->midrule_parent_rule)
                 complain_at (dollar_loc,
-                             _("$$ for the midrule at $%d of '%s'"
+                             _("$$ for the midrule at $%d of %s"
                                " has no declared type"),
                              rule->midrule_parent_rhs_index,
-                             effective_rule->content.sym->tag);
+                             quote (effective_rule->content.sym->tag));
               else
-                complain_at (dollar_loc, _("$$ of '%s' has no declared type"),
-                             rule->content.sym->tag);
+                complain_at (dollar_loc, _("$$ of %s has no declared type"),
+                             quote (rule->content.sym->tag));
             }
           else
             untyped_var_seen = true;
@@ -782,8 +782,8 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
       if (!type_name)
         {
           if (union_seen | tag_seen)
-            complain_at (dollar_loc, _("$%s of '%s' has no declared type"),
-                         cp, effective_rule->content.sym->tag);
+            complain_at (dollar_loc, _("$%s of %s has no declared type"),
+                         cp, quote (effective_rule->content.sym->tag));
           else
             untyped_var_seen = true;
           type_name = "";
index 449fbea98be05b85e8d5b2f8fcd6785149910355..e2e08f9ab9dbf62253ee67e27d4c59c0d5840c52 100644 (file)
@@ -39,6 +39,7 @@
 #include <ctype.h>
 #include <mbswidth.h>
 #include <quote.h>
+#include <streq.h>
 
 #include <src/scan-gram.h>
 
@@ -965,6 +966,10 @@ unexpected_end (boundary start, char const *msgid, char const *token_end)
   location loc;
   loc.start = start;
   loc.end = scanner_cursor;
+  token_end = quote (token_end);
+  // Instead of '\'', display "'".
+  if (STREQ (token_end, "'\\''", '\'', '\\', '\'', '\'', 0,0,0,0,0))
+    token_end = "\"'\"";
   complain_at (loc, _(msgid), token_end);
 }
 
@@ -977,7 +982,7 @@ unexpected_end (boundary start, char const *msgid, char const *token_end)
 static void
 unexpected_eof (boundary start, char const *token_end)
 {
-  unexpected_end (start, N_("missing '%s' at end of file"), token_end);
+  unexpected_end (start, N_("missing %s at end of file"), token_end);
 }
 
 
@@ -988,7 +993,7 @@ unexpected_eof (boundary start, char const *token_end)
 static void
 unexpected_newline (boundary start, char const *token_end)
 {
-  unexpected_end (start, N_("missing '%s' at end of line"), token_end);
+  unexpected_end (start, N_("missing %s at end of line"), token_end);
 }
 
 
index 07d5efb0be8f464ad8e966bf0ab0efe424fd1ed8..5a5956486ea46663b13fbf21f75e43f7b5a6e4c2 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "complain.h"
 #include "gram.h"
+#include "quote.h"
 #include "symtab.h"
 
 /*-------------------------------------------------------------------.
@@ -444,10 +445,10 @@ void
 symbol_make_alias (symbol *sym, symbol *str, location loc)
 {
   if (str->alias)
-    warn_at (loc, _("symbol '%s' used more than once as a literal string"),
+    warn_at (loc, _("symbol %s used more than once as a literal string"),
              str->tag);
   else if (sym->alias)
-    warn_at (loc, _("symbol '%s' given more than one literal string"),
+    warn_at (loc, _("symbol %s given more than one literal string"),
              sym->tag);
   else
     {
index 6a2bcdcc591fd1fea810928aa0252d15e3d4a4e4..84ae0ffe136d5c63db0291f51db310d2fcb4fc2f 100644 (file)
@@ -745,8 +745,8 @@ start: ;
 
 AT_BISON_CHECK([-o input.c input.y], 1, [],
 [[input.y:1.10-2.0: missing '"' at end of line
-input.y:4.10-5.0: missing ''' at end of line
-input.y:14.11-15.0: missing ''' at end of line
+input.y:4.10-5.0: missing "'" at end of line
+input.y:14.11-15.0: missing "'" at end of line
 input.y:16.11-17.0: missing '"' at end of line
 input.y:19.13-20.0: missing '}' at end of file
 input.y:20.1: syntax error, unexpected end of file
@@ -1206,9 +1206,9 @@ AT_CHECK([[perl -e "print 'start: \'';" >> empty.y || exit 77]])
 AT_BISON_CHECK([empty.y], [1], [],
 [[empty.y:2.8-9: warning: empty character literal
 empty.y:3.8-4.0: warning: empty character literal
-empty.y:3.8-4.0: missing ''' at end of line
+empty.y:3.8-4.0: missing "'" at end of line
 empty.y:4.8: warning: empty character literal
-empty.y:4.8: missing ''' at end of file
+empty.y:4.8: missing "'" at end of file
 ]])
 
 AT_DATA([two.y],
@@ -1221,9 +1221,9 @@ AT_CHECK([[perl -e "print 'start: \'ab';" >> two.y || exit 77]])
 AT_BISON_CHECK([two.y], [1], [],
 [[two.y:2.8-11: warning: extra characters in character literal
 two.y:3.8-4.0: warning: extra characters in character literal
-two.y:3.8-4.0: missing ''' at end of line
+two.y:3.8-4.0: missing "'" at end of line
 two.y:4.8-10: warning: extra characters in character literal
-two.y:4.8-10: missing ''' at end of file
+two.y:4.8-10: missing "'" at end of file
 ]])
 
 AT_DATA([three.y],
@@ -1236,9 +1236,9 @@ AT_CHECK([[perl -e "print 'start: \'abc';" >> three.y || exit 77]])
 AT_BISON_CHECK([three.y], [1], [],
 [[three.y:2.8-12: warning: extra characters in character literal
 three.y:3.8-4.0: warning: extra characters in character literal
-three.y:3.8-4.0: missing ''' at end of line
+three.y:3.8-4.0: missing "'" at end of line
 three.y:4.8-11: warning: extra characters in character literal
-three.y:4.8-11: missing ''' at end of file
+three.y:4.8-11: missing "'" at end of file
 ]])
 
 AT_CLEANUP
index 5affe4d9c62ab2c1a1c2f438cdee69ad060e2a1f..9aaedde0e8353274c9b7316d273db3f43ac6b8e4 100644 (file)
@@ -197,7 +197,7 @@ exp: '(' exp ')' | NUM ;
 ]])
 
 AT_BISON_CHECK([-v -o input.c input.y], 0, [],
-[[input.y:6.8-14: warning: symbol '"<="' used more than once as a literal string
+[[input.y:6.8-14: warning: symbol "<=" used more than once as a literal string
 ]])
 
 AT_CLEANUP
@@ -475,7 +475,7 @@ main (void)
 # the user specification is eliminated.
 AT_BISON_CHECK([-o input.c input.y], [[0]], [[]],
 [[input.y:22.8-14: warning: symbol SPECIAL redeclared
-input.y:22.8-63: warning: symbol '"\\'?\"\a\b\f\n\r\t\v\001\201\001\201??!"' used more than once as a literal string
+input.y:22.8-63: warning: symbol "\\'?\"\a\b\f\n\r\t\v\001\201\001\201??!" used more than once as a literal string
 ]])
 AT_COMPILE([input])
 
index eee57b0c1b74033e54adae0c747f1ad796ec4bad..1a9933fe84ada3d550211104f0833488dfb3f71c 100644 (file)
@@ -228,7 +228,7 @@ start: ;
 ]])
 
 AT_BISON_CHECK([[input3.y]], [[1]], [[]],
-[[input3.y: fatal error: undefined %define variable 'bogus' passed to b4_percent_define_get_loc
+[[input3.y: fatal error: b4_percent_define_get_loc: undefined %define variable 'bogus'
 ]])
 
 AT_DATA([[skel4.c]],
@@ -242,7 +242,7 @@ start: ;
 ]])
 
 AT_BISON_CHECK([[input4.y]], [[1]], [[]],
-[[input4.y: fatal error: undefined %define variable 'bogus' passed to b4_percent_define_get_syncline
+[[input4.y: fatal error: b4_percent_define_get_syncline: undefined %define variable 'bogus'
 ]])
 
 AT_CLEANUP