racket / racket/drracket

drracket doesn't like infinity recursive macro

Open
#622 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Drracket silently reach 100% CPU when open a file with infinity recursion macro:

#lang racket

(define-syntax (f stx)
  stx)

f

It goes back to normal if I fix the macro to make it terminate.

It also runs forever for check syntax. But I can stop it in this case.

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

Reproduce the reported snippet in DrRacket, then run Check Syntax and observe the behavior during infinite macro recursion. Compare the two paths and investigate where processing fails to stop; done means the IDE no longer consumes 100% CPU indefinitely and Check Syntax can be stopped or returns safely.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.