unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Support for bringing package change logs to the user's attention
@ 2018-05-25 11:47 Christopher Done
  2018-05-25 11:50 ` Christopher Done
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Christopher Done @ 2018-05-25 11:47 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2830 bytes --]

Hi all,

As the author and maintainer of several Emacs Lisp packages, I'd like to
discuss how change logs are brought to the user's attention.

The simple problem for me is that users never know what cool new things
have been added, or what bugs have been fixed, unless they're really
keeping an eye out for it. People often seem just update all their
packages. New things aren't obviously discoverable.

There are three main kinds of Emacs package users that I'm aware of:

1. People who have a ~/.emacs.d with the packages/.el files that they've
   downloaded and made a copy of locally.

2. People who put their ~/.emacs.d under version control and pull
   packages down via that.

3. People who install Emacs packages via the package system in Emacs.

(Personally, I am in the (2) set of people. I searched through the Emacs
manual about packages and didn't find anything about change logs... tell me
if I missed something!)

I would like that there be explicit support for:

A. When I load an Emacs package that is newer than last time, that Emacs
   automatically brings up to my attention a buffer with "what's new" in
   the package.

B. Once I've acknowledged by a button or key press that I've really read
   the changes, then I never see the buffer again unless I explicitly
   ask to see it again.

For example: To handle the (3) type of person, you could put such
support into package-install, by simply writing to some kind of
~/.emacs.d/seen.el file with (("package" . version) ...) inside that
lets Emacs know that I've seen the changelog, and I don't need to be
bothered about it again. Alternatively it could be put in a
customization variable and written to .emacs. I'm not sure about the
implementation, but the UX is the important part.

For people who do the (1) and (2) method, there isn't explicitly an
"install" step. A bunch of Elisp files are loaded up and that's all. I'm
not sure what we can do for them. Perhaps not much and that's OK. I'm
open to ideas, though.

We could have the package system look for a CHANGELOG file, or a ;;;
Changes section in the file. It would parse up the latest entries since the
last seen version and open a buffer to show the user, e.g.

0.1.31:
* C-c C-p now massages your feet while gcc is compiling
        * The bug with overlays being slow is now fixed.

Parsing isn't always a nice solution, but that's already done to some
extent anyway. The alternative would be having the author write some
Elisp with the changelog, but that seems like duplication of work to me.

It would of course have an option to turn it off if people don't care
what changed in any of their packages.

What do you think? I'm asking here because I think it'd be a valuable
addition to Emacs and would be best if it had buy-in from general package
writers and the Emacs maintainers.

Chris

[-- Attachment #2: Type: text/html, Size: 3721 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-06-26 17:59 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-25 11:47 Support for bringing package change logs to the user's attention Christopher Done
2018-05-25 11:50 ` Christopher Done
2018-05-25 14:26   ` Drew Adams
2018-05-25 14:31 ` Aaron Ecay
2018-05-25 16:40 ` Eric Abrahamsen
2018-05-25 17:16   ` Noam Postavsky
2018-05-25 17:51     ` Eric Abrahamsen
2018-05-26 21:07       ` Stefan Monnier
2018-05-26 21:48         ` Eric Abrahamsen
2018-05-26 21:59           ` Stefan Monnier
2018-05-27  3:15             ` Van L
2018-05-28 20:34 ` John Wiegley
2018-06-26 17:59   ` Ted Zlatanov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).