Commit Graph

2346 Commits

Author SHA1 Message Date
Henrik Lissner
3f69ebdfc8 Don't modify buffer on whitespace injection (#110)
In doom|inject-trailing-whitespace, for highlight-indentation-mode
2017-06-16 02:09:35 +02:00
Henrik Lissner
1606deb046 Fix missing all-the-icons-material function 2017-06-15 23:57:57 +02:00
Henrik Lissner
d3270a9b00 Fix whitespace-mode space-marks in nlinum (#109)
...by changing the padding character in line numbers.
2017-06-15 14:45:33 +02:00
Henrik Lissner
3d6bd3f3f0 Improve whitespace-mode config 2017-06-15 14:45:32 +02:00
Henrik Lissner
853ad98ae9 Fix editorconfig indent-policing in Lisp modes
Editorconfig in Lisp enforces lisp-indent-offset too strictly, ruining
its adaptive indentation. We don't want to disable it complete in those
modes however. In all other respects (controlling spaces vs tabs,
charset, max_line_length, etc) editorconfig is great.
2017-06-15 14:45:32 +02:00
Henrik Lissner
cf7779138a Fix editorconfig-conf-mode 2017-06-15 14:24:18 +02:00
Henrik Lissner
9039707184 Fix error when private init.el doesn't exist
Found in doom-initialize-packages, which DOOM calls in many
noninteractive functions.
2017-06-14 21:42:08 +02:00
Henrik Lissner
816df321a5 General refactor & cleanup 2017-06-14 21:15:19 +02:00
Henrik Lissner
633e693cab {Fix,Refactor} doom/describe-{setting,module} 2017-06-14 21:15:19 +02:00
Henrik Lissner
9c93c453e8 Reorganize unit-tests and test workflow
+ Moved unit tests out of tests/ and into their respective modules.
+ Rewrite makefile and added these tasks:
  + <MODULE>/<SUBMODULE> -- byte-compile a specific module
  + test:<MODULE>/<SUBMODULE> -- runs tests for a specific module
  + testi -- run tests in an interactive session of Emacs (WIP)
  + run -- opens an Emacs session with this config; useful when it is in
    a non-standard location.
2017-06-14 21:15:19 +02:00
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