From: martin rudalics <rudalics@gmx.at>
To: Nicolas Richard <youngfrog@members.fsf.org>
Cc: "21649@debbugs.gnu.org" <21649@debbugs.gnu.org>
Subject: bug#21649: 25.0.50; [PATCH] Allow M-x man to reuse an existing window
Date: Fri, 23 Oct 2015 10:01:48 +0200 [thread overview]
Message-ID: <5629E96C.3090307@gmx.at> (raw)
In-Reply-To: <86bnbqd80z.fsf@members.fsf.org>
> Here's most of the patch :
>
> + (`manly
> + (and (frame-live-p saved-frame)
> + (select-frame saved-frame))
> + (if-let ((window (seq-some-p
> + (lambda (window)
> + (with-current-buffer (window-buffer window)
> + (derived-mode-p 'Man-mode)))
> + (window-list))))
> + (set-window-buffer window man-buffer)
> + (display-buffer man-buffer)))
>
>> How about writing an action function, say ‘man-display-buffer-my-way’, and
>> adding a clause like
>>
>> (`my-way
>> (and (frame-live-p saved-frame)
>> (select-frame saved-frame))
>> (display-buffer man-buffer
>> '((man-display-buffer-my-way ...)
>> . nil)))
>
> Sure, why not!
Maybe we could add something like ‘display-buffer-reuse-mode-window’ to
window.el. In that case I'd proceed as follows:
(1) The frame(s) to scan for a suitable window should be determined by a
‘reusable-frames’ entry just as in ‘display-buffer-reuse-window’.
(2) Allow to specify the desired (parent) mode via an ALIST ‘mode’
entry. As value we could allow a single mode or a list of modes. Then
a window showing a buffer in the same mode as the buffer we want to
display should maybe given preference to a window showing a buffer in
another mode, derived from the same parent mode. If a same-mode-window
exists on another and a derived-mode-window exists on the selected
frame, one of these should be given preference consistently.
(3) Not use functions like ‘if-let’ and ‘seq-some-p’. window.el is
preloaded and if not utterly necessary I'd prefer not loading subr-x.el
there. BTW, I have no idea from where you get ‘seq-some-p’. Did you
compile your patched man.el with emacs -Q?
WDYT?
martin
next prev parent reply other threads:[~2015-10-23 8:01 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-08 15:54 bug#21649: 25.0.50; [PATCH] Allow M-x man to reuse an existing window Nicolas Richard
2015-10-09 14:37 ` Kaushal Modi
[not found] ` <86r3l09t3u.fsf@members.fsf.org>
2015-10-12 15:06 ` Kaushal Modi
2015-10-13 22:10 ` Nicolas Richard
2015-10-13 22:19 ` Kaushal Modi
2015-10-14 8:49 ` martin rudalics
[not found] ` <86wpufc8n8.fsf@members.fsf.org>
2015-10-22 15:34 ` martin rudalics
2015-10-22 19:21 ` Nicolas Richard
2015-10-23 8:01 ` martin rudalics [this message]
2016-03-01 15:49 ` Nicolas Richard
2016-03-01 17:04 ` martin rudalics
2016-03-10 9:55 ` Nicolas Richard
2016-03-10 10:32 ` martin rudalics
2016-03-10 13:49 ` Nicolas Richard
2015-10-27 11:30 ` Nicolas Richard
2015-10-28 9:55 ` martin rudalics
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=5629E96C.3090307@gmx.at \
--to=rudalics@gmx.at \
--cc=21649@debbugs.gnu.org \
--cc=youngfrog@members.fsf.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 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).