Commit graph

1986 commits

Author SHA1 Message Date
Henrik Lissner
cacd188286
Replace doom-package-*-p with doom-package-prop 2017-06-14 21:15:19 +02:00
Henrik Lissner
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
Henrik Lissner
55f0760c4e
Add nlinum-hl to core/packages.el 2017-06-14 12:14:34 +02:00
Henrik Lissner
6dff6e124b
Bring back nlinum-hl
I moved the nlinum--region fix to the nlinum-hl package; which also
contains fixes for other problematic major-modes.
2017-06-14 02:51:24 +02:00
Henrik Lissner
c1890307a6
Fix precedence of popup rules
More general rules should be lower in the list.
2017-06-13 17:52:06 +02:00
Henrik Lissner
3031212a76
If an init-hook dies in the forest, does it make a sound? 2017-06-12 15:15:39 +02:00
Henrik Lissner
042da73d5d
Initialize doom-init-time a little sooner (#106) 2017-06-12 15:13:30 +02:00
Henrik Lissner
d9d049549f
By default, empty buffer-file-name = unreal buffer 2017-06-12 14:28:59 +02:00
Henrik Lissner
07299c5020
core-lib: add doom-quote & doom-enlist 2017-06-12 02:48:26 +02:00
Henrik Lissner
e5a04e512f
core-ui: refactor echo-keystrokes hooks 2017-06-12 01:41:55 +02:00
Henrik Lissner
38f9e4b0a6
Fix delete-frame => doom/delete-frame remap 2017-06-12 01:41:54 +02:00
Henrik Lissner
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
Henrik Lissner
d3054f4679
Load core-lib a little sooner 2017-06-11 23:52:56 +02:00
Henrik Lissner
d5652d2779
Change what recentf ignores; add doom-host-dir var 2017-06-11 23:50:50 +02:00
Henrik Lissner
66cfbb2563
Fix quit confirmations in daemon; add for frames
+ Add quit confirmation when closing a frame with real buffers
+ Ensure quit confirmations also work in daemon frames (tty or gui)
2017-06-11 16:24:49 +02:00
Henrik Lissner
c8e977e50a
v2.0.3 bump 2017-06-11 01:16:56 +02:00
Henrik Lissner
2097498f3e
General docstring+idempotency refactor 2017-06-11 00:59:02 +02:00
Henrik Lissner
7c20a43be6
Clean up quelpa build repos on package deletion 2017-06-10 23:32:59 +02:00
Henrik Lissner
74c5f1111a
require => load! (premature optimization) 2017-06-10 22:59:51 +02:00
Henrik Lissner
5f65855f13
Remove goto-last-change
This plugin conflicts with goto-chg dependency in Evil.
2017-06-10 22:58:35 +02:00
Henrik Lissner
688aef12d4
Fix #88: ignored private packages.el 2017-06-10 18:21:59 +02:00
Henrik Lissner
de8269acf8
fixup! Fix doom/what-face not handling face plist specs 2017-06-10 16:10:59 +02:00
Henrik Lissner
ca222c1b75
Fix doom/what-face not handling face plist specs 2017-06-10 16:07:56 +02:00
Henrik Lissner
f1c34fba72
core-os: remove unnecessary persistent-soft-store 2017-06-10 11:54:47 +02:00
Henrik Lissner
c5f2879927
core-ui: optimize hooks 2017-06-10 01:54:59 +02:00
Henrik Lissner
085fbb3f72
core-popups: optimize + refactor 2017-06-10 01:54:33 +02:00
Henrik Lissner
a30b0efce5
Add doom-popup-no-fringe option; disable fringes in popups 2017-06-10 01:54:15 +02:00
Henrik Lissner
bab738c56c
Move helm popup settings to core-popups 2017-06-10 01:53:51 +02:00
Henrik Lissner
6d2a7e22b3
Fix typo in nlinum--region advice 2017-06-09 14:20:45 +02:00
Henrik Lissner
7ba22d0d86
Possibly fix disappearing line numbers (#59) 2017-06-09 13:48:28 +02:00
Henrik Lissner
ae2ca94609
Add all-the-icons to core/packages.el 2017-06-09 01:48:29 +02:00
Henrik Lissner
1ef4d6f190
Optimize buffer library (reduce function calls) 2017-06-09 01:18:31 +02:00
Henrik Lissner
f071e55dc0
Enable nlinum-highlight-current-line 2017-06-09 01:09:19 +02:00
Henrik Lissner
e165450903
Refactor fringe-helper config 2017-06-09 01:09:19 +02:00
Henrik Lissner
58b77716c9
Move all-the-icons to core-ui 2017-06-09 01:09:19 +02:00
Henrik Lissner
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
Henrik Lissner
4d487c3e0f Rewrite buffer tests; refactor doom-kill-buffer 2017-06-08 13:46:23 +02:00
Henrik Lissner
7b5d2063f8 doom-popup-p: don't require window for buffer target 2017-06-08 13:45:04 +02:00
Henrik Lissner
c60de062ce doom/what-minor-mode: accept symbols & handle errors 2017-06-08 11:16:44 +02:00
Henrik Lissner
b4986e908a doom/what-face: return list noninteractively 2017-06-08 11:16:44 +02:00
Henrik Lissner
655e565fe0 doom/what-face: accept pos arg 2017-06-08 11:16:44 +02:00
Henrik Lissner
aa6ecaa68e
Revert async package refresh (#95, #96) 2017-06-08 01:00:44 +02:00
Henrik Lissner
4aece988ff
Add fringe-helper to core-ui 2017-06-07 14:32:34 +02:00
Henrik Lissner
a2f14183a1
Fix double package-refresh on first install 2017-06-06 12:01:10 +02:00
Henrik Lissner
7005ae13d7
Load private init.el before compilation (fix #95)
Ensures that private settings are available during byte-compilation.

Also fixes a compile error when private init.el (which should be an
optional file) doesn't exist.
2017-06-06 11:45:19 +02:00
Henrik Lissner
16c1b5c85e
Fix typo (file-name-handler-alist) 2017-06-05 23:16:25 +02:00
Henrik Lissner
fe610c0973
Fix private init.el when byte-compiled
By byte-compiling it earlier in doom/compile
2017-06-05 23:02:07 +02:00
Henrik Lissner
d69061e6da
Revert 0150f78e; refactor core-editor (fix #94) 2017-06-05 23:00:50 +02:00
Henrik Lissner
e2e5acf5b5
Don't defer editorconfig
Changed my mind, teehee!
2017-06-05 20:25:55 +02:00
Henrik Lissner
df92e47967
Refactor subr-x out of doom/compile 2017-06-05 20:19:46 +02:00