[BRLTTY] Building with Autoconf 2.62

Adrian P. van Bloois adrian at accu.uu.nl
Fri Sep 12 15:34:48 EDT 2008


On Fri, Sep 12, 2008 at 09:14:31PM +0200, Stepan Kasal wrote:
> Hello Dave,
>   I have written the patch, find it attached to this mail.
> (The name of the file is the same, but the contents differs from what
> I mailed previously.)
> Please bear with me for a moment, the explanation is somewhat longer.
> 
> I have noticed one more problem with Autoconf 2.62: the help is
> misformatted:
Maybe you should try autoconf 2.63, it has been released only just this
week.

> 
>   --with-text-table=FILE        default text table
>                                 - cz
>                                            Czech (iso-8859-2)
>                                 - da
>                                            Danish (iso-8859-1)
> 				etc.
> 
> The text for "cz" on the next line, while it should be on the same.
> 
> I traced this to the usage of m4_text_wrap in BRLTTY_TEXT_TABLE.
> Let me quote from
> http://www.gnu.org/software/autoconf/manual/html_node/Text-processing-Macros.html
> ---
> m4_text_wrap (STRING, [PREFIX], [PREFIX1], [WIDTH])
> [...] If PREFIX1 is longer than PREFIX, then the first line consists
> of just PREFIX1. [...] No expansions occur on PREFIX, PREFIX1, or
> STRING, [...]
> ---
> The NEWS file explains that the macro m4_text_wrap was first
> documented in 2.62, after some ``bug fixes or semantic changes.''
> 
> Then I realized that the above behaviour was a consequence of the
> fact that the parameter PREFIX1 was the long unexpanded string
> containing "m4_format([%-8s " etc.
> Later on, macro brltty_tables_text has been expanded again, so the
> cause of the problem was somewhat masked.
> 
> That's how I came to the second half of the attached patch.
> 
> Then I looked again to our original problem; I noticed that
> AS_HELP_STRING contains code to support the previous undocumented
> behaviour.  So there is no need to supply the number instead of the
> prefix, we just have to expand the prefix before we pass it, so that
> it is recognized.  In the patch, I'm using
>    ..., m4_defn([brltty_help_prefix]))
> but
>    ..., []brltty_help_prefix))
> would work as well, choose whatever you like more.
> 
> (m4_defn does expand only once, ie. not recursively, and the result
> is quoted.  The [] in the second is necessary to stop the white space
> skipping when macro parameters are collected.)
> 
> I have tested that the patch does work with Autoconf 2.62, and that
> it does not change a byte in the resulting configure with Autoconf
> 2.59.  It does apply cleanly to the svn version fo brltty.
> 
> On Thu, Sep 11, 2008 at 09:46:03AM -0400, Dave Mielke wrote:
> > Can you tell me how to test which release of autoconf is running?
> 
> So this is a purely academical question now.  Anyway:
> 
> Autoconf 2.62 has introduced macro AC_AUTOCONF_VERSION; in prior
> versions, this macro was not defined.  To compare versions, there is
> m4_version_compare, documented since 2.62.
> But in this particular case, you could use
> m4_ifdef([AC_AUTOCONF_VERSION],  ... )
> to check for version >= 2.62.
> If you are interested, see:
> http://www.gnu.org/software/autoconf/manual/html_node/Versioning.html
> 
> Have a nice day,
> 	Stepan Kasal

> 2008-09-12  Stepan Kasal  <skasal at redhat.com>
> 
> 
> 	* aclocal.m4 (BRLTTY_HELP_STRING, BRLTTY_TEXT_TABLE,
> 	BRLTTY_ATTRIBUTES_TABLE): Expand parameters to AC_HELP_STRING
> 	and m4_text_wrap, to be compatible with Autoconf 2.62+.
> 
> --- brltty-3.9.orig/aclocal.m4.orig	2007-10-17 17:19:31.000000000 +0200
> +++ brltty-3.9.orig/aclocal.m4	2008-09-12 18:05:21.000000000 +0200
> @@ -144,7 +144,7 @@
>  
>  AC_DEFUN([BRLTTY_HELP_STRING], [dnl
>  AC_HELP_STRING([$1], patsubst([$2], [
> -.*$]), [brltty_help_prefix])dnl
> +.*$]), m4_defn([brltty_help_prefix]))dnl
>  patsubst(patsubst([$2], [\`[^
>  ]*]), [
>  ], [\&brltty_help_prefix])[]dnl
> @@ -384,11 +384,11 @@
>  
>  AC_DEFUN([BRLTTY_TEXT_TABLE], [dnl
>  define([brltty_tables_text], ifdef([brltty_tables_text], [brltty_tables_text])[
> -m4_text_wrap([$2], [           ], [- m4_format([%-8s ], [$1])], brltty_help_width)])])
> +m4_text_wrap([$2], [           ], [- ]m4_format([%-8s ], [$1]), brltty_help_width)])])
>  
>  AC_DEFUN([BRLTTY_ATTRIBUTES_TABLE], [dnl
>  define([brltty_tables_attributes], ifdef([brltty_tables_attributes], [brltty_tables_attributes])[
> -m4_text_wrap([$2], [             ], [- m4_format([%-10s ], [$1])], brltty_help_width)])])
> +m4_text_wrap([$2], [             ], [- ]m4_format([%-10s ], [$1]), brltty_help_width)])])
>  
>  AC_DEFUN([BRLTTY_SUMMARY_BEGIN], [dnl
>  brltty_summary_lines="Options Summary:"

> _______________________________________________
> This message was sent via the BRLTTY mailing list.
> To post a message, send an e-mail to: BRLTTY at mielke.cc
> For general information, go to: http://mielke.cc/mailman/listinfo/brltty

-- 
	Adrian P. van Bloois
Postbus 2575                 email:   adrian at accu.uu.nl
3500 GN  Utrecht             voice:   +31-30-68-94649
The Netherlands              fax:     ++31-30-68-94601

The whole point of cooking is to get as much flavour out of the
ingredients as possible.
	-- Delia SMith



More information about the BRLTTY mailing list