Commit Graph

2092 Commits

Author SHA1 Message Date
8b19e35ef6 Consider dired-mode buffers real 2018-01-28 20:37:40 -05:00
3bd262117d Initialize project-mode sooner
Fixes a couple projectile errors when parts of Doom try to use
projectile before it's loaded.
2018-01-28 16:28:53 -05:00
d4c1050e32 core-project: fix projectile caching error when buffer-file-name is nil 2018-01-28 04:31:14 -05:00
4f983c139e Improve doom/describe-{setting,module} commands
Now grabs the setting/module at point
2018-01-28 03:00:29 -05:00
c5b72566ea Remove help-fns+, add helpful plugin #363 2018-01-21 21:37:15 -05:00
59f33855dd Fix kill-this-buffer switching to fallback buffer too soon (again) 2018-01-18 23:08:26 -05:00
45c2221316 General update for docstrings and comments & minor refactor 2018-01-15 00:43:28 -05:00
5ee50c6b53 Move wgrep config from core-editor to completion/{ivy,helm} 2018-01-14 02:04:34 -05:00
47d15fdf8a Make startup benchmark a little more accurate #353
Also sets doom-init-time first thing in doom-post-init-hook.
2018-01-13 15:11:28 -05:00
987805de5f Fix recursive load errors with multiple doom! calls #352 2018-01-12 14:40:34 -05:00
2f0822ed44 Remove aggressive load of use-package
The autoload in core-packages takes care of it.
2018-01-11 22:18:32 -05:00
2b98e550e8 Reverse load-path to fix precedence issues
Originally, I built the load-path with site-lisp paths first, then
packages. There was a modest ~10% startup boost doing this, because
there were considerably more site packages loaded at startup than
plugins.

However, this meant built-in packages would get precedence over plugins,
which is undesirable. In org's case, I simply modified the load-path
in lang/org/init.el. However, this issue has cropped up again in #340.

Evidently, that 10% boost may not be worth the risk it imposes, so I've
rearranged the load-path with packages first.
2018-01-10 22:47:35 -05:00
d2bab1dc4d Fix kill-this-buffer's dashboard addiction, the sequel
Again, the dashboard was being switched to too early (there were still
other real buffers to display).
2018-01-09 04:05:33 -05:00
42f4d10d6d Fix doom//reload-autoloads not reloading autoloads file
doom-packages--async-run doesn't return anything. Whoops!
2018-01-08 22:47:38 -05:00
b57c2e2264 Disarm doom/cleanup-session's oppressive regime
It killed buffers a little too indiscriminantly.
2018-01-08 19:36:02 -05:00
af37d430fb Fix kill-this-buffer's dashboard addiction
Our kill-this-buffer advice, which tries to ensure the user will always
land on a real buffer after killing another, would prematurely jump to
the dashboard even though there were other available, real buffers.

Also fixes an issue where kill-this-buffer would get stuck switching
between the last buffers (because they aren't killed if they're visible
in other windows). If the only buffers left are visible in other
windows, it will now switch to the fallback buffer (dashboard or
scratch).
2018-01-08 19:32:53 -05:00
7777f9940e Change add-hook! macro to retain hook order
(add-hook! hook '(1 2 3)) should set hook to `(1 2 3 ,@old-hooks).
Before this, they would be pushed sequentially, resulting in hook =
`(3 2 1 ,@old hooks)`
2018-01-08 14:55:58 -05:00
4bd74d9653 Fix doom-cleanup-hook breaking if hook didn't return an integer 2018-01-07 15:03:45 -05:00
8520c12434 which-key: don't replace current popup 2018-01-07 06:19:54 -05:00
50abff78c8 Fix doom-hide-modeline-mode not respecting doom--modeline-format
feature/popup is using this mode to give certain windows special
modelines.
2018-01-07 05:56:02 -05:00
60fdbf8643 doom/window-enlargen: use maximize-window instead
Just discovered maximize-window, which I've been doing manually in
doom/window-zoom. Bueno.
2018-01-07 01:58:38 -05:00
2d9e63d5bb General & minor refactoring 2018-01-07 00:15:58 -05:00
25619908a2 Narrow down the purpose of init & post-init hooks
Essential hooks should be added to doom-init-hook. Non-essential and
extra hooks should be added to doom-psot-init-hook.
2018-01-07 00:15:58 -05:00
2734810060 Show error when looking up dependency trees for built-in packages
There's no obvious way to do this, and I don't think it's important
enough to accommodate it.
2018-01-07 00:15:58 -05:00
392f04446f General refactor (use map.el more)
+ map-delete is shorter and faster than assq-delete-all
+ map-put is simpler than the delete-then-set workflow
+ map-merge is great for merging default and user settings
2018-01-07 00:15:58 -05:00
379914ccd7 doom-initialize: letbind load-path to site load-path instead
PREMATURE OPTIMIZATION DETECTED.

EXTERMINATE. EXTERMINATE. EXTERMINATE.
2018-01-07 00:15:57 -05:00
5cd29479f4 Refactor feature/evil hacks & advice; fix tests 2018-01-07 00:15:57 -05:00
31a4244686 Rethink what Doom loads at startup and manually
Better to simply load what we need, when we need it, rather than set up
autoloads for every litte thing.
2018-01-07 00:15:57 -05:00
0042a56d02 Add new cache library (persistent-soft wrapper) 2018-01-07 00:15:57 -05:00
25ec2bdcbb Fix kill-this-buffer killing popup buffer instead of window 2018-01-06 17:04:20 -05:00
e894c07453 Load module init.el too from require! macro 2018-01-06 04:14:44 -05:00
b681917082 Remove/replace references to doom-popup-buffer 2018-01-06 03:27:23 -05:00
b28f6ed477 General minor refactor & comment revision 2018-01-06 03:03:02 -05:00
60cded00e6 Decouple doom/escape & evil 2018-01-06 03:00:45 -05:00
3cbddbfd88 Generalize +evil-esc-hook into doom-escape-hook
This lets vanilla Emacs users in on having a universal "escape" key.
2018-01-06 02:38:39 -05:00
91357a3e5d 💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
a568f95004 Fix doom//reload-autoloads #328
`get-file-buffer` returns nil if no buffer for that file already exists.
In an edge case on Windows, `update-file-autoloads` doesn't leave
a hanging buffer, possibly ignoring its SAVE-AFTER argument. Using
`find-file-noselect` fixes this, which will open a buffer if one doesn't
already exist.
2018-01-05 13:43:17 -05:00
df37f987fb Delete autoloads file on error + simpler error code
This should prevent getting locked out of Doom due to a little errant
code sneaking into your autoloads file.
2018-01-04 22:01:43 -05:00
b3b31e4bd4 Display *Warnings* buffer in main workspace after startup #319
The creation of the main workspace would swallow the Warnings buffer, so
we forcibly display it (if it exists) on startup.
2018-01-04 16:58:21 -05:00
20a8f2cbad Fix kill-this-buffer advice thinking everything is a popup 2018-01-04 16:16:45 -05:00
5d186d10b4 doom-install-package: don't try to uninstall built-in packages 2018-01-04 16:16:45 -05:00
f3bad40fdf Packages api: simpler error handling 2018-01-04 16:16:45 -05:00
a29bc54c63 Install packages in the order they are declared 2018-01-04 16:16:45 -05:00
2598d48bba Add org elpa archive + update lang/org #327
Now that the org ELPA archive has https support, we can add it to
package-archives. This fixes some 'org is unavailable' errors when
installing org packages that have declared earlier versions of org as
a dependency.

This also makes installing a newer version of org-mode much simpler.
Woo!
2018-01-04 16:16:45 -05:00
88f8c27a7d Fix doom/cleanup-session & +workspaces|cleanup-unassociated-buffers
Resolve void n variable errors and silent message.
2018-01-04 16:16:44 -05:00
87e1108f96 Update buffer api tests
+ Update for new real buffer spec
+ Remove coupling with core-popup
2018-01-04 16:16:44 -05:00
e9d4e50c0a Update core-ui tests 2018-01-04 16:16:43 -05:00
83d2507138 Update buffer api unit tests 2018-01-04 16:14:51 -05:00
4d51a1ab09 Fix :skip property in def-test! 2018-01-04 16:14:50 -05:00
b7d21fb256 Add let-advice!! test macro 2018-01-04 16:14:50 -05:00