I was trying to debug a space requirement issue in beirc, so I wanted
to grab hold of its tab-layout-pane (which is named 'query).
Oddly, I find that (get-frame-pane <frame> 'query) returns nil.
I managed to use a back door to find the pane, and it *does* have a
name:
BEIRC(31): (slot-value tab-pane 'climi::name)
QUERY
It was defined as follows:
(:layouts
(default
(vertically ()
(with-tab-layout ('receiver-pane :name 'query)
("*Not Connected*" server 'receiver-pane))
;; (68 io) ;; no drop-shadow prompt
(make-pane 'clim-extensions:box-adjuster-gadget)
io
(20 pointer-doc)
(20 ;<-- Sigh! Bitrot!
status-bar))))
The with-tab-layout does have the :name option, and it invokes
make-pane. AFAICT, make-pane should stuff *application-frame* into an
arglist and invoke make-pane-1, which should stash this pane away in
the named-panes slot of the *application-frame*. But this is
evidently not happening (or, I suppose, that slot could be
overwritten). Alternatively, I suppose that *application-frame* might
be unbound at the time this with-tab-layout gets evaluated?
I'm pretty sure that this is a bug, and that the tab-layout pane IS
intended to be exposed to get-frame-pane. But I'm not sure how to fix
it, myself.
Thanks,
R