2009-11-05 13 views
6

Estoy compartiendo mis archivos de configuración de emacs entre un cuadro de Linux y un cuadro de OS X. Sin embargo, la configuración se rompe cuando defino una fuente específica para Emacs.app en la configuración que luego no está disponible en Linux.Prueba de plataforma en elisp?

¿Hay alguna forma de probar la plataforma actual y luego ejecutar u omitir las instrucciones específicas de OS X?

Respuesta

8

La variable elisp system-type es lo que desea. Para que pueda escribir

(if (eq system-type 'darwin) 
    (your-macosx-specific-configuration)) 
3

otra posibilidad a considerar es la prueba directa para la fuente

en mis .emacs presentar Tengo el siguiente:

(let ((prefered-fonts '("-apple-espresso mono-medium-r-normal--0-0-0-0-m-0-iso10646-1"))) 
    (dolist (font prefered-fonts) 
    (if (and (functionp 'x-list-fonts) (x-list-fonts font)) 
     (progn 
     (add-to-list 'initial-frame-alist (cons 'font font)) 
     (add-to-list 'default-frame-alist (cons 'font font)))))) 

esto funciona incluso desde emacs consola de OS X, que simplemente probando para el sistema no atraparía