mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
Implement @gettext<...@> directive to call gettext from skeletons. It
can be used anywhere including inside arguments of directives of the form @foo(...@). Eventually, it should be possible to write an xgettext-like utility to extract @gettext<...@> text from skeletons. * data/bison.m4 (b4_check_user_names): Use @gettext<...@> when invoking b4_warn_at since b4_warn_at doesn't invoke gettext anymore. * data/glr.cc, data/lalr1.cc: Likewise but for b4_fatal and b4_complain reporting a push-parsing request or a missing %defines. * src/scan-skel.l (INITIAL): Recognize `@gettext<' to start... (SC_AT_GETTEXT_ARG): ... this new start condition where gettext is invoked. (SC_AT_DIRECTIVE_ARG): Rename to... (SC_AT_DIRECTIVE_ARGS): ... this, and recognize `@gettext<' to start SC_AT_GETTEXT_ARG. (at_directive_perform): Don't invoke gettext for @warn(...@), @warn_at(...@), etc. Instead, let the skeletons decide what should be passed to @gettext<...@>. * tests/skeletons.at (@gettext<...@>): New test case. * tests/skeletons.at (installed skeleton file name): Rename to... (installed skeleton file names): ... this.
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
AT_BANNER([[Skeletons Support.]])
|
||||
AT_BANNER([[Skeleton Support.]])
|
||||
|
||||
## ------------------------------ ##
|
||||
## relative skeleton file names. ##
|
||||
@@ -78,11 +78,11 @@ AT_CHECK([[cat input-cmd-line.tab.c]], [[0]],
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ------------------------------ ##
|
||||
## installed skeleton file name. ##
|
||||
## ------------------------------ ##
|
||||
## ------------------------------- ##
|
||||
## installed skeleton file names. ##
|
||||
## ------------------------------- ##
|
||||
|
||||
AT_SETUP([[installed skeleton file name]])
|
||||
AT_SETUP([[installed skeleton file names]])
|
||||
|
||||
m4_pushdef([AT_GRAM],
|
||||
[[%{
|
||||
@@ -141,3 +141,35 @@ AT_PARSER_CHECK([[./input-gram]], [[1]], [],
|
||||
m4_popdef([AT_GRAM])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ---------------- ##
|
||||
## @gettext<...@>. ##
|
||||
## ---------------- ##
|
||||
|
||||
AT_SETUP([[@gettext<...@>]])
|
||||
|
||||
AT_DATA([[skel.c]],
|
||||
[[m4@&t@_divert_push(0)d@&t@nl
|
||||
@output(b4_parser_file_name@)d@&t@nl
|
||||
b4_warn([[@gettext<cannot close file@>]])d@&t@nl
|
||||
`@gettext<cannot close file@>'
|
||||
m4@&t@_divert_pop(0)
|
||||
]])
|
||||
|
||||
AT_DATA([[input.y]],
|
||||
[[%skeleton "./skel.c"
|
||||
%%
|
||||
start: ;
|
||||
]])
|
||||
|
||||
AT_CHECK([[LC_ALL= LC_MESSAGES= LANGUAGE=fr LANG=fr_FR bison input.y]], [[0]],
|
||||
[],
|
||||
[[input.y: AVERTISSEMENT: ne peut fermer le fichier
|
||||
]])
|
||||
|
||||
AT_CHECK([[cat input.tab.c]], [[0]],
|
||||
[[`ne peut fermer le fichier'
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
Reference in New Issue
Block a user