Skip to content

Diff-match-patch: choppy reading in pager output #12130

@codeofdusk

Description

@codeofdusk

Steps to reproduce:

  1. Select DMP in advanced preferences.
  2. Open cmd.
  3. cd to the nvda repository.
  4. run git log.
  5. Press space to advance to the next page of output.

Actual behaviour:

Some common parts of output are omitted, making speech choppy (see below).

Expected behaviour:

Speech reads all words on the new page.

Additional context

I collected the text of a textInfo created at POSITION_ALL before and after pressing space, then manually ran DMP on the two texts. The resulting diff and text indicated for NVDA as changes are as follows (NVDA only reads inserted chunks, tuples with a + as the first element):

Changes for NVDA

>>> [change for change in diff if change[0] == "+"]
[('+', '    readme: briefly mention Nose and Robot and providing them extra arguments via the rununittests and runsystem
tests sc\r\nripts respectively.\r\n\r\ncommit 7eb2584ce47080675bf2a4dffca3bb31946d4f72'), ('+', 'Su'), ('+', '7 17:49:43
'), ('+', 'Update system tests readme to talk about runsystemtests, and not SCons.\r\n\r\ncommit b0cb717278b356151522162
0f68d34581a9482d2'), ('+', '7:3'), ('+', '7'), ('+', 'A'), ('+', ' now'), ('+', 's runlint, rununittests and runsystemte
sts rather than using its own code.\r\n\r\ncommit ed432bf2ac83d0dd0cf1579b179da7e1ece10207'), ('+', 'Thu'), ('+', '4'),
('+', '3:40'), ('+', 'Remove targets for unit tests, system tests and linting from SCons as they all now have their own
run* commands in t\r\nhe root of the repository which are much faster to execute.')]

Full diff

>>> diff
[('-', 'commit e10fab36af376328be5d26371750571757fe3c09 (HEAD -> try-py3.8_venv, origin/try-py3.8_venv)'), ('+', '    re
adme: briefly mention Nose and Robot and providing them extra arguments via the rununittests and runsystemtests sc\r\nri
pts respectively.\r\n\r\ncommit 7eb2584ce47080675bf2a4dffca3bb31946d4f72'), ('=', '\r\nAuthor: Michael Curran <mick@nvac
cess.org>\r\nDate:   '), ('-', 'Mo'), ('+', 'Su'), ('=', 'n Mar '), ('-', '8 00:03:28'), ('+', '7 17:49:43'), ('=', ' 20
21 +1000\r\n\r\n    '), ('-', 'cause a unit test to fail to ensure appveyor aborts.\r\n\r\ncommit b59263d1c21b9e35b8d4e1
7dec58aaeb3507ac6a (origin/py3.8_manualVenv)'), ('+', 'Update system tests readme to talk about runsystemtests, and not
SCons.\r\n\r\ncommit b0cb717278b3561515221620f68d34581a9482d2'), ('=', '\r\nAuthor: Michael Curran <mick@nvaccess.org>\r
\nDate:   Sun Mar 7 1'), ('-', '9:0'), ('+', '7:3'), ('=', '0:5'), ('-', '0'), ('+', '7'), ('=', ' 2021 +1000\r\n\r\n
 '), ('-', 'a'), ('+', 'A'), ('=', 'ppveyor'), ('-', ':'), ('+', ' now'), ('=', ' call'), ('-', ' our batch files as a r
elative path otherise Powershell cannot find them.\r\n\r\ncommit 7b125c6029f60f96febce08a5066d88f55f641cb'), ('+', 's ru
nlint, rununittests and runsystemtests rather than using its own code.\r\n\r\ncommit ed432bf2ac83d0dd0cf1579b179da7e1ece
10207'), ('=', '\r\nAuthor: Michael Curran <mick@nvaccess.org>\r\nDate:   '), ('-', 'Sun'), ('+', 'Thu'), ('=', ' Mar ')
, ('-', '7'), ('+', '4'), ('=', ' 18:3'), ('-', '7:31'), ('+', '3:40'), ('=', ' 2021 +1000\r\n\r\n    '), ('-', 'tests/s
conscript: remove all code unrelated to checkPot.\r\n\r\ncommit ee498f36ccc9e05f5c4cb94f2a688d3e1967cc7a\r\nAuthor: Mich
ael Curran <mick@nvaccess.org>\r\nDate:   Sun Mar 7 17:55:20 2021 +1000'), ('+', 'Remove targets for unit tests, system
tests and linting from SCons as they all now have their own run* commands in t\r\nhe root of the repository which are mu
ch faster to execute.'), ('=', '\r\n\r\n:')]

System configuration

NVDA installed/portable/running from source:

Installed and source.

NVDA version:

Latest master and Python 3.8 branch.

Windows version:

Windows 10 21H1.

Name and version of other software in use when reproducing the issue:

cmd (Conhost), inbox build from 21H1.

Other questions

Does the issue still occur after restarting your computer?

N/A.

Have you tried any other versions of NVDA? If so, please report their behaviours.

N/A

If add-ons are disabled, is your problem still occurring?

N/A

Did you try to run the COM registry fixing tool in NVDA menu / tools?

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions