• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

JuliaLang / julia / 1406 / 1406
75%
master: 78%

Build:
Build:
LAST BUILD BRANCH: mg/neoverse-512tvb
DEFAULT BRANCH: master
Ran 30 Aug 2025 03:27AM UTC
Files 334
Run time 9s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Aug 2025 02:53PM UTC coverage: 72.146%. First build
1406

Pull #476

buildkite

web-flow
add `macroexpand!` function and add `legacyscope` kwarg (#59276)

Setting `legacyscope=false` is intended to make it much easier to debug
and test macro expansion, since it no longer runs a buggy symbol
mangling pass automatically. Adding the mutating version
(`macroexpand!`) is mainly a handy way to opt in to the new
legacyscope=true, without needing to spell that out.

More background: the macroexpand.scm pass design is buggy, so we'd like
to stop using in the future. Currently changing the default causes
visible breakage to a lot of buggy packages tests, so for now just
provide the option to skip the legacy scope resolution. This is a
continuation of https://github.com/JuliaLang/julia/pull/49793 and a
prerequisite for eventually replacing the flisp code with JuliaLowering
(once we can deprecate this parameter).

Implement in-place macro expansion with `macroexpand!` (no corresponding
`@macroexpand!`) that avoids copying AST nodes when the original
expression is no longer needed anyways. But more importantly, add a
`legacyscope::Bool` keyword argument to the functions that allows opting
out of the legacy scope mangling.

Changes:
- Consolidate `jl_macroexpand` C functions with added parameters for
`recursive`, `inplace`, and the (legacy) `expand_scope` control.
- Add `macroexpand!` Julia function with `legacyscope=false` default.
- Update `macroexpand` to have `legacyscope` (default `true`) for
backward compatibility, until v2 or earlier.

Added to backporting so that new code can start to be written with
`legacyscope=false`. Not entirely a new feature, since this is just
adding the ability to disable an old (long deprecated) feature.

🤖 Generated with Claude
Pull Request #476: BigInt updates

56114 of 77778 relevant lines covered (72.15%)

6834867.94 hits per line

Source Files on job windows-coverage - 1406
  • Tree
  • List 334
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1406
  • 4d7da74f on github
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc