Provide a command to register the Dash Info index under
emacs-lisp-mode in info-lookup-alist for the benefit of 'C-h S', and
provide an unloader function for unload-feature to undo this.
* dash.el (dash--info-doc-spec, dash--info-elisp-docs)
(dash-register-info-lookup, dash-unload-function): New definitions.
* dash-template.texi (Info symbol lookup):
* readme-template.md (Info symbol lookup): New sections.
* README.md:
* dash.texi: Regenerate docs.
Fixes#326.
* dash.el (-cons*): Return nil when called with no arguments instead
of signaling an error. Rewrite for speed.
* dev/examples.el (-cons*): Add more tests.
* README.md:
* dash.texi: Regenerate docs.
* dash.el (-list): Fix doc in the case that the first argument is
already a list.
* dev/examples.el (-list): Expand tests.
* README.md:
* dash.texi: Regenerate docs.
Fixes#225.
* dash.el (--each, --each-while, --each-r, --each-r-while): Protect
it and it-index from modification and unused lexical variable
warnings.
(-each): Use mapc for speed.
(-each-indexed, -each-while, -each-r, -each-r-while, --dotimes)
(-dotimes, -map): Improve docstrings and make them more consistent.
(--map): Rewrite as a loop to avoid funcall overhead and unused
lexical variable warnings.
* dev/examples.el (three-letters): Remove function.
(Maps): Fix grammar.
(Unfolding): Wrap description over multiple lines.
(Side effects): No need to hyphenate side effects.
(-map, -each, --each-while, -each-indexed, -each-r, -each-r-while)
(-dotimes): Simplify and extend tests.
* README.md:
* dash.texi: Regenerate docs.
The macro was broken until now for anything other than list forms,
due to a mistake in quoting. Use this as an opportunity to rethink
the macro's behavior in this case. Instead of using funcall, which
is unusual for a macro, thread the value using ->. Suggested by
Zach Shaftel <zshaftel@gmail.com>.
* dash.el (-doto): Rewrite in terms of ->. Fix docstring. Add
Edebug spec.
(--doto): Rename argument for consistency with -doto. Expand
docstring. Add Edebug spec.
* dev/examples.el (-doto): Test fixed behavior of -doto.
* README.md:
* dash.texi: Regenerate docs.
Fixes#333.
* 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.
* readme-template.md: Link to relevant docs where applicable.
Improve some wording and formatting. Do not promise precisely when
the -zip API will break. Describe CA to the FSF under Contribute
rather than Contributors.
* README.md: Regenerate.
Both GNU ELPA and MELPA are able to and do generate .info manuals
from corresponding .texi files. This means that we no longer need
to maintain dash.info, which is a hassle.
* create-docs.sh: Run under Bourne Shell. Run batch Emacs with -Q
flag. Add line continuations to lines longer than 80 columns.
Don't generate dash.info.
* dash.info: Remove file.
* 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.
This cleans up the fontification code and makes it less intrusive.
In particular, Dash function calls are no longer fontified, as
discussed in #303.
* dash.el (dash): Fix custom group description.
(dash--enable-fontlock): Remove.
(dash--keywords): New variable.
(dash--turn-on-fontify-mode): New function.
(dash-fontify-mode-lighter): New user option.
(dash-fontify-mode, global-dash-fontify-mode): New autoloaded minor
modes replacing dash-enable-fontlock, dash-enable-font-lock, etc.
(dash-enable-fontlock): Update docstring. Make obsolete in favor of
global-dash-fontify-mode, which is now called in the :set function.
(dash-enable-font-lock): Make obsolete alias of
global-dash-fontify-mode.
* dash-template.texi (Syntax highlighting of dash functions):
* readme-template.md (Syntax highlighting of dash functions):
Retitle as "Fontification of special variables" for clarity and
accuracy and describe dash-fontify-mode instead of the now obsolete
dash-enable-font-lock.
* README.md:
* dash.info:
* dash.texi: Regenerate docs.
Fixes#298.
Fixes#303.
Closes#310.
Remove Travis CI + EVM which are slow and problematic.
* .github/workflows/test.yml: Run CI also for PRs and with the
latest Emacs release and Checkout Action versions.
* .travis.yml:
* run-travis-ci.sh: Remove files.
Re: #328.