Commit graph

72 commits

Author SHA1 Message Date
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
a2f14183a1
Fix double package-refresh on first install 2017-06-06 12:01:10 +02:00
Henrik Lissner
27bfa14def General refactor + cleanup 2017-06-05 14:23:17 +02:00
Henrik Lissner
435fda0f41
Add :ignore & :freeze support to package! 2017-06-05 14:21:07 +02:00
Henrik Lissner
e8a94535da Fix package update not deleting old folder 2017-06-05 12:35:51 +02:00
Henrik Lissner
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
Henrik Lissner
ca96b0d9c5 Fix wrong-type-argument on quelpa package update 2017-06-03 21:30:41 +02:00
Henrik Lissner
09ec857c60 Fix outdated quelpa package detection 2017-06-03 21:29:33 +02:00
Henrik Lissner
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
Henrik Lissner
45627d6ea6 Initialize more state for package management fns 2017-06-03 12:05:43 +02:00
Henrik Lissner
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
Henrik Lissner
29091c40ad Refactor doom-refresh-packages (and make it async) 2017-05-28 02:48:20 +02:00
Henrik Lissner
42a63c661b Use persistent-soft's native TTL expiration
Don't need to reinvent the wheel.
2017-05-26 20:22:45 +02:00
Henrik Lissner
8615bf23ca Move doom/am-i-secure to autoload/debug 2017-05-26 20:22:45 +02:00
Henrik Lissner
2cd0818801 Fix error cascade in doom--condition-case! 2017-05-26 20:22:45 +02:00
Henrik Lissner
5e894027c5 Improve error handling for package management 2017-05-19 22:30:44 +02:00
Henrik Lissner
e678d13ed6 Use HTTPS ELPA sources & verify TLS (#72) 2017-05-19 22:30:34 +02:00
Henrik Lissner
323b2f6c2f Refactor package management: better feedback & bug fixes 2017-05-19 02:57:39 +02:00
Henrik Lissner
ac3e63715d core/autoload/packages: refactor 2017-05-16 00:49:35 +02:00
Henrik Lissner
1b253f5bad Turn off nosave-p flag on package-delete
Prevents false positives when updating packages
2017-05-15 22:35:57 +02:00
Henrik Lissner
c492379e07 doom-install-package: inherit plist from doom-packages 2017-05-15 20:26:32 +02:00
Henrik Lissner
7f6c38fcb6 Fix package updater unable-to-remove error 2017-05-15 11:09:44 +02:00
Henrik Lissner
7d7ade82b3 Fix doom-update-package errors for unreachable dependencies 2017-05-14 14:37:38 +02:00
Henrik Lissner
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
Henrik Lissner
49b4b39dfe autoload/packages: refactor + improve output consistency 2017-04-18 05:45:47 -04:00
Henrik Lissner
4159da2f37 autoload/packages: no-byte-compile = t 2017-04-18 05:44:39 -04:00
Henrik Lissner
8854573d2b Package management: fix wrong-type-argument errors in error handling 2017-04-18 05:09:15 -04:00
Henrik Lissner
e57ba47c5a General cleanup + refactor 2017-04-17 16:54:31 -04:00
Henrik Lissner
5ae94b765c PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES 2017-04-17 02:17:10 -04:00
Henrik Lissner
3e0f83261b Colored autoremoval output + use symbol-name for package names 2017-04-16 11:55:04 -04:00
Henrik Lissner
9288b59d91 Remove spacing in package management output 2017-04-16 11:54:22 -04:00
Henrik Lissner
e48c6c5381 ansi-{format,message}! => {format,message}! (to be generalized) 2017-04-15 01:29:24 -04:00
Henrik Lissner
9c647ec636 doom/packages-install: fix format error on skipped packages 2017-04-12 12:06:19 -04:00
Henrik Lissner
e50dabfde4 Replace ansi plugin with internal ansi library 2017-04-12 10:51:29 -04:00
Henrik Lissner
6e6f1a6698 Package management: color-coded feedback to stdout in terminal 2017-04-12 08:53:54 -04:00
Henrik Lissner
0c23ff43a4 Add doom-protected-packages for excluding packages from autoremoval 2017-04-11 08:43:26 -04:00
Henrik Lissner
e3a33f6a9e Rename doom-protected-packages => doom-core-packages 2017-04-11 08:42:55 -04:00
Henrik Lissner
e0ab05527c doom-get-missing-packages: update comment string 2017-04-04 22:17:42 -04:00
Henrik Lissner
4b1543e1df packages: rewrote doom-get-dependencies-for, add doom-get-depending-on 2017-04-04 22:17:33 -04:00
Henrik Lissner
ba9e7a947b Remove provide's in autoload libraries (unnecessary) 2017-04-04 22:16:39 -04:00
Henrik Lissner
87a93b1d82 Replace doom--version-list-str with package-version-join 2017-04-04 13:16:11 -04:00
Henrik Lissner
e1518e2d27 Fix package-refresh-contents loop bug in package management 2017-04-04 12:29:38 -04:00
Henrik Lissner
06b1a8c928 Reload (via server if noninteractive) after pkg install/update/autoremove 2017-03-25 01:03:40 -04:00
Henrik Lissner
e967412687 Remove possibility of duplicates in package management functions 2017-03-14 15:18:36 -04:00
Henrik Lissner
079be42949 cl-pushnew: use 'eq instead of 'eql 2017-03-05 14:18:35 -05:00
Henrik Lissner
ab07120ea6 Remove doom/reload
This command didn't do what was intended, and it would be too much work
to write one that looks for outdated packages and reloads them.

Instead, just restart Emacs for changes to take effect. This is only
necessary if package management is done outside of Emacs. You
(theoretically) don't have to do anything if doing it from the inside.
2017-03-04 00:26:37 -05:00
Henrik Lissner
33c88d4f82 Revert macros to ...! name convention (elisp doesn't like @...) 2017-02-23 00:06:12 -05:00
Henrik Lissner
90d6b33667 Fix doom/delete-package not showing a complete package list on interactive use 2017-02-20 21:30:41 -05:00
Henrik Lissner
25da22e32e doom-get-packages: delete => delq (faster) 2017-02-20 01:22:22 -05:00
Henrik Lissner
545e2a215c doom/packages-install: fix quelpa/elpa detection in feedback + mention pinned archives 2017-02-20 01:21:57 -05:00