bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Gnulib bugs <bug-gnulib@gnu.org>
Subject: gnulib-tool sh+py mismatch when updating Emacs
Date: Sat, 4 May 2024 09:03:51 -0700	[thread overview]
Message-ID: <81984d28-b5f0-4c43-a0b7-3b45a86d35de@cs.ucla.edu> (raw)

Some sort of locale problem? The issue seems to be benign, except that 
it's a false positive when testing.

To reproduce it, clone current gnulib (commit 
fde88b711c9b1df5b142444ac7b0bc2aa8892d3a) and current emacs (commit 
fd859fbea2e9d13e76db1c5295d9ddd1c5955d83) under the current directory, 
and then run:

cd emacs
LC_ALL=en_US.utf8 GNULIB_TOOL_IMPL=sh+py admin/merge-gnulib

Here's what happens on Ubuntu 23.10 x86-64:

$ GNULIB_TOOL_IMPL=sh+py admin/merge-gnulib
Checking whether you have the necessary tools...
(Read INSTALL.REPO for more details on building Emacs)
Checking for autoconf (need at least version 2.65) ... ok
Your system has the required tools.
Building aclocal.m4 ...
Running 'autoreconf -fi -I m4' ...
Building 'aclocal.m4' in exec ...
Running 'autoreconf -fi' in exec ...
Configuring local git repository...
'.git/config' -> '.git/config.~1~'
git config transfer.fsckObjects 'true'
git config diff.cpp.xfuncname '!^[ 
]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])
^((::[[:space:]]*)?[A-Za-z_][A-Za-z_0-9]*[[:space:]]*\(.*)$
^((#define[[:space:]]|DEFUN).*)$'
git config diff.elisp.xfuncname 
'^\([^[:space:]]*def[^[:space:]]+[[:space:]]+([^()[:space:]]+)'
git config diff.m4.xfuncname '^((m4_)?define|A._DEFUN(_ONCE)?)\([^),]*'
git config diff.make.xfuncname 
'^([$.[:alnum:]_].*:|[[:alnum:]_]+[[:space:]]*([*:+]?[:?]?|!?)=|define .*)'
git config diff.shell.xfuncname 
'^([[:space:]]*[[:alpha:]_][[:alnum:]_]*[[:space:]]*\(\)|[[:alpha:]_][[:alnum:]_]*=)'
git config diff.texinfo.xfuncname '^@node[[:space:]]+([^,[:space:]][^,]+)'
Installing git hooks...
'build-aux/git-hooks/commit-msg' -> '.git/hooks/commit-msg'
'build-aux/git-hooks/pre-commit' -> '.git/hooks/pre-commit'
'build-aux/git-hooks/prepare-commit-msg' -> '.git/hooks/prepare-commit-msg'
'build-aux/git-hooks/post-commit' -> '.git/hooks/post-commit'
'build-aux/git-hooks/pre-push' -> '.git/hooks/pre-push'
'build-aux/git-hooks/commit-msg-files.awk' -> 
'.git/hooks/commit-msg-files.awk'
'.git/hooks/applypatch-msg.sample' -> '.git/hooks/applypatch-msg'
'.git/hooks/pre-applypatch.sample' -> '.git/hooks/pre-applypatch'
You can now run './configure'.
../gnulib/gnulib-tool: *** gnulib-tool.py produced different files than 
gnulib-tool.sh! Compare /home/eggert/src/gnu/d/emacs and 
/home/eggert/src/gnu/d/glpyD3FBYw.
../gnulib/gnulib-tool: *** Stop.


The difference is between autom4te.cache/requests and 
../glpyD3FBYw/autom4te.cache/requests. They're sorted differently:

$ diff -ur ./autom4te.cache/requests ../glpyD3FBYw/autom4te.cache/requests
--- ./autom4te.cache/requests	2024-05-04 08:47:45.397566582 -0700
+++ ../glpyD3FBYw/autom4te.cache/requests	2024-05-04 08:46:41.307448492 
-0700
@@ -16,69 +16,69 @@
                          'configure.ac'
                        ],
                        {
-                        '_LT_AC_TAGCONFIG' => 1,
-                        'LT_INIT' => 1,
-                        'AM_XGETTEXT_OPTION' => 1,
-                        'm4_sinclude' => 1,
-                        '_AM_COND_IF' => 1,
-                        'AM_PROG_MOC' => 1,
+                        'AM_GNU_GETTEXT' => 1,
+                        'AC_CANONICAL_BUILD' => 1,
                          'AC_CONFIG_AUX_DIR' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'm4_include' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AM_PROG_MKDIR_P' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AM_EXTRA_RECURSIVE_TARGETS' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'AC_FC_FREEFORM' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
                          'LT_CONFIG_LTDL_DIR' => 1,
                          'AC_CANONICAL_SYSTEM' => 1,
-                        'AC_CANONICAL_BUILD' => 1,
-                        '_AM_COND_ELSE' => 1,
+                        'AC_FC_PP_DEFINE' => 1,
+                        'LT_INIT' => 1,
+                        'AC_FC_SRCEXT' => 1,
+                        'AC_LIBSOURCE' => 1,
                          'AC_CONFIG_LIBOBJ_DIR' => 1,
-                        'AM_PROG_CXX_C_O' => 1,
+                        'AM_PROG_FC_C_O' => 1,
                          'AC_CONFIG_HEADERS' => 1,
-                        'AM_GNU_GETTEXT' => 1,
+                        '_AM_COND_ELSE' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
+                        'AM_PROG_CXX_C_O' => 1,
+                        'm4_sinclude' => 1,
+                        'AM_MAKEFILE_INCLUDE' => 1,
                          'AM_PROG_LIBTOOL' => 1,
+                        'AC_INIT' => 1,
+                        'include' => 1,
+                        '_AM_COND_ENDIF' => 1,
+                        'AM_POT_TOOLS' => 1,
+                        'AM_MAINTAINER_MODE' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
+                        '_AM_MAKEFILE_INCLUDE' => 1,
+                        'm4_pattern_allow' => 1,
+                        '_m4_warn' => 1,
+                        'AC_SUBST_TRACE' => 1,
                          'AH_OUTPUT' => 1,
-                        'AC_CONFIG_SUBDIRS' => 1,
-                        'sinclude' => 1,
-                        'AC_DEFINE_TRACE_LITERAL' => 1,
-                        'AM_PROG_FC_C_O' => 1,
-                        'AM_PROG_MKDIR_P' => 1,
-                        'AM_SILENT_RULES' => 1,
-                        'AM_PROG_F77_C_O' => 1,
+                        'AC_CONFIG_LINKS' => 1,
+                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
+                        'AM_XGETTEXT_OPTION' => 1,
+                        'AC_CANONICAL_TARGET' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
+                        'AM_PROG_CC_C_O' => 1,
                          'GTK_DOC_CHECK' => 1,
+                        'AM_PATH_GUILE' => 1,
+                        'AM_SILENT_RULES' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'AM_PROG_MOC' => 1,
+                        'AC_REQUIRE_AUX_FILE' => 1,
                          'AM_ENABLE_MULTILIB' => 1,
+                        'sinclude' => 1,
                          'AC_CONFIG_MACRO_DIR_TRACE' => 1,
+                        '_AM_COND_IF' => 1,
+                        'AC_FC_PP_SRCEXT' => 1,
+                        'AM_NLS' => 1,
                          'AM_PROG_AR' => 1,
-                        'AC_LIBSOURCE' => 1,
-                        'AM_MAKEFILE_INCLUDE' => 1,
+                        'AC_CANONICAL_HOST' => 1,
                          'IT_PROG_INTLTOOL' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        'AM_NLS' => 1,
-                        'AC_SUBST_TRACE' => 1,
-                        'AM_PATH_GUILE' => 1,
-                        'AC_FC_FREEFORM' => 1,
-                        'AM_POT_TOOLS' => 1,
-                        'AC_CANONICAL_TARGET' => 1,
-                        'AC_CONFIG_LINKS' => 1,
-                        '_m4_warn' => 1,
-                        '_AM_COND_ENDIF' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
-                        'AM_PROG_CC_C_O' => 1,
                          'AC_SUBST' => 1,
-                        'm4_pattern_allow' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'AM_EXTRA_RECURSIVE_TARGETS' => 1,
-                        'AC_CANONICAL_HOST' => 1,
-                        'AC_INIT' => 1,
-                        'AC_REQUIRE_AUX_FILE' => 1,
-                        'include' => 1,
-                        'AC_FC_PP_SRCEXT' => 1,
-                        'AC_FC_PP_DEFINE' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'm4_include' => 1,
-                        'AC_CONFIG_FILES' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
-                        'AM_MAINTAINER_MODE' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
-                        '_AM_MAKEFILE_INCLUDE' => 1,
-                        'AC_FC_SRCEXT' => 1
+                        'AM_PROG_F77_C_O' => 1,
+                        'AC_CONFIG_FILES' => 1
                        }
                      ], 'Autom4te::Request' ),
               bless( [
@@ -95,69 +95,69 @@
                          'configure.ac'
                        ],
                        {
-                        '_LT_AC_TAGCONFIG' => 1,
-                        'LT_INIT' => 1,
-                        'm4_sinclude' => 1,
-                        'AM_XGETTEXT_OPTION' => 1,
-                        '_AM_COND_IF' => 1,
-                        'AM_PROG_MOC' => 1,
-                        'AC_CONFIG_AUX_DIR' => 1,
-                        'AC_CANONICAL_BUILD' => 1,
-                        'AC_CANONICAL_SYSTEM' => 1,
-                        'LT_CONFIG_LTDL_DIR' => 1,
+                        'include' => 1,
+                        'AM_MAKEFILE_INCLUDE' => 1,
+                        'AC_INIT' => 1,
+                        'AM_PROG_LIBTOOL' => 1,
+                        '_AM_COND_ENDIF' => 1,
                          'AC_CONFIG_LIBOBJ_DIR' => 1,
-                        'AM_PROG_CXX_C_O' => 1,
-                        '_AM_COND_ELSE' => 1,
                          'AC_CONFIG_HEADERS' => 1,
-                        'AM_PROG_LIBTOOL' => 1,
-                        'AM_GNU_GETTEXT' => 1,
-                        'AH_OUTPUT' => 1,
+                        'AM_PROG_FC_C_O' => 1,
                          'AC_CONFIG_SUBDIRS' => 1,
-                        'sinclude' => 1,
-                        'AM_PROG_MKDIR_P' => 1,
+                        '_AM_COND_ELSE' => 1,
+                        'm4_sinclude' => 1,
+                        'AM_PROG_CXX_C_O' => 1,
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AC_FC_PP_DEFINE' => 1,
+                        'AC_LIBSOURCE' => 1,
+                        'LT_INIT' => 1,
+                        'AC_FC_SRCEXT' => 1,
+                        'AC_CANONICAL_BUILD' => 1,
+                        'AM_GNU_GETTEXT' => 1,
+                        'AC_CONFIG_AUX_DIR' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'm4_include' => 1,
+                        'AM_EXTRA_RECURSIVE_TARGETS' => 1,
                          'AC_DEFINE_TRACE_LITERAL' => 1,
-                        'AM_PROG_FC_C_O' => 1,
-                        'AM_PROG_F77_C_O' => 1,
-                        'AM_SILENT_RULES' => 1,
-                        'AM_ENABLE_MULTILIB' => 1,
-                        'GTK_DOC_CHECK' => 1,
+                        'AC_FC_FREEFORM' => 1,
+                        'AM_PROG_MKDIR_P' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'LT_CONFIG_LTDL_DIR' => 1,
+                        '_AM_COND_IF' => 1,
+                        'sinclude' => 1,
                          'AC_CONFIG_MACRO_DIR_TRACE' => 1,
+                        'AC_FC_PP_SRCEXT' => 1,
                          'AM_PROG_AR' => 1,
-                        'AC_LIBSOURCE' => 1,
-                        'AM_MAKEFILE_INCLUDE' => 1,
-                        'IT_PROG_INTLTOOL' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        'AM_PATH_GUILE' => 1,
-                        'AC_SUBST_TRACE' => 1,
                          'AM_NLS' => 1,
-                        'AM_POT_TOOLS' => 1,
-                        'AC_FC_FREEFORM' => 1,
+                        'AC_CANONICAL_HOST' => 1,
+                        'AM_PROG_F77_C_O' => 1,
+                        'AC_CONFIG_FILES' => 1,
+                        'IT_PROG_INTLTOOL' => 1,
+                        'AC_SUBST' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
                          'AC_CANONICAL_TARGET' => 1,
-                        '_m4_warn' => 1,
-                        'AC_CONFIG_LINKS' => 1,
-                        '_AM_COND_ENDIF' => 1,
-                        'AM_PROG_CC_C_O' => 1,
+                        'AM_XGETTEXT_OPTION' => 1,
+                        'AM_SILENT_RULES' => 1,
+                        'AM_PATH_GUILE' => 1,
                          'AM_AUTOMAKE_VERSION' => 1,
-                        'AC_SUBST' => 1,
-                        'm4_pattern_allow' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'AM_EXTRA_RECURSIVE_TARGETS' => 1,
-                        'AC_CANONICAL_HOST' => 1,
-                        'AC_INIT' => 1,
+                        'GTK_DOC_CHECK' => 1,
+                        'AM_PROG_CC_C_O' => 1,
                          'AC_REQUIRE_AUX_FILE' => 1,
-                        'include' => 1,
-                        'AC_FC_PP_SRCEXT' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'AC_FC_PP_DEFINE' => 1,
-                        'm4_include' => 1,
-                        'AC_CONFIG_FILES' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AM_PROG_MOC' => 1,
+                        'AM_ENABLE_MULTILIB' => 1,
+                        '_m4_warn' => 1,
+                        'm4_pattern_allow' => 1,
+                        'AC_SUBST_TRACE' => 1,
+                        'AH_OUTPUT' => 1,
+                        'AC_CONFIG_LINKS' => 1,
+                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
                          'AM_MAINTAINER_MODE' => 1,
-                        '_AM_MAKEFILE_INCLUDE' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
-                        'AC_FC_SRCEXT' => 1
+                        '_LT_AC_TAGCONFIG' => 1,
+                        'AM_POT_TOOLS' => 1,
+                        '_AM_MAKEFILE_INCLUDE' => 1
                        }
                      ], 'Autom4te::Request' ),
               bless( [
@@ -172,69 +172,69 @@
                          'configure.ac'
                        ],
                        {
-                        'm4_pattern_allow' => 1,
-                        'AC_SUBST' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'AM_EXTRA_RECURSIVE_TARGETS' => 1,
-                        'AC_CANONICAL_HOST' => 1,
-                        'AC_INIT' => 1,
-                        'AC_REQUIRE_AUX_FILE' => 1,
-                        'include' => 1,
-                        'AC_FC_PP_SRCEXT' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'AC_FC_PP_DEFINE' => 1,
-                        'm4_include' => 1,
-                        'AC_CONFIG_FILES' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        'AM_MAINTAINER_MODE' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
-                        '_AM_MAKEFILE_INCLUDE' => 1,
                          'LT_SUPPORTED_TAG' => 1,
-                        'AC_FC_SRCEXT' => 1,
+                        'AC_CANONICAL_TARGET' => 1,
+                        'AM_XGETTEXT_OPTION' => 1,
+                        'AM_PATH_GUILE' => 1,
+                        'AM_SILENT_RULES' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'GTK_DOC_CHECK' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        'AC_REQUIRE_AUX_FILE' => 1,
+                        'AM_PROG_MOC' => 1,
+                        'AM_ENABLE_MULTILIB' => 1,
+                        '_AM_COND_IF' => 1,
+                        'sinclude' => 1,
                          'AC_CONFIG_MACRO_DIR_TRACE' => 1,
+                        'AC_FC_PP_SRCEXT' => 1,
+                        'AM_NLS' => 1,
                          'AM_PROG_AR' => 1,
-                        'AC_LIBSOURCE' => 1,
-                        'AM_MAKEFILE_INCLUDE' => 1,
+                        'AC_CANONICAL_HOST' => 1,
+                        'AC_CONFIG_FILES' => 1,
+                        'AM_PROG_F77_C_O' => 1,
                          'IT_PROG_INTLTOOL' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        'AM_PATH_GUILE' => 1,
-                        'AM_NLS' => 1,
-                        'AC_SUBST_TRACE' => 1,
+                        'AC_SUBST' => 1,
+                        'AM_MAINTAINER_MODE' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
                          'AM_POT_TOOLS' => 1,
-                        'AC_FC_FREEFORM' => 1,
-                        'AC_CANONICAL_TARGET' => 1,
+                        '_AM_MAKEFILE_INCLUDE' => 1,
                          '_m4_warn' => 1,
+                        'm4_pattern_allow' => 1,
+                        'AC_SUBST_TRACE' => 1,
+                        'AH_OUTPUT' => 1,
                          'AC_CONFIG_LINKS' => 1,
-                        '_AM_COND_ENDIF' => 1,
-                        'AM_PROG_CC_C_O' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
+                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
+                        'AC_CONFIG_LIBOBJ_DIR' => 1,
+                        'AM_PROG_FC_C_O' => 1,
+                        '_AM_COND_ELSE' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
                          'AC_CONFIG_HEADERS' => 1,
+                        'm4_sinclude' => 1,
+                        'AM_PROG_CXX_C_O' => 1,
+                        'include' => 1,
+                        'AM_MAKEFILE_INCLUDE' => 1,
+                        'AC_INIT' => 1,
                          'AM_PROG_LIBTOOL' => 1,
+                        '_AM_COND_ENDIF' => 1,
                          'AM_GNU_GETTEXT' => 1,
-                        'AH_OUTPUT' => 1,
-                        'AC_CONFIG_SUBDIRS' => 1,
-                        'sinclude' => 1,
-                        'AM_PROG_MKDIR_P' => 1,
-                        'AC_DEFINE_TRACE_LITERAL' => 1,
-                        'AM_PROG_FC_C_O' => 1,
-                        'AM_PROG_F77_C_O' => 1,
-                        'AM_SILENT_RULES' => 1,
-                        'AM_ENABLE_MULTILIB' => 1,
-                        'GTK_DOC_CHECK' => 1,
-                        '_LT_AC_TAGCONFIG' => 1,
-                        'LT_INIT' => 1,
-                        'm4_sinclude' => 1,
-                        'AM_XGETTEXT_OPTION' => 1,
-                        '_AM_COND_IF' => 1,
-                        'AM_PROG_MOC' => 1,
-                        'AC_CONFIG_AUX_DIR' => 1,
                          'AC_CANONICAL_BUILD' => 1,
-                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AC_CONFIG_AUX_DIR' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'm4_include' => 1,
+                        'AM_EXTRA_RECURSIVE_TARGETS' => 1,
+                        'AC_FC_FREEFORM' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'AM_PROG_MKDIR_P' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
                          'LT_CONFIG_LTDL_DIR' => 1,
-                        'AC_CONFIG_LIBOBJ_DIR' => 1,
-                        'AM_PROG_CXX_C_O' => 1,
-                        '_AM_COND_ELSE' => 1
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AC_FC_PP_DEFINE' => 1,
+                        'AC_LIBSOURCE' => 1,
+                        'LT_INIT' => 1,
+                        'AC_FC_SRCEXT' => 1
                        }
                      ], 'Autom4te::Request' )
             );


             reply	other threads:[~2024-05-04 16:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-04 16:03 Paul Eggert [this message]
2024-05-04 20:45 ` gnulib-tool sh+py mismatch when updating Emacs Collin Funk
2024-05-04 22:02   ` Paul Eggert
2024-05-04 22:35     ` Collin Funk
2024-05-04 23:03     ` Collin Funk
2024-05-05  5:54       ` Paul Eggert
2024-05-05  6:57         ` Collin Funk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.gnu.org/mailman/listinfo/bug-gnulib

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=81984d28-b5f0-4c43-a0b7-3b45a86d35de@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=bug-gnulib@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).