unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 70382@debbugs.gnu.org, matt@excalamus.com, Juri Linkov <juri@linkov.net>
Subject: bug#70382: 29.3; Info-fontify-node renders cross-references misleadingly
Date: Sun, 14 Apr 2024 14:43:31 -0400	[thread overview]
Message-ID: <jwv34rnx0hu.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <86edb7ncd6.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 14 Apr 2024 19:21:57 +0300")

> will look in the reader.  You will see that the paragraph about @ref
> in that section is also shown incorrectly (the Emacs Info reader
> doesn't show "see" for @ref), and the paragraph about @pxref
> incorrectly says the result starts with "*note" (it actually starts
> with "see").

Yes, our prettifying of cross-references gets confused here because it
mistakes the doc's text for a cross-reference (because that text is
indeed showing an example of what such cross-references look like).

Given that the Info format doesn't document what the actual text should
look like, our prettifying can only be heuristic.

Notice that even if you set `Info-hide-note-references` to nil,
the "*Note NAME: NODE." is still highlighted if it were an actual
cross-reference (and if you click on it you jump to the "node" node).
In the Info reader, the behavior is almost the same: this example is
also highlighted but if you hit RET on it it signals an error because it
can't find a node named "NODE" (looks like `/usr/bin/info` is case
sensitive while Emacs's Info reader is not).

IOW, Texinfo's own reader gets confused by its own doc.

> I think the only sane way of dealing with this problem is to disable
> Info-hide-note-references in that particular node (and any other
> nodes,  if we find them, where there's a similar issue).  The patch
> below attempts to do that.

Sounds OK.

> Juri and Stefan, do you see a cleaner solution?

We could try and detect that the cross ref is within a '...'.

BTW, I'm not sure whether the current behavior is really a problem:
after all, in Emacs, people indeed won't see something of the form
`*note NAME: NODE.` but they'll see something of the form `see NAME` or
`See NAME`, so the bug could be considered a feature (depending on
whether we think the doc describes the content of the Info file or
whether it describes when readers will see when reading their doc in
Emacs).


        Stefan






  reply	other threads:[~2024-04-14 18:43 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-14 14:35 bug#70382: 29.3; Info-fontify-node renders cross-references misleadingly Matt
2024-04-14 16:21 ` Eli Zaretskii
2024-04-14 18:43   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2024-04-14 19:16     ` Eli Zaretskii
2024-04-15  6:55       ` Juri Linkov
2024-04-15 11:39         ` Eli Zaretskii
2024-04-15 12:49           ` Eli Zaretskii

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://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=jwv34rnx0hu.fsf-monnier+emacs@gnu.org \
    --to=bug-gnu-emacs@gnu.org \
    --cc=70382@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=juri@linkov.net \
    --cc=matt@excalamus.com \
    --cc=monnier@iro.umontreal.ca \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).