Commit graph

847 commits

Author SHA1 Message Date
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 (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
syl20bnr
400158b6ad Add release notes for 0.105 2016-01-04 01:03:38 -05:00
syl20bnr
089462282e Revamp quick help text in home buffer 2016-01-03 23:02:22 -05:00
syl20bnr
b426098f2e Use b instead of a in home buffer for bookmarks
Even if it shadows `b` in motion state, I never used it and I doubt
that it is really useful, and there is still `B` available.
2016-01-03 23:00:50 -05:00
syl20bnr
96a648d1da Update deprecation TODO to 0.106 2016-01-03 22:46:01 -05:00
Fabien Dubosson
6cb7399cac Change SPC f e h to SPC h SPC for helm-spacemacs default binding
This make `SPC h SPC` as default binding for accessing `helm-spacemacs`,
by either A) changing all the documentation; and B) adding a deprecation
message for `SPC f e h`.

The deprecation use a warning, because if a message is used it's hidden
directly when the helm buffer is shown, making it nearly unnoticeable
for the user.
2016-01-03 22:23:12 -05:00
justbur
1c91bed4f6 core-debug: Add --adv-timers
More advanced timing of functions and loading with
--debug-init --adv-timers [N]. The last arg is optional and specifies
the threshold time for placing entries in the *load-timers* buffer.
2016-01-03 22:23:12 -05:00
Josuah Demangeon
b49ea78cb7 Added two banners. 2016-01-03 22:23:11 -05:00
Kechao CAI
0ff8c2df48 Change shortcut of bookmarks in *spacemacs* buffer
In *spacemacs* buffer, the quick help in `[?]` shows that `m` jumps to
the menu. However, if one customizes the startup lists by setting
`dotspacemacs-startup-lists '(recents bookmarks projects)`, the shortcut
`m` of jumping to the menu would be shadowed and `m` jumps to Bookmarks.

With the help of travisbhartwell and TheBB, I changed the shortcut of
jumping to the Bookmarks to `a` to avoid this shortcut conflict.
2016-01-03 14:59:18 +01:00
syl20bnr
9e2b18e29a core: replace -non-nil calls by delq
So spacemacs core still not depend on dash
2015-12-21 01:30:48 -05:00
syl20bnr
00c420211c core: fix configuration-layer--refresh-package-timeout
Set it again to dotspacemacs-elpa-timeout in
configuration-layer/initialize
2015-12-21 00:56:04 -05:00
Eivind Fonn
2710c14153 core: load order fix
core-configuration-layer must be loaded before calls to
dotspacemacs|call-func, which may invoke configuration-layer//set-error
2015-12-21 00:45:17 -05:00
justbur
1c61e35e93 core: Add recompile-elpa function
This is easier than "nuking elpa" when changing versions of Emacs since
we don't need to fetch the packages again, only recompile them.
2015-12-21 00:43:02 -05:00
justbur
46f36dc74d core: Declare macro before it's called 2015-12-21 00:42:52 -05:00
justbur
ddf9d3f647 core: Add missing require
Mostly for compiler, but also makes the dependencies clearer
2015-12-21 00:42:38 -05:00
justbur
a713e8d71e core: Fix free variable references
Most are innocuous. One is update-packages-alist in config layer. Define
the variable and give it a docstring with an explanation of its purpose.
2015-12-21 00:25:41 -05:00
justbur
39760a1cfe core: Update to preferred versions of functions
1. Don't use beginning-of-buffer (or end):
   These are for interactive use only according to compiler

2. reduce => cl-reduce

3. next-line => forward-line
   next-line is only for interactive use

4. set-default-font => set-frame-font
   set-default-font is obsolete since 23.1

5. show-subtree => outline-show-subtree (alias)

6. show-all => outline-show-all (alias)
2015-12-21 00:25:41 -05:00
justbur
bcdf346cb9 Fix for #4204: Don't bind if emacs leader is ""
When we try to bind leader + "m" and leader is the empty string, we end
up binding to "m" directly which makes "m" all but unusable.
2015-12-21 00:23:05 -05:00
justbur
0b02475772 Use built-in evil functions to set default states
evil-set-initial-state is safer than manually adding and deleting from
the lists, because it knows about all available states and ensures that
the mode only shows up in one list. If it is in multiple list the
initial state depends on which is checked first, which we don't want.
2015-12-21 00:22:18 -05:00
syl20bnr
a5022743e5 core: remove dash and f from boostrap and attempt to remove evil
Cannot remove evil due to bind-map requiring it.
2015-12-20 23:00:09 -05:00
syl20bnr
45799a0d27 core: remove GUI elements at the beginning 2015-12-13 15:41:24 -05:00
syl20bnr
103b864f0e core: delay creation of spacemacs buffer
Create it after the installation of the theme.
Add a redisplay when the buffer is created.
2015-12-13 15:41:24 -05:00
justbur
6649b6ab1c Don't always start spacemacs buffer in motion state
When editing style is emacs.
Fix #4152
2015-12-12 23:00:55 -05:00
syl20bnr
fc72c37aaf core: fix page-break on home buffer 2015-12-11 03:08:23 -05:00
syl20bnr
4a6fd1b364 core: hide mode-line at startup 2015-12-11 03:07:15 -05:00
syl20bnr
b55381f0e3 core: move buffer creation after GUI elements removal 2015-12-11 02:27:52 -05:00
justbur
052d95541d core: Improve spacemacs-buffer/goto-link-line 2015-12-11 02:25:22 -05:00
justbur
812ba329f2 core: move spacemacs-mode to core-spacemacs-buffer.el
The rationale is to keep the spacemacs buffer related code contained in
the core-spacemacs-buffer.el file.
2015-12-11 02:25:22 -05:00
justbur
f2878d594a core: Factor out spacemacs-buffer creation
Factor out the code related to creating the spacemacs buffer, so that it
can be recreated easily if it gets deleted.
2015-12-11 02:25:19 -05:00
syl20bnr
4be87ef4cb core: rename dotspacemacs-version-check-enable
to dotspacemacs-check-for-update
2015-12-11 01:47:34 -05:00
Eldon Nelson
2b4f259389 Add dotspacemacs variable to skip check for update 2015-12-11 01:40:19 -05:00
Fabien Dubosson
315528c89f Refactor CONTRIBUTING documentations
This commit merge the `CONTRIBUTING.md` and `doc/CONTRIBUTE.org` file
into a new `CONTRIBUTING.org` file. It also refactors the content to be
more organized and make its navigation more goal-oriented.

Github displays a link to the `CONTRIBUTING.*` file when people are
opening new issues or proposing new PRs. This file is important because
it is the entry-point to contributions guidelines for most of the users.
The current setup is non-optimal, even broken, as it adds a level of
indirection, and points to a contributing file that has broken
links (due to the new documentation format). The possible drawback of
the proposed solution is that I'm not sure if it is possible to include
it into the new online documentation as it is not in `doc/` folder.

The other possibility is to keep a small `CONTRIBUTING.md` file, as it
is now, pointing to the new documentation system (once online), but I'm
preferring the proposed solution for the following reasons:

- People that are willing to contribute will probably open Github
  first (for forking, creating PR, etc), not the online documentation.

- It has one level of indirection less when people click on the
  guidelines guide from a new issue/PR.

- `CONTRIBUTING.*` is by convention a special kind of file on github, so
  it's valid reason to break the rule and not having it in the `doc/`
  folder.
2015-12-11 01:09:09 -05:00
Eivind Fonn
ddd5e7112d Fix rollback language 2015-12-09 10:55:32 +01:00
person808
e91002e0c3 Show quickhelp if no dotfile is found. 2015-12-09 01:16:20 -05:00
syl20bnr
741bd0375f core: remove request.el dependency 2015-12-07 23:31:30 -05:00
syl20bnr
4a5ec73edf core: add --insecure command line parameter
Will set dotspacemacs-elpa-https to nil. Useful to be able to install
spacemacs in an environment where https is an issue.
2015-12-07 23:10:44 -05:00
syl20bnr
df353eda54 core: remove duplicated require of core-configuration-layer 2015-12-07 23:02:24 -05:00
Yiming Chen
c7840dc183 Remove trailing spaces in doge banner 2015-12-07 19:38:05 +01:00
syl20bnr
26ecdee0e3 New dotspacemacs variable dotspacemacs-elpa-timeout
Increase timeout from 3 seconds to 5 seconds.
2015-12-06 02:22:49 -05:00
justbur
394fec28e0 keys: Fix an issue with C-i/tab distinction
Before this <tab> => TAB if there is no binding for <tab>, but then
`spacemacs/translate-C-i` turned this into <C-i>, which we don't want
because that would mean having to always bind <tab> when this option is
enabled. This commit adds a check to make sure we can't possibly be
translating from <tab> originally (we only want to capture the C-i
events in the GUI).

Also, fixes C-m translation but leaves it commented.
2015-12-05 13:17:59 -05:00
syl20bnr
855d8f8f44 core: update docsting in dotfile template 2015-12-04 00:28:36 -05:00
justbur
246ebc1a27 core-keys: Enable distinction between C-i and TAB
Added dotfile variable to template and core-dotspacemacs.el

After enabling, if C-i is translated to the "key" <C-i> which allows you
to bind a separate command in the GUI like this

(define-key map [C-i] 'c-i-command)

or this

(define-key map (kbd "<C-i>") 'c-i-command)

This has the side effect of no longer making C-i default to TAB in the
GUI, but will not affect the TAB or <tab> bindings.

Removes spacemacs//handle-terminal-keys
2015-12-04 00:23:10 -05:00
Eivind Fonn
c893383fe4 Fix some documentation bugs
- CSS links
- GIFS in published version
- Unify layer doc titles
- Change emoji layer emojis to an image
2015-12-03 23:50:29 -05:00
syl20bnr
61707e593d core: improve installation speed of themes and bootstrap packages
package-refresh-packages was called every time a bootstrap package or
a theme was installed

Use configuration-layer/retrieve-package-archives to install bootstrap
packages and themes
Add a reentrance boolean to configuration-layer/retrieve-package-archives
Add force and quiet optional arguments to configuration-layer/retrieve-package-archives
Force refresh of archive when the user requests an update of packages
2015-12-02 23:53:02 -05:00
syl20bnr
d822241739 core: use request.el to check elpa archive availability
Add request.el to core/libs
Refactor package.el initialization in configuration-layer.el
Cosmetic improvements to loading messages
Remove redefinition of package-refresh-packages
2015-12-02 23:25:00 -05:00
syl20bnr
7be61762ed core: add guards around package-refresh-contents redefinition
Authorize Spacemacs to redefine the function only for tested versions.
2015-12-01 09:48:18 -05:00
justbur
f25d9cc8f9 keys: Allow minor mode leader bindings 2015-12-01 01:29:56 -05:00
syl20bnr
fcb596986f core: add comment 2015-12-01 01:21:03 -05:00
justbur
63ff1926e5 themes: Silence free variable warning
Without this a popup is raised every time emacs25 starts up for
assignment to a free variable
2015-12-01 01:20:18 -05:00
syl20bnr
539f066e9d core: remove debug message 2015-12-01 00:30:59 -05:00
syl20bnr
4d87ea626d core: add a basic timeout of 5s to fetch elpa archive
New file core-emacs-ext.el
This is a basic monkey-patch solution but it will do the job for now.
The timeout amount is not configurable for now.

Tested on 24.5 and 24.3.1

fixes #3284
2015-11-30 00:49:12 -05:00
syl20bnr
a19c0f3d24 core: remove spacemacs/set-key funcs and add a new pre-command-hook
This pre-command-hook translates the special key to the corresponding
emacs function key. This effects only happens in terminal, this hook is
a no-op in GUI.

By doing this we attempt to bring more consistency between the GUI
and the terminal regarding TAB and RET keys.
2015-11-28 23:11:48 -05:00
syl20bnr
d5233a9706 core: new spacemacs function to set keys
spacemacs/set-key
spacemacs/set-key-for-state

These functions find normalized keys which should handle as sanely as
possible the GUI and the terminal.

See docstring of spacemacs//normalize-key for more info.
2015-11-28 00:13:31 -05:00
Fabien Dubosson
028c53fbd7 Create the layer README on create-layer
When using `configuration-layer/create-layer`, the `README.org` file is
not created from the template. This change corrects this.

Close #3259
2015-11-24 23:20:45 +01:00
Eivind Fonn
2918ca2b56 Clean up org loading check 2015-11-23 20:15:09 +01:00
Tony Day
3f72bec69a Added check to catch when org has already been loaded. 2015-11-23 20:11:31 +01:00
Travis B. Hartwell
1ed7658f0f Generate necessary HTML for the Spacemacs docs.
Since there is not an easy way to hook into the title or table of
contents generation, use advising functions to post-process the output
of `org-html-toc' and `org-html-template' to insert the desired content.
Would like a cleaner way of doing this.
2015-11-23 13:44:32 +01:00
Eivind Fonn
32f11b8aa3 Indent spacemacs/set-leader-keys as defun 2015-11-21 18:32:53 +01:00
justbur
e1e850f179 core: Assume all which-key funcs available now 2015-11-21 18:22:51 +01:00
justbur
ee6a486d4c core: Add new set-key functions to core-keybindings
Set up to use bind-map instead of evil-leader for leader key
functionality.

Alias evil-leader funcs and remove package
2015-11-21 18:18:01 +01:00