all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Emanuel Berg <incal@dataswamp.org>
To: emacs-devel@gnu.org
Subject: Re: how to speed up Lisp devel time
Date: Fri, 09 Aug 2024 23:21:46 +0200	[thread overview]
Message-ID: <87h6bt2xzp.fsf@dataswamp.org> (raw)
In-Reply-To: CAP_d_8V2RCW3c4iaMX5pnENyZMz3Sp79wu=98-Kz=dX7=a6GPQ@mail.gmail.com

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




  reply	other threads:[~2024-08-09 21:21 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-09  7:16 how to speed up Lisp devel time Emanuel Berg
2024-08-09  7:24 ` Eli Zaretskii
2024-08-09  7:39   ` Emanuel Berg
2024-08-09 10:43     ` Eli Zaretskii
2024-08-09 11:18       ` Emanuel Berg
2024-08-09 12:02         ` Eli Zaretskii
2024-08-09 13:54           ` Emanuel Berg
2024-08-09 14:58             ` Eli Zaretskii
2024-08-09 16:03               ` Emanuel Berg
2024-08-09 16:16                 ` Emanuel Berg
2024-08-09 17:54                   ` Eli Zaretskii
2024-08-09 18:56                     ` Christopher Dimech
2024-08-09 21:57                       ` Emanuel Berg
2024-08-09 21:47                     ` Emanuel Berg
2024-08-09 17:27                 ` Yuri Khan
2024-08-09 21:21                   ` Emanuel Berg [this message]
2024-08-10  2:14                   ` Emanuel Berg
2024-08-10  6:01                     ` Yuri Khan
2024-08-10  6:08                       ` Emanuel Berg
2024-08-10  6:44                         ` Yuri Khan
2024-08-10  7:22                           ` Emanuel Berg
2024-08-10  7:51                             ` Emanuel Berg
2024-08-10  4:32                   ` Emanuel Berg
2024-08-10  5:58                     ` Eli Zaretskii
2024-08-09 14:59             ` Eduardo Ochs
2024-08-09 16:19               ` Emanuel Berg
2024-08-09 18:00                 ` Eli Zaretskii
2024-08-09 18:54                   ` Christopher Dimech
2024-08-09 22:17                     ` Emanuel Berg
2024-08-09 22:00                   ` Emanuel Berg
2024-08-09  8:24   ` Emanuel Berg
2024-08-09 10:36     ` Christopher Dimech

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h6bt2xzp.fsf@dataswamp.org \
    --to=incal@dataswamp.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.