Subject: RE: bug#11999: 24.1.50; New Info file suffix ".info" breaks `Info-find-node-2'

From: "Drew Adams" <[email-masked]>
Date: Fri, 20 Jul 2012 14:08:07 -0700

> You will need to explain more, because info-insert-file-contents first
> tests for the argument FILENAME, and if that does not exist, it tries
> FILENAME with every extension in Info-suffix-list, which includes
> ".info".
> 
> In particular, this works for me on MS-Windows:
>   M-: (info-insert-file-contents "d:/path/to/emacs/info/emacs") RET
> and loads emacs.info.  Why doesn't it work for you?

My bad.  The difference turned out to be the use now of `user-error' instead of
`error'.  Where I previously just saw a message saying there was no such node,
now Emacs puts me in the debugger, because I have non-nil `debug-on-error'.

This bug could be closed.  However, maybe it should not (you decide):

Going only by the doc string of `user-error', it seems that at least some of the
many changes from `error' to `user-error' in info.el (and beyond?) are
inappropriate.

An index lookup of a term that is not in the index is in general NOT a "pilot
error".  It is normal behavior on the part of users to look up terms in the
index, whether they happen to be there or not.

An index lookup that finds no hit is NOT "expected to be the result of an
incorrect manipulation on the part of the user, rather than the result of an
actual problem."  It is preposterous to have such an expectation or
interpretation of user interaction.

(Furthermore, even errors that are not user errors do not necessarily indicate
"an actual problem".)

There is no "incorrect manipulation" or misunderstanding of Emacs on the part of
a user who looks up `iterate' - or for that matter `user-error' (!) - in the
Elisp index.  These terms just happen not to be indexed.

Something seems misguided in the present classification/handling of errors in
info.el.  I will leave it to you to decide whether you want to (a) do nothing,
(b) use this bug to fix some of the inappropriately classified "user" errors, or
(c) open a new bug for such a fix.