Orgモードでは、文芸的プログラミングスタイルを使用してEmacs構成ファイルを作成するのが一般的です。
あいにく、読みやすさは向上しますが、これにはプログラミング上の重大な欠点があります。特に、バッキング.el
ファイルがないため、Emacsは現在のソースブロック内のコードのみを認識します。これは、現在編集されているブロックを除いて、ナビゲーション、シンボル定義、およびフライチェックはすべて使用できないことを意味します。
#+BEGIN_SRC emacs-lisp
(defun literate-but-invisible ()
(interactive)
(message "I close my eyes..."))
#+END_SRC
#+BEGIN_SRC emacs-lisp
(defun humans-can-read-but-emacs-cannot ()
(interactive)
(literate-but-invisible) ; No navigation! Flycheck reports undefined symbol!
(message "...so that the room will be empty"))
#+END_SRC
Emacsに生成された.el
ファイルをもつれさせて使用し、これらの機能を組織モードで提供する方法はありますか?そのような機能は、文芸的なEmacs Lispコードの保守性を改善します。
FlycheckがOrgとEmacs Lispで同時に1つのバッファーで動作するのを見るのは素晴らしい機能ですが、私はorg-edit
バッファーorg-edit-special
(通常(C-c '
)を呼び出したときに取得する環境)を計測する方法についてのみ質問していることに注意してください。バッファにはアクティブモードが1つしかないため、これは簡単です。
Flycheckリポジトリの機能リクエストをこちらで開きました。別の問題について、関連する調査がここにあります。ただし、まだソリューションを構築することはできません。
find-file-hook
etcにフックを追加して、emacs config orgファイルを開くかどうかを検出します。