Commit Graph

219 Commits

Author SHA1 Message Date
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
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
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
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
9f884bf998 Move delayed-warnings deferral to core.el
Possibly addresses #319
2018-01-03 12:54:30 -05:00
2c7c9c6d94 v2.0.9 bump 2018-01-01 21:20:49 -05:00
fcadde3ef9 core: refactor & comment 2017-12-28 19:16:22 -05:00
8b1f8acc0d Rearrange core config, epa & authinfo bits (fix after! error) 2017-12-27 22:48:05 -05:00
13111ff5c4 Set epa-{file-encrypt-to,pinentry-mode}; no authinfo for sudo via tramp 2017-12-27 20:48:06 -05:00
a2a5910126 Revise docstring for doom-{etc,cache}-dir 2017-12-23 14:30:17 -05:00
02c14f560d Refactor bootstrap process + add doom-initialize-load-path 2017-12-22 16:26:05 -05:00
a2ab903003 Only reset gc-cons-threshold during user startup 2017-12-22 15:19:23 -05:00
6343e8ad85 (BREAKING) Don't host-namespace local files
Local cache and data files were stored in a parent folder named after
your host, because I'd symlink the same config across computers via
dropbox. This would cause byte-compile issues in packages, so I stopped
doing this.

Now that each computer gets its own clone, host-namespaced local
directories are unnecessary. There's no other benefit to having them.
2017-12-22 14:48:13 -05:00
1f5de79a57 v2.0.8 bump 2017-12-17 00:03:45 -05:00
9d3155892a Rethink how Doom loads core & std libs 2017-12-09 14:41:22 -05:00
2190d29960 Enable load-prefer-newer sooner in noninterative/debug sessions 2017-12-03 20:04:00 -05:00
e17357d7df v2.0.7 bump 2017-11-08 22:56:05 +01:00
c45e2c4918 General & minor refactor+cleanup 2017-11-05 19:54:44 +01:00
95a5b46dc5 New // naming convention + refactor doom management functions 2017-11-05 19:54:43 +01:00
60d6335acb Set mc/list-file to doom-etc-dir 2017-11-02 14:17:15 +01:00
9a7bd0263f v2.0.6 bump 2017-10-06 02:37:24 +02:00
a4ddb1bc9b General minor refactor + cleanup 2017-09-28 18:19:15 +02:00
0e7d81a41c Add two naming conventions for hydras & app commands 2017-09-24 17:10:47 +02:00
71bda74fdc Prepare for v2.0.5 2017-09-03 23:31:45 +02:00
6e8726a624 Simplify core loading process (part 2) 2017-08-08 16:31:48 +02:00
65748c5809 Simplify core loading process 2017-08-08 14:25:36 +02:00
6f5b853cc2 Silent init hooks if noninteractive 2017-07-27 00:01:55 +02:00
233134a6da Refactor doom init 2017-07-14 18:19:52 +02:00
4454226a42 v2.0.4 bump + update README 2017-07-14 15:27:36 +02:00
f93fb61f33 Refactor core.el
+ Load Doom core in doom! macro
+ Move automatic minor modes to core-editor
+ Move doom*set-indirect-buffer-filename to core-editor
2017-07-13 00:05:30 +02:00
27b344b64a Rename doom/clean-cache => doom/reset (+ make reset) 2017-07-09 22:51:36 +02:00
ac70606452 Set buffer-file-name for indirect buffers #130 2017-07-05 18:19:53 +02:00
f8dde296ca Refactor core.el
+ Always reset gc-cons-* vars on doom|finalize
+ display-warning => lwarn
2017-06-28 12:26:50 +02:00
e75bc10baa Unset mode-line-format sooner in startup process 2017-06-24 02:25:15 +02:00
816df321a5 General refactor & cleanup 2017-06-14 21:15:19 +02:00
732dee608a Stability/error-handling refactor (part 1)
This refactor is about improving how Emacs deals with errors.

A large net is now cast at startup to catch possible errors, produce
more helpful error messages, and localize the damage. Significantly
reducing the risk of later modules not loading (and leaving you
stranded in a half-broken Emacs session).

The DOOM core files are an exception. If something messes up in there,
it *should* choke.

+ use-package will now report missing packages or slow-loading/broken
  def-package! configurations.
+ Persp-mode no longer (inadvertantly) hides buffers that pop up at
  startup, like the *Warnings*, *Backtrace* or debugger buffers.
+ `make autoloads` (or doom/reload-autoloads) now produces a slightly
  more informative error message if an error occurs while building the
  autoloads file.
+ Error handling for package management is *slightly* better now; error
  messages now include the type of error; this needs work.
2017-06-14 21:15:19 +02:00
3031212a76 If an init-hook dies in the forest, does it make a sound? 2017-06-12 15:15:39 +02:00
4984a548d1 Refactor DOOM init & add new init hooks
+ Add doom-init-hook and doom-post-init-hook to simplify Emacs init
  hooks into less ambiguous ones.
+ Attach former after-init-hook and emacs-startup-hook hooks to new doom
  init hooks.
+ Vastly improves daemon and tty support: preventing incorrect colors
  from bleeding across face class barriers, and into GUI Emacs and vice
  versa, when spawned with emacsclient.
+ Fix persp-mode breaking Emacs daemon, and ensuring that initialization
  is done properly in terminal Emacs (and emacsclient frames).
2017-06-12 00:37:14 +02:00
d3054f4679 Load core-lib a little sooner 2017-06-11 23:52:56 +02:00
d5652d2779 Change what recentf ignores; add doom-host-dir var 2017-06-11 23:50:50 +02:00
c8e977e50a v2.0.3 bump 2017-06-11 01:16:56 +02:00
2097498f3e General docstring+idempotency refactor 2017-06-11 00:59:02 +02:00
74c5f1111a require => load! (premature optimization) 2017-06-10 22:59:51 +02:00
c7254e7bdc Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
16c1b5c85e Fix typo (file-name-handler-alist) 2017-06-05 23:16:25 +02:00
33149e3daa Support running from non-standard HOME directory 2017-05-31 15:04:29 -05:00
5b343a32d0 Don't change gc-cons-threshold on reload 2017-05-21 10:34:21 +02:00
e63113a86c Reset gc-cons-threshold a tiny bit sooner 2017-05-20 18:40:13 +02:00
575376687f Delegate version checks to bin/doctor 2017-05-20 18:40:13 +02:00