* readme-template.md (Using in a package): Don't hard-code package
version of dash-functional.el.
* dev/examples-to-docs.el (create-docs-file): Substitute package
version of dash-functional.el alongside that of dash.el.
* dash-template.texi: Set version flag DASHFNVER for
dash-functional.el alongside that for dash.el.
(Using in a package): Use it.
* dev/examples-to-info.el (create-info-file): Substitute package
version of dash-functional.el alongside that of dash.el.
* dash.texi: Regenerate manual.
* dash.el (--iterate): Implement in terms of dotimes. Move
definition before first use.
(-iterate): Implement in terms of --iterate.
* dev/examples.el (Unfolding): Fix group description.
(-iterate): Add more tests.
* README.md:
* dash.texi: Regenerate docs.
* Makefile: New file subsuming create-docs.sh and run-tests.sh.
* create-docs.sh:
* run-tests.sh: Remove files.
* .github/workflows/test.yml:
* dash-template.texi (Contribute):
* readme-template.md (Contribute):
* pre-commit.sh: Refer to new Make targets.
* dev/examples.el: Add support for running byte-compiled tests in
Emacs < 24.3, where setf was still defined in cl-macs.el.
* README.md:
* dash.texi: Regenerate docs.
* .gitignore: Ignore locally compiled Info manual.
* doc/fdl.texi:
* doc/gpl.texi: New files containing GNU FDL and GPL in Texinfo
format.
* dash-template.texi: Include their contents as appendices, and
license manual under the GNU FDL. Define placeholder flag DASHVER
for the current version of the dash.el package. Fix titles,
subtitle, directory file entry, markup, and menus. Improve wording
and cross-references. Reconcile manual contents with those of
readme-template.md, particularly the change log and list of
contributors. Generate a function rather than concept index, which
is not used.
* dev/examples-to-info.el: Set DASHVER in dash.texi to the current
version of the dash.el package.
* dash.texi: Regenerate manual.
* dash.el (-cycle): Use append for faster list copying that
continues to work with non-list sequences. Fix docstring.
* dev/examples.el (-cycle): Test that returned list is a copy.
* README.md:
* dash.info:
* dash.texi: Regenerate docs.
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.