unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Changelog message for updating packages
@ 2020-11-08 10:06 Boruch Baum
  2020-11-08 10:31 ` Jean Louis
  2020-11-08 13:55 ` Stefan Monnier
  0 siblings, 2 replies; 6+ messages in thread
From: Boruch Baum @ 2020-11-08 10:06 UTC (permalink / raw)
  To: Emacs-Devel List

As an emacs user, I would like to know before updating a package what is
in store for me if I decide to perform an update. As a programmer, I
would like to inform / warn users of changes or new features when they
update. This has become a standard feature of linux package managers and
ought to become a feature of emacs' package.el IMO. For example, in
debian one can perform 'apt changelog foo' prior to upgrading package
foo, and a developer can prepare an update message that appears after an
upgrade (and is also mailed to the admin's mailbox).

Participating packages would need to have some standardized changelog
file and possible message file, and package.el would need one extra
interactive function and a handler for the possible messages.

If this has been discussed before, it's not my intention to re-hash a
previously rejected proposal.

--
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0



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

* Re: Changelog message for updating packages
  2020-11-08 10:06 Changelog message for updating packages Boruch Baum
@ 2020-11-08 10:31 ` Jean Louis
  2020-11-08 15:40   ` Boruch Baum
  2020-11-08 16:11   ` Drew Adams
  2020-11-08 13:55 ` Stefan Monnier
  1 sibling, 2 replies; 6+ messages in thread
From: Jean Louis @ 2020-11-08 10:31 UTC (permalink / raw)
  To: Boruch Baum; +Cc: Emacs-Devel List

* Boruch Baum <boruch_baum@gmx.com> [2020-11-08 13:08]:
> As an emacs user, I would like to know before updating a package what is
> in store for me if I decide to perform an update. As a programmer, I
> would like to inform / warn users of changes or new features when they
> update. This has become a standard feature of linux package managers and
> ought to become a feature of emacs' package.el IMO. For example, in
> debian one can perform 'apt changelog foo' prior to upgrading package
> foo, and a developer can prepare an update message that appears after an
> upgrade (and is also mailed to the admin's mailbox).

You may find it in Emacs Lisp manual under (elisp) Packaging

D.8 Conventional Headers for Emacs Libraries
============================================

‘;;; Change Log:’
     This begins an optional log of changes to the file over time.
     Don’t put too much information in this section—it is better to keep
     the detailed logs in a version control system (as Emacs does) or in
     a separate ‘ChangeLog’ file.  ‘History’ is an alternative to
     ‘Change Log’.

> Participating packages would need to have some standardized changelog
> file and possible message file, and package.el would need one extra
> interactive function and a handler for the possible messages.

Explore those many ready functions. I am using some of them.

    add-change-log-entry
    add-change-log-entry-other-window
    add-log--changelog-buffer-p
    add-log--pseudo-changelog-buffer-name
    add-log-find-changelog-buffer
    change-log-beginning-of-defun
    change-log-end-of-defun
    change-log-fill-forward-paragraph
    change-log-fill-parenthesized-list
    change-log-find-file
    change-log-get-method-definition
    change-log-get-method-definition-1
    change-log-goto-source
    change-log-goto-source-1
    change-log-goto-source-internal
    change-log-indent
    change-log-insert-entries
    change-log-merge
    change-log-mode
    change-log-name
    change-log-next-buffer
    change-log-next-error
    change-log-read-defuns
    change-log-read-entries
    change-log-resolve-conflict
    change-log-search-file-name
    change-log-search-tag-name
    change-log-search-tag-name-1
    change-log-sortable-date-at
    change-log-version-number-search
    diff-add-change-log-entries-other-window
    find-change-log
    log-edit-add-to-changelog
    log-edit-changelog--pattern
    log-edit-changelog-entries
    log-edit-changelog-entry
    log-edit-changelog-insert-entries
    log-edit-changelog-ours-p
    log-edit-changelog-paragraph
    log-edit-changelog-subparagraph
    log-edit-comment-to-change-log
    log-edit-generate-changelog-from-diff
    log-edit-insert-changelog
    log-edit-insert-changelog-entries
    log-edit-insert-filenames-without-changelog
    log-edit-narrow-changelog
    prompt-for-change-log-name
    smart-lisp-at-change-log-tag-p
    vc-cvs-update-changelog
    vc-rcs-update-changelog
    vc-update-change-log




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

* Re: Changelog message for updating packages
  2020-11-08 10:06 Changelog message for updating packages Boruch Baum
  2020-11-08 10:31 ` Jean Louis
@ 2020-11-08 13:55 ` Stefan Monnier
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2020-11-08 13:55 UTC (permalink / raw)
  To: Boruch Baum; +Cc: Emacs-Devel List

> Participating packages would need to have some standardized changelog
> file and possible message file, and package.el would need one extra
> interactive function and a handler for the possible messages.

Would be nice, yes.

For the message, you can currently approximate that by emitting the
message when the package is compiled (with a `(eval-when-compile
(message ...))` or something), tho it's not very satisfactory:
- it's arguably too late (the package is already installed).
- it can't distinguish between an upgrade, a new install, a reinstall, ...


        Stefan




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

* Re: Changelog message for updating packages
  2020-11-08 10:31 ` Jean Louis
@ 2020-11-08 15:40   ` Boruch Baum
  2020-11-08 16:11   ` Drew Adams
  1 sibling, 0 replies; 6+ messages in thread
From: Boruch Baum @ 2020-11-08 15:40 UTC (permalink / raw)
  To: Jean Louis; +Cc: Emacs-Devel List

On 2020-11-08 13:31, Jean Louis wrote:
> You may find it in Emacs Lisp manual under (elisp) Packaging

I'm familiar with some/many of the functions on your list; none of those
integrate into package.el for a user to query from that buffer what is
about to be updated, and are automatically presented to the user after
an update is performed.

--
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0



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

* RE: Changelog message for updating packages
  2020-11-08 10:31 ` Jean Louis
  2020-11-08 15:40   ` Boruch Baum
@ 2020-11-08 16:11   ` Drew Adams
  2020-11-08 17:24     ` Jean Louis
  1 sibling, 1 reply; 6+ messages in thread
From: Drew Adams @ 2020-11-08 16:11 UTC (permalink / raw)
  To: Jean Louis, Boruch Baum; +Cc: Emacs-Devel List

> You may find it in Emacs Lisp manual under (elisp) Packaging
> D.8 Conventional Headers for Emacs Libraries
> ============================================
> ‘;;; Change Log:’
>      This begins an optional log of changes to the file over time.

FWIW, I use this in each of my Elisp files.

Or in the case of multifile packages (Icicles,
Bookmark+), I have a separate file, <lib>-chg.el,
which has such a change log for each file of the
package.



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

* Re: Changelog message for updating packages
  2020-11-08 16:11   ` Drew Adams
@ 2020-11-08 17:24     ` Jean Louis
  0 siblings, 0 replies; 6+ messages in thread
From: Jean Louis @ 2020-11-08 17:24 UTC (permalink / raw)
  To: Drew Adams; +Cc: Boruch Baum, Emacs-Devel List

* Drew Adams <drew.adams@oracle.com> [2020-11-08 19:12]:
> > You may find it in Emacs Lisp manual under (elisp) Packaging
> > D.8 Conventional Headers for Emacs Libraries
> > ============================================
> > ‘;;; Change Log:’
> >      This begins an optional log of changes to the file over time.
> 
> FWIW, I use this in each of my Elisp files.

I have seen it and it is good practice. When it is too big, then it
can be in separate file.

Also good practice is that you explain which functions are defined by
its groups. Which are interactive functions and so on. That helps
greatly when researching the package.

I like the Drew's style and I like Pascal Bourguignon's style. You
write packages both in very similar fashion with great attention on
details and helping those who read it or study. I have not read Emacs
main code, it must be useful to learn. What I reviewed are many
packages on MELPA as I am discovering those using proprietary
software. There I have seen bad styles and what what...

For ChangeLog files there is built-in Emacs mode, it works well for
external files.



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

end of thread, other threads:[~2020-11-08 17:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-08 10:06 Changelog message for updating packages Boruch Baum
2020-11-08 10:31 ` Jean Louis
2020-11-08 15:40   ` Boruch Baum
2020-11-08 16:11   ` Drew Adams
2020-11-08 17:24     ` Jean Louis
2020-11-08 13:55 ` Stefan Monnier

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).