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

mattwparas / steel / 22936788704 / 1
51%
master: 51%

Build:
DEFAULT BRANCH: master
Ran 11 Mar 2026 05:10AM UTC
Files 124
Run time 4s
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

11 Mar 2026 04:29AM UTC coverage: 50.756% (+0.3%) from 50.485%
22936788704.1

push

github

web-flow
make the port procedures respect `parameterize` (#644)

* allow defaulting the port for (read-port-to-<string/bytes>)

and adjust the docs for that

* make parameterizing work on read-char, read-byte, etc

trying to parameterize the read-char / read-byte / etc procedures
previously didn't work, as they were implemented in rust, where the
rust builtin would just fall back to stdin / stdout for default ports.

the easiest way to make parameterizing work is by making the rust
builtins hidden and basically writing wrapper procedures on the steel
side, where parameterizing already just works.

this also means, that the rust builtins can now just take two arguments
instead of trying to make it callable with only one, eliminating the
need for the `io_args` procedures.

before:

```
λ > (define port (open-output-string))
λ > (parameterize ([current-output-port port])
      (write-char #\a))
a
λ > (get-output-string port)
=> ""
```

after:

```
λ > (define port (open-output-string))
λ > (parameterize ([current-output-port port])
      (write-char #\a))
λ > (get-output-string port)
=> "a"
```

* copy port docs to scheme module

* cargo xtask docgen

* rename default-current-<direction>-port to just default-<direction>-port

those procedures were previously also used in the read-port etc
procedures, but since those have been moved to the steel side to fix
parameterizing, these are no longer needed as the rust-side private
builtins can just take a port unconditionally.

in my opinion calling them something with "current" is a little
misleading, as these are just constructors for the default error ports,
as they are not affected by parameterizing, which the
current-<direction>-port should be. additionally it the functions better
up with the private builtin wrapper procedures (their only call site),
as those are just called `#%default-<direction>-port`.

* add some tests for parameterizing

19714 of 38841 relevant lines covered (50.76%)

3611280.18 hits per line

Source Files on job 22936788704.1
  • Tree
  • List 124
  • Changed 20
  • Source Changed 0
  • Coverage Changed 20
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 22936788704
  • 6826565a on github
  • Prev Job for on master (#22936143927.1)
  • Next Job for on master (#23091271327.1)
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