As of Emacs
26.1, switch-to-buffer-preserve-window-point defaults
to t, which solves the problem that pointback.el
In Emacs <26.1, when you have two windows X and Y showing
different sections of the same buffer B, then open a different
buffer in X, and then show B in X again, the new point in X will
be the same as in Y. With pointback-mode, window points are
preserved instead, and point will be where it originally was in X
for B when you return to B.
To install, copy pointback.el to your
load-path and add to your .emacs:
Then toggle the mode with M-x pointback-mode RET.