Commit graph

6491 commits

Author SHA1 Message Date
Henrik Lissner
adf9b7d26f
Log & error-handle in :after-call hooks
A load error no longer leaves Emacs in a broken state, but will report
errors. These errors can still be investigated with debug-on-error on.
2018-06-19 20:54:09 +02:00
Henrik Lissner
e069139b1c
Prevent kill-emacs-hook running after byte-compile
Prevents harmless errors after byte-compiling, or recentf needlessly
saving its cache to file.
2018-06-19 20:51:14 +02:00
Henrik Lissner
7a98919597
Fix quoting in babel popup rules
Reported by @fuxialexander
2018-06-19 20:50:16 +02:00
Henrik Lissner
f3b42a73b3
Silence early-init.el load at startup 2018-06-19 19:18:27 +02:00
Henrik Lissner
205cc718d2
Fix dashboard not appearing in daemon frames
Because they start in the *server* buffer, instead of the *scratch*
buffer.
2018-06-19 17:44:24 +02:00
Henrik Lissner
0fefc43d39
Refactor autoloads init & error handling
Also reduces byte-compiled forms in the backtrace of a
doom-autoload-error.
2018-06-19 17:19:11 +02:00
Henrik Lissner
279ee3cc8c
Fix stringp regression during autoloads generation
Mentioned in #701
2018-06-19 17:16:08 +02:00
Henrik Lissner
c9014487b1
Restore workspaces on --restore later
doom-post-init-hook isn't late enough.
2018-06-19 16:43:51 +02:00
Henrik Lissner
af350aa09e
feature/workspaces: disable magit persisting
Too buggy!
2018-06-19 16:43:28 +02:00
Henrik Lissner
3b528302b2
Minor refactor of core-dispatcher 2018-06-19 16:43:08 +02:00
Henrik Lissner
2e92f8d8a8
Keep backup of errant autoloads files 2018-06-19 16:42:10 +02:00
Henrik Lissner
d6706734a2
SPC q r -> restart & restore emacs
And SQP q R -> restart emacs (but don't restore)
2018-06-19 15:25:30 +02:00
Henrik Lissner
95b227f9fe
Fix docstring references to old settings 2018-06-19 15:01:25 +02:00
Henrik Lissner
d5adf4ccbc
Minor refactor of feature/workspaces
Improve error handling and update docstrings+comments
2018-06-19 15:00:15 +02:00
Henrik Lissner
d979c46ea2
Make +workspaces-load-session replace current
It should not merge with the current session.
2018-06-19 14:53:45 +02:00
Henrik Lissner
8cb36afa21
Switch to last workspace after persp-load
A little more intuitive than just switching to main workspace.
2018-06-19 14:52:33 +02:00
Henrik Lissner
5f04be599f
feature/workspaces: persist indirect buffers 2018-06-19 14:50:27 +02:00
Henrik Lissner
e703d3ec8a
Fix default workspace tab faces
The inherited faces were double-quoted
2018-06-19 14:18:31 +02:00
Henrik Lissner
ba1488279b
Fix evil-escape aborting multiedit too eagerly
When evil-escape is invoked from multiedit-insert state, it erroneously
quits the current multiedit session entirely. No more.

This can be removed when syl20bnr/evil-escape#83 is merged.
2018-06-19 14:14:32 +02:00
Henrik Lissner
746d90c330
make-variable-buffer-local -> make-local-variable
It is more correct to use the latter.
2018-06-19 13:49:18 +02:00
Henrik Lissner
fa36014559
Allow set-yas-minor-mode! to accept multiple modes 2018-06-19 13:49:18 +02:00
Henrik Lissner
8f76ee9a8a
Refactor feature/snippets
+ Don't clear yas-minor-mode-map; the default keybinds can be useful,
  esp to non-evil users.
+ Moved +snippets|enable-project-modes hook to autoloads file.
+ Reformat yasnippet config.
2018-06-19 13:49:15 +02:00
Henrik Lissner
ae6c3cacf2
Merge pull request #699 from Emiller88/feature/solidity-template
Add Solidity Template
2018-06-19 13:49:05 +02:00
Henrik Lissner
0501ea9c2c
Fix auth-source-pass & password-store autoloads
They were marked as macros, but aren't macros!

This may fix #696
2018-06-19 12:01:52 +02:00
Henrik Lissner
ccce20b581
set-evil-initial-state!: fix wrong-type-arguments
Caused when set-evil-initial-state! was used with a single mode (which
is 99% of the time!).

Indirectly fixes #696
2018-06-19 12:01:52 +02:00
Henrik Lissner
16b341e605
Move aya-persist-snippets-dir to doom-etc-dir 2018-06-19 12:01:51 +02:00
Henrik Lissner
2c1b0ccaf8
Fix doom|run-all-startup-hooks
Wasn't using doom-try-run-hook correctly.
2018-06-19 12:01:51 +02:00
Edmund Miller
5ec74fdffb Add Solidity Template
Add Trigger and basic file template
2018-06-18 20:29:37 -05:00
Henrik Lissner
f471ef3fff
Merge pull request #694 from MaskRay/tmux
tmux: string-split -> split-string
2018-06-18 23:50:56 +02:00
Henrik Lissner
615735a404
Add exato (x/html attribute text objects for evil)
Bound to x
2018-06-18 23:46:14 +02:00
Henrik Lissner
7f79eb4579
Major redesign of emacs/eshell
+ :sh can now be fed commands to run immediately, e.g. :sh cd %:P to
  start from the current project root.
+ Eshell will spawn a new eshell on every split. This can be controlled
  via `+eshell-enable-new-shell-on-split'
+ Eshell can be configured to kill the window when you kill the eshell
  process. This is disabled by default. See
  `+eshell-kill-window-on-exit'. Some commands ignore this, like the
  quit-and-close command (I alias this to "q").
+ eshell-directory-name has been moved to doom-etc-dir/eshell. It will
  seem like eshell has forgotten all your history, but you can move
  ~/.eshell (or ~/.doom.d/eshell) to ~/.emacs.d/.local/etc/eshell and
  you'll be fine.
+ eshell-aliases-file has been moved to ~/.doom.d/eshell_aliases by
  default.
+ Automatic writing to eshell-aliases-file has been disabled. No shell
  so aggressively persists aliases. You may maintain it yourself, or use
  the new +eshell-aliases variable to customize eshell from Doom.
+ C-s now invokes a history search with ivy/helm.
+ C-c s and C-c v split horizontally and vertically. Inspired by tmux.
+ C-c x kill the current eshell and its window. Inspired by tmux.j
+ New set-eshell-alias! autodef for defining your own aliases.
+ +eshell/open-workspace has been replaced with +eshell/open-fullscreen.
+ Added the "cd-to-project" command. I suggest you alias it.
2018-06-18 22:31:27 +02:00
Henrik Lissner
15921306ce
Optimize :tools rotate-text
No need for its config.el file!
2018-06-18 17:32:44 +02:00
Henrik Lissner
f653e20407
Fix disabled autodefs defined with cl-lib
Stubs are defined as ordinary macros (with defmacro), but if an autodef
is defined with cl-defun, defmacro can't handle the clisp-style argument
lists, causing wrong-number-of-arguments errors.
2018-06-18 17:30:33 +02:00
Henrik Lissner
4685eddb66
Don't eat stacks in backtraces in debug mode
The error handlers were a little too effective. They obscured a large
chunk of the stacktrace after errors, even in debug mode. This fixes
that and ensures backtraces in debug mode are more helpful.
2018-06-18 17:14:17 +02:00
Henrik Lissner
ca2c8b5a45
Minor refactor, across the board
Do you see the board? Now look at the other side. That's how far this
refactor extends.

Yes.
2018-06-18 15:02:24 +02:00
Henrik Lissner
f6c7c13634
Clean up elcs only if compiling core or everything
Sometimes we only want to compile one module, without getting rid of all
our other compiled files.
2018-06-18 14:56:24 +02:00
Henrik Lissner
32954ecb69
Move compile-time fix for disabled packages
This fix prevented the byte-compiler from trying to load packages that
were disabled or failed their :when/:unless/:if predicates. This commit
moves it into doom-byte-compile, so the :no-require predicate doesn't
have to run on every package in an interactive session, eating MY
PRECIOUS cpu cycles.

I do love my cpu cycles, yessiree.
2018-06-18 14:52:24 +02:00
Henrik Lissner
ab07e07352
Improve general error handling at startup
This will hopefully reveal more information as to the cause and origin
of errors at startup. It should also make doom-debug-mode more likely to
produce a backtrace in non-interactive sessions.
2018-06-18 14:47:36 +02:00
Henrik Lissner
c8aba6f552
Open eshell in project root by default
If passed the universal arg (SPC u SPC o e) or (C-u M-x +eshell/open),
it will open in the current directory.
2018-06-18 14:42:42 +02:00
Henrik Lissner
08f01edafd
Mark settings obsolete (properly)
And make set! noisy about settings that don't exist anymore, when
evaling it interactively.
2018-06-18 13:38:27 +02:00
Henrik Lissner
0d925cda5e
Load core-os sooner & in all sessions
Indirectly fixes set-env! errors when using it from your init files.
2018-06-18 12:04:30 +02:00
Henrik Lissner
1c4f785df1
Bind C-s to *-minibuffer-history in evil-ex
Thanks to #fuxialexander
2018-06-18 11:29:08 +02:00
Fangrui Song
51f2ea2932 tmux: string-split -> split-string 2018-06-17 18:57:02 -07:00
Henrik Lissner
6808c46b58
💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

The old usage of set-popup-rule! is deprecated and may not work right!

The :ui popup module has also seen a major refactor to improve
efficiency and load times.

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
Henrik Lissner
4e5c8b6052
Improve autoload generator
Adds support for defalias and arbitrary forms.
2018-06-18 01:55:37 +02:00
Henrik Lissner
3ac7ec5120
Bind C-s to minibuffer-history search in helm/ivy 2018-06-17 22:21:32 +02:00
Henrik Lissner
68903ae398
Set exec-path-from-shell-debug instead of aliasing
Also fixes the defvaralias error that occurs on the latest Emacs (but
only on MacOS).
2018-06-17 21:41:44 +02:00
Henrik Lissner
97b42c449b
Allow set-company-backend! to unset backends
Passing nil as its second argument will unset previously set backends.
2018-06-17 21:40:32 +02:00
Henrik Lissner
26caea7f2b
Move doom-docs-dir to core.el 2018-06-17 21:39:40 +02:00
Henrik Lissner
0a20159eee
Check doom-packages-dir mtime
Now that package management commands update its mtime manually, this is
the most reliable method of detecting package changes.
2018-06-17 21:38:53 +02:00