iseekable backport

i recognized this is missing in 12.2.
maybe you want to get it in.
i would be glad if anyone can review, because i changed quite a bit manually.