Commit graph

906 commits

Author SHA1 Message Date
justbur 39e06feba9 Use unless-debug version of condition-case
It's not possible to get full backtraces in these instances when an
error is signaled, and I think we should generate full backtraces when
debug-on-error is enabled as a general rule.

I had to make this change at one place to track down the root of problem
2 in #5200.
2016-03-03 20:30:30 +01:00
Muneeb Shaikh aebef8bfcd core: fix dotspacemacs-editing-style docstring 2016-03-01 18:56:24 +01:00
Eivind Fonn 83556719cb Add display-graphic-p to SPC hds 2016-02-23 23:34:49 +01:00
syl20bnr 8849e9c807 core: fix activation of package dependencies
Bug lurking in the code for quite some time, if both a package and
its dependencies were uninstalled then activation of the dependencies
could fail. This is resolved by explicitly asking package.el to install
the dependencies if required.
2016-02-23 13:00:38 -05:00
syl20bnr fd9326486a core: new function configuration-layer/describe-package
Add actions for both helm and ivy.

TODO:
- see TODO in function body
- replace SPC h d p (list all packages, use spacemacs describe when
it is a layer package, otherwise use vanilla describe).
2016-02-22 02:29:43 -05:00
syl20bnr e4447264d9 core: new package keyword :toggle
This new keyword allows to add all the packages to the <layer>-packages
even when a package is not toggled on by a given layer variable.

This fixes an issue of the layer system where we had to choose between
discoverability (ie. the list of package in helm or ivy with SPC h SPC)
and installation of package (because any package listed in the variable
<layer>-packages were installed).
2016-02-21 00:01:39 -05:00
syl20bnr 308fb1118d core: replace package keyword :skip-install by :location site 2016-02-20 23:05:36 -05:00
syl20bnr 6bb306a999 Improve theme installation robustness
Also use stock Emacs functions for warning reporting before the
home buffer is actually created.
2016-02-19 23:30:35 -05:00
syl20bnr da83bef2cb Fix unusable Emacs when an ELPA repository is down 2016-02-19 22:14:45 -05:00
justbur aab007d225 evil-jumper: Remove obsolete package
The functionality is now incorporated into the evil core and this
package has been marked as obsolete.
2016-02-16 21:23:07 -05:00
syl20bnr 7b6588d017 Fix typo in spacemacs-force-resume-layouts 2016-02-15 00:05:38 -05:00
Kosta Harlan d6c29bdb8c Add majapahit-theme
This is a nice theme with light & dark versions.
2016-02-14 23:09:26 -05:00
Fabien Dubosson 21cab12125 Add smart closing parenthesis 2016-02-14 23:09:13 -05:00
bmag 31f532dfe5 install-package: don't set lazy-install pkg is nil
Fix bug: When the list of package names returned by
configuration-layer//get-uninstalled-packages contains a package that
isn't contained in configuration-layer--packages, then
configuration-layer//install-package throws "wrong-argument-type:
eieio-object-p nil" error at startup.
configuration-layer//install-packages catches it and prints it in the
home buffer.
2016-02-14 23:07:22 -05:00
Fabien Dubosson 24f0e8cc4b Restart Spacemacs restoring layouts
Fix #5058
2016-02-14 20:59:05 -05:00
Igor Avdeev 0e416290c4 Fix display of recent bookmarks without filename 2016-02-14 20:57:46 -05:00
Xue Fuqiao a0d33123e5 Update layers/LAYERS.org
Languages like HTML, LaTeX, and Markdown are markup languages.
2016-02-07 14:28:07 +01:00
Muneeb Shaikh d3ec9a1791 fix paste micro -> paste transient 2016-02-02 16:52:32 +01:00
syl20bnr 065f45f83f Add default value for transient-state dotspacemacs variables 2016-01-31 23:53:52 -05:00
justbur b149f4e13a transient-state: new dotspacemacs variable to hide titles
dotspacemacs-show-transient-state-title
2016-01-31 23:50:10 -05:00
justbur c40e49f1a1 transient-state: Add pink to color guide
Pink is for keys that do not exit hydras that run foreign keys.
2016-01-31 23:49:49 -05:00
justbur afec0f2264 transient-state: Add :additional-docs option
Used to format additional docstrings and store the resulting string in a
variable.
2016-01-31 23:48:19 -05:00
justbur a55e8dc6fa transient-state: Make title face match mode-line 2016-01-31 23:48:19 -05:00
justbur c12f6b85c8 transient-state: Add .spacemacs var to hide color guide 2016-01-31 23:48:19 -05:00
justbur c6b7eaca3d transient-state: Tweak formatting of doc
Make title formatting span length of message window, add space
between color guide and keys, and make italic.
2016-01-31 23:48:19 -05:00
syl20bnr 3b6b55485a core: don´t catch errors if --debug-init 2016-01-31 23:15:29 -05:00
Levin Du 330f852752 core: update doc after auto executing in micro state.
This is useful if :doc is a function to return the state which may be
modified by :execute-binding-on-enter.
2016-01-31 23:04:47 -05:00
Balaji Sivaraman 2b1ed603dc Change all references of micro-state in codebase to transient-state 2016-01-31 23:04:47 -05:00
Alex R 62337a3e3a Ensure that pcache-directory ends in a slash 2016-01-31 23:04:46 -05:00
Robert O'Connor 42735c9f9f core: fix typo 2016-01-31 22:18:32 -05:00
syl20bnr fd4c2fb546 core-spacemacs-buffer: respect 80 characters per line 2016-01-31 20:31:09 -05:00
tonyday567 36e7e4ef73 Add support for todos and agenda in home buffer 2016-01-31 20:31:09 -05:00
Xue Fuqiao 4958f7fc10 Fix "the point" problems
Point is a proper name when it refers to the current editing location.
Moreover, point designates a place *between* two characters (or before the first
character, or after the last character), rather than a particular character.

References:

* http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html
* https://www.gnu.org/software/emacs/manual/html_node/elisp/Point.html#index-point
2016-01-31 21:48:52 +01:00
syl20bnr 45def1ec60 core: Add support for lazy installed layer.
New function configuration-layer/lazy-install to add support for
lazy installation of layers based on auto-mode-alist emacs mechanism.

This is essentially the Prelude feature but translated at the layer
level for Spacemacs.

New dotspacemacs variable to enable this feature:
dotspacemacs-enable-lazy-installation
For now this variable is set to nil by default, it will be put to t when
the feature is stable.

POC with elixir layer.
2016-01-31 00:10:14 -05:00
syl20bnr 5a061b3813 core: new layer files packages-config.el and packages-funcs.el
Start to isolate the list of packages. Also we want to define packages
function at the top level of an elisp file in order to not prevent
emacs from knowing where the functions are defined.

This commit has a POC made with elfeed and elixir layers.
2016-01-31 00:03:04 -05:00
syl20bnr 5b757eb090 core: remove corelv
Since hydra is now a bootstrap package.
2016-01-26 02:05:32 -05:00
Curtis Mackie 5511bdbd6f Added support for remaining base16 themes that were not listed 2016-01-26 01:21:02 -05:00
Fabien Dubosson aa39eb3fd0 Add a command for reporting issue to spacemacs 2016-01-26 01:21:02 -05:00
justbur a19710846e transient state: Add color guide to hints 2016-01-26 01:21:01 -05:00
justbur 35ad5f32ba core: Add defer-until-after-user-config
Add function that can be used to defer execution until after
dotspacemacs/user-config is run. If it has already been run the function
executes immediately.

Initially this is only used for deferring the definitions of
transient-states.
2016-01-26 01:21:01 -05:00
justbur 76cd590667 transient-state: Put code in new core file 2016-01-26 01:21:01 -05:00
justbur 9e097d898c transient-state: Load defs after user-config 2016-01-26 01:21:00 -05:00
justbur f3e68b95a3 transient-state: Defer declaration of transient states 2016-01-26 01:21:00 -05:00
justbur bbcac824ef transient-state: Add/remove bindings with variables
spacemacs-STATE-transient-state-remove-bindings is a list of keys whose
associated bindings should be removed for a transient state, when this
variable is defined.

spacemacs-STATE-transient-state-add-bindings is a list of bindings
suitable for a hydra whose associated bindings should be added to a
transient state, when this variable is defined.
2016-01-26 01:21:00 -05:00
justbur e97af03ff7 Call new micro-state a transient state 2016-01-26 01:21:00 -05:00
justbur 154cfeea19 micro-state: Add :title option 2016-01-26 01:21:00 -05:00
justbur 0f4105d09d core-funcs: Cleaner expansion of create-key-binding-forms 2016-01-26 01:21:00 -05:00
justbur da645c627e micro-state: Add add-micro-state-bindings
Macro that allows additional bindings to be specified for a micro-state
before that micro-state is declared.
2016-01-26 01:21:00 -05:00
justbur dbd9725c39 spacemacs(-base): Translate micro-states to use new macro
1. spacemacs: scroll
2. spacemacs-base: paste
3. spacemacs-base: macrostep
4. spacemacs-base: transparency
5. spacemacs-base: scale-font
6. spacemacs-base: wind-manip
7. spacemacs-base: buffer
8. spacemacs: symbol-highlight
9. spacemacs: move-text
10. spacemacs: zoom-frm
11. spacemacs: evil-numbers
2016-01-26 01:20:59 -05:00
justbur 13c41947b1 micro-state: Define wrapper for defhydra
Try to use as many of the old keywords from spacemacs|define-micro-state
as possible in the new macr spacemacs|define-micro-state-2 (the 2 is
just to use for the transition period)
2016-01-26 01:20:59 -05:00
justbur 90df083ad3 spacemacs-base: Add hydra package 2016-01-26 01:20:59 -05:00
Eivind Fonn ad6efee8a2 Don't accidentally overwrite skip-install 2016-01-26 01:20:59 -05:00
Eivind Fonn 2d29953200 Enhance theme handling
- Restrict default theme code to spaceacs/load-theme
- Don't download package for default
- Explicitly call post-theme-init for default
- Explicitly disable existing themes when loading
2016-01-23 14:40:24 +01:00
Ista Zahn 86dd7926b7 Allow default theme in dotspacemacs-themes 2016-01-23 14:13:25 +01:00
Eivind Fonn e8a10c3d54 Clean up REPL code 2016-01-22 16:31:37 +01:00
Alejandro Catalina Feliú fb99f3ff19 Add global access to all available REPLs
Enable a global binding to access a list of available REPLs to run
everywhere. If the requested REPL depends on a major-mode that hasn't
been loaded, it will be loaded along its dependencies.

To make this work, a new `spacemacs/register-repl` function is included.
This function adds a major-mode and its repl function to a global
variable.
2016-01-22 16:01:19 +01:00
Eivind Fonn 82cb1fe780 Enhance spacemacs|diminish
- Overwrite instead of push to front (fix #4679)
- Allow unicode to be nil (fully diminish)
2016-01-21 16:10:24 +01:00
james sangho nah 23525a3d1d Remove non-directories from rollback slot list
Addressing #4586. The bug stops Spacemacs from listing rollback slots if
there exists a file (i.e. non-directory) in the rollback directory.
e.g. .emacs.d/.cache/.rollback/.DS_Store (common in OS X)
2016-01-21 15:55:32 +01:00
syl20bnr 1a5229048c core: new keyword :skip-install 2016-01-17 23:27:30 -05:00
Fredrik Bergroth 061805c7ea Add prev/next file navigation to unimpaired layer 2016-01-17 22:48:12 -05:00
syl20bnr 33ead6fc42 Deprecation of extensions and <pkg>-excluded-packages variables
As announced in previous releases, see CHANGELOG.next for more info
in the Breaking Changes section.
2016-01-17 22:06:04 -05:00
syl20bnr 321d2f028a core: add configuration-layer/remove-layer(s) 2016-01-13 00:06:38 -05:00
syl20bnr 3d63dd4392 core: fix red mode-line when an error occurred
Rename function configuration-layer//set-error to
configuration-layer//increment-error-count
2016-01-12 00:08:36 -05:00
Fabien Dubosson 78b8d939f4 Add spacemacs/describe-last-keys 2016-01-11 22:01:01 -05:00
Fabien Dubosson dbf6a9de7e Improve describe-system-info output 2016-01-11 22:01:01 -05:00
syl20bnr 046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
Chris Barrett 6d7d399cfe Update packages.el template
- Remove extensions template
- Prompt before creating readme (Users creating private layers probably
  don't want to create a readme)
- Template out layer author and email address
- Rename LAYERNAME to LAYER_NAME for readability
- Use fallback attributes if user-full-name is unset
- Fix inconsistent Spacemacs capitalization in template
2016-01-11 19:06:43 -05:00
syl20bnr 8ca9f7a5e5 core: sort alphabetically the list of packages to be updated 2016-01-11 10:59:52 -05:00
person808 59319f9e8b Fix typo in dotfile template. 2016-01-11 02:08:51 -05:00
Eivind Fonn d8833215b0 Make scratch buffer major mode configurable 2016-01-11 01:13:10 -05:00
syl20bnr 6d1df2845f core: remove evil variable aliases and change default to nil
People transitioning from Vim could be surprised if we set these
variable to t by default, so setting them to nil respects better
the POLA principle.

Impacted variables:
dotspacemacs-ex-substitute-global
dotspacemacs-remap-Y-to-y$
2016-01-11 01:13:10 -05:00
Fredrik Bergroth 71aa5f6616 Add dotspacemacs-ex-substitute-global setting
If non-nil, this setting inverts the behavior of the 'g' flag in

    :s/pattern/replacement/g
2016-01-11 01:13:10 -05:00
justbur f3ef9cd206 spacemacs-buffer: Add back q binding
It seems to have been lost with the switch to fundamental-mode
2016-01-11 01:13:09 -05:00
syl20bnr d610a13d60 core: display the list of packages to update 2016-01-11 01:13:09 -05:00
syl20bnr 53d55d3da6 core: offer completion framwork choice in wizard 2016-01-09 14:19:01 -05:00
justbur 900ae8a06d core/config-layer: Conditionally use ivy in create-layer 2016-01-09 13:36:03 -05:00
justbur bf40dc3b70 ivy: Guard helm-mode call in spacemacs-buffer 2016-01-09 13:36:03 -05:00
justbur 1f01c5dc7b spacemacs-buffer: Use ivy-spacemacs-help when avail. 2016-01-09 13:36:03 -05:00
justbur 32f523e062 spacemacs-helm: New layer
Collect helm configuration from spacemacs and spacemacs-base into one
place. The purpose is to allow choice between this layer and
spacemacs-ivy.
2016-01-09 13:36:03 -05:00
Fabien Dubosson 72a89ab312 Use jump-forward C-i binding only in GUI mode
Background: `C-i` and `TAB` are the same keycode for historic reasons.

With the current settings, evil [1] and evil-jumper [2] associate
`jump-forward` to `C-i` (==`TAB`), what overrides bindings set to
`TAB` (==`C-i`) in terminal mode, like `orc-cycle`. To fix this,
this commit:

- Set `evil-want-C-i-jump` to `nil`, to prevent `evil` and `evil-jumper`
  to use the `C-i` (==`TAB`) keycode.

- Remove the spacemacs' code that bind `jump-forward` to `TAB`(==`C-i`)

The current spacemacs code already rebind `jump-forward` to the GUI-only
`<C-i>` keycode.

[1] 082bd65ccc/evil-maps.el?fileviewer=file-view-default#evil-maps.el-323
[2] efaa841ca4/evil-jumper.el (L241)

Fix #4505
Fix #4487
2016-01-09 18:43:48 +01:00
syl20bnr 4a51254f05 core: backward compatibility with dotspacemacs-command-key 2016-01-09 02:23:04 -05:00
syl20bnr 58e5241c8d dotfile: rename dotspacemacs-command-key for dotspacemacs-emacs-command-key
And change the key from ":" to "SPC"
This key does not try to bind evil ex-command anymore, it only bind
M-x behind the leader key.
2016-01-09 01:53:24 -05:00
syl20bnr 6fc995e196 core: derive spacemacs-mode from fundamental-mode
special-mode does nothing ... special but bring unwanted mapped keys.
2016-01-08 23:34:34 -05:00
justbur f52eb86b69 spacemacs-buffer: Make map overriding for evil
Prevents keys in this map from being shadowed by evil-motion-state-map

Fix #4471
2016-01-08 23:11:44 -05:00
justbur 1c94c84c09 bind-map: Add evilified state to evil major-mode keys
Fixes problem referred to in #4495
2016-01-08 20:52:53 +01:00
syl20bnr 609b79fd6c core: move handling of --insecure to core-command-line.el 2016-01-06 23:27:09 -05:00
syl20bnr 26e3a71a2c core: fix always set flag debug-on-error 2016-01-06 23:23:01 -05:00
syl20bnr 19f9a4da6f core: remove unnecessary spacemacs//hide-home-buffer 2016-01-06 23:19:55 -05:00
justbur f39033afdb startup: Fix for #4057
Please check this, but this does the trick for me to fix #4057. The
reason I'm not sure about it is I don't know what the purpose of the
do-after-display-system-init code is. It doesn't seem necessary for me,
and I'm testing this on the GUI version.
2016-01-06 23:19:12 -05:00
syl20bnr 15c7ae5bdf core: hide home buffer if a file is passed on the command line
Note that any non Emacsy command line parameter and non processed
command line parameter (that is unknown from Spacemacs) will hide the
home buffer. This should be good enough.

Fixes #4057
2016-01-06 23:03:23 -05:00
syl20bnr 76d8ff8621 core: allow debug arguments without --debug-init
Add a new core file for processing command line arguments
2016-01-06 22:50:13 -05:00
syl20bnr 1558ca3b09 Fix spacemacs-buffer/goto-buffer being called twice in some cases
When using the GUI the function is called twice, once in spacemacs/init
and once with spacemacs--after-display-system-init-list
2016-01-06 22:14:17 -05:00
syl20bnr 723a7921d7 core: update home buffer links to point to spacemacs.org 2016-01-06 01:21:06 -05:00
Michael Simpson be0722764f Fix typo in .spacemacs.template comment 2016-01-05 00:41:09 -05:00
syl20bnr 63fbdb4e01 core: change dotspacemacs-whitespace-cleanup default value to nil
And update documentation

Fixes #4386
2016-01-05 00:37:19 -05:00
syl20bnr 1fc798139b nyancat: Add support for emacs --daemon and GUI client 2016-01-04 23:48:55 -05:00
syl20bnr 18b1b4b411 Explicitly recreate the home buffer for first GUI client 2016-01-04 23:39:35 -05:00
syl20bnr c913ec89f8 Improve support for GUI client of emacs --daemon
Fix spacemacs|do-after-display-system-init
Delay setup of spaceline separator
Explicitly reload the theme for the first GUI client
2016-01-04 23:18:45 -05:00
syl20bnr fa39bb1128 Fix spacemacs|do-after-display-system-init
Checking for system-type is not enough accurate, it broke when using
an X server under OS X because system-type is darwin but the
initialized display is x-initialized not ns-initialized.
2016-01-04 01:12:17 -05:00
Travis B. Hartwell eea3df4877 Properly initialize the display for daemon mode.
Add macro to wrap things that depend on the display being
initialized (and a frame active), such as getting the font.  Advise the
`server-create-window-system-frame` function which is called by
emacsclient when creating a window-system frame.  This is only run the
first time a frame is created, so the advice removes itself.

Fixes: syl20bnr/spacemacs#299 and syl20bnr/spacemacs#1894
(Among others)
2016-01-04 01:06:05 -05:00