plan.org now says a top-level function value is a stable trampoline over the indirection cell and never the address of a particular body, so that a stored callback observes a redefinition. A pushed handler frame breaks that rule and should: it is not a Fn value, nothing in the language can name it, and it is live only for the duration of the handler-bind body - so a reload landing while it is on the stack finds the clause it pushed still valid, which is the whole of old code is never unloaded. The consequence worth knowing is that a handler already on the stack does not pick up a redefinition of its own clause; the next entry to the handler-bind pushes the new one. Recorded at the store in emit.ml and in NEXT.md, because when Fn values arrive this is the one place that stores a body address on purpose and must not be swept up with the rest.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%