We're not guaranteed to have the sog_f callback set when
_pier_on_lord_slog gets called, so we should make sure there's a
function there before we call it.
* release/next-vere: (47 commits)
u3: updates u3i_slab implementation to normalize zero-length allocations to 1
u3: updates u3i_slab_grow() to always zero-initialize new space
u3: adds debug assertion for atom-allocation internal invariant
u3: renames word-length in u3i_slab
u3: removes byte-length from u3i_slab
u3: tweaks u3s_jam_fib() call sites, correcting byte-length calculation
u3: minor refactoring/dedupication of slab implementation
u3: simplifies atom slab-allocation in cue implementations
u3: removes redundant condition in +dis jet
u3: adds u3i_chub(), refactors u3i_chubs()
u3: improves effiency of gmp->u3a_atom conversion
u3: uses c3_d for length arguments in slab api
u3: removes redundant bitwidth function in serial.c
u3: refactors u3s_jam_fib to use slab api
u3: fixes u3i_slab_grow()
u3: removes unnecessary zero-initialization in +rip jet
u3: adds u3i_slab_from(), removes unnecessary uses of u3r_chop()
u3: removes u3a_slab and friends
u3: refactors +repn jet using u3i_slab api
u3: refactors u3i_* atom functions using u3i_slab api
...
* release/next-vere: (23 commits)
kh: abolish unicode syntax in favor of ascii
vere: use cue/test handles for repeated packet parsing
ur: adds missing serial.h include
u3: updates u3s_cue_xeno() to return error, not bail on oversized atoms
u3: factors atoms/backrefs back into u3s_cue_xeno()
u3: renames u3s_cue_sill* to u3s_cue_xeno*
u3: removes u3s_cue_xeno()
u3: removes unused atom measurement function in urth.c
vere: use u3s_cue_sill() for ivory pill
vere: use u3s_cue_sill for ipc $plea's
serf: use u3s_cue_sill() for ipc $writ's
u3: use u3s_cue_sill_with() in u3u_uncram()
u3: adds u3s_cue_fill and handle-based api
u3: factors atoms/backrefs out of u3s_cue_xeno
u3: refactors u3s_cue_bytes() to use road-stack api
ur: removes unused variables in tests
ur: cleans up ur_bsr_log()
ur: cleans up ur_met(), atom measurement
ur: refactors unsafe jam into a handle-based api
ur: adds walk_fore variant with a handle-based api for repeated traversal
...
This changes startup so we get the size of the current terminal
to send to Urbit on startup. We then subscribe to terminal size
change notifications and send those to your Urbit via the terminal
muxing system.
In the case where there are multiple terminal connections to your
Urbit, set the terminal size to the minimum of the widths.
If you connect to an urbit using the remote terminal code,
slogs would not be printed to them since they were hard
coded to be printed to stderr. This threads slog printing
to the terminal driver, and puts them in scrollback.
(It does not actually fix slogs being printed on one line.)