This sets the default distribution back to spacemacs. This is for people
who for whatever reason don't set `dotspacemacs-distribution` in their
dotfile.
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes#2737, because as far as I can tell "+" has no special
meaning in a helm pattern.
Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".
Now the user should use `SPC f e h` helm-spacemacs.
This is due to the fact that spacemacs layer is now a regular layer
stored in the "layers" directory.
- Rename contrib directory to layers
- Add new variable dotspacemacs-distribution
- Move spacemacs layer to layers/!distribution
- New layer spacemacs-core in layers/!distribution
- User can now set dotspacemacs-distribution to spacemacs or
spacemacs-core (default spacemacs)
spacemacs-core is very lightweight layer sufficient to build upon
spacemacs.
instead of the downloaded package archive. It fixes a case where
a package maintainer removes a dependency D of a package P and spacemacs
detects it which has the effect of deleting the obsolete package D, but
package-alist is not yet updated, because package-alist is updated only
when P is reinstalled (or upgraded).
Also it is not need to pass a list, example:
```
(setq dotspacemacs-configuration-layers
'((auto-completion :disabled-for org git)))
```
Will disable auto-completion for org and git layers.
Example:
(setq dotspacemacs-configuration-layers
'((auto-completion :disabled-for (org))))
Will not run any org/pre-init-xxx or org/post-init-xxx functions where
xxx is a package owned by the auto-completion layer.
Limitation:
If ownership of an auto-completion package P is stolen by another layer L
then :disabled-for must also be declared with L, otherwise the P will
be configured for org.
(setq dotspacemacs-configuration-layers
'((auto-completion :disabled-for (org))
(L :disabled-for (org)))
The user should not change the default owner of a layer unless really
required (for instance to use his own fork).
The test results buffer is displayed only if there are errors.
Make dotspacemacs/test-dotfile return non-nil when all the tests passed.
dotspacemacs/test-dotfile takes an optional parameter to hide the
result buffer.
Set as default unless user has dotspacemacs-use-ido t.
Adds comments to .spacemacs.template informing users of new behavior
tied to dotspacemacs-use-ido.
- configuration-layer/declare-layers
- configuration-layer/declare-layer
These functions can be used in the config.el file of a layer to add
required layers.
For instance the react layer needs both html and javascript layers.
salt layer needs the yaml layer (see the following commits)
It is now possible to override the recipe in a custom layer.
For instance to override the recipe R for package P in layer L
In a private layer L' put at the end of dotspacemacs-configuration-layers
and listing P with an init function for P, L' becomes the ower of
P and the recipe R' defined in L' overrides the recipe R.
The `package-delete` function refuses to delete a package that is a
depency by default, which prevents the spacemacs update function from
working most of the time.
This commit sets the flag to force deletion for Emacs 25.
Now it is possible to have unicode symbols in GUI and not in
terminal using emacsclient
Do to so, dotspacemacs-mode-line-unicode-symbols must be set to
the symbol 'display-graphic-p which will be lazily evaluated
via the macro dotspacemacs|symbol-value
This is especially useful for users having troubles with unicode
characters in their terminal but wants to use them in GUI client.
Allowed properties to be overridden are: location, step and excluded
This mechanism allow the user to alter the location of a given
package, for instance if she wants to use her own fork instead of the
version in ELPA.
Note that for now there is no easy way to override the package recipes.
Once all extensions were moved from "extensions" to "local",
spacemacs was no longer able to find the solarized themes.
Thanks to @TheBB for helping narrow this down!
Closes#2628
Unfortunately spacemacs is not designed for installation
at use-package call time.
For use-package to be called a package must already be installed,
so I will continue on the initial plan, that is providing the
quelpa recipe at the <layer>-packages list level.
This is no bigdeal, this is basically moving :quelpa from
use-package to <layer>-packages variables.
Moreover it makes more sense to define package property at
declaration time instead of initialization (at least in spacemacs
world where installation is decoupled from configuration).
This has a benefit of not assuming that the user .emacs.d/ is in the
user home directory. Should continue to work as expected when this is
the case, but you could also start a fresh Emacs session like
so (assumes OSX):
open -a Emacs.app -n --args -q -l /path/to/emacs.d/init.el
So you don't have to muddle with symlinking your ~/.emacs.d or replacing
it with another just to try Spacemacs (or any other config). Note, that
this won't work with `after-init-hook` which doesn't appear to run when
Emacs is run with -q flag. As a result the `dotspacemacs/config` in your
.spacemacs won't run.
`tooltip-use-echo-area' is obsolete since 24.1; disabling `tooltip-mode'
achieves similar effect, and Tooltip mode has already been disabled in the
current code. Since Spacemacs supports Emacs 24.3 and 24.4,
`tooltip-use-echo-area' usage can be removed safely.