all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Drew Adams <drew.adams@oracle.com>
Cc: 6385@debbugs.gnu.org
Subject: bug#6385: A slightly less aggressive fit-window-to-buffer
Date: Sun, 13 Jun 2010 19:45:05 +0200	[thread overview]
Message-ID: <4C151921.3090903@gmx.at> (raw)
In-Reply-To: <BEAEE3EC739D4967AAFCE189C98617E9@us.oracle.com>

 >> Please post a recipe for reproducing the problem.  I never had any
 >> problem with this in practice so I can't tell.
 >
 > Huh? You yourself said this:
 >
 >>> I don't know of a simple way to prevent deletion of windows when using
 >>> `enlarge-window'.  The problems with `fit-window-to-buffer' are just a
 >>> special case of that.
 >
 > Any you said this:
 >
 >>>> Deleting other windows when resizing was a misguided feature.
 >
 > That "misguided feature" is precisely the problem.  You recognize it, so you
 > must have sufficient recipes to produce it.

This "misguided feature" is in Emacs ever since I know it.  But you said
that ...

 > And unfortunately, I need my code to work in multiple Emacs versions.  It is
 > only for Emacs 23 (.1 and .2 and more recent) that this is a problem - I do not
 > see it happening before 23. So even if you might have a more recent version with
 > a fix I will still need a workaround for use with Emacs 23.

... and that's what I want a recipe for: A reproducible problem that
does _not_ exist in prior Emacs versions.

 > I have not seen that problem arise in releases before Emacs 23, personally.  The
 > code (e.g. for `fit-window-to-buffer') was changed considerably in Emacs 23.  I
 > have supposed that at least part of that code change introduced this "misguided
 > feature".  Perhaps I'm mistaken about that, but as I say, I do see no such
 > problem prior to Emacs 23.
 >
 > Were you involved with the code changes for this from Emacs 22 to 23?  Did those
 > changes in fact introduce this "misguided feature", or was it already present?
 >
 > As I say, I myself see no such "misguided feature" manifest itself prior to 23.
 > Even if the "misguided feature" is theoretically present also before 23, in my
 > own, practical experience it shows up only with Emacs 23.

I can answer these questions as soon as you tell me your problem.

 > Also, if you have some private code that removes this "misguided feature", why
 > does vanilla Emacs itself still suffer from it?  Is your fix not applicable in
 > general?  Does it have a downside that prevents you from applying it to vanilla
 > Emacs?

Yes.  It's a complete rewrite of window resizing in Elisp.
I hardly changed `fit-window-to-buffer', if at all.

 > I guess you are confirming that, so long as the binding (e.g. to 1) is in
 > effect, it will effectively always prevent window deletion?

No.  The let-binding just allows to make a window as small as one line
in the first place.  But it does not prevent deleting a window.  If you
have a one line window and an nine lines window in a ten lines frame and
you want to enlarge the nine lines window by one line Emacs 23 will
probably delete the one line window.

 > So my question still is: if `window-min-height' is 1, then is deletion (due to
 > enlarging or shrinking another window) always prevented?

No.

 > If not, what are the situations where such a binding is not enough to prevent
 > deletion?  And is there, for such situations, another good prevention recipe?
 >
 > I'm looking for good ways to deal practically with this "misguided feature" as
 > it manifests itself in `fit-window-to-buffer'.  Thx.

You can try to replace calls to `enlarge-window' by (appropriately
configured) calls to `adjust-window-trailing-edge'.  Look at the window
balancing code to see how that can be done.

martin





  reply	other threads:[~2010-06-13 17:45 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-09 18:56 bug#6385: A slightly less aggressive fit-window-to-buffer Lennart Borgman
2010-06-11 13:21 ` martin rudalics
2010-06-11 17:15   ` Lennart Borgman
2010-06-12  8:00     ` martin rudalics
2010-06-12 13:03       ` Lennart Borgman
2010-06-12 14:16         ` martin rudalics
2010-06-12 14:24           ` Lennart Borgman
2010-06-13  7:51             ` martin rudalics
2010-06-13 15:23               ` Lennart Borgman
2010-06-12 15:21       ` Drew Adams
2010-06-13  7:51         ` martin rudalics
2010-06-13 12:39           ` Drew Adams
2010-06-13 14:34             ` martin rudalics
2010-06-13 15:20               ` Lennart Borgman
2010-06-13 17:44                 ` martin rudalics
2010-06-13 17:48                   ` Lennart Borgman
2010-06-13 16:33               ` Drew Adams
2010-06-13 17:45                 ` martin rudalics [this message]
2010-06-13 18:21                   ` Drew Adams
2010-06-13 20:04                     ` Stefan Monnier
2010-06-14  6:49                     ` martin rudalics
2010-06-14  6:57                       ` Drew Adams
2011-10-11  9:31 ` 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=4C151921.3090903@gmx.at \
    --to=rudalics@gmx.at \
    --cc=6385@debbugs.gnu.org \
    --cc=drew.adams@oracle.com \
    /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.