байт складеної версії 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, з якої вона була складена).
Дрю

@Name Друге речення - це додаткова інформація. Відповідь "Так". Emacs завантажує файли 'elc' просто без файлу '.el'.
Малабарба

2
"Насправді, навіть якщо у вас є обидва в одному каталозі, Emacs зазвичай все одно завантажує elc." .. Якщо load-prefer-newerвстановлено tв emacs 24.4+, буде завантажений новий .el / .elc.
Каушал Моді

3

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.