Subject: Re: bug#69892: 29.2; Missing ‘(provide 'paragraphs)’ in lisp/textmodes/paragraphs.el

From: tpeplt <[email-masked]>
Date: Tue, 19 Mar 2024 10:20:20 -0400

Eli Zaretskii <[email-masked]> writes:

>> 
>> The Emacs Lisp file "../lisp/textmodes/paragraphs.el" does not include
>> an expression to announce that "paragraphs" is a feature in the current
>> Emacs, that is, near the end "paragraphs.el" there is no expression:
>> 
>>    (provide 'paragraphs)
>> 
>> Because of this, if 
>> 
>>    (require 'paragraphs)
>> 
>> is included in an Emacs Lisp source file, then the byte-compiler will
>> issue an error message saying that loading the file ‘paragraphs.elc’
>> failed to provide the feature ‘paragraphs’.
>
> paragraphs.el is preloaded, and has been for many years.  So why would
> a Lisp program need to require it, let alone load it?

Emacs provides ‘elint-current-buffer’, ‘elint-defun’, ‘elint-directory’,
‘elint-file’, which report warnings for references to undefined symbols
when there is no ‘provide’ that provides definitions.  So, for example,
a reference to ‘page-delimiter’ (defined in paragraphs.el) will cause
‘elint’ to issue a warning, despite the fact that ‘paragraphs.el’ has
been preloaded.

This might be a problem with ‘elint’ since paragraphs.el is included in
the files that it loads, even in batch mode.  If it *is* an error in
‘elint’, then that should be fixed so that the invalid warning messages
are not included among valid warning and error messages.  Or, ‘elint’
might be behaving correctly by looking through a list of ‘provides’ in
order to resolve references, rather than what has been preloaded.

--