From abd8f87e280a0d550f71c6aef47b3dcdbad78b75 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 30 May 2018 23:02:36 +0200 Subject: [PATCH] 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. --- modules/ui/popup/autoload.el | 12 ++---------- modules/ui/popup/config.el | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/modules/ui/popup/autoload.el b/modules/ui/popup/autoload.el index c434a8a41..da2621a2e 100644 --- a/modules/ui/popup/autoload.el +++ b/modules/ui/popup/autoload.el @@ -257,15 +257,6 @@ Uses `shrink-window-if-larger-than-buffer'." ;; Minor mode ;; -;;;###autoload -(defvar +popup-mode-map (make-sparse-keymap) - "Active keymap in a session with the popup system enabled. See -`+popup-mode'.") - -;;;###autoload -(defvar +popup-buffer-mode-map (make-sparse-keymap) - "Active keymap in popup windows. See `+popup-buffer-mode'.") - ;;;###autoload (define-minor-mode +popup-mode "Global minor mode representing Doom's popup management system." @@ -291,7 +282,8 @@ Uses `shrink-window-if-larger-than-buffer'." window--sides-inhibit-check nil) (+popup|cleanup-rules) (dolist (prop +popup-window-parameters) - (map-delete window-persistent-parameters prop))))) + (setq window-persistent-parameters + (map-delete window-persistent-parameters prop)))))) ;;;###autoload (define-minor-mode +popup-buffer-mode diff --git a/modules/ui/popup/config.el b/modules/ui/popup/config.el index 552ed57c6..47ab76df9 100644 --- a/modules/ui/popup/config.el +++ b/modules/ui/popup/config.el @@ -97,6 +97,19 @@ a brief description of some native window parameters that Emacs uses: "The default time-to-live for transient buffers whose popup buffers have been deleted.") +(defvar +popup-mode-map (make-sparse-keymap) + "Active keymap in a session with the popup system enabled. See +`+popup-mode'.") + +(defvar +popup-buffer-mode-map + (let ((map (make-sparse-keymap))) + (when (featurep! :feature evil) + ;; for maximum escape coverage in emacs state buffers + (define-key map [escape] #'doom/escape) + (define-key map (kbd "ESC") #'doom/escape)) + map) + "Active keymap in popup windows. See `+popup-buffer-mode'.") + ;; ;; Default popup rules & bootstrap @@ -148,13 +161,6 @@ deleted.") +popup|set-modeline-on-enable +popup|unset-modeline-on-disable)) -(let ((map +popup-buffer-mode-map)) - (when (featurep! :feature evil) - ;; for maximum escape coverage in emacs state buffers - (define-key map [escape] #'doom/escape) - (define-key map (kbd "ESC") #'doom/escape)) - map) - ;; ;; Hacks