el/dot-emacs.el: Hoist `mdw-display-buffer-in-designated-window'.
[profile] / el / dot-emacs.el
index d7b4800..16ee196 100644 (file)
@@ -87,15 +87,16 @@ This may be at the expense of cool features.")
 ;; If individual bits of this file go tits-up, we don't particularly want
 ;; the whole lot to stop right there and then, because it's bloody annoying.
 
-(defmacro trap (&rest forms)
-  "Execute FORMS without allowing errors to propagate outside."
-  (declare (indent 0)
-          (debug t))
-  `(condition-case err
-       ,(if (cdr forms) (cons 'progn forms) (car forms))
-     (error (message "Error (trapped): %s in %s"
-                    (error-message-string err)
-                    ',forms))))
+(eval-and-compile
+  (defmacro trap (&rest forms)
+    "Execute FORMS without allowing errors to propagate outside."
+    (declare (indent 0)
+            (debug t))
+    `(condition-case err
+        ,(if (cdr forms) (cons 'progn forms) (car forms))
+       (error (message "Error (trapped): %s in %s"
+                      (error-message-string err)
+                      ',forms)))))
 
 ;; Configuration reading.
 
@@ -662,6 +663,14 @@ Evil key bindings are defined in `mdw-evil-keymap-keys'."
 (defvar mdw-designated-window nil
   "The window chosen by `mdw-designate-window', or nil.")
 
+(defun mdw-display-buffer-in-designated-window (buffer alist)
+  "Display function to use the designated window."
+  (prog1 mdw-designated-window
+    (when mdw-designated-window
+      (with-selected-window mdw-designated-window
+       (switch-to-buffer buffer nil t)))
+    (setq mdw-designated-window nil)))
+
 (defun mdw-designate-window (cancel)
   "Use the selected window for the next pop-up buffer.
 With a prefix argument, clear the designated window."
@@ -673,14 +682,6 @@ With a prefix argument, clear the designated window."
         (setq mdw-designated-window (selected-window))
         (message "Window designated."))))
 
-(defun mdw-display-buffer-in-designated-window (buffer alist)
-  "Display function to use the designated window."
-  (prog1 mdw-designated-window
-    (when mdw-designated-window
-      (select-window mdw-designated-window)
-      (switch-to-buffer buffer nil t))
-    (setq mdw-designated-window nil)))
-
 (setq display-buffer-base-action
       (let* ((action display-buffer-base-action)
             (funcs (car action))