 
   (defun +workspaces*evil-alternate-buffer (&optional window)
     "Make `evil-alternate-buffer' ignore buffers outside the current workspace."
-    (let* ((prev-buffers (cl-remove-if-not #'persp-contain-buffer-p (window-prev-buffers)
-                                           :key #'car))
+    (let* ((prev-buffers (if persp-mode
+                             (cl-remove-if-not #'persp-contain-buffer-p (window-prev-buffers)
+                                               :key #'car)
+                           (window-prev-buffers)))
            (head (car prev-buffers)))
       (if (eq (car head) (window-buffer window))
           (cadr prev-buffers)


  (defun +workspaces|add-current-buffer ()
    "Add current buffer to focused perspective."
    (persp-add-buffer (current-buffer) (get-current-persp)))
  (add-hook 'doom-switch-buffer-hook #'+workspaces|add-current-buffer)

  (add-to-list 'persp-add-buffer-on-after-change-major-mode-filter-functions

           (when uniquify-buffer-name-style
             (setq +workspace--old-uniquify-style uniquify-buffer-name-style))
           (setq uniquify-buffer-name-style nil)
           ;; Ensure `persp-kill-buffer-query-function' is last
           (remove-hook 'kill-buffer-query-functions #'persp-kill-buffer-query-function)
           (add-hook 'kill-buffer-query-functions #'persp-kill-buffer-query-function t)
           ;; Restrict buffer list to workspace
           (advice-add #'doom-buffer-list :override #'+workspace-buffer-list))
          (t
           (when +workspace--old-uniquify-style
             (setq uniquify-buffer-name-style +workspace--old-uniquify-style))
           (advice-remove #'doom-buffer-list #'+workspace-buffer-list))))
  (add-hook 'persp-mode-hook #'+workspaces|init-persp-mode)

  ;; We don't rely on the built-in mechanism for auto-registering a buffer to
  ;; the current workspace; some buffers slip through the cracks. Instead, we
