Subject: bug#20056: 25.0.50; Remove non Common Lisp stuff from cl*.el libraries

From: Drew Adams <[email-masked]>
Date: Mon, 29 Feb 2016 12:57:17 -0800 (PST)

> >>> In GNU Emacs 25.0.50.1 (i686-pc-mingw32)
> >>>  of 2015-02-27 on LEG570
> >>> Bzr revision: b2a590d4e3dc692a97c1b53e015b945d84b4b4c7
> >>  ^^^^^^^^^^^^^
> >>
> >> Dani, what's this "bzr revision" thing about?
> >
> > I don't know.
> 
> For the record, it's a bug in Someone's custom Emacs bug reporting
> package.

Yes, it came fom my library `emacsbug+.el'.
http://www.emacswiki.org/emacs/download/emacsbug%2b.el

It does this:

  (insert "\n\nIn " (emacs-version) "\n")
  (when (and (boundp 'emacs-bzr-version)  (stringp emacs-bzr-version))
    (insert "Bzr revision: " emacs-bzr-version "\n"))

Which is exactly what vanilla Emacs did too, a couple of years
ago.  I just had not updated my library to use the renamed label,
`Repository version:'.  I've done that now, so this scandalous
problem should no longer plague you.

In any case, my code does not define or set `emacs-bzr-version'.

,----
| emacs-bzr-version is a variable defined in `emacsbug+.el'.
| Its value is nil
| 
|   This variable is an alias for `emacs-repository-version'.
|   This variable is obsolete since 24.4;
|   use `emacs-repository-version' instead.
| 
| Documentation:
| String giving the repository revision from which this Emacs was built.
| Value is nil if Emacs was not built from a repository checkout,
| or if we could not determine the revision.
`----

My code uses the old name of this variable because it works,
including across multiple Emacs versions.

Naturally, I proposed the little that `emacsbugs+.el' does to
Emacs Dev for `emacsbug.el'.  Naturally, there was no interest.

What does it do?  It just lets users choose which fields to
include by default in a bug report.  What Emacs does with a
monolithic `report-emacs-bug', this library does with a modular
`report-emacs-bug'.  That's all.  Not a biggee.

User option `ebp-report-emacs-bug-included-fields':

(defcustom ebp-report-emacs-bug-included-fields
  '(version settings major-mode minor-modes recent-input
    recent-messages load-shadows features)
  "Fields to include by default for command `report-emacs-bug'.
The fields are included automatically in the buffer where you edit
your bug report."
  :type '(set
          (const :tag "Emacs version info" version)
          (const :tag "Important settings" settings)
          (const :tag "Major mode"         major-mode)
          (const :tag "Minor modes"        minor-modes)
          (const :tag "Recent input"       recent-input)
          (const :tag "Recent messages"    recent-messages)
          (const :tag "Load-path shadows"  load-shadows)
          (const :tag "Features"           features))
  :group 'emacsbug-plus :group 'convenience)

For my own purposes, I use the value `(version)': report just
the version info, by default.

There are also commands to insert all or any of the fields.
To insert recent input, for example, you can use command
`edp-insert-recent-input'.