En Python, que podría hacer algo comoProcesamiento idiomático por lotes de texto en Emacs?
fout = open('out','w')
fin = open('in')
for line in fin:
fout.write(process(line)+"\n")
fin.close()
fout.close()
(creo que sería similar en muchos otros idiomas también). En Emacs Lisp, habría que hacer algo como
(find-file 'out')
(setq fout (current-buffer)
(find-file 'in')
(setq fin (current-buffer)
(while moreLines
(setq begin (point))
(move-end-of-line 1)
(setq line (buffer-substring-no-properties begin (point))
;; maybe
(print (process line) fout)
;; or
(save-excursion
(set-buffer fout)
(insert (process line)))
(setq moreLines (= 0 (forward-line 1))))
(kill-buffer fin)
(kill-buffer fout)
que me dieron la inspiración (y el código) de Emacs Lisp: Process a File line-by-line. ¿O debería intentar algo completamente diferente? Y cómo eliminar el ""
de la declaración de impresión?
... Fantástico ... – hatmatrix
Referencia cruzada a la siguiente respuesta que muestra cómo pasar argumentos de línea de comandos adicionales a los scripts de Emacs: http://stackoverflow.com/questions/6238331/emacs-shell-scripts-how- to-put-initial-options-into-the-script # 6259330 – phils