Commit Graph

127 Commits

Author SHA1 Message Date
Arif Er 00f9ab19ac chore: update copyright headers to 2022
The script used to identify and update the change is added into the GitHub
workflows script directory. A workflow action can be created to trigger the
script to update the headers on the first of every new year. Possibly a task for
a consequent PR.
2022-06-03 17:32:20 +02:00
Lucius Hu d7f9eb6342 Update minimum supported emacs version to 27.1 2022-01-01 14:32:46 +01:00
Daniel Nicolai 548edefcce Install org from ELPA instead of Org ELPA
From org version 9.5 org will not be distributed from Org ELPA but from
ELPA (see https://list.orgmode.org/87lfa7tc9v.fsf@gnu.org/t/). This commit makes
Spacemacs use/install org from ELPA.

Besides that, this commit removes some 'hack' that seemed to have no effect. As
org comes with Emacs `package-installed-p 'org` will always return t. Also
activating org via `configuration-layer//activate-package` seems to have no
effect.

Finally, the package is declared including a :min-version because appending only
`:location melpa` seems to have no effect (this can probably be considered a
bug).
I am almost certain that the information that was added when making org install
from Org ELPA is still relevant also for installing org from ELPA so I have just
adapted the version number from 0.104 to 0.300.

As the "org" archive has been removed, the `ert-deftest` for it can be removed
also.
2021-11-06 14:34:18 +01:00
Lin Sun 497c767036 [core] Support packing elisp to *.elc and *.el.gz files
Support packing elisp to *.elc and *.el.gz like vallina Emacs.
2021-09-29 22:15:38 +02:00
Maximilian Wolff c74b0f8bc0
[org] Remove unit tests for non existing function
for we do not longer require to replace org with
org-plus-contrib on the fly.
2021-05-30 12:36:26 +02:00
Maximilian Wolff be6f820256 Add missing GPLv3 headers to various files 2021-04-09 20:52:24 +00:00
syl20bnr d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
Thanh Vuong ae65f3cedd
Fix #14213 remove dash and ht from core libs
- delete dash and ht in core
- reimplemented all ht functions we need in `spacemacs-ht.el` and use them
- add dash to spacemacs-bootstrap
2021-02-07 22:22:39 +01:00
JAremko 5d76849737 fix latest mocker.el compat 2021-01-09 15:56:41 +02:00
JAremko eb31481c17 Refactor some names and simplify tests 2020-12-18 17:45:38 +02:00
JAremko a915c95226 Disable broken spacelpa tests
So we can have gree PR page for once..
2020-12-06 07:02:04 +02:00
JAremko 72932b804b fix spacebind prefixing bug 2020-10-08 09:35:40 +03:00
Robert O'Connor 82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
JAremko 4283740bb7 [tests] skip spacelpa test on emacs26+win 2020-09-10 22:58:05 +03:00
syl20bnr b7253e0433 [tests] Fix test-make-all-packages 2020-08-29 22:11:39 -04:00
JAremko 6abe62efb5 [spacebind] generate less code 2020-03-12 22:17:17 +02:00
JAremko 62bbff5567 [spacebind] add tests and docs for overrides 2020-03-11 10:35:11 +02:00
JAremko 130f00e4f3 make key names more coherent 2020-03-10 20:54:57 +02:00
JAremko 7d177d4e66 Improve spacebind docs 2020-03-10 20:54:57 +02:00
JAremko 0753287864 rename spacebind -> spacemacs|spacebind
Also fix stuff.
2020-03-05 12:21:01 +02:00
jaremko b83521edbb Add spacebind macro and tests for it 2020-02-27 21:48:40 -05:00
JAremko 88b4df9d8a skip some tests on PRs 2019-12-04 14:38:06 +02:00
syl20bnr 249adcc35e [core] Add tests showing that list is required with multiple symbols
It means that:

        (helm-company :requires helm)

is OK, but

        (helm-company :requires helm pkg2)

is not OK, list is mandatory

        (helm-company :requires (helm pkg2))
2019-11-09 09:41:34 -05:00
syl20bnr 0e36cb9994 [core] Rename test functions testing :requires functionality
These functions were still using "depends-on" which is now inacurrate.
2019-11-09 09:41:31 -05:00
syl20bnr 789c1c8022 [core] Add unit tests for cfgl-package-reqs-satisfied-p 2019-11-09 09:41:27 -05:00
syl20bnr 09af9fc40b [core] Add "unit" and functional tests for archvie verification 2019-08-24 22:50:39 -04:00
syl20bnr 253a8ed413 tests: fix mocks for spacemacs/update-progress-bar 2018-07-05 00:02:17 -04:00
Codruț Constantin Gușoi 25827266a7 Disable mocks temporarily to not discourage contributions 2018-07-03 00:39:08 +03:00
bmag b54ea8ef90 line-nums: don't default to text/prog-mode if disabled by user
When :enabled-for-modes is nil we default it to '(prog-mode text-mode), but if
any of them is in :disabled-for-modes then it shouldn't be enabled by default.
This commit fixes the second part.
2018-06-27 09:13:21 +03:00
syl20bnr 6220ace290 core: rework environment variables and PATH management
See updated DOCUMENTATION.org and FAQ.org for more info.

* add core-env.el
* add library load-env-vars.el
* add bootstrap package dotenv-mode.el
* remove spacemacs-environment from bootstrap layer
* remove dotspacemacs variable dotspacemacs-import-env-vars-from-shell
* remove dotspacemacs variable dotspacemacs-improt-env-vars-shell-file-name
* add new key binding SPC f e e to open spacemacs.env file
* add new key binding SPC f e E to reload environment variable from env file
* add new key binding SPC f e C-e to re-initialize the env file from shell.
2018-06-25 02:55:28 -04:00
Benjamin Reynolds 594fdc8f05 Rename spacemacs/mplist-get functions to be more descriptive
* spacemacs/mplist-get -> spacemacs/mplist-get-values
* spacemacs/plist-get -> spacemacs/mplist-get-value
* refactor spacemacs/mplist-get-value to be defined in terms of mplist-get-values

Ref #10803 See [comment]

[comment]: https://github.com/syl20bnr/spacemacs/pull/10803#issuecomment-395292606
2018-06-14 00:15:49 -04:00
syl20bnr a0a3ff0c20 core: refactor the progress bar
Spacemacs is slow to startup so better give it a not buggy progress bar :-)

* Move progress bar code to core-progress-bar.el file
* Remove the counters at the end of the progress bar
* Fix update of the progress bar value
* Fix progress bar size when staring Emacs maximized
2018-06-10 02:32:29 -04:00
syl20bnr 0ae2a4774c Fix spacemacs-base functional tests 2018-06-06 23:54:17 -04:00
syl20bnr 2df4db5c60 core: new function spacemacs/plist-get
Made to play well with modified plist. Replace spacemacs/mplist-get by
spacemacs/plist-get in spacemacs|add-company-backends
2018-06-04 01:19:44 -04:00
bmag 3812c591cf Line numbers: tests and bug fixes for major-mode predicate 2018-05-30 11:35:26 +03:00
syl20bnr 92fac263a8 core: re-evaluate layer variables after package configuration
It allows to put package variable with a default value set by spacemacs in
the layer variables. For instance to set treemacs position to the right, you can
now do it like this:

(treemacs :variables treemacs-position 'right)
2018-05-28 11:23:57 -04:00
syl20bnr a14060a228 core: fix unit tests 2018-05-20 03:22:08 -04:00
Codruț Constantin Gușoi 0d9b349091 Fixes CI failure
Since the introduction of `spacemacs-bootstrap`, the position of layers
inside `configuration-layer--used-layers` was shifted by 1 to the right.

The test changes account for that now, and the names were changed to
indicate they are related to testing the `spacemacs-base` distribution,
since the complete `spacemacs` distribution has other layers in between
bootstrap and defaults.
2018-05-09 01:04:31 +03:00
syl20bnr 03343a7f1d Fix test test-resolve-package-archives--org-supports-https 2018-01-22 23:51:30 -05:00
Aaron Jensen c86940c4f0 core: Use https for org package repo 2018-01-22 23:34:54 -05:00
syl20bnr 4ecd015fe8 core: process all post-init function after all the init functions
With this commit, the new loading order for package configuration is:
- pre-init functions for all packages
- init function of all packages
- post-init functions for all packages
2018-01-11 23:52:18 -05:00
syl20bnr e9fb5285f4 core: execute all pre-init function before init and post-init
Fixes loading order issues when declaring use-package hooks.

Fixes #9979
2018-01-10 23:33:15 -05:00
Igor Avdeev 709782bdc1 Fix handling of windows paths of package archives
- the configuration-layer//resolve-package-archives function was adding
  extra `http://` for windows paths
2018-01-10 00:13:01 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
syl20bnr 36c15b79f6 core: move versions to new file core/core-versions.el
As we need to have version files available in tests without loading the whole
init.el file.
2017-11-12 10:04:12 -05:00
syl20bnr dc58801c7d core: refactor shadow mechanism
Shadowing is now control by layer property ':can-shadow' only.
can-shadow is a commutative relation, if layer1 can shadow layer2 then layer2
can shadow layer1.
the shadow operator is a binary operator accepting two layer names, it is not
commutative and the order of the operands is determined by the order of the
layers in the dotfile (like the ownership stealing mechanism).

If ':can-shadow' is set explicity to nil in the dotfile then the layer won't
shadow any layer.
For instance to install both ivy and helm layer:

   (setq dotspacemacs-configuration-layers
   '(
     ivy
     (helm :can-shadow nil)
     )

note that due to the commutative relation the above example can also be
written (in this case, ':can-shadow' should be read ':can-be-shawdowed'):

   (setq dotspacemacs-configuration-layers
   '(
     (ivy :can-shadow nil)
     helm
     )
2017-09-25 23:07:22 -04:00
syl20bnr 95699ee61c core: add layer shadowing system
Layers can now declare in their layers.el file that they shadow one or more
layers using the following functions:

- configuration-layer/shadow-layers
- configuration-layer/shadow-layer

Those function are commutative so:
    (configuration-layer/shadow-layer 'layer1 'layer2)
is the same as
    (configuration-layer/shadow-layer 'layer2 'layer1)
and means that
layer1 shadows layer2
and
layer2 shadows layer1

The typical use-case is helm and ivy layers. Helm shadows the ivy layer and
Ivy shadows the helm layer.

Shadowing is sensitive to the order of declaration of layers in the dotfile,
for instance:

    (setq dotspacemacs-configuration-layers '(
      helm
      ivy
     ))

means that ivy shadows helm so helm layer is effectively ignored,
whereas

    (setq dotspacemacs-configuration-layers '(
      ivy
      helm
     ))

means that helm shadows ivy so ivy layer is effectively ignored.

This mechanism can be turned off using the :can-shadow keyword:

    (setq dotspacemacs-configuration-layers '(
      ivy
      (helm :can-shadow nil)
     ))

means that both ivy and helm layers will be installed (not recommended in this
case)

Note that the `:can-shadow` mechanism will be fully implemented in a next
commit.
2017-09-21 23:56:09 -04:00
syl20bnr 6afa753848 core: remove variable configuration-layer--used-distant-packages
- remove variable configuration-layer--used-distant-packages
- rename function configuration-layer//get-distant-packages to
  configuration-layer//filter-distant-packages to better reflect what it does
- Add argument PREDICATE to configuration-layer//filter-distant-packages
- New cfgl-package methods: cfgl-package-used-p and cfgl-package-distant-p
- Add unit tests
2017-08-12 20:48:35 -04:00
JAremko 2ef230369a Convert new exporter into standalone tool 2017-08-02 09:16:23 +03:00
JAremko 3c03c4893b Use spacemacs-base distro in spacemacs-base test 2017-07-26 14:50:20 +03:00