Improve wording about m4 quote characters.

* doc/autoconf.texi (Autoconf Language): Autoconf quote characters
come from m4sugar, not raw m4.
(Active Characters): Mention that it is m4sugar which changes
quotes from `' to [].
* THANKS: Update.
Suggested by Josef Vukovic.

Signed-off-by: Eric Blake <ebb9@byu.net>
This commit is contained in:
Eric Blake 2009-12-12 07:03:46 -07:00
parent d30a7f6691
commit 3fbac862d7
3 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,13 @@
2009-12-12 Eric Blake <ebb9@byu.net>
Improve wording about m4 quote characters.
* doc/autoconf.texi (Autoconf Language): Autoconf quote characters
come from m4sugar, not raw m4.
(Active Characters): Mention that it is m4sugar which changes
quotes from `' to [].
* THANKS: Update.
Suggested by Josef Vukovic.
2009-12-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Revert "Improve AC_CONFIG_AUX_DIRS a bit." to fix shtool usage.

1
THANKS
View File

@ -193,6 +193,7 @@ John R. Cary cary@txcorp.com
John W. Eaton jwe@bevo.che.wisc.edu
Jonathan Kamens jik@kamens.brookline.ma.us
Josef Tran josef@timetrackertechnology.com
Josef Vukovic josefvukovic@googlemail.com
Joseph S. Myers jsm28@cam.ac.uk
Jules Colding colding@42tools.com
Julian Onions j.onions@nexor.co.uk

View File

@ -1133,12 +1133,13 @@ quotation.
When calling macros that take arguments, there must not be any white
space between the macro name and the open parenthesis. Arguments should
be enclosed within the M4 quote characters @samp{[} and @samp{]}, and be
be enclosed within the quote characters @samp{[} and @samp{]}, and be
separated by commas. Any leading blanks or newlines in arguments are ignored,
unless they are quoted. You should always quote an argument that
might contain a macro name, comma, parenthesis, or a leading blank or
newline. This rule applies recursively for every macro
call, including macros called from other macros.
call, including macros called from other macros. For more details on
quoting rules, see @ref{Programming in M4}.
For instance:
@ -9864,7 +9865,9 @@ former helps one to follow the latter.
To fully understand where proper quotation is important, you first need
to know what the special characters are in Autoconf: @samp{#} introduces
a comment inside which no macro expansion is performed, @samp{,}
separates arguments, @samp{[} and @samp{]} are the quotes themselves,
separates arguments, @samp{[} and @samp{]} are the quotes
themselves@footnote{By itself, M4 uses @samp{`} and @samp{'}; it is the
M4sugar layer that sets up the preferred quotes of @samp{[} and @samp{]}.},
@samp{(} and @samp{)} (which M4 tries to match by pairs), and finally
@samp{$} inside a macro definition.