Commit graph

1750 commits

Author SHA1 Message Date
Henrik Lissner
414363fe38
Revise documentation for def-project-mode! 2017-06-18 23:43:08 +02:00
Henrik Lissner
8f9bd835a5
Make whitespace-injection more robust
+ No longer try to affect read-only buffers
+ Only activate if indent-tabs-mode is nil (spaces)
2017-06-18 23:43:08 +02:00
Henrik Lissner
6d39c323c5
Hide mode-line during startup
Produces the appearance of a smoother start-up, with fewer UI elements
transforming as it reads the config.
2017-06-16 02:32:44 +02:00
Henrik Lissner
4eb2a7cb41
General refactor + cleanup 2017-06-16 02:10:33 +02:00
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