> From: Gavin Smith <gavinsmith0...@gmail.com> > Date: Sun, 26 Jan 2025 09:19:00 +0000 > Cc: bug-texinfo@gnu.org > > This is stated in the NEWS entry for Texinfo 6.1: > > 6.1 (06 February 2016) > > * Language: > ... > . For processing with TeX, a comma is automatically provided following > a cross-reference command (such as @xref) when needed to separate > the page number from following text, so you don't need to add one > yourself. See the `Parts of a Cross Reference' node in the manual > for details. Behavior when followed by punctuation, as always > recommended previously, is unchanged. > > As far as I remember, the warnings didn't stop the Info file from being > output.
They are still warnings. > > I'm open to other suggestions for how to avoid this problem. There was > > some confusion about whether this was a warning or an error, and whether > > it was "build-breaking", but that's possibly not relevant. > > It is relevant, because if it is not "build-breaking", it is less important > to add warnings to newer versions of Texinfo. We have other warnings in makeinfo that are not fatal errors, but are still emitted. The reason is that the produced Info file might be sub-optimal if those warnings are disregarded. > It is not a "bug" as you label it, as there is nothing wrong with the > input for newer versions of Texinfo and no need to warn about this input. > It could be called a "feature request" for backwards compatibility. Suppose a project using Texinfo for its documentation does want to support older versions of makeinfo -- what would you suggest to use for that? It seems to me like makeinfo, being the tool that parses the Texinfo source, is in the best position to produce such warnings. If these warnings are off by default, to be turned on by a configuration variable or a command-line option, I see no harm in having them. The alternative is for the Texinfo-using projects to develop specialized tools that would detect these issues, which doesn't sound justified to me. > As far as I know texi2any has never tried to check if input files don't > work with older versions of Texinfo. It is not just . and , following > @xref. For example, from the same 6.1 release, the @setfilename command > became optional, as well as @menu. A much older change was to determine > node directions automatically, rather than giving them as extra arguments > to @node. And of course, every new Texinfo command that is added does > not work with older versions. I've never heard the suggestion that we > should have optional warnings for any of these. This is a broader subject. Indeed, makeinfo lacks version-checking directives, so one cannot safely use new language features if one wants to support older Texinfo releases. This causes very slow acceptance of new features, and consequently sub-optimal output. It would be good if Texinfo had such version-checking directives added at some point. For example: @ifversion @atleast 10.1 ... stuff that only Texinfo 10.1 and newer supports ... @end ifversion > > I understand the decision to drop the warning was deliberate, but > > wouldn't it be possible to make it an optional warning, disabled by > > default? The warning could indicate which version of texinfo stopped > > warning about this by default and when it was released, so there would > > be an incentive to disable the option at a future point. > > It seems like a lot of work and complexity for little benefit. The benefit is that projects which want to support old releases of Texinfo will be able to adopt the new features much faster. And in some cases, the detection of violations of the older language rules will be more reliable.