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

From: Jean Louis <[email-masked]>
Date: Tue, 8 Dec 2020 17:55:54 +0300

* Stefan Monnier <[email-masked]> [2020-12-08 17:22]:
> >> Problem (1) should be reasonably easy to fix by removing the
> >> corresponding autoload and storing the list of unwanted packages
> >> somewhere for future Emacs sessions (and also changing the question from
> >> "yes/no" to "yes/notnow/never").
> > I am just worried that if that package becomes enabled by default in
> > future Emacs that it will be nagging users who just wish to edit and
> > not access Internet. It should be rather option that user enables to
> > be asked just as it is common to enable packages.
> 
> Hmm... indeed you're right.  It *is* worth the trouble if we want to
> enable it by default.
> 
> > Is asking users to enable or load or install various packages the sole
> > purpose of gnu-elpa package?
> 
> Yes and no: it's not the "purpose" but it's the way it reaches its
> purpose.  Its purpose is to integrate GNU ELPA more closely into Emacs,
> and generally promote GNU ELPA packages.

Nagging user to install package does not tell to user that GNU ELPA
exists even. Think of new user who installs Emacs to do some SQL
editing and is then asked to install sql-indent. I am using PostgreSQL
maybe 20 years, I do not remember, and I never used that package
neither I need it, and I did not know about it. So in that sense it
did work for me, it promoted package to me.

For new users it is good to think how to offer them GNU ELPA packages,
please put yourself in their mind or look from their view point.

- many users will not know what is this dialogue about. 

- user will not know what is this package about, there is no title or
  description. To really promote GNU ELPA it would be good to tell
  about it. Add the third button "Find more about GNU ELPA" that maybe
  leads to Emacs manual.

- user will not know that package is supposed to come from Internet
  and those without Internet or in local network will be asked and
  then action cannot be performed. Do not assume that many people have
  Internet. GNU/Linux is installed on plethora of computers where
  students, professors, teachers use it without direct Internet.

  Make a check if Internet is available, then ask the user.

- gnu-elpa package could also make one question such as: "May I inform
  you from time to time about Emacs?" -- then if user says YES there,
  it could run automatically and from time to time inform user about
  tips on how to use Emacs or tips how to use GNU ELPA. People could
  contribute to those tips to be shown randomly or semantically in the
  context of what user is doing. Emacs has doctor built-in but not an
  artificial intelligence to guide the user. Why not that way.

- additionally I hope that dialogue works in console too, as I did not
  check it.