Commit graph

13 commits

Author SHA1 Message Date
Henrik Lissner
1f07b37c9c
Fix elusive back-to-top-level error
These occurred because of disruptive kill-buffer-hooks running when the
backtrace buffer was auto-killed by the popup cleanup system. No more!
2018-06-14 00:45:57 +02:00
Henrik Lissner
a77a967299 Fix elusive 'already at top-level' error
I have hunted this bug on and off for nearly a year now. It would kill
processes randomly, move the point suddenly, and quit the active
minibuffer without warning.

The only clue it'd leave behind is an announcement in the minibuffer:
"Already at top-level".

Thanks to @UndeadKernel for the last piece of the puzzle!

Fixes #436
2018-06-12 14:13:12 +02:00
Henrik Lissner
dd57a521f3 Correct :popup/:popups docstrings 2018-06-02 18:20:09 +02:00
Henrik Lissner
209b281dc6
Move popup mode keymaps to autoload.el 2018-06-02 16:58:56 +02:00
Henrik Lissner
90ddc67337
Fix with-popup-rules! macro 2018-05-31 01:34:53 +02:00
Henrik Lissner
abd8f87e28
Move popup keymaps to config.el
This prevents void-variable +popup-buffer-mode-map errors that occur in
some hard to reproduce scenarios.

Also ensures that window-persistent-parameters is being restored when
+popup-mode is disabled.
2018-05-30 23:02:36 +02:00
Henrik Lissner
75e6ea6bee
ui/popup: delete old rule in :popup/:popups settings
In case the settings are used or ran after initialization (e.g. in the
case of doom//reload).
2018-05-30 01:39:17 +02:00
Henrik Lissner
947fe345c3
Minor, general refactor
In some contexts, map-put is superior to add-to-list.
2018-05-29 15:34:13 +02:00
Henrik Lissner
fa17de9f19
ui/popup: refactor :popup/:popups settings
And move org popup settings to lang/org
2018-05-26 23:26:45 +02:00
Henrik Lissner
4e2beb8b7e
Merge +popup-define's documentation into :popup setting's
Users are more likely to view :popup's documentation for information on
defining popup rules (they shouldn't be using +popup-define!).
2018-05-26 14:20:23 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
dcec3b9b25
feature/popup: add new autosave window parameter
(autosave . CDR)

This parameter determines what to do with modified buffers in closing
popup windows. CDR can be a t, 'ignore, a function or nil.

+ If t, no prompts. Just save them automatically (if they're
  file-visiting buffers).
+ If 'ignore, no prompts, no saving. Just silently kill it.
+ If nil (the default), prompt the user what to do if the buffer is
  file-visiting and modified.
+ If a function, the return value must return one of the other values.
  It takes two arguments: the popup window and buffer.
2018-05-19 12:08:24 +02:00
Henrik Lissner
83118dc65c
Move feature/popup => ui/popup
And move settings to ui/popup/init.el
2018-05-14 13:05:03 +02:00
Renamed from modules/feature/popup/autoload.el (Browse further)