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

JuliaLang / julia / 1406
75%
master: 77%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 29 Aug 2025 10:08PM UTC
Jobs 3
Files 364
Run time 1min
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: 74.695%. 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

63751 of 85348 relevant lines covered (74.7%)

21300667.49 hits per line

Jobs
ID Job ID Ran Files Coverage
1406 windows-coverage - 1406 30 Aug 2025 03:26AM UTC 334
72.15
1406 linux-coverage - 1406 29 Aug 2025 11:23PM UTC 363
73.83
1406 macos-coverage - 1406 29 Aug 2025 10:08PM UTC 364
73.51
Source Files on build 1406
  • Tree
  • List 364
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #476
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