1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

Correctly fix the problem of unreferenced symbols after compilation

Fixes https://github.com/jwiegley/use-package/issues/571
This commit is contained in:
John Wiegley 2017-12-06 20:59:10 -08:00
parent 20694696b2
commit 7803571280
2 changed files with 71 additions and 64 deletions

View file

@ -1190,107 +1190,114 @@
(ert-deftest use-package-test/:after-5 ()
(match-expansion
(use-package foo :after (:any bar quux))
`(lexical-let (,_ ,_)
`(progn
(defvar ,_ nil)
(defvar ,_ nil)
(defvar ,_
#'(lambda nil
(if ,_ ,_
(setq ,_ t ,_
(require 'foo nil nil)))))
(eval-after-load 'bar
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil))))
'(funcall ,_))
(eval-after-load 'quux
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil)))))))
'(funcall ,_)))))
(ert-deftest use-package-test/:after-6 ()
(match-expansion
(use-package foo :after (:all (:any bar quux) bow))
`(lexical-let (,_ ,_)
`(progn
(defvar ,_ nil)
(defvar ,_ nil)
(defvar ,_
#'(lambda nil
(if ,_ ,_
(setq ,_ t ,_
(require 'foo nil nil)))))
(eval-after-load 'bow
'(progn
(eval-after-load 'bar
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil))))
'(funcall ,_))
(eval-after-load 'quux
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil)))))))
))
'(funcall ,_)))))))
(ert-deftest use-package-test/:after-7 ()
(match-expansion
(use-package foo :after (:any (:all bar quux) bow))
`(lexical-let (,_ ,_)
`(progn
(defvar ,_ nil)
(defvar ,_ nil)
(defvar ,_
#'(lambda nil
(if ,_ ,_
(setq ,_ t ,_
(require 'foo nil nil)))))
(eval-after-load 'quux
'(eval-after-load 'bar
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil)))))
'(funcall ,_)))
(eval-after-load 'bow
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil)))))
))
'(funcall ,_)))))
(ert-deftest use-package-test/:after-8 ()
(match-expansion
(use-package foo :after (:all (:any bar quux) (:any bow baz)))
`(lexical-let (,_ ,_)
`(progn
(defvar ,_ nil)
(defvar ,_ nil)
(defvar ,_
#'(lambda nil
(if ,_ ,_
(setq ,_ t ,_
(require 'foo nil nil)))))
(eval-after-load 'bow
'(progn
(eval-after-load 'bar
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil))))
'(funcall ,_))
(eval-after-load 'quux
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil))))))
'(funcall ,_))))
(eval-after-load 'baz
'(progn
(eval-after-load 'bar
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil))))
'(funcall ,_))
(eval-after-load 'quux
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil)))))))
))
'(funcall ,_)))))))
(ert-deftest use-package-test/:after-9 ()
(match-expansion
(use-package foo :after (:any (:all bar quux) (:all bow baz)))
`(lexical-let (,_ ,_)
`(progn
(defvar ,_ nil)
(defvar ,_ nil)
(defvar ,_
#'(lambda nil
(if ,_ ,_
(setq ,_ t ,_
(require 'foo nil nil)))))
(eval-after-load 'quux
'(eval-after-load 'bar
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil)))))
'(funcall ,_)))
(eval-after-load 'baz
'(eval-after-load 'bow
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil))))))
))
'(funcall ,_))))))
(ert-deftest use-package-test/:after-10 ()
(match-expansion
(use-package foo :after (:any (:all bar quux) (:any bow baz)))
`(lexical-let (,_ ,_)
`(progn
(defvar ,_ nil)
(defvar ,_ nil)
(defvar ,_
#'(lambda nil
(if ,_ ,_
(setq ,_ t ,_
(require 'foo nil nil)))))
(eval-after-load 'quux
'(eval-after-load 'bar
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil)))))
'(funcall ,_)))
(eval-after-load 'bow
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil))))
'(funcall ,_))
(eval-after-load 'baz
'(if ,_ ,_
(setq ,_ t)
(setq ,_ (require 'foo nil nil)))))
))
'(funcall ,_)))))
(ert-deftest use-package-test/:demand-1 ()
(match-expansion