diff lisp/register.el @ 20324:2365fc61875d

(window-configuration-to-register): (frame-configuration-to-register): Include (point) in the saved value. (jump-to-register): Restore (point) as well as window or frame config.
author Karl Heuer <kwzh@gnu.org>
date Sun, 23 Nov 1997 02:12:23 +0000
parents e69577ede89e
children 01d602ca5dcf
line wrap: on
line diff
--- a/lisp/register.el	Sun Nov 23 02:10:07 1997 +0000
+++ b/lisp/register.el	Sun Nov 23 02:12:23 1997 +0000
@@ -68,14 +68,18 @@
 Use \\[jump-to-register] to restore the configuration.
 Argument is a character, naming the register."
   (interactive "cWindow configuration to register: \nP")
-  (set-register register (current-window-configuration)))
+  ;; current-window-configuration does not include the value
+  ;; of point in the current buffer, so record that separately.
+  (set-register register (list (current-window-configuration) (point))))
 
 (defun frame-configuration-to-register (register &optional arg)
   "Store the window configuration of all frames in register REGISTER.
 Use \\[jump-to-register] to restore the configuration.
 Argument is a character, naming the register."
   (interactive "cFrame configuration to register: \nP")
-  (set-register register (current-frame-configuration)))
+  ;; current-frame-configuration does not include the value
+  ;; of point in the current buffer, so record that separately.
+  (set-register register (list (current-frame-configuration) (point))))
 
 (defalias 'register-to-point 'jump-to-register)
 (defun jump-to-register (register &optional delete)
@@ -91,11 +95,12 @@
   (interactive "cJump to register: \nP")
   (let ((val (get-register register)))
     (cond
-     ((and (fboundp 'frame-configuration-p)
-	   (frame-configuration-p val))
-      (set-frame-configuration val (not delete)))
-     ((window-configuration-p val)
-      (set-window-configuration val))
+     ((and (consp val) (frame-configuration-p (car val)))
+      (set-frame-configuration (car val) (not delete))
+      (goto-char (cadr val)))
+     ((and (consp val) (window-configuration-p (car val)))
+      (set-window-configuration (car val))
+      (goto-char (cadr val)))
      ((markerp val)
       (or (marker-buffer val)
 	  (error "That register's buffer no longer exists"))