Re: [PATCH] Quote 'like this', not `like this'.

2023-06-24 Thread Paul Eggert

On 2023-06-23 11:52, Dmitry V. Levin wrote:

Since gitlog-to-changelog is imported from gnulib, I'd rather not fork
gitlog-to-changelog and import the fix when it lands there.


Oh, good catch. I installed the attached into the Gnulib copy.From 0c5467f3bdfdf5b12ea0bb47ccd66317dcbf9b9f Mon Sep 17 00:00:00 2001
From: Paul Eggert 
Date: Sat, 24 Jun 2023 15:00:37 -0700
Subject: [PATCH] =?UTF-8?q?*=20build-aux/gitlog-to-changelog:=20don?=
 =?UTF-8?q?=E2=80=99t=20quote=20`like=20this'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 build-aux/gitlog-to-changelog | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index 4678bad105..43e4a37adf 100755
--- a/build-aux/gitlog-to-changelog
+++ b/build-aux/gitlog-to-changelog
@@ -35,7 +35,7 @@
 eval 'exec perl -wSx "$0" "$@"'
  if 0;
 
-my $VERSION = '2022-01-27 18:49'; # UTC
+my $VERSION = '2023-06-24 21:59'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
@@ -355,7 +355,7 @@ sub git_dir_option($)
   . "(expected date/author/email):\n$author_line\n";
 
   # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
-  # `(tiny change)' annotation.
+  # '(tiny change)' annotation.
   my $tiny = (grep (/^(?:Copyright-paperwork-exempt|Tiny-change):\s+[Yy]es$/, @line)
   ? '  (tiny change)' : '');
 
-- 
2.39.2



[PATCH] Quote 'like this', not `like this'.

2023-06-23 Thread Paul Eggert
In 2012 the GNU Coding Standards changed to recommend quoting
'like this' or "like this" instead of `like this'.
Alter diagnostics and comments accordingly.
Use a more-consistent quoting style in config.sub diagnostics,
preferring 'like this' to "like this" as the former is more
resistant to shell metacharacters.
---
 config.guess| 16 
 config.sub  | 20 ++--
 gitlog-to-changelog |  4 ++--
 3 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/config.guess b/config.guess
index 69188da..354a8cc 100755
--- a/config.guess
+++ b/config.guess
@@ -4,7 +4,7 @@
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2023-01-01'
+timestamp='2023-06-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
 usage="\
 Usage: $0 [OPTION]
 
-Output the configuration name of the system \`$me' is run on.
+Output the configuration name of the system '$me' is run on.
 
 Options:
   -h, --help print this help, then exit
@@ -66,7 +66,7 @@ This is free software; see the source for copying conditions. 
 There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
 help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
 
 # Parse command line
 while test $# -gt 0 ; do
@@ -102,8 +102,8 @@ GUESS=
 # temporary files to be created and, as you can see below, it is a
 # headache to deal with in a portable fashion.
 
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
+# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
+# use 'HOST_CC' if defined, but it is deprecated.
 
 # Portable tmp directory creation inspired by the Autoconf team.
 
@@ -459,7 +459,7 @@ case 
$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
UNAME_RELEASE=`uname -v`
;;
esac
-   # Japanese Language versions have a version number like `4.1.3-JL'.
+   # Japanese Language versions have a version number like '4.1.3-JL'.
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
GUESS=sparc-sun-sunos$SUN_REL
;;
@@ -1197,7 +1197,7 @@ EOF
GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
;;
 i*86:OS/2:*:*)
-   # If we were able to find `uname', then EMX Unix compatibility
+   # If we were able to find 'uname', then EMX Unix compatibility
# is probably installed.
GUESS=$UNAME_MACHINE-pc-os2-emx
;;
@@ -1338,7 +1338,7 @@ EOF
GUESS=ns32k-sni-sysv
fi
;;
-PENTIUM:*:4.0*:*)  # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+PENTIUM:*:4.0*:*)  # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
# says 
GUESS=i586-unisys-sysv4
;;
diff --git a/config.sub b/config.sub
index de4259e..f6ede1d 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2023-01-21'
+timestamp='2023-06-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -82,7 +82,7 @@ This is free software; see the source for copying conditions. 
 There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
 help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
 
 # Parse command line
 while test $# -gt 0 ; do
@@ -130,7 +130,7 @@ IFS=$saved_IFS
 # Separate into logical components for further validation
 case $1 in
*-*-*-*-*)
-   echo Invalid configuration \`"$1"\': more than four components 
>&2
+   echo "Invalid configuration '$1': more than four components" >&2
exit 1
;;
*-*-*-*)
@@ -943,7 +943,7 @@ $basic_machine
 EOF
IFS=$saved_IFS
;;
-   # We use `pc' rather than `unknown'
+   # We use 'pc' rather than 'unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
@@ -1285,7 +1285,7 @@ case $cpu-$vendor in
;;
 
*)
-   echo Invalid configuration \`"$1"\': machine 
\`"$cpu-$vendor"\' not recognized 1>&2
+   echo "Invalid configuration '$1': machine 
'$cpu-$vendor' not recognized" 1>&2
exit 1
;;
esac
@@ -1770,7 +1770,7 @@ case $os in
# Restricted further below
;;
*)
-   echo Invalid configuration \`"$1"\': OS \`"$os"\' not 
recognized 1>&2
+   echo "Invalid 

[PATCH] Fix config.sub spelling typo for "athlon"

2023-01-20 Thread Paul Eggert
This typo was introduced in commit
fc14426403b6106981d2b3a4666835df29203043
dated Tue Aug 28 09:59:08 2018 +1000.
---
 config.sub | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/config.sub b/config.sub
index d6731d6..de4259e 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2023-01-01'
+timestamp='2023-01-21'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -1075,7 +1075,7 @@ case $cpu-$vendor in
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
cpu=i586
;;
-   pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+   pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
cpu=i686
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-- 
2.39.0




Re: config.sub/config.guess using nonportable $(...) substitutions

2021-03-09 Thread Paul Eggert

On 3/9/21 12:26 PM, Paul Eggert wrote:

On 3/9/21 11:09 AM, Karl Berry wrote:


I fully disagree. (Along with, it seems, everyone else except
you and Ben.)


Ben is the main person to convince here, since he's the maintainer.


Oh, my mistake. Ben has stepped down, so I should have written that 
Dmitry is the main person to convince here, since he's the maintainer of 
'config' now.




Re: config.sub/config.guess using nonportable $(...) substitutions

2021-03-09 Thread Paul Eggert

On 3/9/21 11:09 AM, Karl Berry wrote:


I fully disagree. (Along with, it seems, everyone else except
you and Ben.)


Ben is the main person to convince here, since he's the maintainer.

I am a bit disenheartened to see that Ben hasn't sent any email to this 
list since he installed the change in question, back in November. If 
he's retired (which I hope not), we'll need to find a new maintainer 
whose lap we can dump this problem into. I'll cc this email to him to 
give him a heads-up about the thread.



1) There is no actual benefit to using $(...) over `...`.


I disagree with that statement on technical grounds (not merely cosmetic 
grounds), as I've run into real problems in using `...` along with " and 
\, problems that I would not have run into with $(...). The Autoconf 
manual describes some of these problems.[1]



Talking about # as an analogy is a red herring. # does not cause
real-life problem.


# caused a real-life problem for me on a real-life system, around 1979. 
Of course the problem set has changed since then, but the compatibility 
principle hasn't.


[1] 
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.70/html_node/Shell-Substitutions.html




Re: config.sub/config.guess using nonportable $(...) substitutions

2021-03-09 Thread Paul Eggert

On 3/9/21 5:57 AM, Bob Friesenhahn wrote:

It seems that config.guess and Autotools packages are picking winners 
and losers.  It is not clear where the bar has been set.


I prefer to draw the line at systems that are no longer supported by 
their own suppliers. For Solaris, that means I worry only about Solaris 
10 and later, as Oracle no longer supports older versions.


However, this is not a boundary formally set by the GNU project, and 
different developers can choose different boundaries, as described in 
"Platforms to Support" section of the GNU software maintainers manual 
.


config.sub/config.guess are special in that they're shared among so many 
projects, and so the boundary that Ben uses affects a lot of projects' 
configuration code.




Re: config.sub/config.guess using nonportable $(...) substitutions

2021-03-08 Thread Paul Eggert

On 3/8/21 3:00 PM, Dmitry V. Levin wrote:

The only rationale provided by the previous maintainer so far is a short
message in config-patches mailing list [1].


The config maintainer Ben Elliston has wanted to get rid of the 
old-fashioned accent graves for many years. In November 2017 he 
installed a change to do that, but I explained it wouldn't work well on 
Solaris 10 so he reverted. Two years ago he asked me about this again, 
and I responded that Solaris 10's end-of-life was scheduled to be 
January 2021 and so it'd be best to wait until then, and he agreed. Last 
April we emailed each other again about this, and I told him that Oracle 
had extended Solaris 10's end-of-life to January 2024 but he demurred, 
writing that he didn't want to wait the extra three years.


Except maybe for Solaris 10, shells that don't grok $(...) are museum 
pieces now. And anybody on Solaris 10 (which occasionally includes me, 
as my department still uses Solaris 10 on some machines) can easily run 
a better shell like /bin/ksh. It's a bit of a maintenance hassle for Ben 
to deal with `...` (it doesn't nest, and it has weird rules when 
combined with "...") and it's understandable that he would rather deal 
with actual config.guess problems than with completely-obsolete shells 
that don't support standard syntax.


I recall having a similar discussion back in the 1970s, when a shell 
script stopped working for me because its author put in a comment 
starting with "#", something the 7th Edition shell did not support. I 
wrote the author, who suggested I get a better shell, and life went on. 
And I'd expect a similar reaction today if someone asked us to remove 
the "#" comments from config.guess on the grounds that they don't work 
with Steve Bourne's original V7 shell.


At some point, failing to support $(...) is in the same ballpark as 
failing to support "#". I can see Ben's point of view that we've reached 
that point even if I would have waited another three years, so if Ben 
would rather use $(...) I'd rather not overrule him downstream.




Re: Adapting changes for MSYS2?

2019-11-09 Thread Paul Eggert

On 11/9/19 10:40 AM, arn...@skeeve.com wrote:


A gawk user recently called my attention to:

https://github.com/msys2/MSYS2-packages/tree/master/gawk


The patch file there is named gawk-4.2.1-msysize.patch.  The patches mainly
seem to add an "msys*" option in several build scripts just after the
"cygwin*" system identity alternatives.


I have adapted the patches for gawk's test/Makefile.am and will be
pushing shortly.

Can we get the changes for compile, config.guess, config.rpath, and
ar-lib integrated directly into GNULIB, so that I can then pull them
from upstream?


I installed most of those changes to Gnulib. The exception is the proposed 
change to config.guess, which is upstream from Gnulib and is part of GNU config, 
so I'll CC: this message to config-patches@gnu.org.


As far as I can see, the proposed config.guess change has no effect, as the 
existing config.guess treats MSYS the same on all architectures in an earlier 
branch of that big 'case' statement. config.guess has done so since this commit 
in 2014, which specifically caused config.guess to treat MSYS the same on all 
machines, not just i* machines:


https://git.savannah.gnu.org/cgit/config.git/commit/?id=f4ebd3ed097771a729b68e688236aea665e7c1f3

so I'm puzzled as to why the config.guess change would be needed even if it were 
effective.




Re: [PATCH] * config.sub: Cordon off single-component aliases

2018-05-18 Thread Paul Eggert

On 05/18/2018 05:42 PM, Ben Elliston wrote:

${parameter:-word} is in POSIX, but I don't know how portable it is to
old Bourne shells.  Paul?


Although it does not work on old Bourne shells, I suspect we don't need 
to worry about them any more.


The "Shellology" section of the Autoconf manual says ${VAR:-VALUE} 
causes old BSD shells to complain and die, and mentions Ultrix. However, 
as far as I know these old shells are now museum pieces. The last Ultrix 
release was in 1995. I haven't fielded an Ultrix bug report for many years.


For what it's worth, 'configure' scripts are still portable to Ultrix 
because they search for a POSIX-compatible shell by trying a list of 
programs that includes 'sh5', which was how Ultrix did it. I think this 
was due to the late Fred Canter, who specialized in getting the farkles 
out.  See:


Hall J. The last farkle. Linux J. 2007-12-02. 
https://www.linuxjournal.com/node/1005779



___
config-patches mailing list
config-patches@gnu.org
https://lists.gnu.org/mailman/listinfo/config-patches


[PATCH] Prefer https: to http: for gnu.org

2017-09-16 Thread Paul Eggert
In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to
use https:, to help defend against man-in-the-middle attacks.
Propagate these changes upstream to the config scripts.
* config.guess, config.sub: Use https: URLs in diagnostics
and in comments.
---
 ChangeLog| 13 +++--
 config.guess | 10 +-
 config.sub   |  6 +++---
 3 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ec42758..a45ff34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2017-09-16  Paul Eggert  <egg...@cs.ucla.edu>
+
+   Prefer https: to http: for gnu.org
+   In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to
+   use https:, to help defend against man-in-the-middle attacks.
+   Propagate these changes upstream to the config scripts.
+   * config.guess, config.sub: Use https: URLs in diagnostics
+   and in comments.
+
 2017-09-15  Ben Elliston  <b...@gnu.org>
 
* testsuite/config-sub.data (i386-windows): New test case.
@@ -578,7 +587,7 @@
 
* config.guess: Contract the list of copyright years into the
range 1992-2013. Remove "(C)" character sequence from copyright
-   statements. Per http://www.gnu.org/licenses/gpl-howto.html.
+   statements. Per https://www.gnu.org/licenses/gpl-howto.html.
* config.sub: Likewise.
 
 2013-01-23  Sandra Loosemore  <san...@codesourcery.com>
@@ -1838,7 +1847,7 @@
sysctl ((int[]) {CTL_HW, HW_MACHINE_ARCH}, 2, buffer, , 0, 0)
to return a negative number.
Problem reported by Petter Reinholdtsen in:
-   http://lists.gnu.org/archive/html/bug-gnu-utils/2003-02/msg00201.html
+   https://lists.gnu.org/archive/html/bug-gnu-utils/2003-02/msg00201.html
 
 2004-07-19  Ben Elliston  <b...@gnu.org>
 
diff --git a/config.guess b/config.guess
index 7834a66..8bd1095 100755
--- a/config.guess
+++ b/config.guess
@@ -2,7 +2,7 @@
 # Attempt to guess a canonical system name.
 #   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2017-09-12'
+timestamp='2017-09-16'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2017-09-12'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -27,7 +27,7 @@ timestamp='2017-09-12'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -1407,9 +1407,9 @@ This script (version $timestamp), has failed to recognize 
the
 operating system you are using. If your script is old, overwrite *all*
 copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 If $0 has already been updated, send the following data and any
 information you think might be pertinent to config-patches@gnu.org to
diff --git a/config.sub b/config.sub
index 6e08808..95dc3d0 100755
--- a/config.sub
+++ b/config.sub
@@ -2,7 +2,7 @@
 # Configuration validation subroutine script.
 #   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2017-09-13'
+timestamp='2017-09-16'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2017-09-13'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -33,7 +33,7 @@ timestamp='2017-09-13'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed