On Sat, Feb 01, 2025 at 09:08:09AM +0000, Werner LEMBERG wrote:
> 
> > Looks like a bug to me.  I think that the nodes/anchor/float targets
> > should be there.  (Also probably the @*heading command targets, the
> > footnotes, but it is less important).

Added in
https://git.savannah.gnu.org/cgit/texinfo.git/commit/?id=9424bde12001a8f5c4ad5365ae2697a3abd0c7fa

> OK.  For the time being, I will use the
> `texinfo_register_file_id_setting_function` hooks 'node_file_name' and
> 'label_target_name' to emit the IDs.

That's a valid possibility.  Another possibility would have been to
register a user-defined function relatively late, maybe in 'finish'
stage handler, to be sure that if there are node_file_name and
label_target_name that modified the labels you would get the modified
lables, get the labels, and iterate over:

sub _my_fun_get_labels
{
  my ($self, $document, $stage) = @_;

  if ($document) {
    my $labels_list = $document->labels_list();
      if ($labels_list) {
        foreach my $target_element (@$labels_list) {
          next if (not $target_element->{'extra'}
                 or not $target_element->{'extra'}->{'is_target'});

        my $cmdname = $target_element->{'cmdname'};
        my $label_element
          = Texinfo::Common::get_label_element($target_element);
        my $href = $self->command_href($target_element, '');
        ...
      }
    }
  }
  return 0;
}

-- 
Pat

Reply via email to