Subject: bug#54175: 27.2; Info-follow-reference completions in reverse order

From: Howard Melman <[email-masked]>
Date: Sun, 27 Feb 2022 11:52:10 -0500

> On Feb 27, 2022, at 11:36 AM, Eli Zaretskii <[email-masked]> wrote:
> 
>> From: Howard Melman <[email-masked]>
>> Date: Sun, 27 Feb 2022 10:43:49 -0500
>> 
>> On Feb 27, 2022, at 2:17 AM, Eli Zaretskii <[email-masked]> wrote:
>> 
>>> I must say that I'm uneasy with such changes, which punish every user
>>> of Info because some optional completion facility out there would like
>>> that.  It sounds wrong.  Why shouldn't we expect from those optional
>>> completion facilities to do this if and when they need?
>> 
>> 1. I understand your "who has the burden" argument but the cost of 
>> reversing a list of a handful of items is hardly punishment.
> 
> It doesn't have to be a handful, though.  Large manuals, such as
> Emacs and ELisp, have some large nodes with many cross-references.
> For example, see the Glossary node.

I mean if this is the degenerate case... the Emacs 27.2 manual 
glossary has 182 references:

    (setq strlist (make-list 182 "Some String"))
    (benchmark-run 1000 (setq strlist (nreverse strlist)))
    (0.00032399999999999996 0 0.0)

This is not a function that will be typically be called in by code, this is
"cost" will essentially always be paid during an interactive command
done occasionally while the user is reading.  Not doing this for performance
reasons seems like a pointless micro-optimization.

Howard