;;; Code:
+(defvar switch-to-buffer-hooks nil
+ "Hooks to run after a recorded buffer switch.")
+
(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
(next-window (minibuffer-window))
(selected-window))
buf)
+ ;; XEmacs change
+ (or norecord (run-hook-with-args 'switch-to-buffer-hooks buf))
buf))
(defun pop-to-buffer (bufname &optional not-this-window-p on-frame)