Обрезка конечных пробелов отлично работает для всех файлов, отличных от JS. У меня есть эти строки в моем .emacs:
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(add-hook 'before-save-hook 'whitespace-cleanup)
Я также использовал M-x customize-group <enter> js2-mode
для установки:
Js2 Cleanup Whitespace: [Hide Value] [Toggle] on (non-nil)
[State]: SAVED and set.
Non-nil to invoke `delete-trailing-whitespace' before saves.
Но он по-прежнему не обрезает пробелы при сохранении! Что мне не хватает?
Отредактировано для добавления: в ответ на предложения Дрю,
- Запуск удаления пробелов вручную в файле действительно работает.
- Все еще не работает без очистки пробелов, что неудивительно, потому что...
- delete-trailing-whitespace, похоже, не вызывается при сохранении.
- Базовый буфер сохранения тоже не работает.
Я не уверен, как исследовать, как режим js2 перехватывает/предотвращает срабатывание перехватчиков перед сохранением.