And, hardly three years later after you precisely reported the problem,
here's a fix.  Sorry for the huge delay!  (And thanks for the original
report!)
I'll apply Wednesday-ish if nobody objects.
Yoshiaki Kasahara <kasahara(a)nc.kyushu-u.ac.jp> writes:
 On Sun, 04 Apr 2004 11:25:29 +0200,
 	Michael Sperber <sperber(a)informatik.uni-tuebingen.de> said:
> Can you provide a recipe for reproducing the problem?
 Well, how about this simple example?
 in *scratch* buffer:
 (setq wc (current-window-configuration)) <hit "C-j">
 <hit "C-x 2" to split the frame>
 (set-window-configuration wc) <hit "C-j">
 You will see the cursor returns to the next line of "(setq ...".  When
 I did the same things in other kinds of Emacs, the cursor didn't jump
 and stay after the line of "(set-window..". 
2007-08-20  Mike Sperber  <mike(a)xemacs.org>
	* window-xemacs.el (root-window->saved-window): 
	(restore-saved-window-parameters): Don't save the point of the
	current buffer, as per the docstring.
-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
Index: lisp/window-xemacs.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/window-xemacs.el,v
retrieving revision 1.25
diff -u -r1.25 window-xemacs.el
--- lisp/window-xemacs.el	31 Oct 2006 09:16:29 -0000	1.25
+++ lisp/window-xemacs.el	20 Aug 2007 14:19:51 -0000
@@ -278,11 +278,10 @@
 	      (let ((marker (make-marker)))
 		(set-marker marker (window-start window) buffer)
 		(setf (saved-window-start-marker saved-window) marker))
-	      (let ((marker (make-marker)))
-		(if (eq window (selected-window))
-		    (set-marker marker (point buffer) buffer)
-		  (set-marker marker (window-point window) buffer))
-		(setf (saved-window-point-marker saved-window) marker))
+	      (if (not (eq buffer (current-buffer)))
+		  (let ((marker (make-marker)))
+		    (set-marker marker (window-point window) buffer)
+		    (setf (saved-window-point-marker saved-window) marker)))
 	      (setf (saved-window-mark-marker saved-window)
 		    (copy-marker (mark-marker t buffer)))))
 	saved-window))))
@@ -417,8 +416,9 @@
 	  (set-window-start window
 			    (marker-position (saved-window-start-marker saved-window))
 			    t)
-	  (set-window-point window
-			    (marker-position (saved-window-point-marker saved-window)))
+	  (if (markerp (saved-window-point-marker saved-window))
+	      (set-window-point window
+				(marker-position (saved-window-point-marker saved-window))))
 	  (set-marker (mark-marker t buffer)
 		      (marker-position (saved-window-mark-marker saved-window))
 		      buffer)
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta