]> git.eshelyaron.com Git - emacs.git/commit
Rework empty abbrev table omitting
authorAllen Li <darkfeline@felesatra.moe>
Sat, 29 Sep 2018 22:19:04 +0000 (15:19 -0700)
committerEli Zaretskii <eliz@gnu.org>
Fri, 12 Oct 2018 08:44:15 +0000 (11:44 +0300)
commitf5896e2cbf0e537ec6b79ba139220239f934c840
tree51604349e1190449caf75043d689694a84212441
parent5bd8cfc14d4b0c78c07e65a583f42a10c4cbc06d
Rework empty abbrev table omitting

There were two problems with the original implementation:

1. It changed the behavior of insert-abbrev-table-description when
READABLE is nil to sometimes insert one Emacs Lisp expression and
sometimes insert nothing.
2. It broke the tests.

This commit reworks this so that insert-abbrev-table-description
always inserts an expressions even if no abbrevs need to be saved and
making only write-abbrev-file check that a table has any abbrevs to
save before calling insert-abbrev-table-description.  This duplicates
the work of filtering the table for savable abbrevs, but the benefit
of keeping the API is worth it.

* doc/lispref/abbrevs.texi (Abbrev Tables): Update documentation.
* lisp/abbrev.el (write-abbrev-file): Skip tables without user abbrevs
(insert-abbrev-table-description): Always insert the define
expression.
(abbrev--table-symbols): New function.
* test/lisp/abbrev-tests.el (abbrev--table-symbols-test):
Add test for abbrev--table-symbols.
doc/lispref/abbrevs.texi
etc/NEWS
lisp/abbrev.el
test/lisp/abbrev-tests.el