all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@linkov.net>
To: Arthur Miller <arthur.miller@live.com>
Cc: emacs-devel@gnu.org
Subject: Re: Info-mode patch
Date: Tue, 27 Jun 2023 09:32:25 +0300	[thread overview]
Message-ID: <86wmzpqva6.fsf@mail.linkov.net> (raw)
In-Reply-To: <AM9PR09MB497770FC5320657A85BCB70A9626A@AM9PR09MB4977.eurprd09.prod.outlook.com> (Arthur Miller's message of "Mon, 26 Jun 2023 22:17:26 +0200")

> Also I didn't wanted to change API. Not that I believe that there are many 3rd
> party packages for Info and Help modes, and that people actually customize
> those, but anyway. Wrappers would be a new API, which all require at least some
> documentation etc.

Actually adding new arguments to existing functions counts as changing API.
Whereas not changing existing functions means keeping the current API unchanged.
Since you need to bind commands to new keys anyway, there is no difference
whether you bind old commands or new other-window commands.

> Can you control on which frame the input goes when prompted by original
> function with a wrapper approach? I changed quite few prompts a wrapped stuff
> with both with-current-buffer, and with-selected-frame to achive that. I don't
> think I could do that if I wrapped stuff. But what do I know, perhaps there is
> some way?

I see that you added with-selected-frame to Info-index.
But it seems this is not enough because with-selected-frame
still fails to switch focus to another frame.  You need also
to use select-frame-set-input-focus.

Since neither with-selected-window nor with-selected-frame
can switch focus, we could add a new macro like

#+begin_src emacs-lisp
(defmacro with-selected-window-frame (window &rest body)
  `(let ((frame (window-frame ,window)))
     (unless (eq frame (selected-frame))
       (select-frame frame 'norecord)
       (select-frame-set-input-focus frame 'norecord))
     (with-selected-window ,window
       ,@body)))
#+end_src

Then everything works nicely with

#+begin_src emacs-lisp
(defun Info-index-other-window (topic)
  (interactive (with-selected-window-frame (info-window)
                (eval (cadr (interactive-form 'Info-index)))))
  (with-selected-window-frame (info-window)
   (Info-index topic)))
#+end_src



  reply	other threads:[~2023-06-27  6:32 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 [this message]
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
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=86wmzpqva6.fsf@mail.linkov.net \
    --to=juri@linkov.net \
    --cc=arthur.miller@live.com \
    --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.