re_set_registers is not documented; there's a note about this. I'd be happy to write some documentation for that.
I see no reason not to. I don't know why we never got to it. There's also the technique of re-using a registers data structure by NOT re_compile_fastmap, but using the fastmap member of the struct directly. If it still actually works in the current code. Finally, there's the problem of the non-thread-safety of RE_NO_SUB which Paolo mentioned; again, I can document that if we're not going to solve it immediately. I defer to Paolo on that one. Thanks much, karl