On Thu, Oct 22, 2026 at 10:19:28AM +0100, Gavin Smith wrote:
> To be fully correct, we should say that a DEL byte can't occur in the
> index entry text, so with your example above:
> 
> * Texinfo::Convert::Converter initialization: ^?Texinfo::Convert::Converter 
> Converter Initialization^?.
> 
> - the index entry is for "Texinfo::Convert::Converter initialization", not
> for "Texinfo::Convert::Converter initialization: ^?Texinfo::Convert:".
> 
> As you found below, the implementation in Info doesn't work with the DEL
> quoted node name if the node name contains a colon, which is definitely
> a bug.  I will investigate.

This was actually fixed already, earlier this year, in commit c7baf174e:

diff --git a/ChangeLog b/ChangeLog
index e6d7a98bd0..5dde45930b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2026-07-11  Gavin Smith <[email protected]>
+
+       Fix index reference to node with : in its name
+
+       * info/scan.c (scan_reference_label): Include DEL byte in
+       argument to strcspn.  This reverses change on 2024-12-30.
+       
+       Fix from ThomB <[email protected]>.
+
 2026-07-10  Gavin Smith <[email protected]>
 
        * README-hacking: remove missed self-destructing note for post
diff --git a/info/scan.c b/info/scan.c
index 1b01ab5220..6121f992dd 100644
--- a/info/scan.c
+++ b/info/scan.c
@@ -1151,7 +1151,7 @@ scan_reference_label (REFERENCE *entry, int in_index)
 
       while (1)
         {
-          n = strcspn (p, ":\n");
+          n = strcspn (p, ":\n" INFO_QUOTE_STR);
           if (p[n] == ':')
             {
               m += n + 1;



Reply via email to