X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fbuffer.el;h=057583b8a17673b986a7a7d790bc1b1504eb7b8b;hb=d6e1720d3ff092d6d49fa42546089ccae66babb5;hp=44f922185373ed17fe8537c8f7c2eb2c109c1a3e;hpb=6883ee56ec887c2c48abe5b06b5e66aa74031910;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/buffer.el b/lisp/buffer.el index 44f9221..057583b 100644 --- a/lisp/buffer.el +++ b/lisp/buffer.el @@ -34,9 +34,9 @@ (defun switch-to-buffer (bufname &optional norecord) "Select buffer BUFNAME in the current window. -BUFNAME may be a buffer or a buffer name and is created if did not exist. -Optional second arg NORECORD non-nil means -do not put this buffer at the front of the list of recently selected ones. +BUFNAME may be a buffer or a buffer name and is created if it did not exist. +Optional second arg NORECORD non-nil means do not put this buffer at the +front of the list of recently selected ones. WARNING: This is NOT the way to work on another buffer temporarily within a Lisp program! Use `set-buffer' instead. That avoids messing with @@ -60,11 +60,7 @@ the window-buffer correspondences." (set-buffer-major-mode buf)))) (push-window-configuration) (set-buffer buf) - (or norecord (record-buffer buf)) - (set-window-buffer (if (eq (selected-window) (minibuffer-window)) - (next-window (minibuffer-window)) - (selected-window)) - buf) + (set-window-buffer (last-nonminibuf-window) buf norecord) buf)) (defun pop-to-buffer (bufname &optional not-this-window-p on-frame) @@ -75,7 +71,12 @@ If optional second arg NOT-THIS-WINDOW-P is non-nil, insist on finding another window even if BUFNAME is already visible in the selected window. If optional third arg is non-nil, it is the frame to pop to this buffer on. -If `focus-follows-mouse' is non-nil, keyboard focus is left unchanged." +If `focus-follows-mouse' is non-nil, keyboard focus is left unchanged. + +Buffers with names that are members of the `same-window-buffer-names' +list, or that match an element of the `same-window-regexps' list are +treated specially by this function--they are always selected in the +same window rather than in a different one." ;; #ifdef I18N3 ;; #### Doc string should indicate that the buffer name will get ;; translated.