* readme-template.md (Contents): New section.
(Upcoming breaking change!, Using in a package)
(Fontification of special variables, Info symbol lookup): Demote to
subsections and reorganise a bit.
(Change log):
* dash-template.texi (Change log): Move duplicated contents from
here...
* NEWS.md: ...to this new change log file, as per GNU ELPA's README.
* README.md:
* dash.texi: Regenerate docs.
* dev/examples-to-info.el (dash--print-lisp-as-texi)
(example-to-string): Unquote printed expected result, as that is
both more correct and consistent with standard Emacs documentation.
* dash.texi: Regenerate.
* dev/examples-to-info.el (dash--print-lisp-as-texi):
* dev/examples-to-docs.el (dash--print-lisp-as-md): Strip leading
zeros from octal escapes in Emacs 26, for consistency with Emacs
27+.
(example-to-string): Remove redundant print-quoted binding.
* dev/examples-to-docs.el (dash--print-lisp-as-md)
(example-to-string): Unquote printed expected result, as that is
both more correct and consistent with standard Emacs documentation.
* README.md: Regenerate.
* dev/examples.el (-take, -drop, -drop-last, -take-while)
(-running-sum, -running-product, -common-prefix, -common-suffix)
(-list, -each-indexed, -dotimes): Prefer '() over () in printed
examples, as we can control how the former is printed, whereas the
latter is always printed as nil.
* README.md:
* dash.texi: Regenerate docs.
* dev/examples-to-docs.el (def-example-group): Use text properties
to mark group headings.
(function-to-md, function-summary): Simplify accordingly. Remove
gratuitous newlines.
* README.md: Regenerate.
* dev/examples-to-docs.el (create-docs-file): Move 'nil -> '()
replacement from here...
(dash--print-lisp-as-md): ...to this new function.
(example-to-string): Use it to print Lisp in a buffer rather than
manipulating strings.
(defexamples): Move example-to-string call from here...
(function-to-md): ...to here, where it's needed. Replace s-replace
with more correct code.
(s-replace): Remove; no longer used.
* README.md: Regenerate.
* dev/examples-to-docs.el (dash--replace-all): New function.
(create-docs-file): Don't modify functions for more idempotency.
Simplify with dash--replace-all and relative file names.
(simplify-quotes, goto-and-remove, goto-and-replace-all): Remove; no
longer used.
* dev/examples-to-docs.el (example-to-string):
* dev/examples-to-info.el (dash--print-lisp-as-texi): Turn on
print-quoted for the benefit of Emacs versions before 27.
* dev/examples-to-info.el (create-info-file): Move 'nil -> '()
replacement from here...
(dash--print-lisp-as-texi): ...to here.
(example-to-string): Disable case folding to be on the safe side.
(dash--replace-all): Remove regexp argument; no longer used.
* dev/examples-to-info.el (defexamples): Move example-to-string
transformation from here...
(function-to-info): ...to here, where it's needed.
(def-example-group): Use text properties to distinguish groups.
All users changed.
(simplify-quotes, goto-and-remove): Remove, replacing with...
(dash--replace-all): ...this simpler function.
(create-info-file): Don't modify 'functions' destructively for more
idempotency. Use simple relative file names. Simplify with
dash--replace-all.
(function-to-node): Remove; no longer used.
* dev/examples-to-info.el (format-docstring): Don't increase
indentation of examples within docstrings. Unlike in Markdown, this
has no effect in Texinfo.
* dash.texi: Regenerate.
* dev/examples-to-info.el (dash--print-lisp-as-texi): New function.
(example-to-string, format-docstring): Use it instead of repeatedly
manipulating strings to simplify and generalise Texinfo generation
and avoid a match data bug in replace-regexp-in-string in Emacs
versions before 28 (#368).
(quote-and-downcase, unquote-and-link, format-link): Remove; no
longer used.
Fixes#368.
* Makefile (DOCS): New variable listing docs that can be
regenerated with this Makefile.
(maintainer-clean): New target that deletes checked in files that
can be regenerated with this Makefile, as per
(info "(standards) Standard Targets").
(force-docs, force-all): New targets like docs and all,
respectively, that first run maintainer-clean.
Re: #367.
* dev/examples-to-info.el (format-docstring): Generalize @-quoting
by doing it first. Use \< and \> in place of \b for better word
boundary detection. Mark all replacements as fixed and literal.
* dash.texi: Regenerate.
This is a copy of commit 2aeb4e4f35 of
2021-01-18 "Use actual advertised function signature in README".
* dev/examples-to-info.el (docs--signature): Remove function.
(dash--describe): New function using the same machinery as
describe-function to determine arglists and docstrings.
(defexamples): Use it instead of docs--signature.
* dash.texi: Regenerate.
* dash.el (-is-prefix?): Stop looping when prefix runs out, even if
list starts with nil elements.
(-is-suffix?): Avoid reversing arguments; just use member.
* dev/examples.el (-is-prefix?, -is-suffix?): Extend tests.
* README.md:
* dash.texi: Regenerate docs.
* dev/examples-to-docs.el (docs--signature): Remove function.
(dash--describe): New function using the same machinery as
describe-function to determine arglists and docstrings.
(defexamples): Use it instead of docs--signature.
* README.md: Regenerate.
* dash.el (-remove-item): Define as an alias of remove for speed.
* dev/examples.el (-remove-item): Extend tests.
* README.md:
* dash.texi: Regenerate docs.