Replace the notification system with events. Events can carry a payload of
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.
Change NOTHING (which means only redraw the indicator) to MOVE. And
redefine NOTHING as /actually/ nothing. Use it for commands which
actually make no change. Fixes flickering due to excessive redrawing of
indicator lines. Mostly from Michael Grant.
Tighten up parsing of paged search controls in search results so we error
out if the control is badly formed rather than trusting that it contained
the right elements.
some problems pointed out by Frank Denis, some more identified after that
ok jan@
'pfctl -s all' should not dump all OS fingerprints loaded to pf(4)
The '-s all' pfctl(8) option is supposed to report only the number
of OS fingerprints loaded to kernel instead. The issue was noticed
and kindly reported by David Adams (support _at_ tarma _dot_ com).
This is 7.9 regression.
OK @jsg
ld.so/sparc64: preserve unaligned relocation byte order
The unaligned relocation path reconstructs the relocation target in
SPARC byte order, but writes the adjusted value back least significant
byte first; this reverses R_SPARC_UA64 results on a big endian target.
Write the value back in target byte order, so relocated function
pointers retain their canonical representation.
Tested by tb@, OK: kettenis@
ld.so/sparc64: fix UA64 relocation mask selection
The relocation mask table is indexed by relocation number; the missing
separator after the R_SPARC_6 entry shifts subsequent initializers, so
R_SPARC_UA64 receives the R_SPARC_UA16 mask. Restore the table layout,
otherwise only the low 16 bits of relocated 64 bit pointers survive.
Tested by tb@, OK: kettenis@