clay: revise scry for subscribers to a desk
Address PR6136 comments to improve the interface to this scry.
Now it looks like .^((set ship) %cs /=landscape=/subs)
instead of .^((set ship) %cs %/subs/landscape)
++ read-s
|= [yon=aeon pax=path]
^- (unit (unit cage))
+ ?: ?=([%subs ~] pax)
+ =/ doj=(unit dojo) (~(get by dos.rom) syd)
+ ?~ doj `~
+ =/ wos ~(tap in ~(key by qyx.u.doj))
+ =| sus=(set ship)
+ |-
+ ?~ wos
+ ``noun+!>(sus)
+ ?~ for.i.wos
+ $(wos t.wos)
+ %= $
+ wos t.wos
+ sus (~(put in sus) ship.u.for.i.wos)
+ ==
?. ?=([@ * *] pax)
`~
?+ i.pax `~
%- wrap:fusion
(page-to-cage:(aeon-ford yon) u.peg)
``cage+[-:!>(*^cage) cage]
- ::
- %subs
- =/ doj=(unit dojo) (~(get by dos.rom) i.t.pax)
- ?~ doj ~
- =| sus=(set ship)
- =/ wos ~(tap in ~(key by qyx.u.doj))
- |-
- ?~ wos
- ``noun+!>(sus)
- ?~ for.i.wos
- $(wos t.wos)
- %= $
- wos t.wos
- sus (~(put in sus) ship.u.for.i.wos)
- ==
::
%open ``open+!>(prelude:(aeon-ford yon))
%late !! :: handled in +aver
