Commit graph

381 commits

Author SHA1 Message Date
Aaron Jensen
840b431cf6
configuration: fix redundant update checking
Fixes #13114
2020-02-09 19:23:19 +00:00
Ag Ibragimov
7f92a4388d fix: ignore nil values in dotspacemacs-configuration-layers
otherwise it throws warnings when layers introduced imperatively, e.g.:

dotspacemacs-configuration-layers
`(
  ,(when (eq system-type 'darwin) 'osx)
  ,(when (eq system-type 'gnu/linux) 'exwm))
2020-02-05 20:54:13 +01:00
duianto
623ca354fe
Fix home buffer version and banner
- Removed the first line deletion.
This required the banners to have an empty first line.

- Removed the empty first line from the banners.

- Made sure that there is a single empty line between:
  - The Version and Banner.
  - Banner and Buttons ([?] [Homepage] ...).
  - Version and Buttons (when the banner is hidden).

- Reordered the backend version insertion function call
to match the frontend Spacemacs buffer order.
  - version
  - banner
  - buttons

Before it added:
- the banner
- then the buffers first line was removed
- then the version was added to the first line
- then the buttons were added at the bottom of the buffer
(there are more things added after the buttons,
but they haven't been changed by this commit).

- Removed the version insertion call in:
core/core-spacemacs-buffer.el

The changes above caused the version to appear twice
in the Spacemacs home buffer on startup.

I'm not sure if it has/had other uses.

This seems to be where it was first added to:
core-configuration-layer.el:
core: restore default mode line in home buffer
77161bd591

It was slightly modified in this commit:
core: defer distro insertion in home buffer
cd50d9c069

Here it was joined with the banner:
Fix version injection in home buffer
  Don't inject version if banner is nil
a764eb4eb9

core: condensed versions into one string in left-hand side
  spacemacs-version@emacs-version (distribution)
627e934453

- I had not seen that the version was joined with the
banner on purpose until now.

It seemed useful to still be able to see the versions
if one just wanted to hide the banner.

Therefore I opened this PR (it's been cherry-picked):
Uncouple version from banner in spacemacs buffer #11901
https://github.com/syl20bnr/spacemacs/pull/11901

If there's a good reason to combine them again,
then the changes can be reverted.
2019-12-03 20:44:22 +00:00
syl20bnr
584392bd92 [core] Fix layer dependencies based on layer variables
There was a edge case with the declaration of the `lsp` layer in `layers.el`
files.
The `hy` layer depends on the `python` layer which in turn depends on the `lsp`
layer if and only if the `python-backend` layer variable is set to `lsp`.
When the `hy` layer was declared first then it declares the `python` layer
without its layer variables, thus the `lsp` layer was not declared because the
`python-backend` variable was not set.

The fix is to gather all the layer dependencies and resolve them only after all
the used layers have been declared.

* new function `configuration-layer/declare-layer-dependencies`
* replace all calls to `configuration-layer/declare-layer` by the new function
  except for distribution layers (we declare layer dependencies right away in
  distribution layers)
2019-09-30 02:00:48 -04:00
syl20bnr
cfb12e9bd5 [core] Improve spacelpa archive verification
* modified function configuration-layer//stable-elpa-verify-archive

Add a `fatal-err` variable to handle critical erros that prevent the
verification to be attempted.
Use the function `epg-verify-file` instead of `epg-verify-string` which seems
to give more reliable results.
2019-08-24 22:50:39 -04:00
syl20bnr
512a1e3b0c [core] Fix some typos in stable ELPA verification prompts 2019-08-23 13:16:39 -04:00
syl20bnr
c975fc64ca [core] Improve spacelpa verification and error detection
* modified function configuration-layer//stable-elpa-verify-archive

Gather errors along the verification steps and make a single call to
configuration-layer//stable-elpa-ask-to-continue at the end of the function.

Improve the scope of catched errors so now the users should be prompted when
GPG is not available on the system.
2019-08-23 12:12:51 -04:00
syl20bnr
f21abcdcf3 [core] Rewrite of the stable ELPA initialization code
* new function configuration-layer//stable-elpa-disable-repository
* new function configuration-layer//stable-elpa-update-version-file
* new function configuration-layer//stable-elpa-delete-temporary-files
* new function configuration-layer//stable-elpa-ask-to-continue
* new function configuration-layer//stable-elpa-verify-archive
* new function configuration-layer//stable-elpa-disable-repository
* rename function configuration-layer/stable-elpa-download-tarball to
                  configuration-layer//stable-elpa-download-tarball
* new function configuration-layer/stable-elpa-init
* make the function configuration-layer/stable-elpa-version interactive

configuration-layer/stable-elpa-init is called from init.el.
This function then calls the other new function in more clear fashion than the
previous complicated configuration-layer/stable-elpa-download-tarball

The users are now prompt if they want to install the stable ELPA repository when
the verification of the archive failed.
2019-08-23 00:51:21 -04:00
syl20bnr
4a8a8b04af [core] Remove unecessary check for gzip executable on Windows
Turns out we don't use it at all. Also tar.exe is part of the standard
MS Windows 10 distribution, it is installed in system32 directory.
2019-08-21 22:44:32 -04:00
syl20bnr
b800694d32 [core] Add function for generic error about not found executable
* new function configuration-layer//executable-not-found-error
* use new function for tar and gzip not found errors
2019-08-21 22:30:24 -04:00
syl20bnr
cfc1057af0 core: fix spacelpa support
* new variable configuration-layer-stable-elpa-archive
* add missing sub-directory "packages"
* update .lock file with above changes and bump to archive version 0.400
2019-08-21 19:53:58 -04:00
syl20bnr
0c39f63c66 [dump] Move some code to dump-init.el 2019-07-26 22:44:11 -04:00
syl20bnr
f51fc8e13b [core] Add pre-dump for layers and function spacemacs/dump-modes 2019-07-26 16:32:27 -04:00
Miciah Masters
19e4c49126 Fix sort in insert-lazy-install-configuration
Commit 1c4f685b13 replaced
configuration-layer--layers (a list of cfgl-layer objects) with
configuration-layer--used-layers (a list of symbols).  It also changed the
configuration-layer/insert-lazy-install-configuration function to use the
new variable, but it did not change the sort predicate.  Consequently, the
function started failing:

    Wrong type argument: listp, spacemacs-purpose

In addition, because sort is destructive, the function also deleted values
from configuration-layer--used-layers.

This commit fixes the sort predicate so that the function returns the
correct value, and it copies the list before sorting to avoid modifying
configuration-layer--used-layers.

* core/core-configuration-layer.el
(configuration-layer/insert-lazy-install-configuration): Use string<
as the sort predicate, and give sort a copy of the list.
2019-04-26 21:41:39 +02:00
Florian Bruhin
cca6c0549b core: Fix typo in error message 2019-04-24 19:41:24 +02:00
Codruț Constantin Gușoi
a2bda16823 Use external tar program for extracting archive 2019-02-01 00:57:46 +02:00
Kevin Ji
e98c1b5113
core: Remove space before question mark 2018-10-18 20:02:24 +03:00
John Eismeier
5e3c96562a Propose a couple of spelling corrections 2018-08-02 00:20:06 +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
syl20bnr
f1f8db002a core: display time spent in user-config in home buffer 2018-06-16 15:21:58 -04:00
syl20bnr
d3c594512d core: don't call user-load unless we are dumping 2018-06-16 14:46:17 -04:00
syl20bnr
b8e0fdd4a5 core: fix pdumper enabled on SPC f e R no matter what 2018-06-16 11:05:05 -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
ac247396f3 core: avoid unecessary output in message buffer at startup
Unless in debug mode.
2018-06-10 02:49:51 -04:00
syl20bnr
c2211b32e3 core: new function configuration-layer/load-file 2018-06-10 02:46:16 -04:00
syl20bnr
39bf9e516c core: fix warning about quoted lambda in core-configuration-layer.el 2018-06-10 02:45:34 -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
Miciah Masters
e0b751bee3 Avoid non-idempotent use of push in init code
Replace push with add-to-list in layer init functions and related code.

Modify spacemacs|add-toggle to check for and update an existing toggle in
spacemacs-toggles and only create a new toggle if none already existed.

Replace a conditional push onto erc-packages with use of :toggle.

When initializing which-key, set which-key-replacement-alist to its default
or customized setting before adding all the Spacemacs replacements.  We
want to keep the stock replacements but avoid adding duplicates of the
Spacemacs replacements.

Replace the emacs-lisp-mode-hook lambda with a named function to avoid
adding duplicate hooks (which can add duplicate definitions of the
evil-surround pair).
2018-06-05 22:17:13 -04: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
Miciah Dashiel Butler Masters
78297be625 Fix various typos
* Fix various isolated typos

"apppend" -> "append"

"availabe" -> "available"

"Descripti using ternon" -> "Description"

"you have not them" -> "you don't have them"

"new on" -> "new one"

"plained" -> "curved"

"repel" -> "REPL"

"vairable" -> "variable"

* Fix a few errors in the CoffeeScript layer readme

Add a missing "the".

Correct a reference to the layer as "javascript" to "coffeescript".

Fix the syntax on the link to CoffeeLint.

* Fix typos: "dofile" -> "dotfile"

* Fix typos: "formated" and "formating"

"formated" -> "formatted"

"formating" -> "formatting"

* hy: Fix docstrings in funcs.el

Fix copy-and-pasted docstring text for
spacemacs/hy-shell-eval-current-form-and-go and
spacemacs/hy-shell-eval-region-and-go.

* Fix typos: "indendation" -> "indentation"

* Fix typos: "the the", "a a"

Fix duplicated (or misplaced) articles.

* Fix typos: "wether" -> "whether"

* Fix typos: "intialize" -> "initialize"
2018-05-23 22:12:30 -04:00
syl20bnr
3fa3311985 dump: add function spacemacs/emacs-with-pdumper-set-p 2018-05-20 03:58:48 -04:00
syl20bnr
ea1b4815b8 dump: improve messages feedback when dumping 2018-05-20 03:58:48 -04:00
syl20bnr
4f75fe5e3b dump: add command line parameter --force-dump
If provided on the command line then force a redump of Emacs not matter what.
2018-05-20 03:58:48 -04:00
syl20bnr
af4b4df031 dump: fix warning about layer list changed outside of dotfile func. 2018-05-20 03:58:48 -04:00
syl20bnr
5dec672861 dump: new function configuration-layer/message 2018-05-20 03:58:48 -04:00
syl20bnr
fe0e743ab5 dump: dump Emacs only if the layer list has changed 2018-05-20 03:58:48 -04:00
syl20bnr
89035d837b dump: add dotspacemacs variables to control the dump
* new dotvariable dotspacemacs-emacs-pdumper-executable-file
* new dotvariable dotspacemacs-emacs-dumper-dump-file
* dump emacs if dotspacemacs-emacs-pdumper-executable-file is non nil
2018-05-20 03:58:48 -04:00
syl20bnr
14b71afb42 dump: auto-dump emacs on load if layer list has changed
* rename core-dump.el to core-dumper.el
* add function spacemacs/dump-emacs
* explicitly load core-dumper.el file in init.el
* asynchronously dump emacs if layer list has changed, see special buffer
  *spacemacs-dumper* for the output.
2018-05-20 03:58:48 -04:00
syl20bnr
2580e43c66 Add support for dumping Spacemacs
Create dump with:

   ./emacs --batch -l ~/.emacs.d/dump-init.el \
           -eval '(dump-emacs-portable "spacemacs.pdmp")'

Load dump with:

   ./emacs --dump-file=spacemacs.pdmp

User can require/load additional libraries in new dotfile function:

   dotspacemacs/user-load
2018-05-20 03:57:54 -04:00
syl20bnr
862e81e49a core: hide loading message at startup unless --debug-init 2018-05-20 02:44:34 -04:00
syl20bnr
e9b8ed34c5 core: fix bug where layers.el files could be loaded multiple times 2018-05-20 02:33:28 -04:00
syl20bnr
b58a1d7b73 core: fix bug where packages.el files were loaded multiple times 2018-05-20 02:32:57 -04:00
syl20bnr
59d8be19d8 core: fix not found packages with dotspacemacs-install-packages all
Temporary fix, need to find the root cause.
2018-01-25 00:11:15 -05:00
Aaron Jensen
c86940c4f0 core: Use https for org package repo 2018-01-22 23:34:54 -05:00
syl20bnr
617d63095a core: install bootstrap and pre packages first
Fix issues with built-in org being lodaed before org-plus-contrib.
2018-01-22 11:33:13 -05:00
syl20bnr
1580dfd094 core: fix path to rollback slots 2018-01-22 11:23:59 -05:00
syl20bnr
723604d904 core: initialize Org earlier to prevent version conflicts
Should resolved all our issues with the wrong version of Org being loaded
before Org-plus-contrib! 🎉
2018-01-21 12:15:51 -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
80a10f79db core: fix alphabetical order of package configuration loading
It was reversed in commit e9fb5285f4
2018-01-11 10:43:44 -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