diff options
| author | Martin Rudalics | 2012-08-31 18:51:49 +0200 |
|---|---|---|
| committer | Martin Rudalics | 2012-08-31 18:51:49 +0200 |
| commit | 862382df3db08238c471025bfdd26ec33fd7a387 (patch) | |
| tree | 61dca34dbcd6031dfdf868f1d9f73cffe5d1376d | |
| parent | 7b2fbe3b46bf422f9fb9b21d001de58a4f904abd (diff) | |
| download | emacs-862382df3db08238c471025bfdd26ec33fd7a387.tar.gz emacs-862382df3db08238c471025bfdd26ec33fd7a387.zip | |
Consider frame's buffer predicate in switch-to-prev-/next-buffer.
* window.el (switch-to-prev-buffer, switch-to-next-buffer):
Consider frame's buffer predicate when choosing the buffer.
(Bug#12081)
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/window.el | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3034d7f6adf..ce4493d4c76 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-08-31 Alp Aker <alp.tekin.aker@gmail.com> | ||
| 2 | |||
| 3 | * window.el (switch-to-prev-buffer, switch-to-next-buffer): | ||
| 4 | Consider frame's buffer predicate when choosing the buffer. | ||
| 5 | (Bug#12081) | ||
| 6 | |||
| 1 | 2012-08-30 Richard Stallman <rms@gnu.org> | 7 | 2012-08-30 Richard Stallman <rms@gnu.org> |
| 2 | 8 | ||
| 3 | * simple.el (special-mode-map): Delete binding for `z'. | 9 | * simple.el (special-mode-map): Delete binding for `z'. |
diff --git a/lisp/window.el b/lisp/window.el index 8f410ea3d4d..c72093334d8 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -2979,6 +2979,7 @@ shall not be switched to in future invocations of this command." | |||
| 2979 | (old-buffer (window-buffer window)) | 2979 | (old-buffer (window-buffer window)) |
| 2980 | ;; Save this since it's destroyed by `set-window-buffer'. | 2980 | ;; Save this since it's destroyed by `set-window-buffer'. |
| 2981 | (next-buffers (window-next-buffers window)) | 2981 | (next-buffers (window-next-buffers window)) |
| 2982 | (pred (frame-parameter frame 'buffer-predicate)) | ||
| 2982 | entry buffer new-buffer killed-buffers visible) | 2983 | entry buffer new-buffer killed-buffers visible) |
| 2983 | (when (window-dedicated-p window) | 2984 | (when (window-dedicated-p window) |
| 2984 | (error "Window %s is dedicated to buffer %s" window old-buffer)) | 2985 | (error "Window %s is dedicated to buffer %s" window old-buffer)) |
| @@ -2991,6 +2992,7 @@ shall not be switched to in future invocations of this command." | |||
| 2991 | (or (buffer-live-p buffer) | 2992 | (or (buffer-live-p buffer) |
| 2992 | (not (setq killed-buffers | 2993 | (not (setq killed-buffers |
| 2993 | (cons buffer killed-buffers)))) | 2994 | (cons buffer killed-buffers)))) |
| 2995 | (or (null pred) (funcall pred buffer)) | ||
| 2994 | (not (eq buffer old-buffer)) | 2996 | (not (eq buffer old-buffer)) |
| 2995 | (or bury-or-kill (not (memq buffer next-buffers)))) | 2997 | (or bury-or-kill (not (memq buffer next-buffers)))) |
| 2996 | (if (and (not switch-to-visible-buffer) | 2998 | (if (and (not switch-to-visible-buffer) |
| @@ -3013,6 +3015,7 @@ shall not be switched to in future invocations of this command." | |||
| 3013 | (when (and (buffer-live-p buffer) | 3015 | (when (and (buffer-live-p buffer) |
| 3014 | (not (eq buffer old-buffer)) | 3016 | (not (eq buffer old-buffer)) |
| 3015 | (not (eq (aref (buffer-name buffer) 0) ?\s)) | 3017 | (not (eq (aref (buffer-name buffer) 0) ?\s)) |
| 3018 | (or (null pred) (funcall pred buffer)) | ||
| 3016 | (or bury-or-kill (not (memq buffer next-buffers)))) | 3019 | (or bury-or-kill (not (memq buffer next-buffers)))) |
| 3017 | (if (get-buffer-window buffer frame) | 3020 | (if (get-buffer-window buffer frame) |
| 3018 | ;; Try to avoid showing a buffer visible in some other window. | 3021 | ;; Try to avoid showing a buffer visible in some other window. |
| @@ -3031,6 +3034,7 @@ shall not be switched to in future invocations of this command." | |||
| 3031 | (not (setq killed-buffers | 3034 | (not (setq killed-buffers |
| 3032 | (cons buffer killed-buffers)))) | 3035 | (cons buffer killed-buffers)))) |
| 3033 | (not (eq buffer old-buffer)) | 3036 | (not (eq buffer old-buffer)) |
| 3037 | (or (null pred) (funcall pred buffer)) | ||
| 3034 | (setq entry (assq buffer (window-prev-buffers window)))) | 3038 | (setq entry (assq buffer (window-prev-buffers window)))) |
| 3035 | (setq new-buffer buffer) | 3039 | (setq new-buffer buffer) |
| 3036 | (set-window-buffer-start-and-point | 3040 | (set-window-buffer-start-and-point |
| @@ -3075,6 +3079,7 @@ found." | |||
| 3075 | (frame (window-frame window)) | 3079 | (frame (window-frame window)) |
| 3076 | (old-buffer (window-buffer window)) | 3080 | (old-buffer (window-buffer window)) |
| 3077 | (next-buffers (window-next-buffers window)) | 3081 | (next-buffers (window-next-buffers window)) |
| 3082 | (pred (frame-parameter frame 'buffer-predicate)) | ||
| 3078 | buffer new-buffer entry killed-buffers visible) | 3083 | buffer new-buffer entry killed-buffers visible) |
| 3079 | (when (window-dedicated-p window) | 3084 | (when (window-dedicated-p window) |
| 3080 | (error "Window %s is dedicated to buffer %s" window old-buffer)) | 3085 | (error "Window %s is dedicated to buffer %s" window old-buffer)) |
| @@ -3086,6 +3091,7 @@ found." | |||
| 3086 | (not (setq killed-buffers | 3091 | (not (setq killed-buffers |
| 3087 | (cons buffer killed-buffers)))) | 3092 | (cons buffer killed-buffers)))) |
| 3088 | (not (eq buffer old-buffer)) | 3093 | (not (eq buffer old-buffer)) |
| 3094 | (or (null pred) (funcall pred buffer)) | ||
| 3089 | (setq entry (assq buffer (window-prev-buffers window)))) | 3095 | (setq entry (assq buffer (window-prev-buffers window)))) |
| 3090 | (setq new-buffer buffer) | 3096 | (setq new-buffer buffer) |
| 3091 | (set-window-buffer-start-and-point | 3097 | (set-window-buffer-start-and-point |
| @@ -3096,6 +3102,7 @@ found." | |||
| 3096 | (dolist (buffer (buffer-list frame)) | 3102 | (dolist (buffer (buffer-list frame)) |
| 3097 | (when (and (buffer-live-p buffer) (not (eq buffer old-buffer)) | 3103 | (when (and (buffer-live-p buffer) (not (eq buffer old-buffer)) |
| 3098 | (not (eq (aref (buffer-name buffer) 0) ?\s)) | 3104 | (not (eq (aref (buffer-name buffer) 0) ?\s)) |
| 3105 | (or (null pred) (funcall pred buffer)) | ||
| 3099 | (not (assq buffer (window-prev-buffers window)))) | 3106 | (not (assq buffer (window-prev-buffers window)))) |
| 3100 | (if (get-buffer-window buffer frame) | 3107 | (if (get-buffer-window buffer frame) |
| 3101 | ;; Try to avoid showing a buffer visible in some other window. | 3108 | ;; Try to avoid showing a buffer visible in some other window. |
| @@ -3110,6 +3117,7 @@ found." | |||
| 3110 | (or (buffer-live-p buffer) | 3117 | (or (buffer-live-p buffer) |
| 3111 | (not (setq killed-buffers | 3118 | (not (setq killed-buffers |
| 3112 | (cons buffer killed-buffers)))) | 3119 | (cons buffer killed-buffers)))) |
| 3120 | (or (null pred) (funcall pred buffer)) | ||
| 3113 | (not (eq buffer old-buffer))) | 3121 | (not (eq buffer old-buffer))) |
| 3114 | (if (and (not switch-to-visible-buffer) | 3122 | (if (and (not switch-to-visible-buffer) |
| 3115 | (get-buffer-window buffer frame)) | 3123 | (get-buffer-window buffer frame)) |