GNU nano - Bugs: bug #48659, of several commands typed during...
You are not allowed to post comments on this tracker with your current authentication level.
bug #48659: of several commands typed during loading, only the first is executed
Submitter: | Benno Schulenberg <bens> | ||
Submitted: | Sat 30 Jul 2016 09:53:47 AM UTC | ||
Severity: | 2 - Minor | Status: | Fixed |
Assigned to: | bens | Open/Closed: | Closed |
Jump to the original submission
Tue 23 Jan 2018 05:15:12 PM UTC, comment #10: |
Benno Schulenberg <bens> |
Sat 20 Jan 2018 06:40:17 PM UTC, comment #9: Attached is a first version of a patch. |
Benno Schulenberg <bens> |
Wed 12 Jul 2017 05:47:10 PM UTC, comment #8: First test whether the Ctrl+Arrow keys work elsewhere. Type a few random words on the command line, then use Ctrl+Left and Ctrl+Right to jump around in them. Does that work? And do those same keystrokes work in vim? If they don't, and they do work when using Terminator, that should be clear enough as a bug report.
|
Benno Schulenberg <bens> |
Wed 12 Jul 2017 04:41:04 PM UTC, comment #7: Good to know MATE Terminal is deficient. What would be the most effective way of phrasing a bug report??
|
Peter Passchier <pepa65> |
Wed 12 Jul 2017 04:15:54 PM UTC, comment #6:
|
Benno Schulenberg <bens> |
Wed 12 Jul 2017 10:35:04 AM UTC, comment #5: Ubuntu 16.04
|
Peter Passchier <pepa65> |
Wed 12 Jul 2017 09:31:22 AM UTC, comment #4: No, we can't just continue interpreting the input, because we haven't kept a record of how much of the input we have consumed during the interpretation of a sequence. That is why the counter needs to be built in. Which is going to be messy and ugly.
|
Benno Schulenberg <bens> |
Wed 12 Jul 2017 01:06:35 AM UTC, comment #3: In that case, isn't it just a matter of keeping existing processing, but not discarding the rest but keep interpreting the input using existing code? |
Peter Passchier <pepa65> |
Tue 11 Jul 2017 07:07:34 PM UTC, comment #2: This isn't so easy. Well, on modern machines, with a new enough ncurses, the terminal doesn't produce escape sequences any more: each key is a single code. So there it would be dead easy to process just one integer at a time. But older machines still produce escape sequences, and to build into the interpretation code a counter for how many integers the sequence has eaten up and need to be skipped, that is... pfff, a mess.
|
Benno Schulenberg <bens> |
Tue 11 Jul 2017 02:06:46 PM UTC, comment #1: This sounds like it should be easy to fix. Either read sequence by sequence from ncurses' buffer and interpret each in turn, or add ncurses' whole buffer into an internal input buffer and read/interpret sequence by sequence from there.
|
Peter Passchier <pepa65> |
Sat 30 Jul 2016 09:53:47 AM UTC, original submission:
To reproduce, create a large file with 'for x in $(seq 131); do cat NEWS >>200thousand.c; done'. Then run 'src/nano +1,1 200thousand.c' and during loading type three times <Ctrl+Right>. When the file is finally shown, after a second or two, three, only the first of the sequence of commands has been executed. (Which can be verified by running 'src/nano +1,88 200thousand.c' and typing once <Ctrl+Right> and several times <Ctrl+Left>.)
|
Benno Schulenberg <bens> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 7 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2018-01-30 | bens | Open/Closed | Open | Closed | |
2018-01-23 | bens | Status | In Progress | Fixed | |
2018-01-20 | bens | Attached File | - | Added 0001-input-consume-only-the-actual-length-of-an-escape-se.patch, #42991 | |
Status | Need Info | In Progress | |||
Assigned to | None | bens | |||
2017-07-12 | bens | Status | None | Need Info | |
2017-07-11 | pepa65 | Carbon-Copy | - | Added pepa65 |
Powered by Savane 3.13-d3ae.
Corresponding source code
Fixed in git, commit e739448c.