bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
* today's Gnulib autoupdate changed quoting style in INSTALL?
@ 2024-01-07  0:24 Paul Eggert
  2024-01-07 23:07 ` Karl Berry
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Eggert @ 2024-01-07  0:24 UTC (permalink / raw)
  To: Karl Berry; +Cc: Gnulib bugs

[-- Attachment #1: Type: text/plain, Size: 709 bytes --]

Karl, your Gnulib autoupdate commit 
ca550cc6193bd26ff30fbf7c15ac79cc23da20ad dated today changed some (but 
not all) curved quotes in INSTALL and INSTALL.UTF-8 to straight quotes. 
I assume this was because your copy of Autoconf got built in on a 
platform where 'makeinfo' often outputs straight instead of curved 
quotes. I didn't reproduce the problem on Fedora 39, where makeinfo is 
texi2any (GNU texinfo) 7.0.3 and I have a reasonable number of i18n 
packages installed. Perhaps it's an installation issue? Or do you have a 
later version of texi2any that has changed how quotes work?

Anyway, for now I assumed this was a mistake and ran an autoupdate that 
restored the curved quotes. Patch attached.

[-- Attachment #2: 0001-autoupdate.patch --]
[-- Type: text/x-patch, Size: 12319 bytes --]

From d4948a5393c05d13825b514ccf22e1e8ddf3f22f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 6 Jan 2024 16:14:30 -0800
Subject: [PATCH] autoupdate

---
 doc/INSTALL       | 32 ++++++++++++++++----------------
 doc/INSTALL.UTF-8 | 32 ++++++++++++++++----------------
 2 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/doc/INSTALL b/doc/INSTALL
index a1c0a6515f..d3b6e4ec42 100644
--- a/doc/INSTALL
+++ b/doc/INSTALL
@@ -52,7 +52,7 @@ default to prevent problems with accidental use of stale cache files.
 to figure out how ‘configure’ could check whether to do them, and mail
 diffs or instructions to the address given in the ‘README’ so they can
 be considered for the next release.  If you are using the cache, and at
-some point ‘config.cache’ contains results you don't want to keep, you
+some point ‘config.cache’ contains results you don’t want to keep, you
 may remove or edit it.
 
    The ‘autoconf’ program generates ‘configure’ from the file
@@ -61,7 +61,7 @@ editing ‘configure’ directly.
 
    The simplest way to compile this package is:
 
-  1. ‘cd’ to the directory containing the package's source code.
+  1. ‘cd’ to the directory containing the package’s source code.
 
   2. If this is a developer checkout and file ‘configure’ does not yet
      exist, type ‘./bootstrap’ to create it.  You may need special
@@ -95,7 +95,7 @@ editing ‘configure’ directly.
      files that ‘configure’ created (so you can compile the package for
      a different kind of computer), type ‘make distclean’.  There is
      also a ‘make maintainer-clean’ target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to
+     for the package’s developers.  If you use it, you may have to
      bootstrap again.
 
   9. If the package follows the GNU Coding Standards, you can type ‘make
@@ -114,7 +114,7 @@ an example:
 
      ./configure CC=gcc CFLAGS=-g LIBS=-lposix
 
-   See "Defining Variables" for more details.
+   See “Defining Variables” for more details.
 
 Compiling For Multiple Architectures
 ====================================
@@ -132,7 +132,7 @@ system at a time in the source code directory.  After you have installed
 the package for one system, use ‘make distclean’ before reconfiguring
 for another system.
 
-   Some platforms, notably macOS, support "fat" or "universal" binaries,
+   Some platforms, notably macOS, support “fat” or “universal” binaries,
 where a single binary can execute on different architectures.  On these
 platforms you can configure and compile just once, with options specific
 to that platform.
@@ -140,7 +140,7 @@ to that platform.
 Installation Names
 ==================
 
-   By default, ‘make install’ installs the package's commands under
+   By default, ‘make install’ installs the package’s commands under
 ‘/usr/local/bin’, include files under ‘/usr/local/include’, etc.  You
 can specify an installation prefix other than ‘/usr/local’ by giving
 ‘configure’ the option ‘--prefix=PREFIX’, where PREFIX must be an
@@ -223,7 +223,7 @@ to run on a 64-bit ARM processor:
         CXX=aarch64-linux-gnu-g++
 
 If done on a machine that can execute these binaries (e.g., via
-‘qemu-aarch64’, ‘$QEMU_LD_PREFIX’, and Linux's ‘binfmt_misc’
+‘qemu-aarch64’, ‘$QEMU_LD_PREFIX’, and Linux’s ‘binfmt_misc’
 capability), the build behaves like a native build.  Otherwise it is a
 cross-build: ‘configure’ will make cross-compilation guesses instead of
 running test programs, and ‘make check’ will not work.
@@ -243,8 +243,8 @@ canonicalize and validate a system type, you can run the command
 You can look at the ‘config.sub’ file to see which types are recognized.
 If the file is absent, this package does not need the system type.
 
-   If ‘configure’ fails with the diagnostic "cannot guess build type".
-‘config.sub’ did not recognize your system's type.  In this case, first
+   If ‘configure’ fails with the diagnostic “cannot guess build type”.
+‘config.sub’ did not recognize your system’s type.  In this case, first
 fetch the newest versions of these files from the GNU config package
 (https://savannah.gnu.org/projects/config).  If that fixes things,
 please report it to the maintainers of the package containing
@@ -298,7 +298,7 @@ operates.
 
 ‘--help=short’
 ‘--help=recursive’
-     Print a summary of the options unique to this package's
+     Print a summary of the options unique to this package’s
      ‘configure’, and exit.  The ‘short’ variant lists options used only
      in the top level, while the ‘recursive’ variant lists options also
      present in any nested packages.
@@ -318,24 +318,24 @@ operates.
      Alias for ‘--cache-file=config.cache’.
 
 ‘--srcdir=DIR’
-     Look for the package's source code in directory DIR.  Usually
+     Look for the package’s source code in directory DIR.  Usually
      ‘configure’ can determine that directory automatically.
 
 ‘--prefix=DIR’
-     Use DIR as the installation prefix.  See "Installation Names" for
+     Use DIR as the installation prefix.  See “Installation Names” for
      more details, including other options available for fine-tuning the
      installation locations.
 
 ‘--host=TYPE’
-     Build binaries for system TYPE.  See "Specifying a System Type".
+     Build binaries for system TYPE.  See “Specifying a System Type”.
 
 ‘--enable-FEATURE’
 ‘--disable-FEATURE’
-     Enable or disable the optional FEATURE.  See "Optional Features".
+     Enable or disable the optional FEATURE.  See “Optional Features”.
 
 ‘--with-PACKAGE’
 ‘--without-PACKAGE’
-     Use or omit PACKAGE when building.  See "Optional Features".
+     Use or omit PACKAGE when building.  See “Optional Features”.
 
 ‘--quiet’
 ‘--silent’
@@ -356,7 +356,7 @@ more details.
 Copyright notice
 ================
 
-   Copyright © 1994-1996, 1999-2002, 2004-2017, 2020-2024 Free Software
+   Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2024 Free Software
 Foundation, Inc.
 
    Copying and distribution of this file, with or without modification,
diff --git a/doc/INSTALL.UTF-8 b/doc/INSTALL.UTF-8
index a1c0a6515f..d3b6e4ec42 100644
--- a/doc/INSTALL.UTF-8
+++ b/doc/INSTALL.UTF-8
@@ -52,7 +52,7 @@ default to prevent problems with accidental use of stale cache files.
 to figure out how ‘configure’ could check whether to do them, and mail
 diffs or instructions to the address given in the ‘README’ so they can
 be considered for the next release.  If you are using the cache, and at
-some point ‘config.cache’ contains results you don't want to keep, you
+some point ‘config.cache’ contains results you don’t want to keep, you
 may remove or edit it.
 
    The ‘autoconf’ program generates ‘configure’ from the file
@@ -61,7 +61,7 @@ editing ‘configure’ directly.
 
    The simplest way to compile this package is:
 
-  1. ‘cd’ to the directory containing the package's source code.
+  1. ‘cd’ to the directory containing the package’s source code.
 
   2. If this is a developer checkout and file ‘configure’ does not yet
      exist, type ‘./bootstrap’ to create it.  You may need special
@@ -95,7 +95,7 @@ editing ‘configure’ directly.
      files that ‘configure’ created (so you can compile the package for
      a different kind of computer), type ‘make distclean’.  There is
      also a ‘make maintainer-clean’ target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to
+     for the package’s developers.  If you use it, you may have to
      bootstrap again.
 
   9. If the package follows the GNU Coding Standards, you can type ‘make
@@ -114,7 +114,7 @@ an example:
 
      ./configure CC=gcc CFLAGS=-g LIBS=-lposix
 
-   See "Defining Variables" for more details.
+   See “Defining Variables” for more details.
 
 Compiling For Multiple Architectures
 ====================================
@@ -132,7 +132,7 @@ system at a time in the source code directory.  After you have installed
 the package for one system, use ‘make distclean’ before reconfiguring
 for another system.
 
-   Some platforms, notably macOS, support "fat" or "universal" binaries,
+   Some platforms, notably macOS, support “fat” or “universal” binaries,
 where a single binary can execute on different architectures.  On these
 platforms you can configure and compile just once, with options specific
 to that platform.
@@ -140,7 +140,7 @@ to that platform.
 Installation Names
 ==================
 
-   By default, ‘make install’ installs the package's commands under
+   By default, ‘make install’ installs the package’s commands under
 ‘/usr/local/bin’, include files under ‘/usr/local/include’, etc.  You
 can specify an installation prefix other than ‘/usr/local’ by giving
 ‘configure’ the option ‘--prefix=PREFIX’, where PREFIX must be an
@@ -223,7 +223,7 @@ to run on a 64-bit ARM processor:
         CXX=aarch64-linux-gnu-g++
 
 If done on a machine that can execute these binaries (e.g., via
-‘qemu-aarch64’, ‘$QEMU_LD_PREFIX’, and Linux's ‘binfmt_misc’
+‘qemu-aarch64’, ‘$QEMU_LD_PREFIX’, and Linux’s ‘binfmt_misc’
 capability), the build behaves like a native build.  Otherwise it is a
 cross-build: ‘configure’ will make cross-compilation guesses instead of
 running test programs, and ‘make check’ will not work.
@@ -243,8 +243,8 @@ canonicalize and validate a system type, you can run the command
 You can look at the ‘config.sub’ file to see which types are recognized.
 If the file is absent, this package does not need the system type.
 
-   If ‘configure’ fails with the diagnostic "cannot guess build type".
-‘config.sub’ did not recognize your system's type.  In this case, first
+   If ‘configure’ fails with the diagnostic “cannot guess build type”.
+‘config.sub’ did not recognize your system’s type.  In this case, first
 fetch the newest versions of these files from the GNU config package
 (https://savannah.gnu.org/projects/config).  If that fixes things,
 please report it to the maintainers of the package containing
@@ -298,7 +298,7 @@ operates.
 
 ‘--help=short’
 ‘--help=recursive’
-     Print a summary of the options unique to this package's
+     Print a summary of the options unique to this package’s
      ‘configure’, and exit.  The ‘short’ variant lists options used only
      in the top level, while the ‘recursive’ variant lists options also
      present in any nested packages.
@@ -318,24 +318,24 @@ operates.
      Alias for ‘--cache-file=config.cache’.
 
 ‘--srcdir=DIR’
-     Look for the package's source code in directory DIR.  Usually
+     Look for the package’s source code in directory DIR.  Usually
      ‘configure’ can determine that directory automatically.
 
 ‘--prefix=DIR’
-     Use DIR as the installation prefix.  See "Installation Names" for
+     Use DIR as the installation prefix.  See “Installation Names” for
      more details, including other options available for fine-tuning the
      installation locations.
 
 ‘--host=TYPE’
-     Build binaries for system TYPE.  See "Specifying a System Type".
+     Build binaries for system TYPE.  See “Specifying a System Type”.
 
 ‘--enable-FEATURE’
 ‘--disable-FEATURE’
-     Enable or disable the optional FEATURE.  See "Optional Features".
+     Enable or disable the optional FEATURE.  See “Optional Features”.
 
 ‘--with-PACKAGE’
 ‘--without-PACKAGE’
-     Use or omit PACKAGE when building.  See "Optional Features".
+     Use or omit PACKAGE when building.  See “Optional Features”.
 
 ‘--quiet’
 ‘--silent’
@@ -356,7 +356,7 @@ more details.
 Copyright notice
 ================
 
-   Copyright © 1994-1996, 1999-2002, 2004-2017, 2020-2024 Free Software
+   Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2024 Free Software
 Foundation, Inc.
 
    Copying and distribution of this file, with or without modification,
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: today's Gnulib autoupdate changed quoting style in INSTALL?
  2024-01-07  0:24 today's Gnulib autoupdate changed quoting style in INSTALL? Paul Eggert
@ 2024-01-07 23:07 ` Karl Berry
  2024-01-08  1:38   ` Paul Eggert
  0 siblings, 1 reply; 3+ messages in thread
From: Karl Berry @ 2024-01-07 23:07 UTC (permalink / raw)
  To: eggert; +Cc: bug-gnulib

I'm using makeinfo 7.1. Maybe that is the difference? That's what I've
had for a while (since it was released), but maybe INSTALL hasn't been
updated since then.

Other than that, my environment has not changed for ages. LC_ALL=C, if
it matters. I didn't do anything different this time than any other
time. Seems to me the results should not depend on the builder's
environment anyway.

Wouldn't it be better for INSTALL to be (entirely) 7-bit ASCII instead
of UTF-8, given the existence of INSTALL.UTF-8? Otherwise, what's the
point of INSTALL.UTF-8? And it's a lot easier to grep ASCII.

I find Unicode quotes so aggravating (in the context of programming)
that I basically pay no attention to what happens. Sorry.

What do you want to do? Should I just autoupdating INSTALL*? 
--thanks, karl.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: today's Gnulib autoupdate changed quoting style in INSTALL?
  2024-01-07 23:07 ` Karl Berry
@ 2024-01-08  1:38   ` Paul Eggert
  0 siblings, 0 replies; 3+ messages in thread
From: Paul Eggert @ 2024-01-08  1:38 UTC (permalink / raw)
  To: Karl Berry; +Cc: bug-gnulib

[-- Attachment #1: Type: text/plain, Size: 1488 bytes --]

On 2024-01-07 15:07, Karl Berry wrote:
> I'm using makeinfo 7.1. Maybe that is the difference? 

Yes, thanks, that explains it. I installed the attached patch to work 
around the quoting style glitch. With the patch, things should work fine 
the next time you run autoupdate with a changed doc/install.texi.


> Wouldn't it be better for INSTALL to be (entirely) 7-bit ASCII instead
> of UTF-8, given the existence of INSTALL.UTF-8? Otherwise, what's the
> point of INSTALL.UTF-8?

The idea was that there are two variants, INSTALL.ISO (which is ASCII 
only) and INSTALL.UTF-8 (which uses UTF-8). INSTALL was originally a 
copy of INSTALL.ISO, but in June we changed this because support for 
UTF-8 is now universal and searching for apostrophes is not all that 
common in that file.


> it's a lot easier to grep ASCII.

True, but people don't normally use commands like ‘grep "'" INSTALL’.

I also found directed quotes to be an irritation when using Emacs. 
However, there's a partial workaround. Put this into your init file:

(setq search-default-mode 'char-fold-to-regexp)

With this setting, interactive searching for ' will also find directed 
single quotes, and likewise for similar glitches. You can also use M-s ' 
within an interactive search to toggle char-fold-to-regexp. This may 
help to reduce (though of course not eliminate) the irritation. For 
more, see:

https://www.gnu.org/software/emacs/manual/html_node/emacs/Lax-Search.html

[-- Attachment #2: 0001-doc-adjust-to-texinfo-7.1.patch --]
[-- Type: text/x-patch, Size: 1625 bytes --]

From 267184ec9a060c088e1feab717120e43911485e5 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 7 Jan 2024 16:54:12 -0800
Subject: [PATCH] doc: adjust to texinfo 7.1

* doc/Makefile (MAKEINFO): Adjust to texinfo 7.1, where makeinfo
by default outputs ASCII approximations to characters.
---
 ChangeLog    | 6 ++++++
 doc/Makefile | 8 +++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4e2f4b73fb..8bfff58a1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2024-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	doc: adjust to texinfo 7.1
+	* doc/Makefile (MAKEINFO): Adjust to texinfo 7.1, where makeinfo
+	by default outputs ASCII approximations to characters.
+
 2024-01-02  Bruno Haible  <bruno@clisp.org>
 
 	strverscmp: Work around bug in musl libc 1.2.3 and in Cygwin.
diff --git a/doc/Makefile b/doc/Makefile
index 19e3c34dde..2cb1dc2e77 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -9,9 +9,11 @@ doc = gnulib
 
 lang_env = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE=
 makeinfo_prog = makeinfo
-# The customization variable CHECK_NORMAL_MENU_STRUCTURE is necessary with
-# makeinfo versions ≥ 6.8.
-MAKEINFO = $(lang_env) $(makeinfo_prog) -c CHECK_NORMAL_MENU_STRUCTURE=1
+# ASCII_DASHES_AND_QUOTES=0 is needed for makeinfo versions ≥ 7.1.
+# CHECK_NORMAL_MENU_STRUCTURE=1 is needed for makeinfo versions ≥ 6.8.
+MAKEINFO = $(lang_env) $(makeinfo_prog) \
+ -c ASCII_DASHES_AND_QUOTES=0 \
+ -c CHECK_NORMAL_MENU_STRUCTURE=1
 
 manual_opts = --no-split --reference-limit=2000
 TEXI2HTML = $(MAKEINFO) $(manual_opts) --html
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-01-08  1:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-07  0:24 today's Gnulib autoupdate changed quoting style in INSTALL? Paul Eggert
2024-01-07 23:07 ` Karl Berry
2024-01-08  1:38   ` Paul Eggert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).