[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#38206: 26.1; cl-prettyexpand incorrectly expands pushing to structur
From: |
Stefan Monnier |
Subject: |
bug#38206: 26.1; cl-prettyexpand incorrectly expands pushing to structures |
Date: |
Sun, 17 Nov 2019 15:13:56 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> The bug was introduced by a rewrite in 2012, I think, which changed the
> implementation radically, which made it pass in that list as a totally
> bogus ENVIRONMENT to macroexpand-all.
Not sure why you see it that way. `C-x v h` tells me:
commit 6fa6c4aedbc9f33cf8ed67fdb7794c3b4ff6660a
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Thu Jun 7 15:48:22 2012 -0400
Move old compatiblity to cl.el. Remove cl-macroexpand-all.
[...]
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
--- a/lisp/emacs-lisp/cl-extra.el
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -798,2 +681,2 @@
- (setq form (cl-macroexpand-all form
- (and (not full) '((cl-block)
(cl-eval-when)))))
+ (setq form (macroexpand-all form
+ (and (not full) '((cl-block)
(cl-eval-when)))))
commit 7c1898a7b93053cd0431f46f02d82c0a31bfb8bf
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Sun Jun 3 21:05:17 2012 -0400
* lisp/emacs-lisp/cl-lib.el: Rename from cl.el.
* lisp/emacs-lisp/cl.el: New compatibility file.
* emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-seq.el,
lisp/emacs-lisp/cl-macs.el:
* lisp/emacs-lisp/cl-extra.el: Rename all top-level functions and
variables
to obey the "cl-" prefix.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name.
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
--- a/lisp/emacs-lisp/cl-extra.el
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -802,2 +798,2 @@
(setq form (cl-macroexpand-all form
- (and (not full) '((block) (eval-when)))))
+ (and (not full) '((cl-block)
(cl-eval-when)))))
commit fcd737693e8e320acd70f91ec8e0728563244805
Author: Richard M. Stallman <rms@gnu.org>
Date: Fri Jul 30 20:15:09 1993 +0000
entered into RCS
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
--- /dev/null
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -0,0 +920,2 @@
+ (setq form (cl-macroexpand-all form
+ (and (not full) '((block) (eval-when)))))
so it seems that it's been with us since at least 1993.
> I think the right change here is to just deprecate the FULL parameter
> and remove the
>
> (and (not full) '((cl-block)
> (cl-eval-when)))))
>
> bit. Stefan?
100% agreement.
Stefan