Compare commits

...

22 Commits

Author SHA1 Message Date
contrapunctus 977aeb595b lint(checkdoc): add docstring, edit 2 docstrings 2021-06-09 08:05:01 +05:30
contrapunctus 3443650992 Merge branch 'literate' into melpa 2021-06-09 07:25:51 +05:30
contrapunctus 16aefdbd07 feat: auto-align tags; move tags column to .dir-locals.el 2021-06-09 07:20:38 +05:30
contrapunctus e0ec0d36a9 Merge branch 'literate' into melpa 2021-06-09 07:20:15 +05:30
contrapunctus 226cb898c8 feat: auto-align tags; move tags column to .dir-locals.el 2021-06-09 07:14:42 +05:30
contrapunctus b12705af1f feat: add links to tangled source, remove autotangle code 2021-06-09 07:09:53 +05:30
contrapunctus d83f119dfc build(Makefile): warn user about Org version if ORG_PATH is unset 2021-06-09 00:05:42 +05:30
contrapunctus 03b03cbc1a build: use comment links in tangled sources 2021-06-08 21:27:58 +05:30
contrapunctus c52c6f29ec doc: credit tomasino, add test migration TODO 2021-06-08 21:27:58 +05:30
contrapunctus 5105c48ffb build(Makefile): bugfix tangling recipe 2021-06-08 21:27:58 +05:30
contrapunctus 40db78cfa0 build(Makefile): continue past clean errors 2021-06-08 21:27:58 +05:30
contrapunctus 47d093ca75 build(Makefile): add clean targets 2021-06-08 21:27:58 +05:30
contrapunctus e56ac6b66d build: add Makefile
I've named it contrapunctus.mk to avoid getting clobbered by the
autogenerated Makefile. If we do away with the autotools stuff, we
could rename it Makefile.
2021-06-08 21:27:53 +05:30
contrapunctus a863a8efd9 doc: add maintainer email, correct email formatting 2021-06-08 03:40:25 +05:30
contrapunctus 759e289961 fix(file structure): add package headers 2021-06-06 06:08:33 +05:30
contrapunctus 5b83ec6d81 Add nameless-aliases 2021-06-05 00:25:20 +05:30
contrapunctus 933f9077a4 lint(checkdoc): edit 3 docstrings, add 1 missing docstring. 2021-06-05 00:07:57 +05:30
contrapunctus 4902fefa5c Don't tangle the installation instructions
The `:load no` is not really necessary, since literate-elisp only reads
Elisp source blocks. But it does signal intent to a human reader.
2021-06-04 22:42:49 +05:30
contrapunctus 7eedb6fe14 Silence byte compiler warnings
Someone with a better understanding of the code can come along and
restructure it to remove the need for these.
2021-06-04 22:41:08 +05:30
contrapunctus c9af5c303a Set org-tags-column to -60, run org-align-all-tags 2021-06-04 21:51:03 +05:30
contrapunctus 78f06b5069 Delete root heading, promote child headings 2021-06-04 21:44:04 +05:30
contrapunctus c2ba68fecb Drop literate-elisp-load as default - use batch mode org-babel-tangle
literate-elisp-load is great, but currently suffers from issues with
lexical scope [1] and autoload generation [2]. :(

[1] https://github.com/jingtaozf/literate-elisp/issues/6
[2] https://github.com/jingtaozf/literate-elisp/issues/8
2021-06-04 21:14:35 +05:30
4 changed files with 15455 additions and 960 deletions

26
.dir-locals.el Normal file
View File

@ -0,0 +1,26 @@
;; `nameless-current-name' cannot be detected in Org mode buffers,
;; IIRC, and thus has to be defined explicitly. To make use of this,
;; install `nameless' and enable `nameless-mode' in Org mode buffers.
((nil . ((nameless-current-name . "jabber")
(nameless-aliases . (("jaa" . "jabber-autoaway")
("ja" . "jabber-avatar")
("jac" . "jabber-activity")
("jc" . "jabber-chat")
("jco" . "jabber-console")
("jcs" . "jabber-chatstates")
("je" . "jabber-events")
("jh" . "jabber-history")
("jk" . "jabber-keepalive")
("jm" . "jabber-muc")
("jml" . "jabber-mode-line")
("jr" . "jabber-roster")
("jp" . "jabber-private")
("jrt" . "jabber-rtt")
("js" . "jabber-socks5")
("jv" . "jabber-vcard")
("jw" . "jabber-whitespace")
("jx" . "jabber-xml")))))
(org-mode . ((org-tags-column . -60)
(eval . (progn
(make-local-variable 'before-save-hook)
(add-hook 'before-save-hook #'org-align-all-tags nil t))))))

56
contrapunctus.mk Normal file
View File

@ -0,0 +1,56 @@
.phony: all setup tangle compile lint clean
all: setup tangle compile lint
setup:
emacs --batch --eval="(package-initialize)" \
--eval="(mapcar #'package-install '(indent-lint package-lint relint))"
# No -q or -Q without ORG_PATH - if the user has a newer version of
# Org, we want to use it.
jabber.el:
if [ -z "${ORG_PATH}" ]; then \
echo ; \
echo "[WARNING] ORG_PATH is unset. Org versions older than 9.3.8 have a bug" ; \
echo "which result in them always using absolute paths in comment links in" ; \
echo "tangled source files. If your Org version is older than 9.3.8, please" ; \
echo "upgrade it before tangling." ; \
echo ; \
emacs --batch \
--eval="(require 'ob-tangle)" \
--eval='(org-babel-tangle-file "jabber.org")' ; \
else \
emacs -q -Q --batch \
--eval="(add-to-list 'load-path \"${ORG_PATH}\")" \
--eval="(require 'ob-tangle)" \
--eval='(org-babel-tangle-file "jabber.org")' ; \
fi
tangle: jabber.el
compile: tangle
emacs -q -Q --batch --eval='(byte-compile-file "jabber.el")' ; \
lint-check-declare: tangle
emacs -q -Q --batch --eval='(check-declare-file "jabber.el")'
lint-checkdoc: tangle
emacs -q -Q --batch --eval='(checkdoc-file "jabber.el")'
lint-package-lint: setup tangle
emacs -Q --batch --eval='(package-initialize)' \
--eval="(require 'package-lint)" \
-f 'package-lint-batch-and-exit' jabber.el
lint-relint: setup tangle
emacs -q -Q --batch --eval='(relint-file "jabber.el")'
lint: lint-check-declare lint-checkdoc lint-package-lint lint-relint
clean-tangle:
-rm jabber.el
clean-elc:
-rm *.elc
clean: clean-elc

14390
jabber.el

File diff suppressed because it is too large Load Diff

1943
jabber.org

File diff suppressed because it is too large Load Diff