フォローモードで見られるような動作を取得する方法はありますが、それを複数のウィンドウにまたがって別々のフレームで実行できますか?
私はいくつかの厄介なレガシー コードで作業しなければなりません。これは、8 レベルの深さのネストされた for ループの 7 ページ ブリックと、多くの goto を使用して、できるだけ多くのコードを確認するのに役立ちます (十分に理解して書き直すために)。他のすべてを壊すことなく)。
一度に表示できるコードが多ければ多いほど良いのです。
この制限はfollow-all-followers
、 の呼び出しで明示的に設定されnext-window
ます。
これが基本的な回避策です。かなりすぐに気付くいくつかの欠陥があります (たとえば、フレームを手動で配置する必要があるかもしれません) が、すべてのフレームを利用するという基本的な要件を容易にし、機能させることができるはずです。
また、WindMoveを使用した FrameMove は、この配置に非常に役立つ可能性があることをお勧めします。
(defmacro with-temporary-advice (function class name &rest body)
"Enable the specified advice, evaluate BODY, then disable the advice."
`(progn
(ad-enable-advice ,function ,class ,name)
(ad-activate ,function)
,@body
(ad-disable-advice ,function ,class ,name)
(ad-activate ,function)))
(defadvice next-window (before my-next-window-all-frames disable)
"Enforce the ALL-FRAMES argument to `next-window'."
(ad-set-arg 2 'visible))
(defadvice follow-all-followers (around my-follow-all-frames activate)
"Allow `follow-mode' to span frames."
(with-temporary-advice
'next-window 'before 'my-next-window-all-frames
ad-do-it))
代わりに、関数を単純に再定義して、必要なことを行うことを好むかもしれませfollow-all-followers
ん。