From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Madhu Newsgroups: gmane.emacs.devel Subject: Re: Adding transient to Emacs core Date: Tue, 27 Apr 2021 07:33:17 +0530 (IST) Message-ID: <20210427.073317.990947448424068192.enometh@meer.net> References: <87pmyhdvla.fsf@bernoul.li> <20210426.230318.88708181443886760.enometh@meer.net> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1556"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: monnier@iro.umontreal.ca Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Apr 27 04:04:46 2021 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 1lbD5h-0000I7-RA for ged-emacs-devel@m.gmane-mx.org; Tue, 27 Apr 2021 04:04:45 +0200 Original-Received: from localhost ([::1]:56232 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lbD5c-0003wd-At for ged-emacs-devel@m.gmane-mx.org; Mon, 26 Apr 2021 22:04:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60812) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lbD4V-0002n9-4v for emacs-devel@gnu.org; Mon, 26 Apr 2021 22:03:31 -0400 Original-Received: from smtp6.ctinetworks.com ([205.166.61.199]:49894) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lbD4T-0003a8-4u for emacs-devel@gnu.org; Mon, 26 Apr 2021 22:03:30 -0400 Original-Received: from localhost (unknown [117.193.11.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: enometh@meer.net) by smtp6.ctinetworks.com (Postfix) with ESMTPSA id 48A7184D31; Mon, 26 Apr 2021 22:03:19 -0400 (EDT) In-Reply-To: X-Mailer: Mew version 6.8 on Emacs 28.0 X-ctinetworks-Information: Please contact the ISP for more information X-ctinetworks-MailScanner-ID: 48A7184D31.A872E X-ctinetworks-VirusCheck: Found to be clean X-ctinetworks-Watermark: 1620353005.43944@pLveduYp9f5F7JuyZBO08w Received-SPF: pass client-ip=205.166.61.199; envelope-from=enometh@meer.net; helo=smtp6.ctinetworks.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, 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.23 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" Xref: news.gmane.io gmane.emacs.devel:268510 Archived-At: * Stefan Monnier Wrote on Mon, 26 Apr 2021 13:52:49 -0400 >> If the package does not support use display-buffer according to the >> design of display-buffer, I maintain it will have a negative impact if >> adopted in the core and one is constrained to use it (instead of >> keeping it optional) > In my experience, among the packages that have to display something > (as opposed to your usual major-mode which only provides commands to > navigate and edit text), very few correctly deal with all possible > `display-buffer-alist` customizations. The vast majority assumes a > single-frame setup and break in random way in less conventional > situations. > > So if transient.el misbehaves in some of those cases, it's in pretty > good company. And I have the option of not being forced to use those packages when dealing with emacs. > In the transient.el API the only thing that could inherently cause > problem, AFAICT is the fact that it relies on being able to > display a "sizeable" amount of information to the user, but it's hard to No this is pretty fundamental. The designer of the transient prompt can make the prompt big enough to trigger the situations where it fails. > imagine a comparable feature that doesn't make similar assumptions, and > it's hard to imagine a situation where there's really no way to make > it work. > > So any problem it might suffer should be a mere "implementation issue" > that can be fixed without impacting the packages which rely on it. Except when they can't because of funamental incompatible assumptions. (Note I am responding at the same level of generality as your post) If a core package which worked fine is now modified to use a package which you introduce and the new package and cannot be used in certain circumstances (that the developer of the new package has not or cannot consider) I maintain that the new package destroys existing value - and if that is the explict intent I hope it is made explicit.