ashinn / chibi-scheme

Official chibi-scheme repository
Other
1.21k stars 142 forks source link

(potentially) wrong GC variable release count in chibi-scheme repl? #931

Closed dusxmt closed 3 months ago

dusxmt commented 1 year ago

Hi there,

In https://github.com/ashinn/chibi-scheme/blob/master/main.c#L238, in sexp_add_import_binding(), I see that you declare 2 garbage-collected variables, but then release 3 of them.

I'm still not 100% familiar with how everything works in this project, so it's possible that the third variable is there somewhere in those sexp_() calls, but I think a more likely explanation is https://github.com/ashinn/chibi-scheme/commit/74cc4372be9a46bbf48c0aa91233121e5fdc3cba, where it appears to be a residual thing from when the function was split out from sexp_load_standard_repl_env().

Best Regards, Marek

dusxmt commented 3 months ago

Hey there,

since you're doing a lot of cleaning-up in preparation for the 0.11 release, could you take a look at this? It should be really trivial, a single-line change if it's appropriate.

Thanks, Marek

ashinn commented 3 months ago

Thanks, sorry I lost track of this. Those macros just expand to the same thing - the count isn't actually used on release, but it theoretically could be with a different GC implementation.

Fixed in 580aaf35ffb86bd34f59e6a9cff29e1a4701631e.