help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MY window tree!


From: martin rudalics
Subject: Re: MY window tree!
Date: Mon, 15 Jan 2007 08:27:23 +0100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

> Saving and restoring properties is rather straightforward. Is there
> still any reason to have this in C?

I don't care about things like `buffer-display-count' or `use_time',
hence I wouldn't know.  I would care, however, about the following:


(1) You do

(newovl (make-overlay start end)))

but you never delete any overlays AFAICT.  Doesn't this mean to get
_two_ overlays (whose properties are mostly identical but for the
window-property) in the same place?  What's so problematic about simply
changing the window-property of each affected overlay to "window"?


(2) The adjusting part doesn't work here yet, that is all windows are
balanced in their heights and widths.  I don't understand the code yet
but I can't imagine that it should be necessary to round the size of all
windows, leaf windows should be left alone, I presume.  (BTW new-height,
new-size, ..., old-width would be more readable.)

I tried with trivial code like

  (let ((tree (winsav-get-window-tree)))
    (delete-other-windows)
    (winsav-restore-window-tree
     tree
     (split-window (selected-window) nil t)))


(3) I don't understand yet what happens when a particular window can't
be split because it's too small.


(4) I think `window-start' should be preserved unless this would make
`window-point' disappear.


(5) A hook which passes old / new window arguments for each pair where a
change took place would be urgently needed.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]