]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/frameset.el (frameset--jump-to-register): Fix bug#16696.
authorJuanma Barranquero <lekktu@gmail.com>
Tue, 11 Feb 2014 20:48:23 +0000 (21:48 +0100)
committerJuanma Barranquero <lekktu@gmail.com>
Tue, 11 Feb 2014 20:48:23 +0000 (21:48 +0100)
Select the required window and buffer before restoring position.

lisp/ChangeLog
lisp/frameset.el

index 3173683809759d342acce21be4e7dd933ca3a427..ab358fdb0711085578c3688087f3665a694a1bf7 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-11  Juanma Barranquero  <lekktu@gmail.com>
+
+       * frameset.el (frameset--jump-to-register): Select the required
+       window and buffer before restoring position (bug#16696).
+
 2014-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
 
        * dired.el (dired-get-marked-files): Clarify doc (bug#11534).
index 7b8d613b836a9a6599a43509245907e851ee1ff8..aa8bb196fffea67ddf14e26cd5f4e39182007a69 100644 (file)
@@ -522,7 +522,6 @@ It must return:
 Frame parameters not on this alist are passed intact, as if they were
 defined with ACTION = nil.")
 
-
 (defvar frameset--target-display nil
   ;; Either (minibuffer . VALUE) or nil.
   ;; This refers to the current frame config being processed inside
@@ -1217,7 +1216,12 @@ Called from `jump-to-register'.  Internal use only."
     (let ((frame (frameset-frame-with-id (aref data 1))))
       (when frame
        (select-frame-set-input-focus frame)
-       (goto-char (aref data 2))))))
+       (let* ((position (aref data 2))
+              (buffer (marker-buffer position))
+              (window (get-buffer-window buffer frame)))
+         (when (and window (window-live-p window))
+           (set-frame-selected-window frame window)
+           (with-current-buffer buffer (goto-char position))))))))
 
 ;;;###autoload
 (defun frameset-to-register (register)