Commit graph

1096 commits

Author SHA1 Message Date
Eivind Fonn e02c012ba1 Additional home buffer fixes 2016-09-14 20:53:30 +02:00
Steven Allen 7e903da247 Never use negative widths when formatting the spacemacs buffer caption.
Fixes: #7114
2016-09-14 19:44:01 +02:00
deb0ch fd9ac4afce refactor spacemacs-buffer/goto-buffer: fix logic flaw, center in terminal
fix buffer not re-created when buffer does not exist and last-width did
not change.

allow for home buffer centering in terminals.
2016-09-14 11:41:40 +02:00
d12frosted 8578b40404
properly resolve local package archive urls 2016-09-13 16:44:41 +03:00
Paul Young 9031348617
Fix a typo in the version switching message 2016-09-13 13:21:52 +03:00
syl20bnr 03f9f9f700 core: contain side effects when loading packages for SPC h SPC
Fixes some edge cases like SPC f e R performed after SPC h SPC which
could wrongly install or uninstall packages.

Side effects is contained using the variable
configuration-layer--package-properties-read-onlyp, if non nil then
properties value of a package cannot be overwritten.
2016-09-05 20:54:07 -04:00
syl20bnr 34971edc32 core: fix make-package multiple calls side effects
Calling multiple times configuration-layer/make-package appends the
same layers to :owners, :pre-layers and :post-layers slot.

Use object-add-to-list instead of push.

Add some tests and mock some warning messages.
2016-09-05 15:01:35 -04:00
syl20bnr 7a9f031e2b core: Split configuration-layer/make-packages-from-layers
Split the function in two functions:
- configuration-layer/make-packages-from-layers
- configuration-layer/make-packages-from-dotfile
2016-09-05 12:40:44 -04:00
syl20bnr f7668181d6 core: refactor make-package and make-packages
Rename configuration-layers/make-packages to
       configuration-layers/make-packages-from-layers

Move all package initialization logic to configuration-layers/make-package
instead of having it split between make-packages and make-package.
2016-09-05 11:54:29 -04:00
syl20bnr 9066d073b2 Fix (void-variable spacemacs-jump-handlers-....)
Move the variable definitions to config.el and eval-after-load the
key binding on SPC m g g.
2016-09-04 22:31:47 -04:00
syl20bnr 43a445b1df Remove wrongly pushed change in core 2016-09-04 12:29:52 -04:00
syl20bnr c6a6c41d92 Replace hooks by regular list for jump lists
Hook semantic is to be used with run-hooks API and run all hooks
sequentially, jump list semantic is different since the running
functions are not guaranteed to be executed so we prefer using regular
list API to manage jump-lists.
2016-09-04 12:28:40 -04:00
Aaron Jensen bc5eb62e53 core: Add resize hook later in startup
Fixes hang while resizing on startup with initial-frame-alist.

Fixes #6986
2016-09-03 12:07:07 +02:00
Eivind Fonn e207038208 Add dsm variable for responsive home buffer 2016-09-03 12:07:03 +02:00
Eivind Fonn 2ef8c00e6b Add global bound on startup list lengths 2016-09-03 12:06:57 +02:00
Andrew Schwartzmeyer 6a08e2f65e Fix get-package-directory regex
Previous change in 5d6e9ab789 dropped the
"/" marker to match at beginning of string. Since directory-files
matches a regex, use "\\`" to indicate match at beginning of string.
2016-09-02 21:44:43 +02:00
Eivind Fonn 3a28393a23 Implement :enabled-for layer keyword 2016-08-31 22:15:13 -04:00
Eivind Fonn a90414cc1b Add additional linebreak in home buffer 2016-08-31 18:48:27 +02:00
deb0ch 55accac7e5 center startup summary in spacemacs buffer 2016-08-31 18:44:15 +02:00
deb0ch 7dfa038107 redisplay startup info summary when re-centering and refreshing spacemacs buffer 2016-08-31 18:42:19 +02:00
Eivind Fonn df255da69a Fix: only choose random banner once 2016-08-31 18:33:48 +02:00
ralesi a7d4674202 Auto center spacemacs-buffer on window resize. 2016-08-31 18:29:12 +02:00
Tej Chajed 4e7d80b50a
core: Use lowercase in bug report submit binding
"C-C C-C" is confusing since the Emacs convention is to use lowercase
letters in keybindings.
2016-08-30 14:26:43 -04:00
Kaleb Elwert d202ead5fa Add new base16 color schemes 2016-08-30 16:05:59 +02:00
syl20bnr 41f70e979c Add todo to remove delayed layer hack in future version 2016-08-25 22:51:32 -04:00
Eivind Fonn 734c87fb24 Don’t break asynchronous jumpers (fix #6898) 2016-08-24 13:11:57 +02:00
Kaleb Elwert 131e0faef9 Update base16 themes to match new list 2016-08-24 11:34:30 +02:00
Eivind Fonn b47d0661c2 Update base16-tomorrow-dark name (fix #6903) 2016-08-24 09:59:22 +02:00
Eivind Fonn 928983da47 Refactor jump to definition
This commit defines:

- spacemacs-default-jump-handlers: a list of functions that can jump to
  definition in ALL modes.

- spacemacs-jump-handlers-MODE: a list of functions that can jump to
  definition in MODE.

- spacemacs-jump-handlers: a buffer-local list of functions that can
  jump to definition. This is made up of the values of the two previous
  variables whenever a given major mode is activated.

- spacemacs/jump-to-definition: a function that tries each function in
  spacemacs-jump-handlers in order, and stops when one of them takes us
  somewhere new.

- spacemacs|define-jump-handlers: a macro that
  * defines spacemacs-jump-handlers-MODE, possibly filled with initial
    functions
  * defines a function that is added to the hook of the given MODE
  * binds “SPC m g g” of that MODE to spacemacs/jump-to-definition

This is an attempt to harmonize all the different approaches to jumping.
Specifically,

- Existing intelligent jump packages that work for only a single mode
  should go to the beginning of spacemacs-jump-handlers-MODE. E.g.
  anaconda for python, ensime for scala, etc.

- Packages like gtags that work for several modes (but potentially not
  all) and which is dumber than the intelligent jumpers should go the
  the END of spacemacs-jump-handlers-MODE.

- Packages like dumb-jump that work for all modes should go to
  spacemacs-default-jump-handlers.

In all cases the order of the jump handlers in each list should be from
most to least intelligent.

Fixes #6619
2016-08-22 15:08:25 +02:00
syl20bnr 1e64768fb7 core: rename dotspacemacs-download-packages
Rename dotspacemacs-download-packages to dotspacemacs-install-packages
to better reflect the changes in the previous commit.

Also change the value 'used to 'used-only (note that 'used is still
supported for backward compatibility).
2016-08-19 21:31:57 -03:00
syl20bnr 564cbc40ed core: better behavior for dotspacemacs-download-packages
See end of this message for important breaking changes.

Previous behavior was to configure any installed package which caused
a lot of bad side effects and could make spacemacs unusable. This
behavior made little sense and does not fit with spacemacs.

This commit fixes this behavior by separating installed packages from
configured packages. In short dostspacemacs-download-packages variable
now only affect package installation. Packages are now configured if and
only if they are effectively *used* (i.e. listed in variable
dotspacemacs-configuration-layers or dotspacemacs-additional-packages).

IMPORTANT CHANGE: functions `configuration-layer/declare-used-layer` and
`configuration-layer/declare-used-layers` have been removed. These
functions have been introduced in develop branch only so the impact
should be minimal.
2016-08-19 21:04:33 -03:00
syl20bnr 64d3eb953e Standardize docstring for dotspacemacs-helm-use-fuzzy 2016-08-18 22:51:10 -03:00
syl20bnr a14bfb9d6d core: fix 'all value for dotspacemacs-download-packages 2016-08-18 22:48:34 -03:00
Nir Friedman ed1f782bdf Add option for helm fuzzy matching
Change-Id: If3f59e53fa954c230938876184852d1a34f3e7d3
2016-08-17 20:53:45 +02:00
ivanbrennan 622cd38532 use spacemacs-core-directory const
As long as we've defined a spacemacs-core-directory, we might as well use it where
possible.
2016-08-17 19:59:25 +02:00
ivanbrennan 5d6e9ab789 optimize spacemacs//get-package-directory
Saving a pkg-match regex to a temporary variable lets us avoid recomputing it on each
iteration. I didn't benchmark the performance impact, but unless there's a downside to
using `let*` vs `let`, it seems like a no-brainer.

Passing pkg-match to `directory-files` reduces the returned files to those that match the
regex rolling our own reduction.
2016-08-17 19:57:47 +02:00
Eivind Fonn 36f3b63079 Make elpa directory more flexible
- Rename variable to dotspacemacs-elpa-subdirectory
- Allow arbitrary form to be evaluated
2016-08-13 14:21:01 +02:00
Bar Magal 6b23983205 core: different elpa dir per emacs version
For emacs 24.5 packages will be installed in .emacs.d/elpa/24.5, for
emacs 24.4 packages will be installed in .emacs.d/elpa/24.4, etc.
For a user that uses several emacs versions with the same config, the
packages for version X will be in .emacs.d/elpa/X and the packages for
version Y will be in .emacs.d/elpa/Y.  This is instead of using the same
.emacs.d/elpa and possibly having copmiled elisp packages the are
incompatible with one of the emacs versions in use.

Rollback directories are also separated by version:
.cache/.rollback/24.5, .cache/.rollback/24.4, etc.
2016-08-13 14:02:06 +02:00
bmag 1aacf4003d Create $SPACEMACSDIR/init.el when needed
Don't fallback to default init file when SPACMACSDIR is used and
$SPACEMACSDIR/init.el doesn't exist. The file will be created during
the startup process.
2016-08-07 16:24:55 +02:00
bmag 6d60d2ef05 Prefer $SPACEMACDIR/init.el over ~/.spacemacs
If SPACMEACSDIR is used, and both $SPACEMACDIR/init.el and ~/.spacemacs
exist, use $SPACEMACDIR/init.el as the dotspacemacs file.
2016-08-07 16:24:52 +02:00
duianto e51a89a5e5 Comment corrections and two functions reordered
Misspellings:
"beginnign" changed to "beginning",
"Insert one of several lines" changed to "Insert one or several lines" in two functions,
"identation" changed to "indentation",

Missing comment copied from the function that inserts a line
in the opposite direction:
(defun spacemacs/insert-line-below-no-indent (count)
"Insert a new line below with no indentation."
and renamed the direction, resulting in:
"Insert a new line above with no indentation."

Duplicate comments removed, the comments inside the functions,
are better explanations of what the function does.

Functions reordered:
The functions:
(defun spacemacs/evil-insert-line-below (count)
and
(defun spacemacs/evil-insert-line-above (count)

were written in a illogical order,
the "above" function should be written before the "below" function,
with this change, the function order will match other functions
with "above" and "below" in their names,
for example these:
(defun spacemacs/insert-line-above-no-indent (count)
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bdistributions/spacemacs-base/funcs.el#L535
(defun spacemacs/insert-line-below-no-indent (count)
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bdistributions/spacemacs-base/funcs.el#L549

evil-commands.el
line 2205: (defun evil-open-above (count)
line 2219: (defun evil-open-below (count)

line 2310: (defun evil-copy-from-above (arg)
line 2326: (defun evil-copy-from-below (arg)

evil-common.el
line 1892: (defun evil-insert-newline-above ()
line 1901: (defun evil-insert-newline-below ()
2016-08-05 21:35:43 +02:00
syl20bnr 73b8151381 core: fix bad prog2 call 2016-08-03 21:56:03 -04:00
syl20bnr a9489a431d core: fix naming conventions for private funcs and vars
in core-release-management.el
2016-08-03 21:43:12 -04:00
syl20bnr 92ca7fd0f3 core: fix startup check being always executed 2016-08-03 21:43:12 -04:00
syl20bnr 59cfd60e49 core: make spacemacs/get-last-version interactive 2016-08-03 21:43:12 -04:00
syl20bnr cb84b3ce46 core: make spacemacs/check-for-new-version interactive
Can force a check with the universal prefix argument, for instance:
SPC u SPC SPC spacemacs/check-for-new-version
will always check for a new version even if not on master branch.
2016-08-03 21:43:12 -04:00
syl20bnr 0b1fff02c0 core: rate limit statup version check
Once per 24 hours by default.
Caveat: if a new version is detected on the current instance of Emacs
and Emacs is restarted before the end of the 24 hours window then
the new version lighter in the modeline disappear; i.e. we don't
remember the last check results.

Fixes #6692
2016-08-03 21:41:48 -04:00
syl20bnr bf15693967 core: remove version check every 6 hours
Fixes #6692
2016-08-03 20:48:49 -04:00
syl20bnr 9d72b12245 change default value of dotspacemacs-check-for-update to nil
Since git commands contacts remotes hosted on GitHub this settings
should be an opt-in.

Fixes #6692
2016-08-03 20:47:09 -04:00
syl20bnr d3ae04b29c Respect 80 chars per line in core-release-management.el 2016-08-03 20:35:40 -04:00