all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Glenn Morris <rgm@gnu.org>, Stephen Berman <stephen.berman@gmx.net>
Cc: 18381@debbugs.gnu.org
Subject: bug#18381: 24.3.93; Diary can wrongly be displayed in Calendar's window
Date: Tue, 09 Sep 2014 08:58:47 +0200	[thread overview]
Message-ID: <540EA527.4050809@gmx.at> (raw)
In-Reply-To: <sw38c1h9eb.fsf@fencepost.gnu.org>

 > emacs -Q
 > M-x diary
 > M-x calendar
 > M-x diary    -> clobbered calendar window; not so in 24.3
 >
 > I see now that the cause is that the pixelwise change that I bisected to
 > earlier added display-buffer-in-previous-window to
 > display-buffer-fallback-action - it wasn't there before.
 >
 > So I can restore the 24.3 behaviour by using this horrible thing:
 >
 > (let ((display-buffer-fallback-action
 >         (list (delq 'display-buffer-in-previous-window
 >                  (copy-sequence (car display-buffer-fallback-action))))))
 >    ...)
 >
 > This is Not The Right Thing, but ought to restore 24.3-like behaviour.

That's what I meant earlier when I said that

 > > The window you're using to display `diary' here ...
 > > ... is the same window where you first show the calendar here.  As a
 > > consequence, `display-buffer-in-previous-window' will find a window
 > > where you have shown `diary' already and reuse that window.  I'm not
 > > sure what's the best thing to do here - maybe we should remove
 > > `display-buffer-in-previous-window' from
 > > `display-buffer-fallback-action' in `calendar-in-read-only-buffer'.

but obviously we should do something like

(let ((display-buffer-overriding-action
        (list (delq 'display-buffer-in-previous-window
                 (copy-sequence (car display-buffer-fallback-action))))))
   ...)

because (as you remarked earlier) `display-buffer-fallback-action' is a
constant and should not be changed by the user or an application.

 > I think what I really want is a way to say to display-buffer:
 > never use a window showing buffer X.
 >
 > Is that doable?

You can mark the calendar window as softly dedicated to its buffer,
ideally only as long as `diary' wants to use it.  Otherwise, we could
invent new alist entries à la `inhibit-same-window':

`inhibit-windows' (whose value would be a list of windows that should
not be used), and/or

`inhibit-windows-on' (whose value would be a list of buffers that should
remain displayed),

not for Emacs 24.4, in any case.

You still didn't tell me who actually is responsible for displaying the
calendar and then the diary.  Is it `calendar-in-read-only-buffer'?  If
we are sure that it's there, we can pass the necessary advice in that
mancro's `display-buffer' call's ACTION argument.

martin






  reply	other threads:[~2014-09-09  6:58 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-01 14:59 bug#18381: 24.3.93; Diary can wrongly be displayed in Calendar's window Stephen Berman
2014-09-01 17:37 ` Glenn Morris
2014-09-01 18:38   ` Stephen Berman
2014-09-04  0:34     ` Glenn Morris
2014-09-04 12:27 ` martin rudalics
2014-09-04 18:04   ` Glenn Morris
2014-09-04 19:48     ` Glenn Morris
2014-09-04 22:39       ` Glenn Morris
2014-09-04 23:40         ` Glenn Morris
2014-09-05 10:46         ` martin rudalics
2014-09-05 16:14           ` Glenn Morris
2014-09-06  8:52             ` martin rudalics
2014-09-08  6:04               ` Glenn Morris
2014-09-08 20:32                 ` Stephen Berman
2014-09-09  1:26                   ` Glenn Morris
2014-09-09  6:58                     ` martin rudalics [this message]
2014-09-09  7:44                       ` Glenn Morris
2014-09-09  9:18                         ` martin rudalics
2014-09-09 18:13                           ` Glenn Morris
2014-09-09 13:00                         ` Stefan Monnier
2014-09-05 10:46     ` 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

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

  git send-email \
    --in-reply-to=540EA527.4050809@gmx.at \
    --to=rudalics@gmx.at \
    --cc=18381@debbugs.gnu.org \
    --cc=rgm@gnu.org \
    --cc=stephen.berman@gmx.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.