скомпилированная байтовая версия файлов elisp


12

У меня есть .elи .elcбайтово скомпилированная версия ( ) файла elisp. Случайно удаляю .elфайл. Могу ли я получить .elфайл из его .elcверсии? Является ли .elcфайл без его .elфункционала?

Ответы:


12

У меня есть как .el, так и байтовая версия (.elc) файла elisp. Случайно удаляю файл .el. Могу ли я получить файл .el из его версии .elc?

На практике нет.

Теоретически вы можете использовать файл elc для создания файла el с понятными для человека определениями. Однако это, вероятно, не будет выглядеть так же, как исходный файл, который вы удалили, из-за макросов и оптимизации компилятора, и даже тогда я не знаю ни одной библиотеки, которая делает это.

Работает ли файл .elc без его файла .el?

Да, Emacs счастлив загрузить .elcфайл самостоятельно. Нет .elфайла не требуется вообще.

На самом деле, даже если у вас есть оба в одном и том же каталоге, Emacs обычно загружает elc в любом случае.


Вам не нужно " оба в одном каталоге ". Вам не нужны оба. Достаточно * .elc, по крайней мере, если ваша версия Emacs совместима с ним (например, с версией Emacs, из которой она была скомпилирована).
Дрю

@ Имя Второе предложение является дополнительной информацией. Ответ - «Да». Emacs прекрасно загрузит файлы 'elc' без файла '.el'.
Малабарба

2
«На самом деле, даже если у вас есть и в том же каталоге, Emacs обычно загружает ELC в любом случае.» .. Если load-prefer-newerустановлено значение tв Emacs 24.4+, новее из .el / .elc будет загружен.
Каушал Моди

3

Проверьте *.el~файл - может быть в Emacs есть резервная копия вашего отсутствующего *.elфайла (которую некоторые инструменты будут скрывать от вас в своем пользовательском интерфейсе, поэтому используйте что-то подобное ls -a).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.