Ваша проблема в том, как вы используете if
: в документации сказано, что он
(if COND THEN ELSE...)
Т.е. ваш (require 'site-gentoo)
выполняется тогда и только тогда, когда он не GNU /Система Linux.
Вместо этого используйте when
, это должно делать то, что вы намерены.
Кроме того, на самом деле не должно быть необходимости использовать оба load
и require
, их использование должно иметьтот же результат.Различия в основном в том, что require
будет искать load-path
и не загружать что-то еще, что уже было загружено ранее.