racket / racket/drracket

Lag when scrolling via keyboard

Open
#368 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Racket
Stars
516
Forks
103
PR merge metrics
No merged PRs in 30d

Description

When lifting an arrow key after holding it down, the scrolling effect still keeps continuing.

How to reproduce:

Paste

(define (fact n)
  (cond
    [(zero? n) 1]
    [else (* (fact (sub1 n)) n)]))

to DrRacket over and over again until it reaches 150 lines.

Go to the first line, and hold the down key. Once the scroll bar is at 50%, lift the key. Notice that the page still keeps scrolling until it's at 75%. Also notice that initially, the line number at the bottom right will update instantly as the cursor is moving. However, once the page starts to scroll, the line number stops updating, and after scrolling effect ends, the line number suddenly jumps to the current line number.

This problem occurs with up, page down, and page up keys as well, though to reproduce the page up and page down keys issue, you might want to add even more lines to the file.

Racket 7.6 BC, OS X (Catalina)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue in DrRacket with a long file and the arrow, Page Up, and Page Down keys as described. Trace the desktop editor's keyboard scrolling and line-number update handling; done means scrolling stops when the key is released and the line number remains current during scrolling.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.