Commit graph

389 commits

Author SHA1 Message Date
duianto
c0f61fa035 [core] Fix package update restart message
Problem:
When the restart-emacs package is being updated.

The update packages restart message, still shows the (SPC q r) key binding even
though it doesn't work.

Cause:
The member function compared a string against a list of symbols.

A possible improvement:
Explain that the key binding won't work this time.

Before:
Emacs has to be restarted to actually install the new version of the packages (SPC q r).

After:
Emacs has to be restarted to actually install the new version of the packages
(SPC q r) won't work this time, because the restart-emacs package is being updated.
2020-12-08 20:14:52 +01:00
Brandon T. Willard
ac3c3546a2 Fix misc. compilation warnings 2020-10-15 23:49:33 +02:00
Robert O'Connor
82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
syl20bnr
52ec07bb44 [core] Fix installation of unused layer dependencies after SPC h SPC
Fix bug where layer dependencies of all layers (even the unused ones)
are installed after SPC h SPC and then SPC f e R
2020-08-29 21:51:52 -04:00
syl20bnr
b5f673e0a7 [core] Update message when force dumping 2020-08-29 21:51:52 -04:00
Maximilian Wolff
c43b9ea104
[core] Revise "do not delete system package" check
Fixed some smaller issues and added the missing
logging feature.
2020-07-13 00:55:23 +02:00
William Cedervall
52d5d9d98f
Only remove non system pkg
Added "configuration-layer//system-package?" based on package-delete
(pretty much a direct partial copy-paste) so that
"configuration-layer//package-delete" can check if package is a
system package

No crash on spacemacs boot (with unused system-package present).
Though right now "configuration-layer//package-delete" only ignores system
packages instead of reporting them. Not entierly what @nbraud proposed,
but insufficient err-logging is a significantly smaller issue.

Fixes #11160
2020-07-13 00:55:23 +02:00
Mihaly Barasz
0f7693c4d5 Fix spacelpa public key file name
This fixes the issue that users have to import the public key manually
to pass spacelpa archive verification. See #12652
2020-07-01 21:11:33 +02:00
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