]> git.eshelyaron.com Git - emacs.git/commitdiff
Allow :major as the third argument in :delight calls
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Sun, 2 Jul 2017 15:45:26 +0000 (17:45 +0200)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Sun, 2 Jul 2017 15:45:26 +0000 (17:45 +0200)
lisp/use-package/use-package.el
test/lisp/use-package/use-package-tests.el

index ce38a6e1a777275cd5d44c6f395c416882f648e4..593a680eee3ae688edefe2713a45d254ca5e9371 100644 (file)
@@ -1466,9 +1466,16 @@ deferred until the prefix key sequence is pressed."
               (symbolp (car args)))
          `((,(car args) nil ,name)))
         ((and (= (length args) 1)
-              (or (not (listp (car args)))
-                  (eq 'quote (caar args))))
+              (stringp (car args)))
          `((,(use-package-as-mode name) ,(car args) ,name)))
+        ((and (= (length args) 1)
+              (listp (car args))
+              (eq 'quote (caar args)))
+         `((,(use-package-as-mode name) ,@(cdar args) ,name)))
+        ((and (= (length args) 2)
+              (listp (nth 1 args))
+              (eq 'quote (car (nth 1 args))))
+         `((,(car args) ,@(cdr (nth 1 args)) ,name)))
         (t (mapcar
             (apply-partially #'use-package--normalize-delight-1 name)
             (if (symbolp (car args)) (list args) args)))))
@@ -1477,9 +1484,7 @@ deferred until the prefix key sequence is pressed."
   (let ((body (use-package-process-keywords name rest state)))
     (use-package-concat
      body
-     (mapcar (lambda (arg)
-               `(delight ',(nth 0 arg) ,(nth 1 arg) ',(nth 2 arg)))
-             args))))
+     `((delight '(,@args))))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
index ababfe0d5b204f3b12d6eb4b26f7707973234fe5..625e95ca5877d38eeeac33cca2162a933c2dc813 100644 (file)
                  (use-package-normalize/:delight 'foo-mode :delight nil)))
   (should (equal `((bar-mode nil foo))
                  (use-package-normalize/:delight 'foo :delight '(bar-mode))))
+  (should (equal `((bar-mode nil :major))
+                 (use-package-normalize/:delight 'foo :delight '((bar-mode nil :major)))))
   (should (equal `((foo-mode "abc" foo))
                  (use-package-normalize/:delight 'foo :delight '("abc"))))
-  (should (equal `((foo-mode '(:eval 1) foo))
+  (should (equal `((foo-mode (:eval 1) foo))
                  (use-package-normalize/:delight 'foo :delight '('(:eval 1)))))
   (should (equal `((a-mode nil foo)
                    (b-mode " b" foo))