From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.devel Subject: Re: how to speed up Lisp devel time Date: Fri, 09 Aug 2024 23:21:46 +0200 Message-ID: <87h6bt2xzp.fsf@dataswamp.org> References: <87y156413v.fsf@dataswamp.org> <86sevekvjy.fsf@gnu.org> <87v80a402y.fsf@dataswamp.org> <86ikwakmdg.fsf@gnu.org> <87frre3pxa.fsf@dataswamp.org> <86ed6xlx9r.fsf@gnu.org> <87a5hl4x9b.fsf@dataswamp.org> <86bk21lp53.fsf@gnu.org> <871q2x4ra3.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19617"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:unRz1QjHgnwtuPBv/VX3cMueVc4= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Aug 10 07:16:47 2024 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 1sceT9-0004z4-5S for ged-emacs-devel@m.gmane-mx.org; Sat, 10 Aug 2024 07:16:47 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sceSG-0003Bx-45; Sat, 10 Aug 2024 01:15:52 -0400 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 1scX3m-0008Ej-Mz for emacs-devel@gnu.org; Fri, 09 Aug 2024 17:22:06 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1scX3k-0006Qe-P9 for emacs-devel@gnu.org; Fri, 09 Aug 2024 17:22:06 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1scX3i-0000eO-Ri for emacs-devel@gnu.org; Fri, 09 Aug 2024 23:22:02 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io 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, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sat, 10 Aug 2024 01:15:43 -0400 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:322592 Archived-At: Yuri Khan wrote: > If your command has three arguments, asking for them in > succession with validation and re-asking is the wrong UI/UX. ? "Wrong" How should one deal with inputted data that doesn't validate? Saying this is wrong, and failed here, ask for another value. Abort with C-g. I could use such an interface anyway and see nothing wrong with it. In a way, it already does that: (read-number "enter a string: ") If I enter a string it says "Please enter a number.' It is the same I suggest only one tiny step more involved to work for arbitrary validation and not just for `numberp' or however that works. But one could also use the default value, or just do `error'. > * A user may want to see the values entered for the first > N arguments when typing the (N+1)th. > * A user may want to fix a typo in the Nth argument when > typing the (N+1)th. > * A user may want to recall the whole set of arguments from > the history, and optionally modify one or more of them. > * A user may want to switch to a different window or frame > while composing one of the arguments. Okay? It will be even more "82 Elisp lines" but that would be even better, sure. > Interactive interface for more than one argument must be > explicitly designed. Oh, no. If you, or someone else, writes a great function, macro or whatever to solve this it and setup a great "interface interface" will all the fixings, will solve it for many, many, many cases of one, two, three and so on combinations. There will always be one "odd man out" or bad apple, but just because it is more than a certain number, then it can't be automated, I don't believe that at all and I trust good automation much more than (n) Elispers to all setup their own stuff explicitely. As for using it, no problem, especially with default values, or history, one can just hit RET RET RET. Depending on the command, there maybe should be a quicker way to not have to do that as well, but that's another thing. Inputting two or three values, well, to me anyway, that isn't a problem. Four or five - then it gets too boring so cannot be used for functions that are used often, but of course that would be possible as well. For example, to setup some LaTeX table with tons of parameters. Absolutely possible and again, this can be automated with an "interface interface", not to cover 100% but that will cover many, many cases and can be tweaked for many more. -- underground experts united https://dataswamp.org/~incal