Список загруженных файлов конфигурации при запуске Emacs?

Предыстория: я разделил файл init.el на несколько файлов и попытался загрузить их один за другим из init.el. Каждый файл имеет:

(provide 'xxx)

в конце, и я использую:

(require 'xxx)

чтобы загрузить их.

(раньше я использовал load-library для их загрузки, но недавно я узнал, что команда require загружает их, только если они не загружены.)

Затем появляется какое-то проводное поведение. Я не уверен, что это проблема загрузки библиотеки в неправильном порядке или загрузки определенного файла.

Итак, вопрос:

Как узнать, какой файл загружается командой require? (В буфере «Сообщение» я вижу файлы, загруженные «load-libarry», но не «require»)


person X.Arthur    schedule 15.07.2015    source источник
comment
Почему бы не сосредоточиться на Затем появляется какое-то связанное поведение? Опишите основную проблему (подробно), которую вы действительно хотите исправить, или отредактируйте свой вопрос, убрав часть о странном поведении, чтобы не смущать аудиторию. Как правило, это один вопрос на тему. Вы можете поставить (setq debug-on-error t) в начале ваших .emacs или init.el, чтобы получить более подробную информацию об отладке. Большинству участников форума будет интересно увидеть показания отладчика, чтобы помочь в устранении неполадок.   -  person lawlist    schedule 16.07.2015


Ответы (2)


Вы можете проверить переменную load-history.

person Michael Albinus    schedule 16.07.2015
comment
Оценка (mapconcat 'car (reverse load-history) "\n") может прояснить для вас общую последовательность загрузки. См. ответ або-або, чтобы конкретно посмотреть на функции required. - person phils; 17.07.2015

Вы можете посмотреть на функцию featurep и переменную features: каждый раз, когда встречается оператор provide, переменная features обновляется.

person abo-abo    schedule 16.07.2015
comment
как найти эту переменную? - person X.Arthur; 16.07.2015
comment
M-: вызывает eval-выражение - person abo-abo; 16.07.2015
comment
X.Arthur: Если вы хотите проверить переменную features вручную/в интерактивном режиме, вы просто используете C-h v features RET. (Вы также можете использовать M-: features RET, как уже упоминалось, но с настройками вывода по умолчанию ваш список функций, вероятно, будет усечен при таком подходе.) - person phils; 17.07.2015