unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: David K?gedal <davidk@lysator.liu.se>, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: display-buffer-change
Date: Sun, 09 Sep 2007 23:42:54 +0200	[thread overview]
Message-ID: <46E468DE.4070707@gmx.at> (raw)
In-Reply-To: <jwvlkbffxok.fsf-monnier+emacs@gnu.org>

 >>>0 - it's not clear to me why Emacs chooses to split B rather than A.
 >>>It seems unrelated to the split-height-threshold fix, so we need to look
 >>>into this before being able to determine how best to fix it.
 >
 >
 >>Fget_largest_window returns the largest window and B could be that
 >>window.
 >
 >
 > So it's not always going to behave this way, it depends on details of the
 > current layout.  A shift by 1 line can change the result?

If Fget_largest_window doesn't provide a suitable window Fget_lru_window
kicks in.  Hence we can have all sorts of results.  `display-buffer' is
very stochastic.

 >>>1 - since we're in buffer/window A, it would probably be preferable to place
 >>>buffer C closer rather than further, so in this case after splitting B
 >>>display-buffer should prefer using the top window for C and the bottom
 >>>one for B.
 >
 >
 >>With `split-window' the new window is the lower one, we would lose all
 >>associations for B if we did that.
 >
 >
 > I know.  It'a problem.  Independent from the current one.

It's hardly a problem for the OP.  It's a real pain for me.

 >>>3 - we have window-size-fixed for that.
 >
 >
 >>David: Could you set that for the buffer of your window B and look
 >>whether it gives good results.
 >
 >
 > I don't think that's going to help.  This variable is almost never
 > used/obeyed :-(

I was surprised to find out that it is checked more often than I
thought initially.

 > And I don't think it'd help the OP anyway because he doesn't want to go
 > a configure such things.

Maybe he would.  But it's not useful in general (given the default value
of `split-height-threshold' I don't think people use that either).

 > And the window shouldn't be fixed-size anyway
 > (you should still be able to resize it with balance-window, for example).

100% agreement, but it was your suggestion ;-)

 >>>4 - we don't have window-(un)splittable for that (there's a frame parameter
 >>>to prevent splitting windows in that frame, tho).
 >
 >
 >>Earlier I thought about splitting obey a buffer-local value for
 >>`split-height-threshold'.
 >
 >
 > That would make a lot of sense.  But I don't think it'd help the OP either
 > because it's too detailed a configuration.

The OP would do it.  It's not useful as a general suggestion and it
might be hairy to implement.  Strictly spoken, `display-buffer' would
have to - whenever it tries to split a window - check the buffer-local
value of `split-height-threshold' of the buffer displayed in that window
(or should it be the value of the buffer we want to display?).  Anyway,
just try to convey this in a user manual.

 >
 > To get back to the OP's example scenario, starting from
 >
 >
 >>>>+-------------+
 >>>>|             |
 >>>>|      A      |
 >>>>|             |
 >>>>+-------------+
 >>>>|             |
 >>>>|      B      |
 >>>>|             |
 >>>>+-------------+
 >
 >
 > Why would
 >
 >
 >>>>+-------------+
 >>>>|      A      |
 >>>>+-------------+
 >>>>|      C      |
 >>>>+-------------+
 >>>>|             |
 >>>>|      B      |
 >>>>|             |
 >>>>+-------------+
 >
 >
 > be better than
 >
 >
 >>>>+-------------+
 >>>>|             |
 >>>>|      A      |
 >>>>|             |
 >>>>+-------------+
 >>>>|      B      |
 >>>>+-------------+
 >>>>|      C      |
 >>>>+-------------+
 >
 >
 > and why should it depend on B being dedicated?

I can only speculate: B is my fixed point for compiling, tracing,
debugging, observing or controlling the world.  It's the area of the
screen I'm looking first when I run into troubles.  I don't want it to
change size or position because I wouldn't find it at its usual place in
the shape I got used to.

More likely it's because the OP got used to the A / C / B behavior over
the years.  Maybe he can tell us more.

  reply	other threads:[~2007-09-09 21:42 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-27  9:32 bug of display-table & make-glyph-code levin
2007-09-04 16:45 ` Richard Stallman
2007-09-04 18:09   ` martin rudalics
2007-09-04 19:08     ` Glenn Morris
2007-09-05  5:58       ` levin
2007-09-05  7:22         ` Glenn Morris
2007-09-05  8:22           ` Du Jingwu
2007-09-05 20:02         ` Richard Stallman
2007-09-05  6:16       ` Richard Stallman
2007-09-05  7:21         ` Glenn Morris
2007-09-05  8:08           ` martin rudalics
2007-09-05  8:37             ` Glenn Morris
2007-09-05  9:58               ` martin rudalics
2007-09-05 16:44                 ` Glenn Morris
2007-09-05 17:34                   ` martin rudalics
2007-09-06  5:29                     ` Glenn Morris
2007-09-06  8:49                       ` martin rudalics
2007-09-07  1:44                         ` Glenn Morris
2007-09-07  8:02                           ` martin rudalics
2007-09-07 17:48                             ` Glenn Morris
2007-09-08  8:52                               ` martin rudalics
2007-09-08  7:00                             ` Richard Stallman
2007-09-12  7:37                               ` Glenn Morris
2007-09-12  8:28                                 ` martin rudalics
2007-10-11 23:57                         ` dired-warning (was: bug of display-table & make-glyph-code) Juri Linkov
2007-10-12  7:06                           ` dired-warning martin rudalics
2007-10-14 21:21                             ` dired-warning Juri Linkov
2007-09-05 17:54                   ` bug of display-table & make-glyph-code Eli Zaretskii
2007-09-05  8:51             ` levin
2007-09-06  4:59               ` Richard Stallman
2007-09-05 10:08             ` frame resizing under KDE (was Re: bug of display-table & make-glyph-code) Stephen Berman
2007-09-05 17:42               ` martin rudalics
2007-09-06  6:17                 ` frame resizing under KDE (was Re: bug of display-table & make-glyph-code ) Levin
2007-09-06 12:01                 ` frame resizing under KDE Stephen Berman
2007-09-06  1:15             ` bug of display-table & make-glyph-code Chong Yidong
2007-09-06  9:09               ` martin rudalics
2007-09-06 14:08                 ` Stefan Monnier
2007-09-06 14:49                   ` martin rudalics
2007-09-06 20:34                     ` Stefan Monnier
2007-09-06 21:08                       ` martin rudalics
2007-09-07 17:45                         ` Stefan Monnier
2007-09-07 18:30                           ` martin rudalics
2007-09-07 20:25                             ` Stefan Monnier
2007-09-08  9:22                               ` display-buffer-change (was Re: bug of display-table & make-glyph-code) martin rudalics
2007-09-09 19:33                                 ` display-buffer-change Stefan Monnier
2007-09-09 21:42                                   ` martin rudalics [this message]
2007-09-10  6:57                                     ` display-buffer-change David Kågedal
2007-09-10  8:31                                       ` display-buffer-change martin rudalics
2007-09-10  6:48                                 ` display-buffer-change David Kågedal
2007-09-10  8:00                                   ` display-buffer-change martin rudalics
2007-09-07  6:32                 ` bug of display-table & make-glyph-code Richard Stallman
2007-09-06  5:00           ` Richard Stallman
2007-09-06  5:27             ` Glenn Morris
2007-09-05  9:15         ` Kim F. Storm
2007-09-05 17:38           ` martin rudalics
2007-09-05 20:43             ` Kim F. Storm
2007-09-07  5:11           ` Kenichi Handa
2007-09-07  8:47             ` Eli Zaretskii
2007-09-07 12:25               ` Kenichi Handa
2007-09-07 18:37                 ` Eli Zaretskii
2007-09-08  7:00                 ` Richard Stallman
2007-09-10  2:43                   ` Kenichi Handa
2007-09-10  3:18                   ` Eli Zaretskii
2007-09-07 19:53             ` Richard Stallman
2007-09-10  1:12           ` Richard Stallman
2007-09-10  4:15             ` Kenichi Handa
2007-09-10  5:50               ` Stefan Monnier
2007-09-10  6:29                 ` Kenichi Handa
2007-09-10 11:51                 ` Kim F. Storm
2007-09-10 14:20                   ` Leo
2007-09-11 12:49                   ` Stefan Monnier
2007-09-11 20:30                   ` Richard Stallman
2007-09-11 21:50                     ` Kim F. Storm
2007-09-10 19:40               ` Eli Zaretskii
2007-09-11  0:28                 ` Kenichi Handa
2007-09-12  8:45                   ` Richard Stallman
2007-09-11 20:31                 ` Richard Stallman
2007-09-12  6:55                   ` Eli Zaretskii
2007-09-13 16:30                     ` Richard Stallman
2007-09-10 23:54               ` Richard Stallman
2007-09-11  0:09                 ` Drew Adams
2007-09-11  0:33                   ` Kenichi Handa
2007-09-11  1:24                     ` Drew Adams
2007-09-06  5:00 ` 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=46E468DE.4070707@gmx.at \
    --to=rudalics@gmx.at \
    --cc=davidk@lysator.liu.se \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rms@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 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).