# HG changeset patch # User Chong Yidong # Date 1181059155 0 # Node ID 32e17b491f4f511711f72b1580778c1b76040ae2 # Parent 552e43e7efe5dac7f49cc2795048d0c7d56a7025 (bs-cycle-previous): Don't modify the cycle list until `switch-to-buffer' has returned succesfully. (bs-cycle-next): Ditto. Also, don't bury the buffer when the window is dedicated (it could iconify the frame). diff -r 552e43e7efe5 -r 32e17b491f4f lisp/bs.el --- a/lisp/bs.el Tue Jun 05 15:58:40 2007 +0000 +++ b/lisp/bs.el Tue Jun 05 15:59:15 2007 +0000 @@ -1221,10 +1221,13 @@ bs--cycle-list))) (next (car tupel)) (cycle-list (cdr tupel))) + (unless (window-dedicated-p (selected-window)) + ;; We don't want the frame iconified if the only window in the frame + ;; happens to be dedicated; let's get the error from switch-to-buffer + (bury-buffer)) + (switch-to-buffer next) (setq bs--cycle-list (append (cdr cycle-list) (list (car cycle-list)))) - (bury-buffer) - (switch-to-buffer next) (bs-message-without-log "Next buffers: %s" (or (cdr bs--cycle-list) "this buffer")))))) @@ -1251,9 +1254,9 @@ bs--cycle-list))) (prev-buffer (car tupel)) (cycle-list (cdr tupel))) + (switch-to-buffer prev-buffer) (setq bs--cycle-list (append (last cycle-list) (reverse (cdr (reverse cycle-list))))) - (switch-to-buffer prev-buffer) (bs-message-without-log "Previous buffers: %s" (or (reverse (cdr bs--cycle-list)) "this buffer"))))))