From: "Jan D." <jan.h.d@swipnet.se>
Cc: emacs-devel@gnu.org
Subject: Re: [rudalics@gmx.at: enlarge-window with preserve-before non-nil]
Date: Sat, 14 May 2005 20:48:59 +0200 [thread overview]
Message-ID: <4286481B.6070702@swipnet.se> (raw)
In-Reply-To: <E1DVFP8-0005Mk-CV@fencepost.gnu.org>
Richard Stallman wrote:
> I looked a bit, but I am not sure how it shall work. If I just to three
> windows, in the obvious way (C-x 2, C-x 2), I get three windows, one 11
> lines, one 12 lines and one 24 lines. This gives me this window
> configuration:
>
> 0x86b6b10: vchild: 0x861d830, hchild: 0x0, next: 0x861d9c8, parent: 0x0,
> h: 47
> 0x861d830: vchild: 0x0, hchild: 0x0, next: 0x8694a50, parent: 0x86b6b10,
> h: 11
> 0x8694a50: vchild: 0x0, hchild: 0x0, next: 0x86b6ca8, parent: 0x86b6b10,
> h: 12
> 0x86b6ca8: vchild: 0x0, hchild: 0x0, next: 0x0, parent: 0x86b6b10, h: 24
> 0x861d9c8: vchild: 0x0, hchild: 0x0, next: 0x0, parent: 0x0, h: 1
>
>That's the correct configuration for such a case.
>
>
> But if I create the same three windows (11, 12 and 24 lines) with the
> method below, I get this window configuration:
>
> 0x8833558: vchild: 0x87f9978, hchild: 0x0, next: 0x861d9c8, parent: 0x0,
> h: 47
> 0x87f9978: vchild: 0x86a7a48, hchild: 0x0, next: 0x8820a48, parent:
> 0x8833558, h: 23
> 0x86a7a48: vchild: 0x0, hchild: 0x0, next: 0x87b6d68, parent: 0x87f9978,
> h: 11
> 0x87b6d68: vchild: 0x0, hchild: 0x0, next: 0x0, parent: 0x87f9978, h: 12
> 0x8820a48: vchild: 0x0, hchild: 0x0, next: 0x0, parent: 0x8833558, h: 24
> 0x861d9c8: vchild: 0x0, hchild: 0x0, next: 0x0, parent: 0x0, h: 1
>
>This is a bug. A window which is a vchild should never have a vchild.
>
>Can you determine at which step the structure first becomes
>incorrect? That is where the bug is, I think.
>
I think it is correct up to the last delete, but correct me if I'm
wrong. Steps in the chain are represented like this (arrow down =
next, arrow diagonal = vchild, arrow horizontal = hchild, parent in
parentesis):
w1 | w2
i0 -----> w1 (i0)
| |
v v
minibuf w2 (i0)
| W2
W1 |---
| W3
i0 ----> w1 (i0)
| |
minibuf i1 (i0)
\
w2 (i1)
|
w3 (u1)
w2
-----
w3
i1
|\
| \
| \
| w2 (i1)
| |
minibuf w3 (i1)
W2 | W4
--------
W3
i1
|\
| i2 (i1) --> w2 (i2)
| | |
| w3 (i1) w4 (i2)
|
minibuf
| W4
W2 |---
| W5
- -------
W3
i1
| \
| i2 (i1) --> w2 (i2)
| | |
| w3 (i1) i3 (i2)
| \
| w4 (i3)
| |
minibuf w5 (i3)
w4
------
w5
------
w3
i1
| \
| \
| i3 (i1)
| | \
| w3 (i1) \
| w4 (i3)
| |
minibuf w5 (i3)
I think it is correct up to the last delete of w2. But what the rule should be for eliminating i3 in the last step I don't know. I think this is the desired last step:
i1
| \
| \
| w4 (i1)
| |
| w5 (i1)
| |
| w3 (i1)
|
minibuf
i1 possibly replaced with i3.
Jan D.
next prev parent reply other threads:[~2005-05-14 18:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-04 16:25 [rudalics@gmx.at: enlarge-window with preserve-before non-nil] Richard Stallman
2005-05-08 20:24 ` Jan D.
2005-05-09 21:03 ` Richard Stallman
2005-05-14 18:48 ` Jan D. [this message]
2005-05-15 15:59 ` Richard Stallman
2005-05-17 4:47 ` Jan D.
2005-05-17 11:58 ` Stefan Monnier
2005-06-06 10:43 ` Jan D.
2005-06-06 16:37 ` Richard Stallman
2005-06-27 8:35 ` 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=4286481B.6070702@swipnet.se \
--to=jan.h.d@swipnet.se \
--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 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).