mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-23 05:17:35 +00:00
Allow the expansion of :after (:or foo bar) to be byte-compiled
This commit is contained in:
parent
b2b91af2e5
commit
2cd3ebd5d5
2 changed files with 61 additions and 76 deletions
|
|
@ -643,14 +643,11 @@ no more than once."
|
||||||
(let ((loaded (cl-gensym "use-package--loaded"))
|
(let ((loaded (cl-gensym "use-package--loaded"))
|
||||||
(result (cl-gensym "use-package--result"))
|
(result (cl-gensym "use-package--result"))
|
||||||
(next (cl-gensym "use-package--next")))
|
(next (cl-gensym "use-package--next")))
|
||||||
`((defconst ,loaded nil)
|
`((lexical-let (,loaded ,result)
|
||||||
(defconst ,result nil)
|
,@(funcall f `((if ,loaded
|
||||||
(defconst ,next #'(lambda ()
|
,result
|
||||||
(if ,loaded
|
(setq ,loaded t)
|
||||||
,result
|
(setq ,result ,arg))))))))
|
||||||
(setq ,loaded t)
|
|
||||||
(setq ,result ,arg))))
|
|
||||||
,@(funcall f `((funcall ,next))))))
|
|
||||||
|
|
||||||
(defsubst use-package-normalize-value (label arg)
|
(defsubst use-package-normalize-value (label arg)
|
||||||
"Normalize the Lisp value given by ARG.
|
"Normalize the Lisp value given by ARG.
|
||||||
|
|
|
||||||
|
|
@ -1176,119 +1176,107 @@
|
||||||
(ert-deftest use-package-test/:after-5 ()
|
(ert-deftest use-package-test/:after-5 ()
|
||||||
(match-expansion
|
(match-expansion
|
||||||
(use-package foo :after (:any bar quux))
|
(use-package foo :after (:any bar quux))
|
||||||
`(progn
|
`(lexical-let (,_ ,_)
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_
|
|
||||||
#'(lambda nil
|
|
||||||
(if ,_ ,_
|
|
||||||
(setq ,_ t)
|
|
||||||
(setq ,_
|
|
||||||
(require 'foo nil nil)))))
|
|
||||||
(eval-after-load 'bar
|
(eval-after-load 'bar
|
||||||
'(funcall ,_))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil))))
|
||||||
(eval-after-load 'quux
|
(eval-after-load 'quux
|
||||||
'(funcall ,_)))))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil)))))))
|
||||||
|
|
||||||
(ert-deftest use-package-test/:after-6 ()
|
(ert-deftest use-package-test/:after-6 ()
|
||||||
(match-expansion
|
(match-expansion
|
||||||
(use-package foo :after (:all (:any bar quux) bow))
|
(use-package foo :after (:all (:any bar quux) bow))
|
||||||
`(progn
|
`(lexical-let (,_ ,_)
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_
|
|
||||||
#'(lambda nil
|
|
||||||
(if ,_ ,_
|
|
||||||
(setq ,_ t)
|
|
||||||
(setq ,_
|
|
||||||
(require 'foo nil nil)))))
|
|
||||||
(eval-after-load 'bow
|
(eval-after-load 'bow
|
||||||
'(progn
|
'(progn
|
||||||
(eval-after-load 'bar
|
(eval-after-load 'bar
|
||||||
'(funcall ,_))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil))))
|
||||||
(eval-after-load 'quux
|
(eval-after-load 'quux
|
||||||
'(funcall ,_)))))))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil)))))))
|
||||||
|
))
|
||||||
|
|
||||||
(ert-deftest use-package-test/:after-7 ()
|
(ert-deftest use-package-test/:after-7 ()
|
||||||
(match-expansion
|
(match-expansion
|
||||||
(use-package foo :after (:any (:all bar quux) bow))
|
(use-package foo :after (:any (:all bar quux) bow))
|
||||||
`(progn
|
`(lexical-let (,_ ,_)
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_
|
|
||||||
#'(lambda nil
|
|
||||||
(if ,_ ,_
|
|
||||||
(setq ,_ t)
|
|
||||||
(setq ,_
|
|
||||||
(require 'foo nil nil)))))
|
|
||||||
(eval-after-load 'quux
|
(eval-after-load 'quux
|
||||||
'(eval-after-load 'bar
|
'(eval-after-load 'bar
|
||||||
'(funcall ,_)))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil)))))
|
||||||
(eval-after-load 'bow
|
(eval-after-load 'bow
|
||||||
'(funcall ,_)))))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil)))))
|
||||||
|
))
|
||||||
|
|
||||||
(ert-deftest use-package-test/:after-8 ()
|
(ert-deftest use-package-test/:after-8 ()
|
||||||
(match-expansion
|
(match-expansion
|
||||||
(use-package foo :after (:all (:any bar quux) (:any bow baz)))
|
(use-package foo :after (:all (:any bar quux) (:any bow baz)))
|
||||||
`(progn
|
`(lexical-let (,_ ,_)
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_
|
|
||||||
#'(lambda nil
|
|
||||||
(if ,_ ,_
|
|
||||||
(setq ,_ t)
|
|
||||||
(setq ,_
|
|
||||||
(require 'foo nil nil)))))
|
|
||||||
(eval-after-load 'bow
|
(eval-after-load 'bow
|
||||||
'(progn
|
'(progn
|
||||||
(eval-after-load 'bar
|
(eval-after-load 'bar
|
||||||
'(funcall ,_))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil))))
|
||||||
(eval-after-load 'quux
|
(eval-after-load 'quux
|
||||||
'(funcall ,_))))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil))))))
|
||||||
(eval-after-load 'baz
|
(eval-after-load 'baz
|
||||||
'(progn
|
'(progn
|
||||||
(eval-after-load 'bar
|
(eval-after-load 'bar
|
||||||
'(funcall ,_))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil))))
|
||||||
(eval-after-load 'quux
|
(eval-after-load 'quux
|
||||||
'(funcall ,_)))))))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil)))))))
|
||||||
|
))
|
||||||
|
|
||||||
(ert-deftest use-package-test/:after-9 ()
|
(ert-deftest use-package-test/:after-9 ()
|
||||||
(match-expansion
|
(match-expansion
|
||||||
(use-package foo :after (:any (:all bar quux) (:all bow baz)))
|
(use-package foo :after (:any (:all bar quux) (:all bow baz)))
|
||||||
`(progn
|
`(lexical-let (,_ ,_)
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_
|
|
||||||
#'(lambda nil
|
|
||||||
(if ,_ ,_
|
|
||||||
(setq ,_ t)
|
|
||||||
(setq ,_
|
|
||||||
(require 'foo nil nil)))))
|
|
||||||
(eval-after-load 'quux
|
(eval-after-load 'quux
|
||||||
'(eval-after-load 'bar
|
'(eval-after-load 'bar
|
||||||
'(funcall ,_)))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil)))))
|
||||||
(eval-after-load 'baz
|
(eval-after-load 'baz
|
||||||
'(eval-after-load 'bow
|
'(eval-after-load 'bow
|
||||||
'(funcall ,_))))))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil))))))
|
||||||
|
))
|
||||||
|
|
||||||
(ert-deftest use-package-test/:after-10 ()
|
(ert-deftest use-package-test/:after-10 ()
|
||||||
(match-expansion
|
(match-expansion
|
||||||
(use-package foo :after (:any (:all bar quux) (:any bow baz)))
|
(use-package foo :after (:any (:all bar quux) (:any bow baz)))
|
||||||
`(progn
|
`(lexical-let (,_ ,_)
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_ nil)
|
|
||||||
(defconst ,_
|
|
||||||
#'(lambda nil (if ,_ ,_
|
|
||||||
(setq ,_ t)
|
|
||||||
(setq ,_
|
|
||||||
(require 'foo nil nil)))))
|
|
||||||
(eval-after-load 'quux
|
(eval-after-load 'quux
|
||||||
'(eval-after-load 'bar
|
'(eval-after-load 'bar
|
||||||
'(funcall ,_)))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil)))))
|
||||||
(eval-after-load 'bow
|
(eval-after-load 'bow
|
||||||
'(funcall ,_))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil))))
|
||||||
(eval-after-load 'baz
|
(eval-after-load 'baz
|
||||||
'(funcall ,_)))))
|
'(if ,_ ,_
|
||||||
|
(setq ,_ t)
|
||||||
|
(setq ,_ (require 'foo nil nil)))))
|
||||||
|
))
|
||||||
|
|
||||||
(ert-deftest use-package-test/:demand-1 ()
|
(ert-deftest use-package-test/:demand-1 ()
|
||||||
(match-expansion
|
(match-expansion
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue