magnars/dash.el

CL not required.

tedroden opened this issue · 2 comments

I have a feeling I'm missing something obvious, but ...

The readme says "cl not required" ... but line 40 is (require cl).

cl is also deprecated in emacs 27 in favor of cl-lib and throws a warning.

Forgive me if I'm missing something obvious!

but line 40 is (require cl).

Yes, but line 39 is (unless (fboundp 'gv-define-setter), line 38 is (eval-when-compile, and lines 36 and 37 contain the following commentary:

;; TODO: `gv' was introduced in Emacs 24.3, so remove this and all
;; calls to `defsetf' when support for earlier versions is dropped.

In other words cl is loaded only in old versions of Emacs during byte-compilation (not runtime) so that setf macros can be expanded correctly. See issue #335.

cl is also deprecated in emacs 27 in favor of cl-lib and throws a warning.

As I said in #335:

I do not get a warning when either byte-compiling dash.el, loading dash.el, or loading dash.elc on any of the following Emacs versions: 24.5.1, 25.3.1, 26.3, 27.0.91, 28.0.50.

If you do get a warning during any of these activities, then please report the precise steps that you take, as well as your precise M-xemacs-versionRET.

Great, thanks! I knew I was missing something.