Emacs 27 officially deprecates cl.el, which causes run-tests.sh to
fail even when all tests pass, due to byte-compiler warnings.
* dash.el: Do not unconditionally require cl.el in all Emacs
versions. Remove gv setter for -first-item, which is redundant
since -first-item is an alias of car. Also wrap calls to
gv-define-setter in with-no-warnings to suppress warnings about
gv--defsetter being undefined at runtime in certain Emacs versions.
(-third-item): Do not assume caddr is defined just because cl.el was
loaded within eval-when-compile: caddr is only defined if cl.el is
loaded at runtime, or in Emacs 26 and above.
* dev/examples.el (odd?): New helper function akin to even?.
(-partition-after-pred, -partition-before-pred): Use it instead of
assuming oddp from cl.el is defined.
* run-tests.sh: Byte-compile all Emacs versions. Pass -Q along with
-batch for some older Emacs versions. Consistently use
short (single-hyphen) Emacs options.
* README.md:
* dash.info:
* dash.texi: Regenerate docs.
The descructoring could be extended by defining a function named
`dash-expand:&{destructoring-key}` where {destructoring-key} stands for the key
that will be used in the let destructoring, e. g. &hash/&plist in the standart
dash
Move to EVM for version management, rather than a patchwork of PPAs.
Add testing for all Emacs versions including minor releases 24.1 to
25.3. Add Emacs-26 pretest. Add Emacs master snapshot.
Fix comments in dash.el that describe workaround for missing gv.el in
24.1.1 and 24.2.1. Update run-tests.el to skip byte compilation check
in these versions.
Remove support for tests on Emacs 23 (and by implication full support
for Emacs-23, although this commit introduces no breaking changes by
itself). Remove ert.el from, as it was needed only for Emacs 23.