From: John Wiegley Date: Sun, 22 Mar 2015 04:35:58 +0000 (-0500) Subject: Add :delight support, thanks to darkfeline on GitHub X-Git-Tag: emacs-29.0.90~1306^2~15^2~345 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=800669d9da;p=emacs.git Add :delight support, thanks to darkfeline on GitHub Fixes https://github.com/jwiegley/use-package/issues/189 --- diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 78f1281dbb3..7396677ac0a 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -128,7 +128,8 @@ the user specified." :demand :init :config - :diminish) + :diminish + :delight) "Establish which keywords are valid, and the order they are processed in. Note that `:disabled' is special, in that it causes nothing at all to happen, @@ -924,6 +925,36 @@ deferred until the prefix key sequence is pressed." arg) body))) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; :delight +;; + +(defun use-package-normalize/:delight (name-symbol keyword args) + "Normalize arguments to delight." + (cond + ((and (= (length args) 1) + (symbolp (cdr args))) + (list (car args) nil name-symbol)) + ((and (= (length args) 2) + (symbolp (cdr args))) + (list (car args) (cadr args) name-symbol)) + ((and (= (length args) 3) + (symbolp (cdr args))) + args) + (t + (use-package-error ":delight expects same args as delight function")))) + +(defun use-package-handler/:delight (name-symbol keyword args rest state) + (let ((body (use-package-process-keywords name-symbol rest state))) + (use-package-concat + body + `((delight + (quote ,(nth 0 args)) + ,(nth 1 args) + (quote ,(nth 2 args))) + t)))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; The main macro