all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Arthur Miller <arthur.miller@live.com>
To: Drew Adams <drew.adams@oracle.com>
Cc: Juri Linkov <juri@linkov.net>,
	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: Re: [External] : Re: Info-mode patch
Date: Thu, 29 Jun 2023 18:24:02 +0200	[thread overview]
Message-ID: <AM9PR09MB497732D46533C5F4BCB717CB9625A@AM9PR09MB4977.eurprd09.prod.outlook.com> (raw)
In-Reply-To: <SJ0PR10MB5488D8184850A0052D725E68F325A@SJ0PR10MB5488.namprd10.prod.outlook.com> (Drew Adams's message of "Thu, 29 Jun 2023 15:00:39 +0000")

Drew Adams <drew.adams@oracle.com> writes:

>> For me it is because I would prefer having less code if
>> I don't have to. I assumed you will do something like
>> that; and my personal opinion is that I would definitely
>> prefer not having foo, and foo-other-window, along with
>> foo-mode-map and foo-mode-other-window-map, because I
>> see it as a necessary duplication in an environment
>> already full with numerous commands and symbols.
>
> 1. Sincere apologies: I'm not following this thread.
> Just a comment on this bit I quoted out of context.
>
> 2. There are lots of "I" occurrences there.  That's
> fine, if the result is that something gets changed
> in Emacs only for some "I"s who might want to opt
> into that change.
>
> 3. There's an inherent trade-off in benefits, which
> means that different users and different code uses
> (libraries) can prefer different positions on the
> trade-off spectrum.
>
> I'm referring to this:
>
> If there is some semi-automatic way of predefining
> keys for other-window, other-frame, etc. behavior
> for "base" commands, then that might mean some
> simplification of some implementation code.  And it
> could perhaps result in fewer commands.
>
> But fewer commands and predefining some systematic
> scheme for key-binding the window/frame variants is
> also _constraining_.
>
> Users also need to be able to easily bind different
> individual commands to whatever keys they like, in
> whatever keymaps they like.
>
> And users can also prefer to have separate commands,
> discoverable by name matches etc.  I might want to
> find an `-other-window' or `-other-frame' version
> of a command - both to read its doc and to invoke
> it - specifically.	
>
> Tying things up in a tight knot might be useful for
> implementers or for some users.  But it could tie
> the hands of other users and implementers of other
> code.
>
> Having multiple `foo', `foo-other-window', and/or
> `foo-other-frame' really bothers some people.  Me,
> I prefer that - greatly.  I don't want to have to
> carve out some such behavior from an iron block,
> or, in effect, have to define my own variants.
> This applies to my use of commands interactively
> and in code.
>
> Again, I'm ignorant of what's being proposed.  So
> maybe this is just a knee-jerk, alarmist response.
> But if it rings a bell, then please make any such
> changes 100% optional for users - and opt-in, not
> opt-out.

I can just suggest you to try the patch. You should be able to use it as-is,
as you always did, at least it is my intention, otherwise it is a bug; even with
your multiple help buffers. 

But you can also bind all commands to any keymap you wish, and there is no need
to "-other-window" commands at all; with other words, you don't need to neither
discover nor search anything.

> Emacs is very different things for different users
> and use cases.  Sweeping changes can break things
> for others, without any bad intentions.

Of course Drew, we are all aware of the fact. I tried for that explicit reason
to be completely backwards compatible. If I have failed in some case, than it is
a bug.

I am al for automation myself, dispute is that I would pefer future commands
in Emacs to be written with some assumptions, so we don't need double set of
commands. For that I have already mentioned that we could automate that with
something like define-minor-mode, and I do have a small framework idea in mind,
but I haven't had time to code it yet.

Juris approach is good for the old code so it don't have to be reworked, and 
if you want some occasional function to run on other window. I think it would be
good to have it in Emacs as an option for people to use occaionally with older
code.

But I don't think it is very good as the only alternative, for all the
future use, because I am sure we can avoid the duplication of commands,
i.e. "-other-window" commands, and maps as the wrapper approach does. We only
need to take care how we write a command, and they would work from everywhere,
there is nothing to opt in/out. 

I have also suggested that we abstract boring details in some macro, something like
define-command, that take care of prompting user, choosing a window, dealing
with universal prefix etc. As Eli said, the point was to just make Info and help
mode commands callable from other widows, which this patch does, so I haven't
coded anything general, but I am quite confident it would be relatively simple to do.




  reply	other threads:[~2023-06-29 16:24 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-26 16:09 Info-mode patch Arthur Miller
2023-06-26 17:56 ` Juri Linkov
2023-06-26 20:17   ` Arthur Miller
2023-06-27  6:32     ` Juri Linkov
2023-06-27  7:54       ` Arthur Miller
2023-06-27 18:11         ` Juri Linkov
2023-06-27 23:09           ` Arthur Miller
2023-06-28  6:50             ` Juri Linkov
2023-06-28 21:52               ` Arthur Miller
2023-06-29  6:44                 ` Juri Linkov
2023-06-29 12:42                   ` Arthur Miller
2023-06-29 15:00                     ` [External] : " Drew Adams
2023-06-29 16:24                       ` Arthur Miller [this message]
2023-06-29 17:44                     ` Juri Linkov
2023-06-29 22:28                       ` Arthur Miller
2023-06-30  7:13                         ` Juri Linkov
2023-06-30  8:41                           ` Arthur Miller
2023-06-30 17:57                             ` Juri Linkov
2023-07-01  9:11                               ` Arthur Miller
2023-07-02 17:53                                 ` Juri Linkov
2023-07-02 18:39                                   ` Eli Zaretskii
2023-07-02 22:43                                     ` Arthur Miller
2023-07-03 11:46                                       ` Eli Zaretskii
2023-07-03 12:57                                         ` Arthur Miller
2023-07-03 13:17                                           ` Eli Zaretskii
2023-07-03 18:40                                             ` Juri Linkov
2023-07-03 18:57                                               ` Eli Zaretskii
2023-07-04  6:50                                                 ` easy-menu-define keys for key-valid-p (was: Info-mode patch) Juri Linkov
2023-07-04 11:33                                                   ` Eli Zaretskii
2023-07-03 21:07                                               ` Info-mode patch Arthur Miller
2023-07-04  7:59                                                 ` Andreas Schwab
2023-07-04  8:44                                                   ` Arthur Miller
2023-07-03 17:07                                       ` Eli Zaretskii
2023-07-04 23:58                                         ` Stefan Monnier
2023-07-08  8:14                                           ` Eli Zaretskii
2023-07-02 22:05                                   ` Arthur Miller
2023-07-03 18:45                                     ` Juri Linkov
2023-07-03 22:24                                       ` Arthur Miller
2023-07-04  6:54                                         ` Juri Linkov
2023-07-04  9:43                                           ` Arthur Miller
2023-07-04 17:51                                             ` Juri Linkov
2023-07-04 21:40                                               ` Arthur Miller
2023-07-05  6:17                                                 ` Juri Linkov
2023-07-05 14:25                                                   ` Arthur Miller
2023-07-01  9:59                         ` Getting Gnus to highlight citations in long mails (was: Info-mode patch) Kévin Le Gouguec
2023-07-01 12:40                           ` Getting Gnus to highlight citations in long mails Arthur Miller
2023-07-02 17:56                           ` Juri Linkov
2023-06-27 11:45   ` Info-mode patch Eli Zaretskii
2023-06-27 12:15     ` Arthur Miller
2023-06-27 12:42       ` Eli Zaretskii
2023-06-27 15:28         ` Arthur Miller
2023-06-27 16:03           ` Eli Zaretskii
2023-06-27 16:33             ` Arthur Miller

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=AM9PR09MB497732D46533C5F4BCB717CB9625A@AM9PR09MB4977.eurprd09.prod.outlook.com \
    --to=arthur.miller@live.com \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=juri@linkov.net \
    /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.