08561d8631
This replaces the older pattern :toggle (configuration-layer/package-usedp ..) This implementation ensures that :disabled-for honors dependent packages, i.e. if package a depends on package b, which is owned by layer c, and layer c is disabled for layer d, then neither package a nor b will be configured for layer d. Previously, this was only true for package a, but not b. This commit also fixes: - configuration-layer/describe-package now shows which post-init and pre-init functions are disabled, if any - Does not recreate all layer objects unconditionally when calling configuration-layer/discover-layers. Previously, this led to all layers being recreated after e.g. `SPC h SPC`, without any of the dotfile information. Since this information is now necessary for configuration-layer/describe-package, it’s important that we don’t clear the indexed layers when invoking this function.
40 lines
1.9 KiB
EmacsLisp
40 lines
1.9 KiB
EmacsLisp
;;; core-configuration-layer-ftest.el --- Spacemacs Functional Test File
|
|
;;
|
|
;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
|
|
;;
|
|
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
|
|
;; URL: https://github.com/syl20bnr/spacemacs
|
|
;;
|
|
;; This file is not part of GNU Emacs.
|
|
;;
|
|
;;; License: GPLv3
|
|
(require 'core-configuration-layer)
|
|
|
|
;; ---------------------------------------------------------------------------
|
|
;; configuration-layer//declare-used-layers
|
|
;; ---------------------------------------------------------------------------
|
|
|
|
(ert-deftest test-declare-layers--bootstrap-layer-always-first ()
|
|
(let ((dotspacemacs-distribution 'spacemacs)
|
|
(dotspacemacs-configuration-layers '(emacs-lisp
|
|
(git :variables foo 'bar)))
|
|
configuration-layer--used-layers
|
|
(configuration-layer--indexed-layers (make-hash-table :size 1024)))
|
|
(configuration-layer/discover-layers 'refresh-index)
|
|
(configuration-layer//declare-used-layers dotspacemacs-configuration-layers)
|
|
(should (eq 'spacemacs-bootstrap
|
|
(first configuration-layer--used-layers)))))
|
|
|
|
(ert-deftest test-declare-layers--distribution-layer-is-second ()
|
|
(let ((dotspacemacs-distribution 'spacemacs-base)
|
|
(dotspacemacs-configuration-layers '(emacs-lisp
|
|
(git :variables foo 'bar)))
|
|
configuration-layer--used-layers
|
|
(configuration-layer--indexed-layers (make-hash-table :size 1024)))
|
|
(configuration-layer/discover-layers 'refresh-index)
|
|
(configuration-layer//declare-used-layers dotspacemacs-configuration-layers)
|
|
(should (eq 'spacemacs-base (second configuration-layer--used-layers)))))
|
|
|
|
;; ---------------------------------------------------------------------------
|
|
;; Lazy installation of layers
|
|
;; ---------------------------------------------------------------------------
|