(defun switch-to-buffer (buffer-or-name &optional norecord force-same-window)
"Display buffer BUFFER-OR-NAME in the selected window.
WARNING: This is NOT the way to work on another buffer temporarily within a Lisp program!
Use `set-buffer' instead. That avoids messing with the window-buffer correspondences.
To quote the emacs source: