Fix m4_cr_all for EBCDIC.

* lib/m4sugar/m4sugar.m4 (m4_cr_all): Swap * and $, so that we
don't end up with $* in EBCDIC.
* NEWS: Document the fix.
* THANKS: Update.
Reported by Steve Goetze.

Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Eric Blake 2010-04-05 08:06:17 -06:00
parent c22b5e03a9
commit 456953a61b
4 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,12 @@
2010-04-05 Eric Blake <eblake@redhat.com>
Fix m4_cr_all for EBCDIC.
* lib/m4sugar/m4sugar.m4 (m4_cr_all): Swap * and $, so that we
don't end up with $* in EBCDIC.
* NEWS: Document the fix.
* THANKS: Update.
Reported by Steve Goetze.
2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Do not use @acronym in the manual.

2
NEWS
View File

@ -14,6 +14,8 @@ GNU Autoconf NEWS - User visible changes.
** AC_PROG_INSTALL correctly uses `shtool' again. Regression introduced
in 2.64.
** Autoconf should work on EBCDIC hosts.
* Major changes in Autoconf 2.65 (2009-11-21) [stable]
Released by Eric Blake, based on git versions 2.64.*.

1
THANKS
View File

@ -362,6 +362,7 @@ Stephen Gildea filtered@against.spam
Stephen Rasku srasku@mail.tantalus-systems.com
Stephen P. Schaefer sschaefer@acm.org
Steve Chamberlain sac@cygnus.com
Steve Goetze goetze@dovetail.com
Steve Huston shuston@riverace.com
Steve Robbins steve@nyongwa.montreal.qc.ca
Steven G. Johnson stevenj@alum.mit.edu

View File

@ -2192,13 +2192,16 @@ m4_defn([m4_cr_digits])dnl
# characters via m4_translit must deal with the fact that m4_translit does
# not add quotes to the output.
#
# In EBCDIC, $ is immediately followed by *, which leads to problems
# if m4_cr_all is inlined into a macro definition; so swap them.
#
# It is mainly useful in generating inverted character range maps, for use
# in places where m4_translit is faster than an equivalent m4_bpatsubst;
# the regex `[^a-z]' is equivalent to:
# m4_translit(m4_dquote(m4_defn([m4_cr_all])), [a-z])
m4_define([m4_cr_all],
m4_translit(m4_dquote(m4_format(m4_dquote(m4_for(
,1,255,,[[%c]]))m4_for([i],1,255,,[,i]))), [-])-)
,1,255,,[[%c]]))m4_for([i],1,255,,[,i]))), [$*-], [*$])-)
# _m4_define_cr_not(CATEGORY)