mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 02:03:03 +00:00
c, c++: provide a default definition for N_
In C/C++, N_ is a no-op. Define it if the user didn't. Suggested by Frank Heckenbach. https://lists.gnu.org/r/bug-bison/2020-04/msg00010.html * src/output.c (prepare_symbol_names): Rename has_translations as has_translations_flag. * data/skeletons/bison.m4 (b4_has_translations_if): New. * data/skeletons/java.m4 (b4_trans): Use it. * data/skeletons/glr.c, data/skeletons/lalr1.cc, data/skeletons/yacc.c (N_): Provide a default definition.
This commit is contained in:
@@ -369,6 +369,7 @@ m4_define([b4_$3_if],
|
|||||||
# Expand IF-TRUE, if FLAG is true, IF-FALSE otherwise.
|
# Expand IF-TRUE, if FLAG is true, IF-FALSE otherwise.
|
||||||
b4_define_flag_if([defines]) # Whether headers are requested.
|
b4_define_flag_if([defines]) # Whether headers are requested.
|
||||||
b4_define_flag_if([glr]) # Whether a GLR parser is requested.
|
b4_define_flag_if([glr]) # Whether a GLR parser is requested.
|
||||||
|
b4_define_flag_if([has_translations]) # Whether some tokens are internalionalized.
|
||||||
b4_define_flag_if([nondeterministic]) # Whether conflicts should be handled.
|
b4_define_flag_if([nondeterministic]) # Whether conflicts should be handled.
|
||||||
b4_define_flag_if([token_table]) # Whether yytoken_table is demanded.
|
b4_define_flag_if([token_table]) # Whether yytoken_table is demanded.
|
||||||
b4_define_flag_if([yacc]) # Whether POSIX Yacc is emulated.
|
b4_define_flag_if([yacc]) # Whether POSIX Yacc is emulated.
|
||||||
|
|||||||
@@ -261,6 +261,11 @@ static YYLTYPE yyloc_default][]b4_yyloc_default;])[
|
|||||||
# define YY_(Msgid) Msgid
|
# define YY_(Msgid) Msgid
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
]b4_has_translations_if([
|
||||||
|
#ifndef N_
|
||||||
|
# define N_(Msgid) Msgid
|
||||||
|
#endif
|
||||||
|
])[
|
||||||
|
|
||||||
#ifndef YYFREE
|
#ifndef YYFREE
|
||||||
# define YYFREE free
|
# define YYFREE free
|
||||||
|
|||||||
@@ -344,7 +344,7 @@ m4_define([b4_symbol_translate],
|
|||||||
# ----------------
|
# ----------------
|
||||||
# Translate a string if i18n is enabled. Avoid collision with b4_translate.
|
# Translate a string if i18n is enabled. Avoid collision with b4_translate.
|
||||||
m4_define([b4_trans],
|
m4_define([b4_trans],
|
||||||
[m4_if(b4_has_translations, 0, [$1], [i18n($1)])])
|
[b4_has_translations_if([i18n($1)], [$1])])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -523,6 +523,11 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
# define YY_(msgid) msgid
|
# define YY_(msgid) msgid
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
]b4_has_translations_if([
|
||||||
|
#ifndef N_
|
||||||
|
# define N_(Msgid) Msgid
|
||||||
|
#endif
|
||||||
|
])[
|
||||||
|
|
||||||
// Whether we are compiled with exception support.
|
// Whether we are compiled with exception support.
|
||||||
#ifndef YY_EXCEPTIONS
|
#ifndef YY_EXCEPTIONS
|
||||||
|
|||||||
@@ -463,6 +463,11 @@ typedef int yy_state_fast_t;
|
|||||||
# define YY_(Msgid) Msgid
|
# define YY_(Msgid) Msgid
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
]b4_has_translations_if([
|
||||||
|
#ifndef N_
|
||||||
|
# define N_(Msgid) Msgid
|
||||||
|
#endif
|
||||||
|
])[
|
||||||
|
|
||||||
]b4_attribute_define[
|
]b4_attribute_define[
|
||||||
|
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ prepare_symbol_names (char const *muscle_name)
|
|||||||
muscle_insert (muscle_name, obstack_finish0 (&format_obstack));
|
muscle_insert (muscle_name, obstack_finish0 (&format_obstack));
|
||||||
|
|
||||||
/* Announce whether translation support is needed. */
|
/* Announce whether translation support is needed. */
|
||||||
MUSCLE_INSERT_BOOL ("has_translations", has_translations);
|
MUSCLE_INSERT_BOOL ("has_translations_flag", has_translations);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user