2012-04-03 32 views
5

Supongo que la consulta real es: cómo evaluar un archivo a través de su url?cargar .emacs desde la url

Por supuesto, no sería el archivo .emacs real, pero serviría para ese fin, por lo que puede ejecutar su configuración personal en cualquier PC que tenga emacs instalados.

Soy consciente del hecho de que cargar un búfer en ciertas situaciones (principalmente "alternar cosas") no es lo mismo que evaluar un búfer después, pero eso está bien.

+1

Si está utilizando ZSH, puede usar algo como 'emacs -q -l = (curl http: // url/a/some/file)' – Hugh

+0

tx, lo investigaré – Peter

Respuesta

6

browse-url-emacs de la biblioteca estándar url lo hace simple. Muestra el búfer resultante, que probablemente no desee en este caso, pero podemos envolverlo con save-window-excursion para evitar ese problema.

(save-window-excursion 
    (eval-buffer (browse-url-emacs "http://foo/bar.el"))) 

o con algún tratamiento de errores rudimentaria:

(condition-case e 
    (save-window-excursion 
     (eval-buffer 
     (browse-url-emacs "http://foo/bar.el"))) 
    (error (message "Could not load remote library: %s" (cadr e)))) 
+0

Agradable, solo probado con éxito – Peter

1

(url-handler-mode 1) después de lo cual se puede (load "http://foo/bar/baz").

Te recomiendo que no hagas eso, sin embargo, ya que estás exponiéndote a algún serio agujero de seguridad si haces eso (por ejemplo, un intermediario podría sustituir el archivo con otro que envíe un desagradable correo electrónico a tu jefe /marido/...). También viene con un montón de otros efectos secundarios molestos como "inicio lento" o "se bloquea al iniciarse cuando el servidor remoto no está disponible", ... Lo que hago en cambio es mantener mis .emacs sincronizados en el repositorio de Bazar con un repositorio remoto.

+0

Se trata más de cargarlo después del inicio, y mi archivo remoto es bastante seguro. Probablemente no sea más seguro que el repositorio remoto que está utilizando. – Peter

+0

El riesgo no es que alguien piratee el servidor remoto, sino que alguien capture los paquetes y los cambie sobre la marcha. Por el contrario, mi repositorio remoto se accede a través de ssh, por lo que se evita este riesgo. – Stefan

+0

Ok, mi es 'solo' ssl, aún así, hackeando eso? Creo que me arriesgaré. No soy un banco después de todo .. – Peter

Cuestiones relacionadas