This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU M4 source repository".
http://git.sv.gnu.org/gitweb/?p=m4.git;a=commitdiff;h=747b093a76d4934534994ddb8c0ddbb33b593f8c The branch, master has been updated via 747b093a76d4934534994ddb8c0ddbb33b593f8c (commit) via 2bedb20e510295151457d8759bcd1e34d97af561 (commit) from 8b8afe81fe7dbda9cf1dea6c18a1b4d56e871c7e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 747b093a76d4934534994ddb8c0ddbb33b593f8c Author: Eric Blake <[email protected]> Date: Wed Feb 24 16:20:45 2010 -0700 Improve parsing example. * doc/m4.texinfo (Input processing): Double-quote argument to translit, for robustness. * THANKS: Update. Reported by Chris Penev. Signed-off-by: Eric Blake <[email protected]> (cherry picked from commit b4f66285d8252196e1b4c6acf55eda3c1118e580) commit 2bedb20e510295151457d8759bcd1e34d97af561 Author: Eric Blake <[email protected]> Date: Thu Jan 7 10:25:33 2010 -0700 Document upcoming release. * gnulib: Update to latest. * doc/m4.texinfo (History): Mention 1.4.14. * Makefile.am (src/getopt.h): Drop dependence on now-obsolete link-warning.h. Signed-off-by: Eric Blake <[email protected]> (cherry picked from commit d0489f2a57e649b22f719ed8670ca3733c4febd4) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 16 ++++++++++++++++ Makefile.am | 4 +--- THANKS | 1 + doc/m4.texinfo | 15 +++++++++------ gnulib | 2 +- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9faab84..12ccadf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2010-02-24 Eric Blake <[email protected]> + + Improve parsing example. + * doc/m4.texinfo (Input processing): Double-quote argument to + translit, for robustness. + * THANKS: Update. + Reported by Chris Penev. + +2010-01-29 Eric Blake <[email protected]> + + Document upcoming release. + * gnulib: Update to latest. + * doc/m4.texinfo (History): Mention 1.4.14. + * Makefile.am (src/getopt.h): Drop dependence on now-obsolete + link-warning.h. + 2010-01-08 Eric Blake <[email protected]> Address remaining 'make syntax-check' findings. diff --git a/Makefile.am b/Makefile.am index ecba57f..16e2be9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -116,19 +116,17 @@ BUILT_SOURCES += src/$(GETOPT_H) endif EXTRA_DIST += src/getopt.c src/getopt1.c src/getopt.in.h src/getopt_int.h -LINK_WARNING_H = $(srcdir)/$(config_aux_dir)/link-warning.h ARG_NONNULL_H = $(srcdir)/$(config_aux_dir)/arg-nonnull.h # We need the following in order to create an <getopt.h> when the # system doesn't have one that works with the given compiler. -src/getopt.h: src/getopt.in.h $(LINK_WARNING_H) $(ARG_NONNULL_H) +src/getopt.h: src/getopt.in.h $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $...@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ - -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ < $(srcdir)/src/getopt.in.h; \ } > $...@-t && \ diff --git a/THANKS b/THANKS index 3512369..7bd8b0a 100644 --- a/THANKS +++ b/THANKS @@ -33,6 +33,7 @@ Bruno Haible [email protected] Cesar Strauss [email protected] Charles Wilson [email protected] Chris McGuire [email protected] +Chris Penev [email protected] Damian Menscher [email protected] Dan Jacobson [email protected] Daniel Richard G. [email protected] diff --git a/doc/m4.texinfo b/doc/m4.texinfo index 2d4a81b..fa0c6fd 100644 --- a/doc/m4.texinfo +++ b/doc/m4.texinfo @@ -1392,13 +1392,15 @@ whitespace so that less whitespace is output (which, although harmless to shell scripts, can be visually unappealing), and fixes the quoting issues so that the capitalization occurs when the macro @samp{gl_STRING_MODULE_INDICATOR} is invoked, rather then when it is -defined. +defined. It also adds another layer of quoting to the first argument of +...@code{translit}, to ensure that the output will be rescanned as a string +rather than a potential uppercase macro name needing further expansion. @example changequote([,])dnl define([gl_STRING_MODULE_INDICATOR], [dnl comment - GNULIB_[]translit([$1], [a-z], [A-Z])=1dnl + GNULIB_[]translit([[$1]], [a-z], [A-Z])=1dnl ])dnl gl_STRING_MODULE_INDICATOR([strcase]) @result{} GNULIB_STRCASE=1 @@ -1407,7 +1409,7 @@ define([gl_STRING_MODULE_INDICATOR], The parsing of the first line is unchanged. The second line sees the name of the macro to define, then sees the discarded @sa...@key{nl}} and two spaces, as before. But this time, the next token is -...@samp{[dnl comm...@key{nl}@ @ GNULIB_[]translit([$1], [a-z], +...@samp{[dnl comm...@key{nl}@ @ GNULIB_[]translit([[$1]], [a-z], [A-Z])=1...@key{nl}]}, which includes nested quotes, followed by @samp{)} to end the macro definition and @samp{dnl} to skip the newline. No early expansion of @code{translit} occurs, so the entire @@ -1424,10 +1426,11 @@ output literally. The token @samp{[]} is an empty string, so it does not affect output. Then the token @samp{translit} is encountered. This time, the arguments to @code{translit} are parsed as @samp{(}, -...@samp{[strcase]}, @samp{,}, @samp{ }, @samp{[a-z]}, @samp{,}, @samp{ }, +...@samp{[[strcase]]}, @samp{,}, @samp{ }, @samp{[a-z]}, @samp{,}, @samp{ }, @samp{[A-Z]}, and @samp{)}. The two spaces are discarded, and the -translit results in the desired result @samp{STRCASE}. This is -rescanned, but since it is not a macro name, it is output literally. +translit results in the desired result @samp{[STRCASE]}. This is +rescanned, but since it is a string, the quotes are stripped and the +only output is a literal @samp{STRCASE}. Then the scanner sees @samp{=} and @samp{1}, which are output literally, followed by @samp{dnl} which discards the rest of the definition of @code{gl_STRING_MODULE_INDICATOR}. The newline at the diff --git a/gnulib b/gnulib index c535f44..6c53c90 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit c535f4489b41f28afd115ae331d69595ea41b6a1 +Subproject commit 6c53c9025551ed72e7011f8de83aca2639bc5bfa hooks/post-receive -- GNU M4 source repository
