The new layer file `layers.el` is used to declared additional layers.
It is like the sibling of packages.el except that for now it does not
take a list (can do this in a futur commit).
The new order for file loading is the following:
layers.el > packages.el > funcs.el > config.el > keybindings.el
Since packages.el relies on some undefined stuff encapsulated
in init functions, it is not meant to be byte compiled. OTOH funcs.el
(where lies most of the computation added by a package config) should
be compilable.
Since we load packages.el very early it is not possible to use
`configuration-layer/package-usedp` in funcs.el.
This commit also fixes the tests.
Add argument `action` as first positional argument, the second
positonal argument is for tests.
Add actions `doc` and `config`, doc works on org files and config works
on configuration file like packages.el.
The special action `all` performs all actions.
Move test files to `test` sub-folder.
Choose between `md5sum` and `md5` (on OS X) executables.
Add a new formatting function `move-packages-to-config` to move
package lists to config.el file.
Change the semantic of the files for a better control over the
configuration (like being able to use package-usedp function to
guard package configuration and function definition).
This is a big change!
The list of packages of the layer must now be placed in config.el
packages.el only contains pre-init, init and post-init functions
Now both packages.el and funcs.el can use
configuration-layer/package-usedp which is much more powerful than
just configuration-layer/layer-usedp.
Also merging into one file the layer variable and the list of packages
make sense (in this case config.el).
It also means that we can quickly load all the packages declared in
all layer for helm and ivy sources by just loading the config.el file.
Expect some regressions introduced by this change, like the helm
and ivy sources, they will be fixed in other commits.
This commit introduces two new options to add-toggle:
:prefix, a symbol that is bound to the raw prefix argument (as
in `(interactive "P") forms).
:on-message, an expression overriding the default 'on' toggle
message (useful to document a toggle's argument).
These new options are applied to long-lines' toggle, so we can choose
how many lines to toggle it on via a raw prefix argument.
Visiting the dump file before writing to it is slow, because it triggers
all the regular actions that happen when a user opens a file, e.g.
enable major mode and minor modes. We don't need all that,
with-temp-file is what we really want.
spacemacs/report-issue opens a buffer prepopulated with a template and some
system information. The buffer is markdown-mode augmented with a keybinding to
send the contents to github.
Or if that doesn't work, the text remains in the buffer to be manually copied
and pasted. This makes the error reporting more robust: right after the user has
experienced one bug is the worst time to manifest another one.
This commit also rewrites spacemacs//describe-last-keys-string because I
couldn't figure out how else to prevent view-lossage from burying the new
REPORT_SPACEMACS_ISSUE buffer. Suggestions welcome.
--no-layer: desactive all the layers except the distribution layer
--distribution: allow the change temporarily the distribution
example
Start emacs with spacemacs-base and no layers:
emacs --no-layer --distribution spacemacs-base
Add test mode: {repo-root}/core/tools/doc-fmt/run.bash test
applies formatting only to {repo-root}/core/tools/doc-fmt/test.org
Use "gsed" if present.
Add new filters, refactor code.
test.org now represents most of the .org file formatting errors.
If emacs is launched with -q option and spacemacs files are loaded via
--eval option, then spacemacs fails due to depending `after-init-time'
variable being set properly which is done only when emacs is launched
without -q. This patch is to remove this dependence so that spacemacs
launched with -q can still work. This is done by introducing
`spacemacs-initialized' variable which is set properly regardless of
which command line options are present or absent.