From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#20353: M-. sometimes jumps in another window Date: Tue, 21 Apr 2015 12:34:13 +0200 Message-ID: <553627A5.3020809@gmx.at> References: <5531AAA1.5010508@yandex.ru> <5532E706.3020206@yandex.ru> <55351880.6030101@yandex.ru> <55355585.5050200@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010102070600000402000407" X-Trace: ger.gmane.org 1429612526 25984 80.91.229.3 (21 Apr 2015 10:35:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 21 Apr 2015 10:35:26 +0000 (UTC) Cc: 20353@debbugs.gnu.org To: Stefan Monnier , Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Apr 21 12:35:13 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YkVWJ-0000Jt-Oa for geb-bug-gnu-emacs@m.gmane.org; Tue, 21 Apr 2015 12:35:11 +0200 Original-Received: from localhost ([::1]:57572 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkVWJ-0002Pa-7s for geb-bug-gnu-emacs@m.gmane.org; Tue, 21 Apr 2015 06:35:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36121) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkVWF-0002NY-Dm for bug-gnu-emacs@gnu.org; Tue, 21 Apr 2015 06:35:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YkVWB-0001V7-8n for bug-gnu-emacs@gnu.org; Tue, 21 Apr 2015 06:35:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:44694) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkVWB-0001Um-61 for bug-gnu-emacs@gnu.org; Tue, 21 Apr 2015 06:35:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YkVWA-0000Q5-Ie for bug-gnu-emacs@gnu.org; Tue, 21 Apr 2015 06:35:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 21 Apr 2015 10:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20353 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20353-submit@debbugs.gnu.org id=B20353.14296124711572 (code B ref 20353); Tue, 21 Apr 2015 10:35:02 +0000 Original-Received: (at 20353) by debbugs.gnu.org; 21 Apr 2015 10:34:31 +0000 Original-Received: from localhost ([127.0.0.1]:34470 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkVVe-0000PH-UD for submit@debbugs.gnu.org; Tue, 21 Apr 2015 06:34:31 -0400 Original-Received: from mout.gmx.net ([212.227.17.20]:59251) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YkVVc-0000P3-HL for 20353@debbugs.gnu.org; Tue, 21 Apr 2015 06:34:29 -0400 Original-Received: from [93.82.15.168] ([93.82.15.168]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0Mb8HX-1Z46aX1xtL-00KdEb; Tue, 21 Apr 2015 12:34:18 +0200 In-Reply-To: X-Provags-ID: V03:K0:ZxJ5RNgeAXrigmpGpKa8z1tuEFUxpYfvaCKQd1xTaPGvxbbmzx3 66nsTVtEKqymdr4d9pu0/lTg1d4DVeaHBjsGN6a4fmHdNn3BQ/Teb+/MrcGgu1BnQYHF3VG 6f9srRWt0sAEslBrI/9YIznbxOhXWI3KtYt+TDduJ1zD4UqEOOaCQnjEstN0sRt4YF6DKSU MD4oEwcqRsbMtaB6YUNpQ== X-UI-Out-Filterresults: notjunk:1; X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:101813 Archived-At: This is a multi-part message in MIME format. --------------010102070600000402000407 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit > Right, the remembering might be part of pop-to-buffer and quit-window > rather than part of xref. Either way is fine by me. Would the attached patch fix it? martin --------------010102070600000402000407 Content-Type: text/plain; charset=windows-1252; name="quit-window.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="quit-window.diff" --- a/lisp/window.el +++ b/lisp/window.el @@ -5474,10 +5474,15 @@ element is BUFFER." (cond ((eq type 'reuse) (if (eq (window-buffer window) buffer) - ;; WINDOW shows BUFFER already. - (when (consp (window-parameter window 'quit-restore)) - ;; If WINDOW has a quit-restore parameter, reset its car. - (setcar (window-parameter window 'quit-restore) 'same)) + ;; WINDOW shows BUFFER already. Update WINDOW's quit-restore + ;; parameter, if any. + (let ((old (window-parameter window 'quit-restore))) + (when (consp old) + (set-window-parameter + window 'quit-restore + ;; The selected-window might have changed in between + ;; (Bug#20353). + (list 'same (nth 1 old) (selected-window) (nth 3 old))))) ;; WINDOW shows another buffer. (with-current-buffer (window-buffer window) (set-window-parameter --------------010102070600000402000407--