2009-11-05 2 views
6

Я делюсь файлами конфигурации emacs между ящиком Linux и ящиком OS X. Однако конфигурация ломается, когда я определяю конкретный шрифт для Emacs.app в конфигурации, который затем недоступен в linux.Тестирование платформы в elisp?

Есть ли способ проверить текущую платформу, а затем выполнить или пропустить конкретные инструкции OS X?

ответ

8

Переменная elisp system-type - это то, что вы хотите. Таким образом, вы можете написать

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

другую возможность рассмотреть тестирует непосредственно для шрифта

в моем .emacs файл у меня есть следующие:

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

это работает даже с консоли Emacs в OS X, который только тестирование для системы не будет улавливать