いくつかのカスタムcomint
派生モードを記述した後、バッファーとプロセスを追跡する方法を決定するのは難しい場合があります。たとえば、異なるソースバッファーを異なるインタープリターに関連付ける場合などです。バッファまたはプロセスへの参照を保持する方が良いですか?
バッファを指定すると、関連するプロセスをを使用して見つけることができますget-buffer-process
。逆に、プロセスが指定されると、process-buffer
それに関連付けられたバッファーを返します。バッファとプロセスのどちらも、一意の名前でそれらを検索することにより、間接的な追加の層を許可しますが、オブジェクト自体への参照を保持するだけに比べると、これは脆弱に見えます。
データを1回だけ格納するという原則に違反しているため、1つの可能性は明らかに悪いように見えます。つまり、バッファとプロセスの両方への参照を保持しています。
comint-
入力を送信するためのほとんどの関数は、引数としてバッファではなくプロセスを受け取ります。これは、バッファではなくプロセスオブジェクトに依存することを主張します。一方、バッファはプロセスよりも長く留まる傾向があります。プロセスが終了するか強制終了され、以前使用していたバッファで新しいプロセスが開始される場合があります。
プロセスまたはそのバッファを参照するための他の説得力のある引数はありますか?