Subject: 24.3.50; cl-lib breaks built-in Emacs version

From: Sebastian Wiesner <[email-masked]>
Date: Mon, 24 Jun 2013 17:30:47 +0200

"(require 'cl-lib)" breaks the Emacs version information for
package.el.  In "emacs -Q", "M-x ielm":

ELISP> (package-initialize)
t
ELISP> (package-built-in-p 'emacs (version-to-list "24.1"))
t
ELISP> (assq 'emacs package--builtin-versions)
(emacs 24 3 50)

ELISP> (require 'cl-lib)
cl-lib
ELISP> (package-built-in-p 'emacs (version-to-list "24.1"))
nil
ELISP> (assq 'emacs package--builtin-versions)
(emacs 2 2)

This breaks dependency resolution for packages which depend against a
certain Emacs version.

These incorrect entries in package--builtin-versions come from
"cl-loaddefs.el", which contains two instances of the following line:

(push (purecopy (quote (emacs 2 2))) package--builtin-versions)

These lines are apparently extracted from the package headers of
"cl-macs.el" and "cl-seq.el" which look like the following:

;; Author: Dave Gillespie <[email-masked]>
;; Version: 2.02
;; Keywords: extensions
;; Package: emacs

This meta information is obviously wrong.

This is the 3rd critical package.el bug I discovered within just a week
or so.  Don't you test your code?!