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.
I have seen many "I have a problem" discussions in the Gitter chat which
starts with a barrage of questions "Which OS? Which Emacs version?",
etc., so I thought it may be useful to have one function that will
generate the info to be copy-pasted into the Gitter chat and hence both
the user and others helping in the Gitter chat can jump directly to
solving the problem instead of the support volley to figure out the
setup.
Example output:
ELISP> (spacemacs/system-info)
"OS: darwin Emacs: 24.5.1 Spacemacs: 0.103.0 Spacemacs branch: develop
Layers: ((auto-completion :variables auto-completion-enable-help-tooltip
t) better-defaults emacs-lisp git markdown org (shell :variables
shell-default-height 30 shell-default-position (quote bottom))
syntax-checking version-control c-c++ clojure dash github html osx
python semantic sql)"
References:
From
https://github.com/syl20bnr/spacemacs/issues/2033#issuecomment-113861451 :
> Also what is your emacs version and OS ?
From
https://github.com/syl20bnr/spacemacs/issues/2042#issuecomment-113861501 :
> What's your Emacs version ? I presume it comes from the semantic
layer, can you test without the semantic layer ?
Instead of opening the file for the bookmark, use the bookmark-jump
function to properly jump to the file and location in the file. Also
show the bookmark name and the filename in the list.
Fixessyl20bnr/spacemacs#2431
So if called using the universal argument or with a parameter yes is
assumed to the question to update packages. Useful for calling Emacs
in batch mode to update Spacemacs.
Works with magit-next for now.
Tests to update and evilify functions robustness need to be improved.
Does not work 100% with magit-mode-map because it is created with
`make-keymap` and not `make-sparse-keymap` and `map-keymap` does not
seem to work with `make-keymap`.
Currently, pressing TAB does not move to next widget. Similarly,
pressing RET does not run the button at point. Use `kbd` function to
properly convert to internal key representation in Emacs that is usable
in both GUI and terminal.
Also move the key bindings to spacemacs/keybindings.el since it's a more
suitable place.
- Re-enable
- Move all autosave files to spacemacs-cache-directory
- Allow Auto-saving directly on current buffer.
- Add option to customize.
- Update .spacemacs template.
bookmark-all-names returns a list of names, but
spacemacs-buffer//insert-file-list expect a list of filenames.
Shortcut definitions seems to be a mix of two approaches/commits.
Removed the unused bits.
Refactor spacemacs/open-file to spacemacs/view-org-file to correctly
reflect its functionality. In Emacs, view means read-only. Make the
anchor-text optional so we can omit when not needed. Also add
expand-scope that can be either 'subtree or 'all to open a tree at point
or expand everything. 'subtree is used for the Change Log while 'all is
used for all Spacemacs documents.
Currently helm-spacemacs//documentation-candidates grabs everything it
can in the doc directory. In the future we might put some images there
so better just choose the correct file type to include.
- Use `~` marker to represent key bindings. The `~` and `=` markers are
equivalent in Emacs: `=` uses `org-verbatim verbatim` faces, while `~`
uses `org-code verbatim)`, but both `org-verbatim` and `org-code` is
inherited from `shadow` face. So we can use `~` marker for this purpose.
`~` marker is also displayed properly on Github, since it's part of
standard Emacs, so no web functionality is broken.
- Add org-kbd face for displaying key bindings.
- Update CHANGELOG.org: use the proper `~` marker for key bindings.
- Update VIMUSERS.org: use the proper `~` marker for key bindings.
It's important to make templating variables something unique-looking so
that you don't accidentally write template variables where you don't
mean to. For example, in extensions.template, "package names go here"
was being replaced with "package <name of package>s go here", etc.
Also Search case-insensitively for good measure
Otherwise when the widget list is deleted to insert new widgets, the
separator "widget" is essentially text with properties and can cause
error when trying to delete, which breaks quick help and release note
buttons, making the buttons not function anymore.
Adding packages to this list will install them without
needing them to be wrapped in a layer.
Ideal for niche languages of any package that don't need
any configuration.