window configurations no longer (since 21.5) include windows ! ?

Stephen J. Turnbull stephen at xemacs.org
Sun Feb 10 18:36:58 EST 2008


Michael Sperber writes:

 > While this wasn't exactly intentional, identity preservation was a
 > kludge with the old implementation that tied down a number of internal
 > invariants related to GC we wanted to get rid of.

Where is this documented?  To the best of my knowledge the window
configuration refactoring just plopped down on XEmacs Patches one day
with no design documentation, and I don't recall ever hearing that it
was related to GC.  I always thought it was about moving to modern
pixel-based dimensions and getting non-performance-critical code out
of C.

 > Identity preservation was (to my knowledge) never documented,

I guess you missed this passage from the XEmacs Lisp manual:

    38.3 Deleting Windows
    =====================

    A window remains visible on its frame unless you "delete" it by
    calling certain functions that delete windows.  A deleted window
    cannot appear on the screen, but continues to exist as a Lisp
    object until there are no references to it.  There is no way to
    cancel the deletion of a window aside from restoring a saved
    window configuration (*note Window Configurations::).  Restoring a
    window configuration also deletes any windows that aren't part of
    that configuration.

The section on window configurations is pretty careful to avoid
mentioning window identities, but it doesn't explicitly deny that IDs
will be preserved.  Also, anybody with expertise in X11 (and maybe
Windwoes and Carbon/Cocoa) would assume that windows can be withdrawn
and restored without losing their identities.

 > which is why I assumed ditching it would be OK.

Aargh!  Et tu, Mike?





More information about the XEmacs-Beta mailing list