From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 6HGvMrkPkmFX6wAAgWs5BA (envelope-from ) for ; Mon, 15 Nov 2021 08:43:53 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id AOnULbkPkmG/KgAAB5/wlQ (envelope-from ) for ; Mon, 15 Nov 2021 07:43:53 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0054722262 for ; Mon, 15 Nov 2021 08:43:53 +0100 (CET) Received: from localhost ([::1]:44244 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mmWee-0002P3-5u for larch@yhetil.org; Mon, 15 Nov 2021 02:43:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41928) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mmWdG-0002Nz-UW for emacs-orgmode@gnu.org; Mon, 15 Nov 2021 02:42:29 -0500 Received: from [2a01:488:66:1000:2ea3:4d27:0:1] (port=34840 helo=thenybble.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mmWdE-00054P-O4 for emacs-orgmode@gnu.org; Mon, 15 Nov 2021 02:42:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thenybble.de; s=two; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: From:References:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Rq2XDr9BRyqKGMcsQTR6xLie2uVlK2BJ/NlE4kZ02mA=; b=uOja+rgFtphN3ck1QNxKPYL2dg k1eUECb99LedPBhei3YsP0oMRA0AyHVbpVEHVNPG+uQjhSNL1nBuIQ51nK7EZ2jLFpBWc8tItQDaw xx3aPIaoLtIFTsaKGTIBy3x5fv22rBFesYOgb3EKdiM8T7A1pYQ5TdWgfvlQZtiL4PUQ=; Received: from [2001:16b8:2db2:9400:c4e8:f620:9819:2089] by thenybble.de with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1mmWd7-0007P6-Ed; Mon, 15 Nov 2021 08:42:17 +0100 Message-ID: Date: Mon, 15 Nov 2021 08:42:18 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: Bug: org-no-popups disregards display-buffer-fallback-action 9.4.6 Content-Language: en-US To: Max Nikulin , emacs-orgmode@gnu.org References: <87a6ic5u1c.fsf@dumper.i-did-not-set--mail-host-address--so-tickle-me> <06bed7f3-4f31-4d66-4314-18c08c8dbb34@gmail.com> In-Reply-To: <06bed7f3-4f31-4d66-4314-18c08c8dbb34@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a01:488:66:1000:2ea3:4d27:0:1 (failed) Received-SPF: permerror client-ip=2a01:488:66:1000:2ea3:4d27:0:1; envelope-from=jan.seeger@thenybble.de; helo=thenybble.de X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 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, NICE_REPLY_A=-2.278, RDNS_NONE=0.793, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" Reply-to: Jan Seeger From: Jan Seeger via "General discussions about Org-mode." X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1636962233; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=Rq2XDr9BRyqKGMcsQTR6xLie2uVlK2BJ/NlE4kZ02mA=; b=mMe2iqpyE4WXfkeI/7a0kAsoXFYnHELgnnH07y5FKPmoqyrJaU9b0LoH2vhhL6OyUTOXyB UQf6IxaY3iGa8wBFykYVXHB4EsfUxslAkjfqf6xE7ikWvkEMkkQTfB3LAT95bxcoeZhcca HJmgGWMxTsnOfhxVV2jGUM9x/EKvTnSbEPceQ0/58YIy0QpOaLBVfZ62JaB/l7rPuc90IE OCGtmtxTKIWHZ5eHssgGf6GvYgvvR8ME5hfPA0btt/v87yHhyKClLT+iMGE909SWi9UZx6 Ci2Vl0na2WNOMgGG8xaemqn32iOatO3Yn4rz7vA0YU9Rda15fLG91WFZy1Ww1g== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1636962233; a=rsa-sha256; cv=none; b=ZRHDbHzuTU/+oPuohpvMvm04uya1ccFKXww/dVMg7b0ZlSg7rZ640ucZuYlnmHMdjJQrDV llt2FwgmJ/0k11PJ2k2VzOrgIzeQE9seREvFRpvOQBCcHgBSWD9RDO2A7X31EKXOPc4Dqz EJsXIhTwO4AIMYMP/h225HZVn+91/qG7PKLnOmZr4lQr+wFgKniV6blBctDK5l9PkiLHyz u6PaI3UY8HT+eZ6Sd48NRK71doj26S0tmQ87ajsPuYTJfVBud4mkVi2c1TQG5lLV8KoHud f5Q9S4coyTgguA2zXehT/x7Xfc72IHGgRiVWtwZXnRdAjlwgSsDj5F+/DzWv3w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=thenybble.de header.s=two header.b=uOja+rgF; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.84 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=thenybble.de header.s=two header.b=uOja+rgF; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 0054722262 X-Spam-Score: -1.84 X-Migadu-Scanner: scn0.migadu.com X-TUID: 3QZgBmD94rD7 On 13.11.21 14:15, Max Nikulin wrote: > On 10/11/2021 14:50, Jan Seeger wrote: >> >> I'm trying to make multi-frame emacsing nicer, and I encountered what I >> consider a bug with the `org-no-popups` macro in `org-macs.el`. >> >> `org-no-popups` tries to surpress the creation of new frames via setting >> `pop-up-frames` and `display-buffer-alist` to nil temporarily. This does >> not take `display-buffer-fallback-action` into account, which is the >> preferred way of making Emacs pop up new frames (or not, as the case may >> be). When the fallback variable is set, code run inside `org-no-popups` >> still creates new popups, which causes functions such as >> `org-insert-link` to fail, or at least act *very* confusingly. >> >> The preferred way of overriding the behavior of `display-buffer` for >> localized Emacs code seems to be the variable >> `display-buffer-overriding-action`. >> >> Changing the definition of `org-no-popups` to >> >> ``` >> (defmacro org-no-popups (&rest body) >>    "Suppress popup windows and evaluate BODY." >>    `(let ((display-buffer-overriding-action >> '(display-buffer-pop-up-window))) >>       ,@body)) >> ``` >> >> correctly makes org pop up windows instead of frames. > > There were enough threads concerning displaying of buffers in Org, e.g. > https://list.orgmode.org/87mtnovv7f.fsf@alphapapa.net > https://list.orgmode.org/87zgrgke4b.fsf@ucl.ac.uk > Some users prefers multiple frames, others multiple windows in a full-screen frame. Could you, please, briefly describe what kind of behavior you are truing to achieve? > > Overriding `display-buffer-alist' was certainly a mistake, users should be able to customize window creation. My impression is that `org-no-popups' is used in different scenarios that should have different default behavior. > > Some Org buffers, in my opinion, should behave similarly to completion list. On the other hand `minibuffer-completion-help' does not use `display-buffer-overrining-action'. I do not like that this variable has higher priority than `display-buffer-alist'. Action argument of `display-buffer' is more appropriate since it keeps ability to customize placement of buffers with particular names through `display-buffer-alist'. > > Thank you for suggesting `display-buffer-pop-up-window', current way of suppressing pop-up frames is unreliable. I am considering another option: '(nil (inhibit-switch-frame . t)) and I am unsure which variant is better. Actually I can not say that I really understand supposed ways to use `display-buffer' and related functions. My original expectation was that emacs should have a high level function for buffers similar to "*Completions*". >