Subject: Re: bug#45098: 28.0.50; gnu-elpa: if user says `no' to install package, it aborts the previous function invoked

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 08 Dec 2020 15:13:45 +0100

Stefan Monnier <[email-masked]> writes:

> Problem (2) is largely unsolvable on `gnu-elpa`s side.
> Basically, the code in `sql-indent-enable` in sql.el does:
>
>     (when (fboundp 'sqlind-minor-mode)
>       (sqlind-minor-mode (if sql-use-indent-support +1 -1)))
>
> With `gnu-elpa` installed, `sqlind-minor-mode` is defined (as an
> autoloaded function), so we call it which in turns loads `gnu-elpa.el`,
> but from there we can't "uncall" the function.  We could signal
> a different error than "Abort", and then change the call so it just
> ignores such errors, or we could have a special hack in `gnu-elpa` for
> `sqlind-minor-mode` such that when the user decides not to
> install the package we install a dummy version of the function which
> does nothing (and then undefines the function), but I'm not sure it's
> worth the trouble.

Couldn't gnu-elpa just make sqlind-minor-mode into `indentity' (or
something similar) in these cases?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no