class Asciidoctor::PreprocessorReader

def shift

just implement the logic there?
also, we now have the field in the super class, so perhaps
TODO Document this override
def shift
  if @unescape_next_line
    @unescape_next_line = false
    (line = super).slice 1, line.length
  else
    super
  end
end