2009-11-05 13 views
6

Udostępniam moje pliki konfiguracyjne emacsa między skrzynką linuksową a skrzynką OS X. Konfiguracja przerwie się jednak, gdy zdefiniuję określoną czcionkę dla Emacs.app w konfiguracji, która nie jest wtedy dostępna w systemie Linux.Testowanie platformy w elicie?

Czy istnieje sposób, w jaki mogę przetestować bieżącą platformę, a następnie wykonać lub pominąć instrukcje specyficzne dla systemu OS X?

Odpowiedz

8

Zmienna elisp system-type jest tym czego potrzebujesz. Więc można napisać

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

inną możliwość rozważenia testuje się bezpośrednio do czcionki

w moim pliku .emacs mam następujące:

(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)))))) 

to działa nawet z emacs konsoli w OS X, którego samo testowanie systemu nie przyniosłoby skutku