Closed myuhe closed 11 years ago
ありがとうございます! こちらでも把握できた感じです。フォーカスがどこかに行ってしまうのはさすがに不便なので直してみます。
どうやら、 after-buryやdisplayのメソッドが追加された時に潜りこんだようです。
参考になるかわかりませんが、自分用のバージョン管理で、タイトルの現象が発生する前と後のバージョンでとったdiffが以下のとおりです。
https://gist.github.com/myuhe/5027300
また、他にも何かわかったら追加で報告します。
ちなみに以下のシナリオでテストしようとしたんですが、これだと #59 関係なく通ってしまうんですよね。なんででしょう。。。
Scenario: Pop to sub window when displaying in sub window
Given I enabled e2wm
And I switch to "code" perspective
And I switch to window "main"
Given I open temp file "invalid.el"
And I insert:
"""
(require 'cl)
"""
And I press "C-x C-s"
When I start an action chain
And I press "M-x"
And I type "byte-compile-file"
And I press "RET"
And I execute the action chain
Then I should be in window "sub"
code pst で M-: (display-buffer (get-buffer-create "*test*")) RET
が一番単純な再現方法みたいですね。
あと、e2wm で display メソッドを定義しているのは two だけだと思うので、 code だと popup と同じ挙動になります。
再現シナリオかけました: #60
Scenario: Display method should work even windows were distorted (#58)
Given I enabled e2wm
And I switch to "code" perspective
And windows are distorted due to manual rearrangement
When I display buffer "*test*"
Then I should be in window "sub"
save-selected-window が保存した window を wlf が kill してしまってるのが原因のようです。詳しくは追えてませんが、どの道 save-selected-window 使うのがそもそも間違いでした。
ありがとうございます!とりあえず手元ではテストも通って治ったようです。 ecukesのテストやっぱりすごいですね。今後うまく活用できるようにしたいと思います。
うちのでも正しく動作しました。ありがとうございました!!
@kiwanami 勝手にテストフレームワーク決めやがって状態じゃなくて良かったです(ぉぃ。 wlf もテストしましょう!!
@myuhe あと、複数フレーム対応も普通に出来てるっぽいんで人柱して下さい。
mainにフォーカスがある時に、subが開くとフォーカスがmainから離れることがあります。
当方の環境は GNU Emacs 24.3.50.1 e2wm、window-layoutは現時点での先端です。
以下、再現方法です。
調査不足かもしれませんが、Subが開くときに、フォーカスがSubに移らない場合、この現象が発生するような気がします。