From: Juanma Barranquero Date: Tue, 11 Feb 2014 20:48:23 +0000 (+0100) Subject: lisp/frameset.el (frameset--jump-to-register): Fix bug#16696. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~26 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=26c5ecd9de74e9bff37bd176cb3a045cc645f84b;p=emacs.git lisp/frameset.el (frameset--jump-to-register): Fix bug#16696. Select the required window and buffer before restoring position. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 31736838097..ab358fdb071 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-02-11 Juanma Barranquero + + * frameset.el (frameset--jump-to-register): Select the required + window and buffer before restoring position (bug#16696). + 2014-02-11 Lars Ingebrigtsen * dired.el (dired-get-marked-files): Clarify doc (bug#11534). diff --git a/lisp/frameset.el b/lisp/frameset.el index 7b8d613b836..aa8bb196fff 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el @@ -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)