I had mentioned the problem described below in my earlier mail. But let's have the conversation here. I found out the exact scenario when it happens. I think it's got to do with creation of the debug status window code -> util#TempWindow. But I don't know the exact reason. If you have some time, please see if you can look at it.
An unnecessary split window is created to load a buffer instead of loading it in
the existing window for viewing the code.
Steps to reproduce
1. Start the Java program TestDebugger in debug mode.
To this do, I run ant test.jdt to compile the test code and then run the following:
java -cp build/test/junit/classes/org.eclim.jdt -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5000 org.eclim.plugin.jdt.command.debug.TestDebugger
2. Launch VIM with TestDebugger.java and connect to the VM. This will open the debug status window.
3. Jump to the variable split window.
From terminal, run the following command together.
vim --servername eclim --remote-send ":JavaDebugStatus<CR>";vim --servername eclim --remote-send ":JavaDebugGoToFile /home/krajah/.vim/bundle/eclim/org.eclim.jdt/test/junit/org/eclim/plugin/jdt/command/debug/Adult.java 11<CR>"
5. A split window will be created to load Adult.java instead of using the existing window where TestDebugger.java was loaded. The culprit here is the first call to JavaDebugStatus. If I don't make this call, it works as expected.