2e92f8d8a8
Keep backup of errant autoloads files
2018-06-19 16:42:10 +02:00
2c1b0ccaf8
Fix doom|run-all-startup-hooks
...
Wasn't using doom-try-run-hook correctly.
2018-06-19 12:01:51 +02:00
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
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
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
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
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
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
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
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
4e5c8b6052
Improve autoload generator
...
Adds support for defalias and arbitrary forms.
2018-06-18 01:55:37 +02:00
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
26caea7f2b
Move doom-docs-dir to core.el
2018-06-17 21:39:40 +02:00
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
faf09288ce
Major refactor of core-dispatcher
2018-06-17 21:38:30 +02:00
03022d09f9
Remove doom//x naming convention
...
This naming convention was meant to be for batch commands, but it grew
to include "commands that were helpful with managing Doom", but many of
these commands shouldn't be interactive in the first place!
2018-06-17 21:35:58 +02:00
36992037d1
Update package dir mtimes for stale checks
...
This helps doom//reload-package-autoloads detect if packages have
changed.
2018-06-17 14:45:07 +02:00
3188d67d6e
Hide modeline in Man-mode
2018-06-17 14:22:29 +02:00
f3aadf6c77
Fix doom-temp-buffer-p & doom-real-buffer-p
...
A regression caused the former to error out (if the buffer name was less
than 2 characters long) and the latter to return t too eagerly (because
of an incorrect condition chain).
2018-06-17 02:30:02 +02:00
913394bfe7
Be quiet, recentf!
2018-06-17 02:25:12 +02:00
c1b8d6f508
More configuration for smartparens
...
Fewer overlay highlights and show-pair-from-inside, in case we use that
feature later.
2018-06-17 02:21:46 +02:00
194bcf4c60
Silence byte-compiler warning: unused lexical arg
2018-06-17 02:21:46 +02:00
b880175d79
Remove switch-frame hooks
...
They are too unreliable. Use after-focus-change-function if you
must (though, that's an latest-Emacs-27-only feature atm).
2018-06-16 21:40:46 +02:00
ec6372ef66
Mark all temp buffers as unreal
...
Hopefully there are no plugins that use temp buffers to display things!
2018-06-16 21:02:54 +02:00
bf44c1abcc
Add doom-temp-buffer-p predicate function
2018-06-16 21:02:40 +02:00
b170119d4b
Add smartparens to evil-ex; disable quote autopair
...
Don't autopair ' in eval-expression or evil-ex (doesn't make sense)
2018-06-16 12:40:57 +02:00
44363cae40
General, minor refactor & revision
...
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
3f2318bc69
Fix wrong-type-argument errors on backspace
...
Caused when pressed at the beginning or end of a buffer.
2018-06-16 11:50:55 +02:00
9a2f96c0f1
Lazy load projectile (experimental)
...
I can feel it; the power coursing through my veins. Every millisecond
saved at startup makes me more powerful. This world will be mine. Mine I
tell you!
2018-06-16 11:42:37 +02:00
c81304d18b
Enable smartparens in eval-expression
...
This is experimental, so we can have delimiter/quote autopairing while
we write lisp into eval-expression.
2018-06-16 11:42:01 +02:00
b656e68bc3
Move startup optimization to early-init
...
Also load early-init from init if early-init-file isn't bound. This
improves startup a modest 3-5% for Emacs 27 users.
2018-06-16 11:38:19 +02:00
126b7b6383
Refactor associate! with cl-defmacro
2018-06-16 11:34:42 +02:00
5501b949ef
Refactor def-project-mode! with cl-defmacro
2018-06-16 11:34:19 +02:00
02d532a09a
Set ibuffer-use-other-window in ui/popup/+hacks.el
...
It was originally set to accommodate the popup system.
2018-06-16 10:22:59 +02:00
33839f54e9
Minor refactor doom|init-fonts
...
Take advantage of custom-set-faces taking variadic arguments to group
all font-initializing forms in one form.
2018-06-16 00:40:37 +02:00
a1278f3dff
Refactor def-package!
...
Rely on use-package mechanisms. def-package! should be as thin a wrapper
as possible. Ideally, we should simply be an alias, but there is no way
to inject :disabled into a use-package declaration, because it is
treated especially.
2018-06-16 00:36:27 +02:00
2047a52fcd
Refactor add-transient-hook!
...
Use gensym instead of counter (and unintern the function symbol after
it's been used).
2018-06-15 23:54:07 +02:00
8e6519ef1a
Fix & refactor after!'s :when keyword support
...
It no longer tries to load keywords (like :when and :any) as packages,
and won't treat :when's arguments as a require target.
2018-06-15 23:53:58 +02:00
c0e271ef5a
Fix "Invalid read syntax: '#'" errors
...
Caused when Emacs reads back the unserialized font-specs it saved in
.local/custom.el. So we store them in xlfd format instead.
2018-06-15 22:44:20 +02:00
1db3830bf3
Defer server startup
...
MY PRECIOUS MILLISECONDS OF STARTUP TIME
2018-06-15 21:44:44 +02:00
7773a312aa
Update tests for doom/what-face
2018-06-15 21:31:13 +02:00
4d5a247d53
With C-u, doom/what-face doesn't fontify results
...
In case you get a face that's too hard to see.
2018-06-15 18:50:45 +02:00
60e7b78739
Minor refactor of doom/describe-active-minor-mode
2018-06-15 18:32:53 +02:00
8b739fb3b0
Set doom-file property less eagerly
...
Reduces the size of the autoloads file by 6-10% by only setting
doom-file property on raw forms or no-op macros.
2018-06-15 17:35:20 +02:00
f81a0e6f41
Remove redundant def-setting! docstrings
...
def-setting! will now grab the autodef's docstring if it has an
:obsolete property defined.
2018-06-15 16:54:39 +02:00
11b5a7116f
Allow map!'s :prefix to accept key vectors
2018-06-15 16:20:20 +02:00
98632fe086
Fix doom-module-from-path on module directories
...
Allow PATH to be an exact path to a module.
2018-06-15 16:20:20 +02:00
58601488d9
describe-module: shows all modules, dim disabled
...
Shows all modules, whether or not they are enabled and dims disabled
modules.
2018-06-15 16:20:20 +02:00
a500bfb0a0
Rewrite+rename describe-settings->describe-setters
...
Will now list autodefs instead of def-settings, including an origin
module label to tell you where it comes from at a glance.
2018-06-15 16:20:20 +02:00
1184967531
Advise symbol-file to return doom-file property
...
...if it exists. Otherwise fall back on original functionality. This
allows certain symbols to overwrite where Emacs thinks they were
defined.
Warning: only use this for autodefs! It may have unintended side-effects
for other symbols.
2018-06-15 16:20:20 +02:00