>>>>> Dmitry Gutov writes: >> I think the only sensible functionality for syntax-ppss is to be equivalent >> to (parse-partial-sexp 1 pos). Then everybody knows where they stand. Those >> pieces of code which actually need a ppss cache with origin other than 1 >> could then use a more appropriate specialized function whose cache wouldn't >> get mixed up with syntax-ppss's. (It could share a lot of code with >> syntax-ppss). > They already use syntax-ppss. I imagine Emacs's backward compatibility > policy has something to say about that. There are times when our backward compatibility policy must bend, and even break. Specifically, we have a few existing cases where incomplete code has or will be shipped in a release. The argument for doing so has often been, "So we can see what users think." But if we *also* say that once it is released and people start using, we can't change it, then it's a Catch-22. syntax-ppss needs more work, that seems to be fairly clear based on the volume of discussion around this feature, and bugs like this one. Therefore, since it is not solid yet I'm not willing to let existing dependencies prevent us from fixing its flaws. When a feature becomes solid and true, like lexical-binding, that's when I become incredibly reticent to make any changes whatsoever -- without the convergence of all the planets and the moons. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2