EmacsでWindowsのInstallShieldファイル(*.rul
)を編集するには
標準添付のgeneric-xをロードすれば rul-generic-mode という
メジャーモードが定義されます。
しかし、このモードの定義にはバグがありこのモード使用後に
他のファイルを開いたらfont-lockがおかしくなります。
原因は generic-rul-mode-setup-function にて
font-lock-syntax-table をグローバルに変更しているからです。
再現コード
(setq generic-extras-enable-list '(rul-generic-mode)) (require 'generic-x) (find-library "files") (find-file "/tmp/test.rul") ;empty file ok (switch-to-buffer "files.el") (emacs-lisp-mode)
取り急ぎ以下のアドバイスで直ります。
(defun generic-rul-mode-setup-function--font-lock-bug-fix (&rest them) (make-local-variable 'font-lock-syntax-table)) (advice-add 'generic-rul-mode-setup-function :before 'generic-rul-mode-setup-function--font-lock-bug-fix)
多分初めてM-x report-emacs-bugでバグレポを送りました。
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。