Henrik Lissner
3dca6d8028
doom-popup-prop => doom-popup-property
...
Also, new doom-popup-properties function.
2017-09-24 20:45:23 +02:00
Henrik Lissner
65d758ce8f
Add doom-popup-inhibit-autokill variable
2017-09-24 20:44:17 +02:00
Henrik Lissner
e6f892b115
Refactor doom-popup-p
2017-09-24 20:42:30 +02:00
Henrik Lissner
558a8d973c
Change doom-popup-buffer & doom-popup-file signature
...
...and update its references.
2017-09-24 20:41:14 +02:00
Henrik Lissner
51fa99996d
Update+improve doom buffer library docstrings
2017-09-24 19:18:26 +02:00
Henrik Lissner
78db91bdd2
Check if buffer/window is live in doom-popup-p
2017-09-24 18:41:12 +02:00
Henrik Lissner
9b0d333a66
Close popups in doom/kill-all-buffers
2017-09-24 18:40:50 +02:00
Henrik Lissner
5ff9849b39
Sort settings list in doom/describe-settings
2017-09-24 17:10:48 +02:00
Henrik Lissner
78b6676987
doom-resize-window: add two args (window & force-p)
2017-09-24 17:10:47 +02:00
Henrik Lissner
3fcbdae441
Make doom-project-{p,root} functions simpler
...
+ doom-project-root and doom-project-p no longer takes arguments
+ Remove doom*project-root advice
2017-09-20 01:33:31 +02:00
Henrik Lissner
42fec8494d
Rename doom/reload => doom/reload-load-path
2017-09-19 15:07:57 +02:00
Henrik Lissner
8f0268d9fc
Add GNUTLS feature detection to doom/am-i-secure
2017-09-15 14:37:19 +02:00
Henrik Lissner
d5b84eee3d
Refactor doom/what-face
2017-09-15 14:37:19 +02:00
Henrik Lissner
3345872d7a
Switch to fallback buffer on kill-all-buffers
2017-09-13 12:49:36 +02:00
Henrik Lissner
81c54684de
Fix incorrect user-emacs-directory when updating packages #190
2017-09-05 12:40:54 +02:00
Henrik Lissner
5e393b3233
Ensure module state is initialized on make test
2017-08-09 15:30:42 +02:00
Henrik Lissner
6e8726a624
Simplify core loading process (part 2)
2017-08-08 16:31:48 +02:00
Henrik Lissner
65748c5809
Simplify core loading process
2017-08-08 14:25:36 +02:00
Henrik Lissner
85c28444b3
General cleanup & refactor
2017-08-06 16:30:53 +02:00
Henrik Lissner
0ad96a4100
Switch to fallback buffer on kill-all-buffers
2017-08-04 22:36:06 +02:00
Henrik Lissner
a63640b120
Force interactive when running tests
2017-07-29 00:30:42 +02:00
Henrik Lissner
f2d8681ef4
Refactor line number implementation
...
+ Add relative line number support (see doom-line-numbers-style)
+ Update doom/toggle-line-numbers
+ New hook functions: doom|enable-line-numbers,
doom|disable-line-numbers
Addresses #156
2017-07-19 00:25:05 +02:00
Henrik Lissner
439bbe64fa
Add doom|enable-delete-trailing-whitespace
2017-07-17 12:01:45 +02:00
Henrik Lissner
59544391f2
Refactor doom-get-packages
...
Adds an INSTALLED-ONLY-P argument to doom-get-packages.
Fixes a missing-package error when doom-get-outdated-packages iterates
over packages that aren't installed.
Plus, updated unit tests.
2017-07-14 15:16:32 +02:00
Henrik Lissner
f93fb61f33
Refactor core.el
...
+ Load Doom core in doom! macro
+ Move automatic minor modes to core-editor
+ Move doom*set-indirect-buffer-filename to core-editor
2017-07-13 00:05:30 +02:00
Henrik Lissner
64aa0fef4d
Appease byte-compiler
2017-07-13 00:00:35 +02:00
Henrik Lissner
4acfe3742b
Less 'nowhere to go' spam on doom/kill-this-buffer
2017-07-13 00:00:34 +02:00
Henrik Lissner
c0bfaec9d4
Add display-line-numbers support in Emacs 26 #59
2017-07-12 23:59:38 +02:00
Henrik Lissner
e87d278811
Remove (interactive) from non-interactive funcs
2017-07-12 14:59:00 +02:00
Henrik Lissner
9c7e431de7
Refactor doom-popup-size (cond -> pcase)
2017-07-11 01:08:30 +02:00
Henrik Lissner
d6133adef0
Refactor doom-popup-prop (cond -> pcase)
2017-07-11 01:06:26 +02:00
Henrik Lissner
65696cebf6
Fix wrong-type-argument: bufferp error on ESC
2017-07-11 01:06:10 +02:00
Henrik Lissner
f40ebf9725
Minor docstring updates
2017-07-09 02:14:45 +02:00
Henrik Lissner
aba1dbce55
Add doom-set-buffer-real fn & doom-real-buffer-p var
2017-07-08 21:08:14 +02:00
Henrik Lissner
99b6274b03
New command: doom/other-popup #141
...
Like other-window, but for doom popups. Also bound this to `C-x p` in
private module.
2017-07-06 17:46:06 +02:00
Henrik Lissner
8c3693ed47
Add new variable: doom-popup-windows
...
Contains a list of open popup windows.
This preserves window order. Before this commit, doom-popup-windows (the
function), did not do this.
2017-07-06 17:43:17 +02:00
Henrik Lissner
4fc39a0f71
Rename doom/popup => doom/popup-this-buffer
2017-07-06 16:42:35 +02:00
Henrik Lissner
1d961563c0
Fix #139 : no-region error in doom/scratch-buffer
2017-07-05 15:23:20 +02:00
Henrik Lissner
576a91b66c
New macro: with-popup-rules!
2017-07-05 02:59:17 +02:00
Henrik Lissner
6093b81412
+present/big-mode => doom-big-font-mode
...
And added new variable: doom-big-font
app/present is deprecated so this feature has been moved into core.
2017-07-05 02:58:50 +02:00
Henrik Lissner
ed1a79040e
Revert async package refresh
...
Unnecessary complexity for negligible gain.
2017-07-04 12:26:34 +02:00
Henrik Lissner
8c1fb1e6b2
+doom:scratch-buffer => doom/scratch-buffer
2017-07-03 03:39:18 +02:00
Henrik Lissner
a002f7025c
Rewrite docstrings for package functions/macros
2017-07-02 16:47:27 +02:00
Henrik Lissner
cca37f2508
Add doom-(pre|post)-reload-theme-hook
2017-06-29 14:58:10 +02:00
Henrik Lissner
fa47730204
Fix void-function error in doom/reload-theme
2017-06-29 11:58:58 +02:00
Henrik Lissner
ecd8ad0f46
Change how themes, fonts & modelines are loaded
...
WARNING: THIS IS A BREAKING CHANGE FOR THEME/FONT/NLINUM CUSTOMIZATIONS.
This change was motivated by the need to decouple theme and font loading
from the ui/doom module.
Now, it is doom-core's purview. Theme and fonts are loaded after
initfiles are read (attached to the doom-init-ui-hook hook), giving
other modules (especially private ones) a chance to change the theme or
fonts.
+ Refactor core-ui.el
+ New init hook: doom-init-ui-hook
+ Decouple theme/font loading from ui/doom
+ Load modelines are doom-init-ui-hook
+ New theme/font variables (replaces old ui/doom variables)
+ doom-theme
+ doom-font
+ doom-variable-pitch-font
+ doom-unicode-font
+ Change nlinum variables
+ doom-line-number-lpad
+ doom-line-number-rpad
+ doom-line-number-pad-char
Addresses #117
2017-06-28 16:18:24 +02:00
Henrik Lissner
76b020eddb
package management: change output on retry/errors
2017-06-28 15:33:19 +02:00
Henrik Lissner
f246d89fb6
Fix make test:X/Y
where Y is omitted
...
This way, make feature will run all unit tests in feature/* modules.
2017-06-28 15:28:51 +02:00
Henrik Lissner
869bc03ca6
Load bare minimum for tests
2017-06-28 15:28:13 +02:00
Henrik Lissner
510e7116c8
Use different function for :cleanup
2017-06-28 12:26:49 +02:00
Henrik Lissner
5ebda9b0c6
Refactor buffer functions & update tests
...
+ Split doom-buffer-list into doom-buffer-list
& doom-project-buffer-list.
+ doom-real-buffers-list => doom-real-buffer-list (for naming
consistency).
2017-06-28 12:26:49 +02:00
Henrik Lissner
822c78554f
destructuring-bind => cl-destructuring-bind
2017-06-25 02:04:50 +02:00
Henrik Lissner
cbfb3eeda4
Fix, rename & move doom/run-tests => doom-run-tests
2017-06-24 17:15:22 +02:00
Henrik Lissner
83f4f2e725
Remove s.el dependency in doom/packages-update
2017-06-24 02:25:15 +02:00
Henrik Lissner
e2c161cbf8
Clean up doom-get-outdated-packages
2017-06-24 02:25:15 +02:00
Henrik Lissner
50f924bcfc
Fix doom-ansi-apply alias to autoload in format!
...
A wrong-type-argument: symbolp error occurs when core files are
byte-compiled and the expanded message!/format! macros are trying to
cl-flet-alias 'color to doom-ansi-apply (which hasn't been loaded yet).
2017-06-24 02:25:15 +02:00
Henrik Lissner
ee1fb43b93
Make doom-get-outdated-packages asynchronous
2017-06-21 16:09:58 +02:00
Henrik Lissner
8f7e138357
Add debug! macro
2017-06-21 16:09:34 +02:00
Henrik Lissner
7029d287e5
Add doom/toggle-profiler
2017-06-18 23:43:08 +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
d9d049549f
By default, empty buffer-file-name = unreal buffer
2017-06-12 14:28:59 +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
7c20a43be6
Clean up quelpa build repos on package deletion
2017-06-10 23:32: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
1ef4d6f190
Optimize buffer library (reduce function calls)
2017-06-09 01:18:31 +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
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
e2f06f0692
Fix doom/toggle-line-numbers
2017-05-28 15:39:36 +02:00
Henrik Lissner
29091c40ad
Refactor doom-refresh-packages (and make it async)
2017-05-28 02:48:20 +02:00
Henrik Lissner
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
Henrik Lissner
db6de01b16
Add doom/describe-{setting,module}
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
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
Henrik Lissner
2cd0818801
Fix error cascade in doom--condition-case!
2017-05-26 20:22:45 +02:00
Henrik Lissner
5d47be15ef
doom/popup-close-all: return non-nil on success
2017-05-25 12:20:51 +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
656452df00
General cleanup & refactor; update TODO
2017-05-19 17:21:52 +02:00
Henrik Lissner
254298b1b0
Revise debug/help keybindings & commands
2017-05-19 16:52:32 +02:00
Henrik Lissner
d6220201d7
Fix #70 : doom--window-enlargened error
2017-05-19 15:56:35 +02:00
Henrik Lissner
13b2cc9446
Fix whitespacing-eating in org-tables on SPC/DEL
2017-05-19 13:20:50 +02:00
Henrik Lissner
002d4cff9e
Remember popup size in history + refactor
2017-05-19 03:01:49 +02:00
Henrik Lissner
6eb5f1c8d1
Add doom/window-enlargen (replace C-w o bind)
2017-05-19 03:00:27 +02:00
Henrik Lissner
323b2f6c2f
Refactor package management: better feedback & bug fixes
2017-05-19 02:57:39 +02:00
Henrik Lissner
615cf15313
General refactor & cleanup
2017-05-17 21:07:41 +02:00
Henrik Lissner
310c235bb5
Better doom/what-face; remove unused util defuns
2017-05-17 18:27:02 +02:00
Henrik Lissner
a6c4aace90
Better magit+shackle integration
2017-05-17 18:27:02 +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
a1384d17f6
Refactor doom/sudo-find-file, add doom/sudo-this-file
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
5b6f3119c7
doom/popup-restore: clone file buffers if needed
2017-05-14 14:37:06 +02:00
Henrik Lissner
1ab5f86188
core-popups: read rules from local var
2017-05-14 14:36:49 +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
5491fd552e
Replace nlinum with linum
2017-05-13 22:40:52 +02:00
Henrik Lissner
afb31659a3
General refactor & cleanup
2017-05-13 00:14:17 +02:00
Henrik Lissner
7fbaf2ced1
General cleanup & refector; update TODO.org
2017-05-12 14:18:27 +02:00
Henrik Lissner
ed6941e8ae
core-popups: clone buffer if visible elsewhere
...
Allows us to modify the buffer in the pop up window indepdently from the
rest.
2017-05-12 12:17:01 +02:00
Henrik Lissner
388e5b4711
feature/evil: rewrite :mv & :rm (file move/delete commands)
2017-05-12 12:17:01 +02:00
Henrik Lissner
195609d89d
doom/cleanup-buffers: support ex command usage
2017-05-12 11:49:01 +02:00
Henrik Lissner
2044872b9b
Move doom/reset-theme to ui/doom (and update binding)
2017-05-11 21:45:50 +02:00
Henrik Lissner
3dcc423308
Refactor doom/window-zoom
...
Inspired by gilbertw1/bmacs's +gdoom/toggle-maximize-buffer
2017-05-11 09:48:26 +02:00
Henrik Lissner
e265431507
General refactor, cleanup & commenting
2017-05-10 05:28:50 +02:00
Henrik Lissner
90b4e22008
doom-minibuffer-kill-word: fall back to evil/ivy delete char
2017-05-06 23:25:34 +02:00
Henrik Lissner
db1deb4a18
Fix M-z in minibuffer (ivy/evil/etc)
2017-05-06 23:01:09 +02:00
Henrik Lissner
5d83fe83ca
Prevent 'Text is read-only' monopolizing minibuffer (ivy/evil/minibuffer)
2017-05-06 22:56:43 +02:00
Henrik Lissner
09218f5bb3
core-editor: refactor large-file detection
2017-05-06 22:55:10 +02:00
Bryan Gilbert
712c01f4f4
add `doom/large-file-check to prompt literal open of large files
2017-05-06 11:53:10 -04:00
Henrik Lissner
acca0a86c7
Redesign doom-system-os
2017-05-03 22:03:08 +02:00
Henrik Lissner
d651311d1d
Various tweaks & clean up
2017-05-01 14:52:29 -04:00
Henrik Lissner
b425f45875
Add doom/sudo-find-file
2017-04-26 15:25:34 -04: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
a94a591072
message!: add newline in doom buffer
2017-04-17 16:54:00 -04:00
Henrik Lissner
5e2c483923
core/autoload/system: rewrite doom-fetch (factor out s.el dependency)
2017-04-17 02:19:37 -04:00
Henrik Lissner
ed2e7a65f6
Refactor out s.el usage
2017-04-17 02:18:25 -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
fedfa1ffad
Generalize message! & format! (interactive vs noninteractive)
2017-04-15 03:14:03 -04:00
Henrik Lissner
e48c6c5381
ansi-{format,message}! => {format,message}! (to be generalized)
2017-04-15 01:29:24 -04:00
Henrik Lissner
e32a804f1d
autoload/message: doom--ansi-apply => doom-ansi-apply + autoload
2017-04-15 01:22:42 -04:00
Henrik Lissner
9c647ec636
doom/packages-install: fix format error on skipped packages
2017-04-12 12:06:19 -04:00
Henrik Lissner
c370e1cddd
Add :disabled property to def-test-group!
2017-04-12 10:52:42 -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
d8a0bc7827
doom/cleanup-buffers: add all-p parameter
2017-04-12 08:52:22 -04:00