Commit graph

639 commits

Author SHA1 Message Date
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