| Summary: | [console] Fix input handling in IOConsole | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Paul Pazderski <paul-eclipse> |
| Component: | Debug | Assignee: | Paul Pazderski <paul-eclipse> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | fabiofz, loskutov, register.eclipse, sarika.sinha |
| Version: | 4.11 | ||
| Target Milestone: | 4.13 M1 | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: |
https://git.eclipse.org/r/144295 https://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=1962d9672d5af1a8c4d749a819be3d9784bf9ee0 https://git.eclipse.org/r/145282 https://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=999fda5f46e5566560ede1638b730d561f650ab2 |
||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 250306, 525966, 549366, 552030 | ||
|
Description
Paul Pazderski
New Gerrit change created: https://git.eclipse.org/r/144295 Gerrit change https://git.eclipse.org/r/144295 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=1962d9672d5af1a8c4d749a819be3d9784bf9ee0 @Paul, Please fix the jdt debug test fialures due to this fix. https://download.eclipse.org/eclipse/downloads/drops4/I20190701-1805/testResults.php I have the pydev source code open in my workspace and noted that it uses org.eclipse.ui.internal.console.IOConsolePartition.getString(), which was removed by this patch. See org.python.pydev.debug.model.AbstractDebugTarget.addConsoleInputListener() in https://github.com/fabioz/Pydev/blob/8fa736b95f25544da4f679c2e0f2bd5f659c7df1/plugins/org.python.pydev.debug/src/org/python/pydev/debug/model/AbstractDebugTarget.java#L932 Thanks for the hints. Will look into both. New Gerrit change created: https://git.eclipse.org/r/145282 (In reply to Sarika Sinha from comment #3) > @Paul, Please fix the jdt debug test fialures due to this fix. An annoying mistake. I had a working version and in an attempt to simplify my code I broke this particular scenario. @Paul Pazderski just to give some more info, as @Till Brychcy commented, PyDev relies on being able to get the text contents whenever the user types in some input (it uses the console during debugging so that the user can interact with the debugger -- any input entered/pasted in the console is evaluated by the debugger -- unless the backend is actually expecting some user input, in which case it's sent to stdin), so, what would be needed in the PyDev side is a way to get the last line entered by the user. I see the problem. The good news first there should be an easy workaround to keep PyDev running. Apart from the cases where it run out of sync the partition's buffer contained the same content as the document part it partitioned. So this [1] change in PyDev should obtain the existing behavior. I also tried to find a better solution for your problem but it seems in fact almost impossible to access the user input entered in console. I found a theoretical solution only relying on API methods. [2] Unfortunately the JavaDoc is (for me) not clear if it should work and with current ProcessConsole it will not work. [1] https://github.com/fabioz/Pydev/pull/245 [2] https://github.com/PPazderski/Pydev/commit/b1fb8107625aaa2db1b06c7655f5b90a1e5f4b64 Gerrit change https://git.eclipse.org/r/145282 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=999fda5f46e5566560ede1638b730d561f650ab2 Test failure fixed and a workaround for PyDev merged. Closing again. @Paul, Can you verify the changes in the I build? Verified with I20190709-1800 |