about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--exwm-input.el2
-rw-r--r--exwm-workspace.el13
2 files changed, 10 insertions, 5 deletions
diff --git a/exwm-input.el b/exwm-input.el
index 555cc87f9fa5..f218ea26e105 100644
--- a/exwm-input.el
+++ b/exwm-input.el
@@ -135,6 +135,7 @@ This value should always be overwritten.")
 (declare-function exwm-workspace--minibuffer-own-frame-p "exwm-workspace.el")
 (declare-function exwm-workspace-switch "exwm-workspace.el"
                   (frame-or-index &optional force))
+(declare-function exwm-workspace--workspace-p "exwm-workspace.el" (workspace))
 
 (defun exwm-input--update-focus (window)
   "Update input focus."
@@ -209,7 +210,6 @@ This value should always be overwritten.")
 (declare-function exwm-floating--start-moveresize "exwm-floating.el"
                   (id &optional type))
 (declare-function exwm-workspace--position "exwm-workspace.el" (frame))
-(declare-function exwm-workspace--workspace-p "exwm-workspace.el" (workspace))
 
 (defvar exwm-workspace--list)
 
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 3e2fe1abb591..7c2601a3bc14 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -571,7 +571,8 @@ before it."
                      (eq (elt exwm-workspace--list nth)
                          exwm-workspace--current)))
       ;; Do the move.
-      (pop (nthcdr pos exwm-workspace--list))
+      (with-no-warnings                 ;For Emacs 24.
+        (pop (nthcdr pos exwm-workspace--list)))
       (push workspace (nthcdr nth exwm-workspace--list))
       ;; Update the _NET_WM_DESKTOP property of each X window affected.
       (setq start (min pos nth)
@@ -994,9 +995,13 @@ Please check `exwm-workspace--minibuffer-own-frame-p' first."
   ;;        frame is the 'selected frame'.  `get-buffer-window' will
   ;;        fail to retrieve the correct window.  It's likely there are
   ;;        other related issues.
-  (let ((window (get-buffer-window "*Completions*" exwm-workspace--current)))
-    (when window
-      (fit-window-to-buffer window nil nil nil nil t))))
+  ;; This is not required by Emacs 24.
+  (when (fboundp 'window-preserve-size)
+    (let ((window (get-buffer-window "*Completions*"
+                                     exwm-workspace--current)))
+      (when window
+        (fit-window-to-buffer window)
+        (window-preserve-size window)))))
 
 (defun exwm-workspace--on-minibuffer-exit ()
   "Run in minibuffer-exit-hook to hide the minibuffer container."