Commit Graph

648 Commits

Author SHA1 Message Date
1ef4d6f190 Optimize buffer library (reduce function calls) 2017-06-09 01:18:31 +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
4d487c3e0f Rewrite buffer tests; refactor doom-kill-buffer 2017-06-08 13:46:23 +02:00
7b5d2063f8 doom-popup-p: don't require window for buffer target 2017-06-08 13:45:04 +02:00
c60de062ce doom/what-minor-mode: accept symbols & handle errors 2017-06-08 11:16:44 +02:00
b4986e908a doom/what-face: return list noninteractively 2017-06-08 11:16:44 +02:00
655e565fe0 doom/what-face: accept pos arg 2017-06-08 11:16:44 +02:00
a2f14183a1 Fix double package-refresh on first install 2017-06-06 12:01:10 +02:00
27bfa14def General refactor + cleanup 2017-06-05 14:23:17 +02:00
435fda0f41 Add :ignore & :freeze support to package! 2017-06-05 14:21:07 +02:00
e8a94535da Fix package update not deleting old folder 2017-06-05 12:35:51 +02:00
1c6ecc660a Improve package management feedback
With quelpa updating fixed, there is a longer delay on package update.
So I added a 'looking for outdated packages...' message, and improved
the formatting of backtraces in debug output.
2017-06-03 21:31:16 +02:00
ca96b0d9c5 Fix wrong-type-argument on quelpa package update 2017-06-03 21:30:41 +02:00
09ec857c60 Fix outdated quelpa package detection 2017-06-03 21:29:33 +02:00
6807a5fda8 Rewrite how doom-update-package updates from ELPA
This is an attempt to make package updating atomic. Previously, if
a package failed to update, it would've been deleted.
2017-06-03 21:01:32 +02:00
45627d6ea6 Initialize more state for package management fns 2017-06-03 12:05:43 +02:00
e4a6780775 How did I miss this mistake?! Argh!
Must've slipped through during one of a 4am debugging session.
2017-06-03 12:05:43 +02:00
e2f06f0692 Fix doom/toggle-line-numbers 2017-05-28 15:39:36 +02:00
29091c40ad Refactor doom-refresh-packages (and make it async) 2017-05-28 02:48:20 +02:00
8ca6e2630b Bring back nlinum
linum-mode *really* slows down buffers when they're displayed in more
than one window. This lag isn't present in nlinum. nlinum isn't perfect
either but... lesser of two evils.

This includes advisors and an ESC hook to mitigate the issue of
disappearing nlinum line numbers.
2017-05-28 02:48:20 +02:00
db6de01b16 Add doom/describe-{setting,module} 2017-05-28 02:48:20 +02:00
42a63c661b Use persistent-soft's native TTL expiration
Don't need to reinvent the wheel.
2017-05-26 20:22:45 +02:00
8615bf23ca Move doom/am-i-secure to autoload/debug 2017-05-26 20:22:45 +02:00
41a288d21d Refactor minibuffer bindings
+ conform their function names to naming conventions
+ place ivy-specific version in ivy autoloads
2017-05-26 20:22:45 +02:00
2cd0818801 Fix error cascade in doom--condition-case! 2017-05-26 20:22:45 +02:00
5d47be15ef doom/popup-close-all: return non-nil on success 2017-05-25 12:20:51 +02:00
5e894027c5 Improve error handling for package management 2017-05-19 22:30:44 +02:00
e678d13ed6 Use HTTPS ELPA sources & verify TLS (#72) 2017-05-19 22:30:34 +02:00
656452df00 General cleanup & refactor; update TODO 2017-05-19 17:21:52 +02:00
254298b1b0 Revise debug/help keybindings & commands 2017-05-19 16:52:32 +02:00
d6220201d7 Fix #70: doom--window-enlargened error 2017-05-19 15:56:35 +02:00
13b2cc9446 Fix whitespacing-eating in org-tables on SPC/DEL 2017-05-19 13:20:50 +02:00
002d4cff9e Remember popup size in history + refactor 2017-05-19 03:01:49 +02:00
6eb5f1c8d1 Add doom/window-enlargen (replace C-w o bind) 2017-05-19 03:00:27 +02:00
323b2f6c2f Refactor package management: better feedback & bug fixes 2017-05-19 02:57:39 +02:00
615cf15313 General refactor & cleanup 2017-05-17 21:07:41 +02:00
310c235bb5 Better doom/what-face; remove unused util defuns 2017-05-17 18:27:02 +02:00
a6c4aace90 Better magit+shackle integration 2017-05-17 18:27:02 +02:00
ac3e63715d core/autoload/packages: refactor 2017-05-16 00:49:35 +02:00
1b253f5bad Turn off nosave-p flag on package-delete
Prevents false positives when updating packages
2017-05-15 22:35:57 +02:00
c492379e07 doom-install-package: inherit plist from doom-packages 2017-05-15 20:26:32 +02:00
a1384d17f6 Refactor doom/sudo-find-file, add doom/sudo-this-file 2017-05-15 20:26:32 +02:00
7f6c38fcb6 Fix package updater unable-to-remove error 2017-05-15 11:09:44 +02:00
7d7ade82b3 Fix doom-update-package errors for unreachable dependencies 2017-05-14 14:37:38 +02:00
5b6f3119c7 doom/popup-restore: clone file buffers if needed 2017-05-14 14:37:06 +02:00
1ab5f86188 core-popups: read rules from local var 2017-05-14 14:36:49 +02:00
25fa4e019c General refactor & cleanup
+ refactor package management
+ core-editor: describe ediff
+ core-popups: alphabetized hack blocks
+ ui/doom-modeline: refactor buffer path fn
+ feature/version-control/+git: autoload magit-blame
2017-05-14 09:56:32 +02:00
5491fd552e Replace nlinum with linum 2017-05-13 22:40:52 +02:00
afb31659a3 General refactor & cleanup 2017-05-13 00:14:17 +02:00
7fbaf2ced1 General cleanup & refector; update TODO.org 2017-05-12 14:18:27 +02:00