notmuch/emacs
Jonas Bernoulli 9ca1f945d9 emacs: improve how cl-lib and pcase are required
We need to load `cl-lib' at run-time because we use more from it than
just macros.  Never-the-less many, but not all libraries required it
only at compile-time, which we got away with because at least some
libraries already required it at run-time as well.

We use `cl-lib' and (currently to a lesser extend) `pcase' throughout
the code-base, which means that we should require these features in
most libraries.

In the past we tried to only require these features in just the
libraries that actually need them, without fully succeeding.  We did
not succeed in doing so because that means we would have to check
every time that we use a function from these features whether they
are already being required in the current library.

An alternative would be to add the `require' forms at the top of every
library but that is a bit annoying too.

In order to make sure that these features are loaded when needed but
also to keep the noise down we only require them in "notmuch-lib.el",
which most other libraries require, and in most of the few libraries
that do not do so, namely "notmuch-draft.el", "notmuch-message.el" and
"notmuch-parser.el".  ("coolj.el", "make-deps.el", various generated
libraries, and "notmuch-compat.el" are left touched.)
2021-01-15 06:46:38 -04:00
..
.gitignore emacs: build docstring (rsti) files 2018-12-08 08:49:31 -04:00
coolj.el emacs: use lexical-bindings in all libraries 2021-01-13 07:16:04 -04:00
make-deps.el emacs: use lexical-bindings in all libraries 2021-01-13 07:16:04 -04:00
Makefile fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
Makefile.local emacs: Use makefile-gmake-mode in Makefile*s 2020-08-09 21:14:36 -03:00
notmuch-address.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-company.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-compat.el emacs: use lexical-bindings in all libraries 2021-01-13 07:16:04 -04:00
notmuch-crypto.el emacs: notmuch-crypto-status-button-type: fix potential bug 2021-01-13 07:23:11 -04:00
notmuch-draft.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-emacs-mua notmuch-emacs-mua: add --hello parameter 2016-11-26 08:15:11 -04:00
notmuch-emacs-mua.desktop emacs: add keywords to notmuch-emacs-mua.desktop 2019-06-29 21:06:18 +02:00
notmuch-hello.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-jump.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-lib.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-logo.png emacs: Add notmuch-hello.el, a friendly frontend to notmuch 2010-04-23 12:50:18 -07:00
notmuch-maildir-fcc.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-message.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-mua.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-parser.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-pkg.el.tmpl NEWS: At least Emacs 25.1 is required now 2020-08-09 21:14:36 -03:00
notmuch-print.el emacs: deal with unused lexical arguments and variables 2021-01-13 07:16:23 -04:00
notmuch-query.el emacs: various cosmetic improvements 2021-01-15 06:38:00 -04:00
notmuch-show.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-tag.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-tree.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
notmuch-version.el.tmpl emacs: Increase consistency of library headers 2020-08-09 21:14:36 -03:00
notmuch-wash.el emacs: notmuch-wash.el: require diff-mode at beginning of code 2021-01-13 07:23:11 -04:00
notmuch.el emacs: improve how cl-lib and pcase are required 2021-01-15 06:46:38 -04:00
rstdoc.el emacs: use lexical-bindings in all libraries 2021-01-13 07:16:04 -04:00
rstdoc.rsti emacs: initial version of rstdoc.el 2018-12-08 08:45:48 -04:00