RFR: 8271356: Modify jdb to treat an empty command as a repeat of the previous command [v6]

Chris Plummer cjplummer at openjdk.java.net
Mon Oct 25 02:02:08 UTC 2021


On Wed, 20 Oct 2021 03:06:00 GMT, Jakob Cornell <duke at openjdk.java.net> wrote:

>> This has been under discussion on and off for the past month or so on serviceability-dev, and I think a CSR request is required, so this may be a work in progress.
>> 
>> Notes on the patch:
>> 
>> - The `list` command previously marked a line in each listing with `=>`.  In a bare `list` this is the next line up for execution.  Previously when requesting a specific location (e.g. `list 5`) the requested line would be marked.  With the patch applied, `list` will only ever mark the next line up for execution.  This is consistent with the behavior of GDB and PDB (at least).
>> - `EOF` is printed when the repeat setting is on and a bare `list` command follows a listing containing the last source line.  This feature is from PDB; it's a somewhat softer message than the one for an explicit `list` request that's out of range.
>> - I don't speak Chinese or Japanese, so I've omitted localizations for the new messages in those locales.  However, I updated the help text in both to include the new commands, with the descriptions left empty for now.
>
> Jakob Cornell has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8271356: Revert non-transparent localization changes

src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources.java line 113:

> 111:         {"Deferring.", "Deferring {0}.\nIt will be set after the class is loaded."},
> 112:         {"End of stack.", "End of stack."},
> 113:         {"EOF", "EOF"},

I just realized that this entry is missing from the localization files. This is needed for correct functionality because a lookup will be done for "EOF", and nothing will be found. I'm not sure what happens in this case. Maybe an exception. I guess you could experiment by removing this entry from this file, and see what happens when "EOF" gets referenced during a listing.

You should at least add an "EOF" line to the other localization files. I'm not sure what you should add for the translation. Maybe just keep the English version.

src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources.java line 266:

> 264:         {"repeat is on", "Repeat is on"},
> 265:         {"repeat is off", "Repeat is off"},
> 266:         {"repeat usage", "Usage: repeat <on|off>"},

These entries also need to be added the the other localization files.

-------------

PR: https://git.openjdk.java.net/jdk/pull/5290


More information about the serviceability-dev mailing list