Well, given that syntax-ppss is not suitable for fixing back_comment,
the alternatives are not fixing it, substantially amending syntax-ppss,
using my new code, or fixing it some other way. I really think it
should be fixed. You don't want syntax-ppss to be changed. Do you have
an idea for an "other way"?
There is neither a need nor a way to fix syntax-ppss : Determining
syntax must check from beginning of buffer, as parse-partial-sexp does.
parse-partial-sexp is in C, it's fast.
parse-partial-sexp starts scanning from where you ask it to, optionally
starting with a parse state returned by a previous invocation. Although
it's fast, it's not all that fast when repeatedly run over large
portions of a large buffer. This is what syntax-ppss was intended to
solve.
The position syntax-ppss notionally starts scanning from is
indeterminate. Sometimes it's the beginning of buffer, sometimes it's
the beginning of the visible portion of the buffer, sometimes it's some
former beginning of visible portion.
Its documentation is confused, too. The entry in the elisp manual says
"beginning of buffer". The doc string string says "point-min".
I disagree about the need to fix syntax-ppss - medium level functions
should be rigorous and determinate.