Add org-expiry package to be loaded lazily and autoload interactive
functions.
Provides no default configuration, but make it more convenient for users
to use the org-expiry package in their personal configuration.
Fixes#6630
In org-agenda-mode, make the org-agenda-refile and
org-agenda-clock-cancel bindings consistent with org-refile and
org-clock-cancel.
In org-agenda-transient-state, make the refile, set tags, clock in,
clock out, and clock cancel bindings consistent with their org-mode
and org-agenda-mode equivalents.
In org-capture-mode, make the org-capture-refile binding the same as
the org-agenda-refile and org-refile.
SPC p o was for projectile-multi-occur which is not really useful given
the alternative provided by Spacemacs
If this binding is really important we can consider adding it back
on SPC p O or find another way to integrate multi-occur in Spacemacs.
TL;DR Should get 20~25% speed improvement on startup, should get a big
improvement when using ivy or helm SPC h SPC. Users with layers.el files
in their layers must use `configuration-layer/declare-used-layer`
instead of `configuration-layer/declare-layer`
The implementation of the layer system made heavy use of `object-assoc`
and `object-assoc-list` functions which are not efficient. This PR
mainly replaces those object lists with hash maps in order to index the
objects by their name and achieve an O(1) access time.
The old object lists `configuration-layer--layers` and
`configuration-layer--packages` have been each by two variables each:
- `configuration-layer--indexed-layers` which is a hash-map of all the
layer objects and `configuration-layer--used-layers` which is a list of
all _used_ layers symbols,
- symmetrically `configuration-layer--indexed-packages` which is a
hash-map of all the package objects and
`configuration-layer--used-packages` which is a list of all _used_
packages symbols.
The hash map `configuration-layer--layer-paths` is gone, now we create
directly layer objects when discovering the layers and set the :dir
property. Note that previously the layer paths were the parent directory
of the layer, now :dir is the layer path.
The function `configuration-layer//make-layer` is now similar to its
counterpart `configuration-layer//make-package` in the sense that it
takes an optional `obj` to be able to override its properties.
The functions `configuration-layer/declare-layer` and
`configuration-layer/declare-layers` now takes an optional parameter
`usedp` in order to declare used or not used layers. For convenience
new functions have been added: `configuration-layer/declare-used-layer`
and `configuration-layer/declare-used-layers`, users _must_ update all
occurrences of `configuration-layer/declare-layer` by
`configuration-layer/declare-used-layers` in their `layers.el` files.
`helm-spacemacs-help` and `ivy-spacemacs-help` are updated to match the
changes in `core-configuration-layer.el`.
Rename some variables to make them more explicit:
`configuration-layer-no-layer` -> `configuration-layer-exclude-all-layers`
`configuration-layer-distribution` -> `configuration-layer-force-distribution`
Add "smart move end of line" behaviour and add two layer variables
allow for tweaking C-a and C-e behaviours:
- better-defaults-move-to-beginning-of-code-first and
- better-defaults-move-to-end-of-code-first
Helm-flx, which is included as a core package, requires a minimum Emacs
version of 24.4. As it stands attempting to install Spacemacs on Emacs
24.3 or below will break on helm-flx.
org-reveal is an extension to org mode that allows exporting of org files as
reveal.js presentations. Since not everyone needs this functionality, the
loading of the package is controlled via the `org-enable-reveal-js` switch,
which, if set to `t` would load the package.