From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tom Gillespie Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Fix display-buffer-use-some-window to honor reusable-frames Date: Mon, 30 Jan 2023 17:45:26 -0500 Message-ID: References: <834jsccepb.fsf@gnu.org> <30c3d810-ed96-a9bd-c622-1761a138515c@gmx.at> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000508e4e05f382f9c7" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37942"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , emacs-devel@gnu.org, larsi@gnus.org To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jan 30 23:46:22 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pMcur-0009kX-CC for ged-emacs-devel@m.gmane-mx.org; Mon, 30 Jan 2023 23:46:21 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pMcuJ-0002SM-KS; Mon, 30 Jan 2023 17:45:47 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pMcuE-0002QH-EA for emacs-devel@gnu.org; Mon, 30 Jan 2023 17:45:42 -0500 Original-Received: from mail-yw1-x1136.google.com ([2607:f8b0:4864:20::1136]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pMcuB-0000Io-IL; Mon, 30 Jan 2023 17:45:41 -0500 Original-Received: by mail-yw1-x1136.google.com with SMTP id 00721157ae682-51ba4b1b9feso6797507b3.11; Mon, 30 Jan 2023 14:45:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=IJTjUGmYj8KMS7Ym8ASP1W+D6PMopU3NHHhip2IL4ws=; b=T41NmEC+LRm3PpU8JD+QKBaIu41rTP5J/AYAb9NhGHBmXLOwnpRRFztvr557o/7pY7 hHgjITxGRGmkCfHqsZzLYVL0Wgi6bm0HMrsWbFT7lmU+S4ImH5i4oyOVL2ZXelZLCHJ0 ih6hoH11ir4goB1CeZrTm4uLcMPmTKQ0brfzFG17cxsnVVxzowym0fn6kF/z/DtHO+66 4jmEWmNk7mP51btI3P7sr0SiFb47SG4HCik/slEzdBea2YcF0z1bjgbubZTrF1WxtRq5 4gnA8dYEP6OHgpg7pv+dcqvzt19GZdPYEFQKo6vbHwiy695vLaFEvHYbziEN/pygazsq z4zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=IJTjUGmYj8KMS7Ym8ASP1W+D6PMopU3NHHhip2IL4ws=; b=JjtUHSQ85zSELbIRnOOX3G2CYWAHhEIPNMl5EodAgrG7TtKrkM7N7WQYxyJ+86HAMQ X7FWRDW+LV+xqExbm4AO3fplTnwAUXW2jaADhayE3IT5JiCBPpmqXbL596zRI89PVH7P /f273TlTI3BCdquWIXsxwAZBgTCZ8CZrnKKeNdc10gZRYJ8SR/UVZQcgWe+EDwCf79tr 0yVCKOonggx3iShV4QkeNiHXWm9XjKU/zZySSZUZVdb7WkcR1luZxTgjGU3rNeGuUOpP rhLuzyKJDjm5hT2S5gemFFoKwWdeTuE5BmIBpXKZFmBzwCOl1m7DzkNf/JBeMry+iNpc qKSA== X-Gm-Message-State: AO0yUKXIXpaCk4TSMuQdmEIrHuWek/q0JcqdqDKYcmlTPsqLoKxNfVOM 7p+nT+Qyyq8mhf74ER1K3hCRroEAvBbQpUV4q+4= X-Google-Smtp-Source: AK7set/jQig1mxIGmxf1oqEprglIiWxVR48FX+Z8F9qflqzdAE9Gr6KEcZkhLzjPxlnRsGC/F+P/rgUl/5iOBjKgLQc= X-Received: by 2002:a05:690c:78d:b0:506:512a:a8dd with SMTP id bw13-20020a05690c078d00b00506512aa8ddmr2975952ywb.159.1675118737638; Mon, 30 Jan 2023 14:45:37 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::1136; envelope-from=tgbugs@gmail.com; helo=mail-yw1-x1136.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:302811 Archived-At: --000000000000508e4e05f382f9c7 Content-Type: text/plain; charset="UTF-8" > > is probably not what you really want. > You're right. I missed the case where we first want > to reuse an existing window if the buffer is already > displayed in it. Working on a patch to add that back. Here is the updated patch, but it comes with a question. On review, the reason why I did not include a call to display-buffer-reuse-window (or get-buffer-window) internally is because in my config I have the following (setq display-buffer-base-action '((display-buffer-reuse-window display-buffer-use-least-recent-window))) I think it is probably correct to have display-buffer-use-least-recent-window try to call display-buffer-reuse-window itself (effectively), however it does seem like it makes display-buffer-use-least-recent-window less composable because it can no longer be used to compose a base action that did not reuse existing windows. For example I can imagine that someone might want to display a buffer twice and have the 2nd instance of the buffer pick the least recent window by default. If we use this version of the patch that is no longer possible. Therefore I think the prior version of the patch from Sun, 29 Jan 2023 14:02:42 -0500 is probably the best. Tom --000000000000508e4e05f382f9c7 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-display-buffer-use-least-recent-window-to-split-.patch" Content-Disposition: attachment; filename="0001-Fix-display-buffer-use-least-recent-window-to-split-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ldjeetpt0 RnJvbSAxYmEwYWE3ODllY2RjNDg2MTJlMDc4ODkzYmRjY2Q4NTExMjE3NGRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUb20gR2lsbGVzcGllIDx0Z2J1Z3NAZ21haWwuY29tPgpEYXRl OiBUaHUsIDI2IEphbiAyMDIzIDIzOjQ3OjIyIC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gRml4IGRp c3BsYXktYnVmZmVyLXVzZS1sZWFzdC1yZWNlbnQtd2luZG93IHRvIHNwbGl0LCByZXR1cm4KIHdp bmRvdy4KCiogbGlzcC93aW5kb3cuZWwgKGRpc3BsYXktYnVmZmVyLXVzZS1sZWFzdC1yZWNlbnQt d2luZG93KTogUmV0dXJuCndpbmRvdyBpbnN0ZWFkIG9mIG5pbCwgYW5kIGFjdHVhbGx5IHNwbGl0 IGluIHNpbmdsZSB3aW5kb3cgY2FzZS4KCidkaXNwbGF5LWJ1ZmZlci11c2UtbGVhc3QtcmVjZW50 LXdpbmRvdycgbm93IHJldHVybnMgd2luZG93IGlmIG9uZSBpcwpzZWxlY3RlZCB3aGljaCBwcmV2 ZW50cyB0aGUgcmF0aGVyIG5hc3R5IGJlaGF2aW9yIG9mIHNlbGVjdGluZyBhCndpbmRvdyBpbiB0 aGUgY3VycmVudCBmcmFtZSBhbmQgdGhlbiBhbHNvIHNlbGVjdGluZyBhIHdpbmRvdyBpbgphbm90 aGVyIHJhbmRvbSBmcmFtZSBhcyB3ZWxsIChxdWl0ZSBtYWRkZW5pbmcpLgoKVGhlIGRvY3MgZm9y ICdkaXNwbGF5LWJ1ZmZlci11c2UtbGVhc3QtcmVjZW50LXdpbmRvdycgc3RhdGUgdGhhdCBpdAp3 aWxsIHBpY2sgdGhlIGxlYXN0IHJlY2VudGx5IHVzZWQgd2luZG93IGFuZCBpZiB0aGVyZSBpcyBv bmx5IGEgc2luZ2xlCndpbmRvdyBpdCB3aWxsIHNwbGl0IHRoZSB3aW5kb3cuCgpQcmlvciB0byB0 aGlzIGNvbW1pdCB0aGF0IGJlaGF2aW9yIHdhcyBpbXBvc3NpYmxlIHRvIGFjaGlldmUgYmVjYXVz ZQonZGlzcGxheS1idWZmZXItdXNlLWxlYXN0LXJlY2VudC13aW5kb3cnIHJldXNlZCB0aGUgaW50 ZXJuYWxzIG9mCidkaXNwbGF5LWJ1ZmZlci11c2Utc29tZS13aW5kb3cnIHdoaWNoIHdvdWxkIGF0 dGVtcHQgdG8gZmluZCBhIHZhbGlkCndpbmRvdyBpbiBvdGhlciBmcmFtZXMgYW5kIG5ldmVyIHNw bGl0IHRoZSBjdXJyZW50IHdpbmRvdy4KCidkaXNwbGF5LWJ1ZmZlci11c2UtbGVhc3QtcmVjZW50 LXdpbmRvdycgbm8gbG9uZ2VyIGNhbGxzCidkaXNwbGF5LWJ1ZmZlci11c2Utc29tZS13aW5kb3cn IGFuZCBpbnN0ZWFkIGRpcmVjdGx5IGNhbGxzCidnZXQtbHJ1LXdpbmRvdycgd2hpY2ggaXMgcGFz c2VkIHJldXNhYmxlLWZyYW1lcyBpZiBpdCBpcyBwcm92aWRlZC4KSWYgJ2dldC1scnUtd2luZG93 JyByZXR1cm5zIG5pbCB0aGVuICdkaXNwbGF5LWJ1ZmZlci1wb3AtcC13aW5kb3cnIGlzCnVzZWQg dG8gc3BsaXQgdGhlIGN1cnJlbnQgd2luZG93LiBJZiBhbiBleGlzdGluZyB3aW5kb3cgaXMgc2Vs ZWN0ZWQKdGhlbiBpdCBydW5zIGNvZGUgYWRhcHRlZCBmcm9tICdkaXNwbGF5LWJ1ZmZlci11c2Ut c29tZS13aW5kb3cnLgoKVGhpcyB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBjYWxscyBnZXQtYnVmZmVy LXdpbmRvdyBpbnRlcm5hbGx5LCB3aGljaApyZWR1Y2VzIHRoZSB1c2VmdWxuZXNzIG9mICdkaXNw bGF5LWJ1ZmZlci11c2UtbGVhc3QtcmVjZW50LXdpbmRvdycsIG9uCnRoZSBvbmUgaGFuZCwgYnV0 IG9uIHRoZSBvdGhlciBoYW5kIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGdldCBnZW5lcmFsbHkKc2Fu ZSBiZWhhdmlvciB1c2luZyBpdCBieSBpdHNlbGYgaW4gJ2Rpc3BsYXktYnVmZmVyLWJhc2UtYWN0 aW9uJy4KLS0tCiBsaXNwL3dpbmRvdy5lbCB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXgg MGNkMzA4MjJmZjYuLjA4MGQ3NjhkMmM2IDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtODUwNywxMCArODUwNywzOSBAQCBkaXNwbGF5LWJ1ZmZlci11 c2UtbGVhc3QtcmVjZW50LXdpbmRvdwogVGhpcyBgZGlzcGxheS1idWZmZXInIGFjdGlvbiBmdW5j dGlvbiBpcyBsaWtlCiBgZGlzcGxheS1idWZmZXItdXNlLXNvbWUtd2luZG93JywgYnV0IHdpbGwg Y3ljbGUgdGhyb3VnaCB3aW5kb3dzCiB3aGVuIGRpc3BsYXlpbmcgYnVmZmVycyByZXBlYXRlZGx5 LCBhbmQgaWYgdGhlcmUncyBvbmx5IGEgc2luZ2xlCi13aW5kb3csIGl0IHdpbGwgc3BsaXQgdGhl IHdpbmRvdy4iCi0gICh3aGVuLWxldCAoKHdpbmRvdyAoZGlzcGxheS1idWZmZXItdXNlLXNvbWUt d2luZG93Ci0gICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIChjb25zIChjb25zICdpbmhpYml0 LXNhbWUtd2luZG93IHQpIGFsaXN0KSkpKQotICAgICh3aW5kb3ctYnVtcC11c2UtdGltZSB3aW5k b3cpKSkKK3dpbmRvdywgaXQgd2lsbCBzcGxpdCB0aGUgd2luZG93LgorCitJZiBgcmV1c2FibGUt ZnJhbWVzJyBpcyBwcm92aWRlZCBpbiB0aGUgYWxpc3QgdGhlbgorYGRpc3BsYXktYnVmZmVyLXVz ZS1sZWFzdC1yZWNlbnQtd2luZG93JyB3aWxsIGF0dGVtcHQgdG8gZmluZCB0aGUKK2xlYXN0IHJl Y2VudCB3aW5kb3cgaW4gYWxsIG1hdGNoaW5nIGZyYW1lcy4gIEJ5IGRlZmF1bHQgaXQgb25seQor c2VhcmNoZXMgdGhlIGN1cnJlbnQgZnJhbWUuIgorICAobGV0KiAoKHJldXNhYmxlLWZyYW1lcyAo Y2RyIChhc3NxICdyZXVzYWJsZS1mcmFtZXMgYWxpc3QpKSkKKyAgICAgICAgIChmcmFtZSAob3Ig KHdpbmRvdy0tZnJhbWUtdXNhYmxlLXAgKHNlbGVjdGVkLWZyYW1lKSkKKyAgICAgICAgICAgICAg ICAgICAgKHdpbmRvdy0tZnJhbWUtdXNhYmxlLXAgKGxhc3Qtbm9ubWluaWJ1ZmZlci1mcmFtZSkp KSkKKyAgICAgICAgICh3aW5kb3cgKG9yIChnZXQtYnVmZmVyLXdpbmRvdyBidWZmZXIgKG9yIHJl dXNhYmxlLWZyYW1lcyBmcmFtZSkpCisgICAgICAgICAgICAgICAgICAgICAoZ2V0LWxydS13aW5k b3cgKG9yIHJldXNhYmxlLWZyYW1lcyBmcmFtZSkgbmlsIHQpKSkpCisgICAgKGxldCAoKHdpbmRv dworICAgICAgICAgICAoaWYgd2luZG93CisgICAgICAgICAgICAgICAobGV0KiAoKHF1aXQtcmVz dG9yZSAoYW5kICh3aW5kb3ctbGl2ZS1wIHdpbmRvdykKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUp KSkKKyAgICAgICAgICAgICAgICAgICAgICAocXVhZCAobnRoIDEgcXVpdC1yZXN0b3JlKSkpCisg ICAgICAgICAgICAgICAgICh3aGVuICh3aW5kb3ctbGl2ZS1wIHdpbmRvdykKKyAgICAgICAgICAg ICAgICAgICA7OyBJZiB0aGUgd2luZG93IHdhcyB1c2VkIGJ5IGBkaXNwbGF5LWJ1ZmZlcicgYmVm b3JlLCB0cnkgdG8KKyAgICAgICAgICAgICAgICAgICA7OyByZXNpemUgaXQgdG8gaXRzIG9sZCBo ZWlnaHQgYnV0IGRvbid0IHNpZ25hbCBhbiBlcnJvci4KKyAgICAgICAgICAgICAgICAgICAod2hl biAoYW5kIChsaXN0cCBxdWFkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludGVn ZXJwIChudGggMyBxdWFkKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg+IChudGgg MyBxdWFkKSAod2luZG93LXRvdGFsLWhlaWdodCB3aW5kb3cpKSkKKyAgICAgICAgICAgICAgICAg ICAgIChjb25kaXRpb24tY2FzZSBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAod2luZG93 LXJlc2l6ZSB3aW5kb3cgKC0gKG50aCAzIHF1YWQpICh3aW5kb3ctdG90YWwtaGVpZ2h0IHdpbmRv dykpKQorICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IgbmlsKSkpCisgICAgICAgICAgICAg ICAgICAgKHdpbmRvdy0tZGlzcGxheS1idWZmZXIgYnVmZmVyIHdpbmRvdyAncmV1c2UgYWxpc3Qp CisgICAgICAgICAgICAgICAgICAgKHdpbmRvdy0tZXZlbi13aW5kb3ctc2l6ZXMgd2luZG93KQor ICAgICAgICAgICAgICAgICAgICh1bmxlc3MgKGNkciAoYXNzcSAnaW5oaWJpdC1zd2l0Y2gtZnJh bWUgYWxpc3QpKQorICAgICAgICAgICAgICAgICAgICAgKHdpbmRvdy0tbWF5YmUtcmFpc2UtZnJh bWUgKHdpbmRvdy1mcmFtZSB3aW5kb3cpKSkpKQorICAgICAgICAgICAgIChkaXNwbGF5LWJ1ZmZl ci1wb3AtdXAtd2luZG93IGJ1ZmZlciBhbGlzdCkpKSkKKyAgICAgICh3aGVuIHdpbmRvdworICAg ICAgICAod2luZG93LWJ1bXAtdXNlLXRpbWUgd2luZG93KQorICAgICAgICB3aW5kb3cpKSkpCiAK IChkZWZ1biBkaXNwbGF5LWJ1ZmZlci11c2Utc29tZS13aW5kb3cgKGJ1ZmZlciBhbGlzdCkKICAg IkRpc3BsYXkgQlVGRkVSIGluIGFuIGV4aXN0aW5nIHdpbmRvdy4KLS0gCjIuMzkuMQoK --000000000000508e4e05f382f9c7--