Hi folks, I've been looking to improve the usability of JDB a bit by imitating GDB's handling of empty commands. If the most recent command is one that it makes sense to invoke repeatedly, GDB does so. Also, when the `list' command is repeated (by either typing it out or issuing an empty command after a `list'), GDB shows the next chunk of source lines, resetting to the line being executed when the user moves up or down the stack or advances execution.
Here are the changes I propose, based on suggestions from Chris Plummer: A new command line option (`-gdb' or `-repeat'?) is introduced which enables GDB-like behavior. When this mode is selected, entering an empty command at the prompt reruns the previous command if it was one of the following forms: `up', `down', `step', `step up', `stepi', `next', `cont', `pop', `reenter', `!!', and `<n> <command>' (where any of the preceding commands is being repeated). Currently JDB appears to use the current source line as the center of its listings even when invoked repeatedly. I haven't included an auto-advance enhancement to that command here because it goes somewhat beyond the narrow scope of implementing command repetition, but I'm happy to implement that alongside these changes or in a separate change set if the community sees fit. I find this auto-advance useful when using GDB and PDB. Any feedback is appreciated, but in particular I'm hoping to get some input on these points: - If the repetition is limited to commands that are likely to be repeated, is it necessary to have this feature off by default? - Would folks like to see auto-advance `list' behavior along with these changes? JBS ticket: https://bugs.openjdk.java.net/browse/JDK-8271356 Best, Jakob