unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: monnier@IRO.UMontreal.CA
To: martin rudalics <rudalics@gmx.at>
Cc: Chong Yidong <cyd@gnu.org>, emacs-devel@gnu.org
Subject: Re: Windows' "split status"
Date: Tue, 15 Nov 2011 11:24:01 -0500	[thread overview]
Message-ID: <jwvfwhp4b66.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <4EC2821C.4020400@gmx.at> (martin rudalics's message of "Tue, 15 Nov 2011 16:15:40 +0100")

>> But I think this result is just a consequence of the implementation
>> rather than actual intention.  My impression is that window-nest is
>> trying to solve a problem which can't be solved with a user-config: it's
>> trying to provide some kind of way for elisp packages to use parent
>> windows as a form of "very lightweight sub-frame", without touching much
>> of their code (e.g. without making their code use parent windows
>> explicitly).
>> IIUC the use of window-nest for that purpose only works if the
>> application limits itself to using 2 windows within that "sub-frame",

> What makes you think that?

Are you saying that my description of the intention behind window-nest
is wrong?  Or are you only saying that the "at most 2" limitation is not
really true. while everything else is right?

I don't actually know what was the intention behind window-nest, so
confirmation would be welcome.

> You can let-bind `window-nest' to t around a
> split and get an extra parent around the resulting two windows.  After
> that you can split those windows any which way you want and can get an
> arbitrary number of windows within a "sub-frame".  The manual explicitly
> uses the term "always" in the sentence

That sounds like a rather round-about way to do things (because you have
let-bind the var around some parts of he code, but not all): wouldn't it
be easier to start with "create a parent window" (which would start
containing only the selected window) an then proceed to split it the
usual way.  That would save you from using let-binding.

> `window-nest' is aimed at providing a safe low-level mechanism to
> construct and preserve parent windows.  Everything else can be easily
> built in Elisp on top of that, like atomic or side windows.

If it's a low-level mechanism, why is it a defcustom, then?
If it's aimed at "construct and preserve", why is it a variable, rather
than a function?


        Stefan



  reply	other threads:[~2011-11-15 16:24 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-11 15:37 Windows' "split status" Chong Yidong
2011-11-11 18:37 ` martin rudalics
2011-11-12  0:36   ` Chong Yidong
2011-11-12 10:01     ` martin rudalics
2011-11-13  3:23       ` Chong Yidong
2011-11-13 10:49         ` martin rudalics
2011-11-13 16:10           ` Chong Yidong
2011-11-13 17:17             ` martin rudalics
2011-11-15  5:20               ` Chong Yidong
2011-11-15  7:25                 ` martin rudalics
2011-11-15  9:39                   ` Chong Yidong
2011-11-15 13:30                     ` Stefan Monnier
2011-11-15 15:15                       ` martin rudalics
2011-11-15 16:24                         ` monnier [this message]
2012-01-10 16:26                           ` martin rudalics
2011-11-23 12:36                         ` Nix
2011-11-23 14:15                           ` martin rudalics
2011-11-23 17:38                             ` Eli Zaretskii
2011-11-23 19:21                               ` martin rudalics
2011-11-23 20:14                                 ` Eli Zaretskii
2011-11-24 10:00                                   ` martin rudalics
2011-11-24 11:27                                     ` Eli Zaretskii
2011-11-25 10:24                                       ` martin rudalics
2011-11-25 11:37                                         ` Eli Zaretskii
2011-11-25 13:55                                           ` martin rudalics
2011-11-25 12:00                                         ` Nix
2011-11-25 12:07                                           ` Eli Zaretskii
2011-11-25 12:14                                             ` Nix
2011-11-25 13:55                                               ` martin rudalics
2011-11-25 13:54                                           ` martin rudalics
2011-11-15 15:15                     ` martin rudalics
2011-11-15 18:37                       ` Juri Linkov
2011-11-16  5:08                         ` Chong Yidong
2011-11-16 10:11                           ` martin rudalics
2011-11-16 13:34                           ` Stefan Monnier
2011-11-16 17:01                           ` Juri Linkov
2011-11-17 10:34                             ` 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=jwvfwhp4b66.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=cyd@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rudalics@gmx.at \
    /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).