GNU bug report logs - #66554
[PATCH] Add the public API of Compat to the core

Previous Next

Package: emacs;

Reported by: Philip Kaludercic <philipk <at> posteo.net>

Date: Sun, 15 Oct 2023 09:37:01 UTC

Severity: wishlist

Tags: patch

Done: Philip Kaludercic <philipk <at> posteo.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Philip Kaludercic <philipk <at> posteo.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: mail <at> daniel-mendler.de, stefankangas <at> gmail.com, monnier <at> iro.umontreal.ca, 66554 <at> debbugs.gnu.org
Subject: bug#66554: [PATCH] Add the public API of Compat to the core
Date: Sat, 10 Feb 2024 16:46:30 +0000
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Philip Kaludercic <philipk <at> posteo.net>
>> Cc: mail <at> daniel-mendler.de,  66554 <at> debbugs.gnu.org,  stefankangas <at> gmail.com,
>>   monnier <at> iro.umontreal.ca
>> Date: Sat, 10 Feb 2024 16:29:00 +0000
>> 
>> >> Note that Compat provides replacement functions with extended
>> >> functionality for functions that are already defined (@code{sort},
>> >> @code{assoc}, @dots{}).  These functions may have changed their
>> >> calling convention (additional optional arguments) or may have changed
>> >> their behavior.  These functions must be looked up explicitly with
>> >> @code{compat-function} or called explicitly with @code{compat-call}.
>> >> We call them ``Extended Definitions''.  In contrast, newly ``Added
>> >> Definitions'' can be called as usual.
>> >
>> > Thanks.  I suggest to copy the above paragraph to the ELisp reference
>> > manual, 
>> 
>> OK, can do.
>> 
>> >         and add a cross-reference to the Compat manual after it.
>> 
>> IIUC the cross-reference will be broken, unless the user has installed
>> Compat manually.
>
> I wouldn't be worried about that: the cross-reference is readable, and
> the reader will understand what it says even if it cannot be followed.
> We do that for other manuals, which belong to other packages that
> might not be installed.

OK.  I don't have access to the machine with the latest version of the
patch, but as soon as I get that going again, I'll update it and push
the change to master.

>> Moreover, if I am not mistaken, the documentation bundled with the
>> Compat package might not be loaded at all, if the package isn't
>> activated due to the versioning trick.
>
> What do you mean by "not loaded"?  If a package is installed, its Info
> manual is also installed, isn't it?  And if you mean the manual might
> not be on the Info search path, then that again goes back to the
> "package not installed" scenario, which I don't think we should worry
> about.

I might be mistaken, but from a cursory peak at package.el, specifically
`package-activate-1', the Info search path is only updated if the
package is activated.  If the core-package takes priority over an
external package, the external package shouldn't get activated.

This hasn't been a problem in the past, because core packages don't come
with their own manuals, but this is an exception since core-Compat is
not really the same code as ELPA-Compat.

One way to fix this, would be to explain how to disable a package via
`package-load-list' in the Compat manual.  I'll have to try it out, but
if it works, I think that solution should be acceptable.

> Thanks.

-- 
Philip Kaludercic




This bug report was last modified 1 year and 160 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.