Makefile: rename clean => autoremove & clean-elc => clean; don't auto-reload emacs

This commit is contained in:
Henrik Lissner 2017-02-09 03:49:16 -05:00
parent 273f3e3108
commit c190518070
2 changed files with 50 additions and 10 deletions

View file

@ -7,19 +7,15 @@ all: install update autoloads
install: init.el
@$(EMACS) -l core/core.el -f 'doom/packages-install'
@$(EMACSCLIENT) -e '(doom/reload)' >/dev/null 2>&1 || true
update: init.el
@$(EMACS) -l core/core.el -f 'doom/packages-update'
@$(EMACSCLIENT) -e '(doom/reload)' >/dev/null 2>&1 || true
clean: init.el
autoremove: init.el
@$(EMACS) -l core/core.el -f 'doom/packages-autoremove'
@$(EMACSCLIENT) -e '(doom/reload)' >/dev/null 2>&1 || true
autoloads: init.el
@$(EMACS) -l init.el -f 'doom/refresh-autoloads'
@$(EMACSCLIENT) -e '(doom/reload)' >/dev/null 2>&1 || true
compile: init.el clean-elc
@$(EMACS) -l init.el -f 'doom/byte-compile'
@ -27,15 +23,15 @@ compile: init.el clean-elc
compile-lite: init.el clean-elc
@$(EMACS) -l core/core.el --eval '(doom/byte-compile t)'
clean-cache:
@$(EMACS) -l core/core.el --eval '(delete-directory doom-cache-dir t)'
clean-elc:
clean:
@rm -fv init.elc
@find {core,modules} -type f -iname '*.elc' -exec rm \-fv {} \;
clean-cache:
@$(EMACS) -l core/core.el --eval '(delete-directory doom-cache-dir t)'
test:
@$(EMACS) -l test/init.el -f 'doom!run-tests'
@$(EMACS) -l test/init.el -f 'doom-run-tests'
init.el:
@[ -f init.el ] || $(error No init.el file; create one or copy init.example.el)

44
core/autoload/plist.el Normal file
View file

@ -0,0 +1,44 @@
;;; plist.el
(provide 'doom-lib-plist)
;;;###autoload
(defmacro @plist (var action &rest args)
"A helper macro that makes dealing with doom-plist-* functions a little more concise.
Examples:
(@plist plist &delete :x :y)
(@plist plist &get :x)"
(declare (indent defun))
(let ((fn-sym (intern (format "doom-plist-%s" (substring (symbol-name action) 1)))))
(when (fboundp fn-sym)
(if (memq action '(&delete &put))
`(setq ,var (,fn-sym ,var ,@args))
`(,fn-sym ,var ,@args)))))
;;;###autoload
(defun doom-plist-delete (plist &rest keys)
(if (apply 'doom-plist-member plist keys)
(let (forms)
(while plist
(if (and (keywordp (car plist)) (memq (car plist) keys))
(progn
(pop plist)
(while (and plist (not (keywordp (car plist))))
(pop plist)))
(setq forms (append forms (list (pop plist))))))
forms)
plist))
;;;###autoload
(defun doom-plist-put (plist key value &rest key-values))
;;;###autoload
(defun doom-plist-get (plist &rest keys))
;;;###autoload
(defun doom-plist-member (plist &rest keys)
(--any-p (memq it plist) keys))
;; (let ((a '(abc :commands 1 :config 3 4 5)))
;; (@plist a &delete :commands :config))