[bug#67268] [PATCH] texinfo: add pointer about combining tests

2023-12-10 Thread Karl Berry
I guess I don't see any harm in keeping the link to POSIX. Perhaps it
should be in the Autoconf manual, but either way seems ok to me. Since
the OP went to the trouble of looking it up. --best, karl.






[bug#67268] [PATCH] texinfo: add pointer about combining tests

2023-12-02 Thread Mike Frysinger
On 02 Dec 2023 15:09, Karl Berry wrote:
> very extensive "Portable Shell Programming" chapter:
> 
> https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Portable-Shell.html
> 
> I know. The Autoconf manual already describes this issue in detail.
> The point of the brief mention in the Automake manual is because it is
> precisely the place and the problem that are rather likely to come up
> in practice.
> 
> I see I failed to link to the Autoconf node, though. I'll add that. -k

breadcrumbs in the automake manual is ok before tossing them to autoconf, but i
would make it more brief than we have now.  like drop references to the POSIX
state and just leave it as discouraged in favor of the macros for portability.
-mike


signature.asc
Description: PGP signature


[bug#67268] [PATCH] texinfo: add pointer about combining tests

2023-12-02 Thread Karl Berry
very extensive "Portable Shell Programming" chapter:

https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Portable-Shell.html

I know. The Autoconf manual already describes this issue in detail.
The point of the brief mention in the Automake manual is because it is
precisely the place and the problem that are rather likely to come up
in practice.

I see I failed to link to the Autoconf node, though. I'll add that. -k





[bug#67268] [PATCH] texinfo: add pointer about combining tests

2023-12-02 Thread Mike Frysinger
On 18 Nov 2023 19:27, Karl Berry wrote:
> Hi Michael,
> 
> 
> Date: Sun, 16 Oct 2016 18:35:53 +0200
> From: Michael Stapelberg 
> To: automake-patches@gnu.org
> Subject: [PATCH] texinfo: add pointer about combining tests
> 
> https://lists.gnu.org/archive/html/automake-patches/2016-10/msg2.html
> 
> Seven years late(r), but I did finally merge (a version of) your
> suggestion of a portability note in the Automake manual about &&
> vs. test -a, as below.  Thanks! --karl
> 
> 
> doc: mention shell operators preferred over `test` options.

is the automake manual the best place for this ?  the autoconf manual has a
very extensive "Portable Shell Programming" chapter:
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Portable-Shell.html

seems like it'd be better to extend that section and link it from here.
-mike


signature.asc
Description: PGP signature


[bug#67268] [PATCH] texinfo: add pointer about combining tests

2023-11-18 Thread Karl Berry
Hi Michael,


Date: Sun, 16 Oct 2016 18:35:53 +0200
From: Michael Stapelberg 
To: automake-patches@gnu.org
Subject: [PATCH] texinfo: add pointer about combining tests

https://lists.gnu.org/archive/html/automake-patches/2016-10/msg2.html

Seven years late(r), but I did finally merge (a version of) your
suggestion of a portability note in the Automake manual about &&
vs. test -a, as below.  Thanks! --karl


doc: mention shell operators preferred over `test` options.

* doc/automake.texi (Usage of Conditionals): mention that shell
operators (&&, ||, ()) are preferred over `test` options (-a, -o,
\(\)). Idea and POSIX url reference from Michael Stapelberg,
https://lists.gnu.org/archive/html/automake-patches/2016-10/msg2.html
diff --git a/doc/automake.texi b/doc/automake.texi
index 51a3c3dbe..635bdd28c 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -8,6 +8,14 @@ must arrange for @emph{every} @code{AM_CONDITIONAL} to 
be invoked every
 time @command{configure} is run.  If @code{AM_CONDITIONAL} is run
 conditionally (e.g., in a shell @code{if} statement), then the result
 will confuse @command{automake}.
+
+For portability, it is best to use shell operators @code{&&} and
+@code{||} and parentheses, when constructing a compound
+@var{condition} using the @command{test} command, and not the
+@code{-a} and @code{-o} options and parentheses as options to
+@command{test}, all of which have been marked obsolescent by POSIX
+(@url{https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html#tag_20_128_161}).
+The name @code{test} is also more portable than @code{[}.
 @end defmac

 @cindex @option{--enable-debug}, example

compile finished at Sat Nov 18 18:25:16 2023