diff --git a/src/workgroups2.el b/src/workgroups2.el index b4f436c..9d2e38c 100644 --- a/src/workgroups2.el +++ b/src/workgroups2.el @@ -1134,27 +1134,29 @@ If BUF's file doesn't exist, call `wg-restore-default-buffer'." (defun wg-restore-buffer (buf &optional switch) "Restore BUF, return it and maybe SWITCH to it." - (when buf - (when wg-debug - (message "wg-restore-buffer called => %s" buf)) - (fset 'buffer-list wg-buffer-list-original) - (cond - ((wg-restore-existing-buffer buf switch) + (let ((rlt t)) + (when buf (when wg-debug - (message "wg-restore-existing-buffer succeeded."))) + (message "wg-restore-buffer called => %s" buf)) + (fset 'buffer-list wg-buffer-list-original) + (cond + ((wg-restore-existing-buffer buf switch) + (when wg-debug + (message "wg-restore-existing-buffer succeeded."))) - ((wg-restore-special-buffer buf switch) - (when wg-debug - (message "wg-restore-special-buffer succeeded."))) + ((wg-restore-special-buffer buf switch) + (when wg-debug + (message "wg-restore-special-buffer succeeded."))) - ((wg-restore-file-buffer buf switch) - (when wg-debug - (message "wg-restore-file-buffer succeeded."))) - (t - (wg-restore-default-buffer switch) - (when wg-debug - (message "wg-restore-default-buffer called."))))) - nil) + ((wg-restore-file-buffer buf switch) + (when wg-debug + (message "wg-restore-file-buffer succeeded."))) + (t + (wg-restore-default-buffer switch) + (setq rlt nil) + (when wg-debug + (message "wg-restore-default-buffer called."))))) + rlt)) (defun wg-buffer-uid (buffer-or-name) "Return BUFFER-OR-NAME's buffer-local value of `wg-buffer-uid'."