Check syntax source to avoid "spurious" steps?
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 516
- Forks
- 103
- PR merge metrics
- No merged PRs in 30d
Description
Here should:
(define annotate-break?
(let ([pos (syntax-position expr)]
[src (syntax-source expr)])
(and src pos
instead be:
(define annotate-break?
(let ([pos (syntax-position expr)]
[src (syntax-source expr)])
(and src pos
(equal? src (syntax-source stx)) ; <== NEW
In other words, check that the source is the same as that for the overall stx given to annotate-stx?
Otherwise, I'm seeing some odd results such as the first step for foo.rkt instead being in something like configure in module-begin from pre-base.rkt. That doesn't make much sense to a user, if a tool steps there. DrRacket doesn't step to the other file, it just does a step that doesn't go anywhere in the file actually being debugged; stepping again eventually reaches a step in the file and that aspect of the UI "comes alive".
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at drracket/gui-debugger/annotator.rkt around line 232 and read how annotate-stx determines annotate-break?. Check the syntax source against the source for the overall stx, then verify that stepping in foo.rkt no longer produces a spurious step into pre-base.rkt or another source file.
Written by the indexing model from the issue text.
Assessment
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100