b2dfc4b8e8
Delete plugin *.elc before recompiling plugins
2018-06-03 01:38:35 +02:00
1a1d74afa3
Refactor package management API
...
To make backtraces a little less cluttered, in case of the notorious
arrayp error, which I am yet unable to reproduce or understand.
2018-06-02 21:31:14 +02:00
428f1e1d07
Refactor def-setting!/set! implementation
...
The `doom-settings` variable has been removed. Setting checks are done
with fboundp now, which is simpler.
2018-06-02 16:26:59 +02:00
e5a4415d58
General, minor reformatting/refactor
2018-06-02 13:58:04 +02:00
ae7ead6e87
Refactor doom//upgrade
2018-06-02 13:56:39 +02:00
a0bec84997
Don't complain if no private packages.el
2018-06-02 01:08:23 +02:00
b28d3414bb
Remove load-prefer-newer letvar around private init
...
Doesn't actually help and only slows things down.
2018-06-01 17:07:53 +02:00
6480a45f84
Fix reload-package-autoloads outdated detection
...
The package autoloads generator wouldn't take module packages.el files
into consideration when detecting whether the autoloads file should be
regenerated. Now it does.
2018-06-01 17:06:03 +02:00
c04bccc68b
Fix disabled packages not being disabled
...
By loading the private packages.el in two passes. The first time ensures
later modules will know about disabled packages and the second time
ensures overwritten packages are properly overwritten.
Not the most efficient, but efficiency is low priority in noninteractive
sessions (i.e. during package management), the performance loss is
negligible, and packages.el files (should) have no other side effects
anyway.
2018-06-01 17:03:01 +02:00
6bad6d12f3
Remove doom-psuedo-modules-dir
...
Not needed with now that doom-private-dir has first class support.
2018-06-01 17:01:39 +02:00
36c36ca271
Optimize switch buffer/window hooks
...
Significantly reduces nested triggering of these hooks.
2018-06-01 16:40:39 +02:00
2b052a9563
Ignore untracked files on make upgrade
...
In case temporary/cache files are saved outside of .local, for example.
2018-06-01 11:25:47 +02:00
3359d351f5
Add define-key! macro; refactor config/default key fixes
...
I'd like to phase out map! where it isn't absolutely necessary, since it
isn't very well optimized.
2018-06-01 02:17:10 +02:00
a4d03654bd
Fix associate!'s :files refusing a list of strings
...
Due to changes under the hood, the :files FORM property requires FORM to
either be a nested form of and/or sexps, or a single string. This is
inconsistent with the plurality of ":files", so it has been fixed to
accept a list of strings (with an implicit (and ...)).
2018-05-31 16:59:53 +02:00
97cbb13c22
Improve which-key readability
2018-05-31 16:19:28 +02:00
b1ab80ec3f
Fix doom//byte-compile when recompiling plugins
...
This would cause odd void-variable/function errors because
doom//byte-compile would erroneously try to compile *everything* after
recompiling plugins.
2018-05-31 01:31:33 +02:00
d2ca6f65b3
doom/cleanup-session: don't kill modified buffers
2018-05-30 23:06:13 +02:00
8b7888d58f
Increase GC threshold from 8 to 16mb
2018-05-30 19:15:43 +02:00
3f6bfee027
Remember customized settings (load custom-file)
2018-05-30 19:15:29 +02:00
bb9f00e275
Fix unused return value warnings
...
When byte-compiling or reloading autoloads files.
2018-05-30 16:05:24 +02:00
c0b904afca
Fix void-variable nose-mode error in python #628
...
Caused by associate! only doing a fboundp check on MODE, but not boundp,
before trying to access its value.
2018-05-30 16:05:24 +02:00
71dc572d79
Run doom//refresh after successfull doom//upgrade
2018-05-30 16:05:24 +02:00
c4bbffd7ee
Extract refresh dispatcher into doom//refresh
2018-05-30 16:05:24 +02:00
6b1e1a2c58
Fix doom-files-in returning files in arbitrary order
...
This would cause compilation issues in doom//byte-compile because
prerequisite files weren't compiled before dependent ones.
2018-05-30 01:43:57 +02:00
bb6b91da9b
Downgrade missing module warnings to messages
2018-05-29 22:44:21 +02:00
debe3e0dd3
Remove unnused letvar doom--inhibit-reload
2018-05-29 19:39:22 +02:00
bd5ecc1aca
Display warning if a non-existent module is in your doom! block
2018-05-29 18:26:39 +02:00
947fe345c3
Minor, general refactor
...
In some contexts, map-put is superior to add-to-list.
2018-05-29 15:34:13 +02:00
592d83a968
Fix doom//byte-compile not initializing module list in some contexts
2018-05-29 15:32:36 +02:00
456dc62051
Fix compile-time void-function errors from modeline
2018-05-29 15:32:36 +02:00
4863f9fbf0
Fix after! macro with multiple features
2018-05-28 17:31:44 +02:00
f8b9cff4aa
Get rid of doom-pre-init-hook
2018-05-28 16:07:11 +02:00
ed5e8849cc
Fix void-variable fundamental-mode error from unquoted symbol
2018-05-28 15:50:11 +02:00
61b22c1c7f
doom//upgrade: git reset instead of pull + error handling
2018-05-28 15:49:50 +02:00
2dc1be2ce8
Update load! macro docstring
2018-05-28 12:30:27 +02:00
b84946318c
No means no
...
Saying no to a confirmation prompt should abort the refresh process.
2018-05-28 12:23:48 +02:00
c8b21e8cf8
Fix doom//upgrade dirty-tree detection
...
doom//upgrade refused to upgrade Doom because of unexpected behavior
with vc-state, which unhelpfully returns 'unregistered for unmodified
files. Instead, I manually test for output from git status --porcelain.
2018-05-28 12:20:01 +02:00
376adde0d8
Optimize mode-line segments that are just variables
2018-05-27 22:31:08 +02:00
1a452b6842
💥 Change first arg of load! macro
...
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.
If you use load!, you need to change its argument to a string!
e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
bdee28609a
New emacs/ediff module
...
Ediff config was moved out of core. Also includes evil compatibility
(mvoed out of feature/evil) & wconf save/restore.
2018-05-27 12:52:28 +02:00
f3c7dac997
Don't protect visible buffers that start with an asterix
2018-05-26 23:25:57 +02:00
b5ec39f0ec
Rewrite (and hopefully fix) doom//upgrade again
2018-05-26 23:25:06 +02:00
1aec48a848
The *real* fix for whitespace-mode interfering with the mu4e sidebar #607
2018-05-26 03:09:53 +02:00
2d6bef33d3
Disable doom|detect-indentation in fundamental or special modes
...
This should fix #607 , which is caused by whitespace-mode messing up the
overlays/text properties in the mu4e sidebar.
2018-05-26 03:06:47 +02:00
9febfb0477
Add fundamental-mode to doom-large-file-modes-list
2018-05-26 03:06:22 +02:00
dc7488df73
Remove package-initialize hack before package commands
...
Doesn't appear to be necessary anymore.
2018-05-25 19:26:11 +02:00
644dc17e32
Minor refactor of doom-initialize-packages
2018-05-25 19:25:47 +02:00
85c6d06c3f
Try to reload doom/package autoloads before before/after doom refresh
2018-05-25 19:25:18 +02:00
06bd3dfccc
Improve how reload-doom-autoloads detects your modules have changed
2018-05-25 19:22:44 +02:00
debdb63100
Handle wrong-num-of-args error correctly
2018-05-25 19:22:44 +02:00