unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jonas Bernoulli <jonas@bernoul.li>
To: "Rudolf Adamkovič" <salutis@me.com>,
	"T.V Raman" <raman@google.com>,
	"Philip Kaludercic" <philipk@posteo.net>
Cc: Gabriel <gabriel376@hotmail.com>,
	Emacs developers <emacs-devel@gnu.org>,
	Yuri Khan <yuri.v.khan@gmail.com>
Subject: Re: On the adoption of transient.el
Date: Sat, 07 Aug 2021 12:19:41 +0200	[thread overview]
Message-ID: <878s1dv9oi.fsf@bernoul.li> (raw)
In-Reply-To: <m2czqqb2iz.fsf@me.com>

Rudolf Adamkovič <salutis@me.com> writes:

> the new transient UI renders 
> the help system, such as the glorious C-h k, useless.

This is https://github.com/magit/transient/issues/113.  Basically,
    "I know and intend to do something about it. Help welcome."

> Not being able to copy text or describe all keys is not what I expect
> to see in the official parts of vanilla Emacs.

    "We cannot allow such heresy in the inner sanctum."

So far I have brought back all the "lost features" or communicated my
plans to do so.

Occasionally I left out a feature, thinking it was not necessary.  Oh,
the hubris!  For example I thought it would be acceptable to loose the
ability to copy some text that is part of the UI (after all there is
precedence in Emacs itself like the margin, header-line, mode-line,
menu, and echo area (including partial key sequences)), but I was wrong,
it means I have strayed from The Way of Emacs.

I probably can bring back this feature as well.
Just opened https://github.com/magit/transient/issues/126 for that.

>>> What I understand transient and certain other packages do is 
>>> basically override most keys, even those it doesn't use. This 
>>> is more invasive than special-mode, that just doesn't bind 
>>> self-insert-command to most keys. What I wonder is why this is 
>>> done/why it might be necessary.

You are of course not the only person who has reservations and who
has expressed their discomfort.  At various occasions this gave me
the opportunity to explain the reasoning behind some of the design
decisions.

I just went through past issues to compile a list of things I have
to cover in the FAQ (both "why?" and "how to restore?" questions).

[Just opened https://github.com/magit/transient/issues/127 for that.]

It will take time to finish that work, but meanwhile you could read
some of the things I have written already.

From https://github.com/magit/transient/issues/38#issuecomment-489069727:

    "In summary. Transient popups are like incomplete key sequences.
[Even when using plain old regular prefix keys] You can only invoke
commands that are available given the current incomplete key sequence
or abort. One could call that a modal interface. Transient differs from
regular prefix keys in that it shows you the available suffixes in a
buffer. That causes it to be perceived as more modal, but really it is
exactly the same as for regular incomplete key sequences except for the
visual feedback."

Lengthier musings [keep in mind that some of it is outdated]:

- https://github.com/magit/transient/issues/17#issuecomment-464243333
- https://github.com/magit/transient/issues/17#issuecomment-482815245

Also note that so far I have not pushed for Transient to actually be
used in Emacs.  That's because I want to address such concerns first.
There are issue in the issue tracker about those.  In addition to the
once mentioned above, you are probably most interested in #114 and #127.

     Jonas



  parent reply	other threads:[~2021-08-07 10:19 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-03 21:13 On the adoption of transient.el Gabriel
2021-07-05 14:24 ` Philip Kaludercic
2021-07-05 16:09   ` Gabriel
2021-07-05 17:00     ` Stefan Monnier
2021-07-05 19:16       ` Lars Ingebrigtsen
2021-07-05 16:50   ` Yuri Khan
2021-07-05 17:06     ` Eli Zaretskii
2021-07-05 17:29       ` Yuri Khan
2021-07-05 17:49         ` Stefan Monnier
2021-07-05 18:09     ` Philip Kaludercic
2021-08-01 20:19       ` Rudolf Adamkovič
2021-08-01 21:08         ` T.V Raman
2021-08-01 21:24         ` Arthur Miller
2021-08-03 13:07           ` Jonas Bernoulli
2021-08-03 20:00             ` Arthur Miller
2021-08-14  3:17             ` Arthur Miller
2021-08-14 12:54               ` Óscar Fuentes
2021-08-14 20:45                 ` Arthur Miller
2021-08-15 21:57                 ` John Yates
2021-08-16  1:05                   ` Arthur Miller
2021-08-16  1:35                   ` Stefan Monnier
2021-08-16  2:36                     ` Arthur Miller
2021-08-01 21:25         ` Arthur Miller
2021-08-04 11:22         ` Philip Kaludercic
2021-08-04 15:56           ` Óscar Fuentes
2021-08-04 18:56           ` T.V Raman
2021-08-04 19:57             ` Jesse Millwood
2021-08-04 21:45               ` T.V Raman
2021-08-05  7:01                 ` Arthur Miller
2021-08-05  8:59                   ` Eric S Fraga
2021-08-05  9:23                     ` Tim Cross
2021-08-05 10:37                       ` Eric S Fraga
2021-08-05 11:01                         ` Eli Zaretskii
2021-08-05 14:45                           ` Óscar Fuentes
2021-08-05 16:17                             ` Eli Zaretskii
2021-08-05 23:17                               ` Juri Linkov
2021-08-06  6:11                                 ` Eli Zaretskii
2021-08-06  2:13                               ` Phil Sainty
2021-08-05 23:20                             ` Juri Linkov
2021-08-06 12:39                               ` John Yates
2021-08-06 14:42                                 ` Stefan Monnier
2021-08-06 17:20                                   ` Omar Polo
2021-08-10  7:22                                 ` Juri Linkov
2021-08-10 10:32                                   ` John Yates
2021-08-08  1:21                               ` Dmitry Gutov
2021-08-10  7:15                                 ` Juri Linkov
2021-08-10 12:40                                   ` Dmitry Gutov
2021-08-11  6:58                                     ` Juri Linkov
2021-08-13  3:06                                       ` Dmitry Gutov
2021-08-08  1:42                               ` Alfred M. Szmidt
2021-08-10  7:18                                 ` Juri Linkov
2021-08-10  8:16                                   ` Alfred M. Szmidt
2021-08-11  6:56                                     ` Juri Linkov
2021-08-05  9:38                     ` Arthur Miller
2021-08-05  9:51                       ` Jean-Christophe Helary
2021-08-05 14:33                     ` T.V Raman
2021-08-05 14:55                       ` Eric S Fraga
2021-08-05 15:05                       ` Arthur Miller
2021-08-06 23:02             ` Rudolf Adamkovič
2021-08-07  2:03               ` T.V Raman
2021-08-07  3:15               ` Phil Sainty
2021-08-07 10:19               ` Jonas Bernoulli [this message]
2021-08-07 15:42               ` T.V Raman
2021-07-05 19:51     ` Jim Porter
  -- strict thread matches above, loose matches on Subject: below --
2022-07-31  9:08 Manuel Uberti
2022-07-31 13:25 ` T.V Raman
2022-07-31 20:03 ` Juri Linkov
2022-08-21 16:04   ` Juri Linkov
2022-08-01  3:32 ` Richard Stallman

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=878s1dv9oi.fsf@bernoul.li \
    --to=jonas@bernoul.li \
    --cc=emacs-devel@gnu.org \
    --cc=gabriel376@hotmail.com \
    --cc=philipk@posteo.net \
    --cc=raman@google.com \
    --cc=salutis@me.com \
    --cc=yuri.v.khan@gmail.com \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).