Tengo un programa que puede enviar texto a cualquier otro programa para su posterior análisis (por ejemplo, sed, grep, etc.). Me gustaría que envíe los datos a Emacs y haga el análisis allí. ¿Como podría hacerlo? EmacsClient toma un nombre de archivo por defecto, esta es una cadena de datos, no un archivo, y realmente no quiero crear y eliminar archivos solo para enviar datos a Emacs.Crear un nuevo búfer con texto usando EmacsClient
EmacsClient tiene una opción de línea de comando "eval" que le permite ejecutar código lisp en lugar de abrir archivos. ¿Hay una función simple de lisp que abrirá un nuevo buffer con el texto dado?
Editar: Estoy buscando algo como:
emacsclientw.exe -eval (open-new-buffer 'hello world')
Y un nuevo buffer aparecería automáticamente con la palabra "hola mundo". No estoy seguro de cómo se establecería el nombre del búfer. Ojalá algo auto numerado.
Si alguien más tiene problemas para hacer que esto funcione en EmacsW32, tuve que cambiar las comillas simples por comillas dobles, y escapar de las comillas dobles dentro del comando: emacsclient -e "(open-buffer- con \ "hola, mundo \") " –
@OtherMichael lo que pones funciona muy bien para mí en Windows, sin embargo estoy ejecutando desde un shell cygwin. No sé cómo personalizar las cosas para que funcionen desde un indicador general de DOS: cuando lo intento desde el indicador de DOS, aparece el error "emacsclient.exe: sin conector o editor alternativo" (por supuesto, inicié Emacs desde el cygwin shell, que puede causar eso). –
Desde cygwin shell, ¿está iniciando EmacsW32 o cygwin emacs? –