No Python, eu faria o seguinte para processar um arquivo linha por linha:
with open(infile) as f:
for line in f:
process(line)
Tentando pesquisar como fazer o mesmo no elisp (com buffers em vez de arquivos), não encontrei uma maneira óbvia.
(Quero terminar com duas estruturas de dados ordenadas de linhas, uma com todas as linhas correspondentes a uma expressão regular, a outra contendo aquelas que não corresponderam.)