La mayoría de lenguajes tienen una función getenv para obtener las
variables de entorno definidas para el proceso. Emacs Lisp no es una
excepción.

(getenv "WORD")

debería funcionar. En la variable `process-environment' tienes la
lista de variables.

http://www.gnu.org/software/emacs/manual/html_node/elisp/System-Environment.html

2012/8/17 Trash Folder <[email protected]>:
> Buenas,
>
> Aquí traigo otro problema que me inquieta y no sé como resolverlo.
>
> Idea:
> En emacs se pilla selecciona una palabra
> Se llama a un script (en perl, pero con alguna función de bash) que lo
> utiliza. Resultado en una variable.
> Cómo obtener en emacs la variable obtenida para mostrarla.
>
>
> Pongo un ejemplo sencillo de lo que sería necesario, pero no lo consigo:
> (defun prueba ()
>    (interactive)
>    (shell-command "export WORD=hola && echo $WORD")
>    (shell-command "echo paco$WORD"))
>
> me interesaría obtener la variable de entorno WORD, pero como cada
> shell-command parece ejecutar un proceso bash distinto, se pierde al
> finalizar, y la única manera que se me ocurre es que ese proceso bash guarde
> la variable o variables a pasar a un fichero, y luego desde la siguiente
> shell-command obtenerlo leyendo el fichero.
>
> Está claro que lo que quiero no es tan sencillo, pero esto lo resume.
>
> No sé si podría usar algún tipo de PIPE entre procesos, por ejemplo:
> desde el script tanto en bash como en perl (daría igual) hacer una pipe al
> proceso que ha llamado a ese script, es decir, Emacs (desde Lisp) y obtener
> dicha variable o variables en la siguiente linea de la función en elisp para
> poder utilizarla.
>
> La solución del fichero me parece muy sucia, pero es que no se me ocurre
> ninguna otra.
> No sé de qué manera se comunicará el Clipboard del sistema, pero se supone
> que con ese método se podría hacer (cualquier programa puede leer/escribir
> en el Clipboard, creo).
>
> ¡Un saludo!
>
>
> _______________________________________________
> Emacs-es mailing list
> [email protected]
> http://es.gnu.org/cgi-bin/mailman/listinfo/emacs-es
>
_______________________________________________
Emacs-es mailing list
[email protected]
http://es.gnu.org/cgi-bin/mailman/listinfo/emacs-es

Responder a