[ALT PATCH] emacs: target one-notmuch.el[c] -- emacs client in one .el[c] file

Tomi Ollila tomi.ollila at iki.fi
Wed Sep 4 06:41:42 PDT 2013


Added Makefile recipes to create notmuch emacs client in just one
.el[c] file.

This is an experimental feature and not built by default.

This is useful for example when one wants to build the latest
emacs client and then distribute the elisp file to many machines.

This is also useful for (initial) testing:

     make emacs/one-notmuch.elc
     emacs -q -l emacs/one-notmuch.elc -f notmuch

can be used to quickly experiment with new development.
---

This is alternative to

id:1378150636-26822-1-git-send-email-tomi.ollila at iki.fi

notmuch-one* was changed to one-notmuch*

Now the created files do not "pollute" notmuch-* filenamespace
and is easier to distinquish.

See the referred email for more usage possibilities.

 emacs/Makefile.local | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/emacs/Makefile.local b/emacs/Makefile.local
index a910aff..7f3526d 100644
--- a/emacs/Makefile.local
+++ b/emacs/Makefile.local
@@ -46,6 +46,20 @@ endif
 install: install-emacs
 endif
 
+# Unsupported hack to provide notmuch emacs client in one *.elc file.
+# It probably works -- or then it fails mysteriously. YMMV.
+# Enter `make emacs/one-notmuch.elc' in top level directory to build it.
+ifeq ($(HAVE_EMACS),1)
+$(dir)/one-notmuch.el: $(emacs_sources)
+	rm -f $(emacs_bytecode) # XXX
+	make -n all WITH_EMACS=1 | sed -n '/printf.*EMACS/ s/.* //p' | \
+		xargs grep -vh '(declare-function.*"notmuch' > '$@' || :
+	{ echo ';; Local Variables:'; \
+	  echo ';; byte-compile-warnings: (not cl-functions)'; \
+	  echo ';; End:'; } >> '$@'
+endif
+CLEAN+=$(dir)/one-notmuch.el $(dir)/one-notmuch.elc
+
 .PHONY: install-emacs
 install-emacs:
 	mkdir -p "$(DESTDIR)$(emacslispdir)"
-- 
1.8.0



More information about the notmuch mailing list