Hi Pietro, On Tue, 21 Feb 2023 10:23:05 +0000 Pietro Cerutti <g...@gahr.ch> wrote:
> On Feb 21 2023, 10:13 UTC, siiky <github-si...@net-c.cat> wrote: > >>If you don't mind me asking, why? > > heh - I don't like to see deprecation warnings when I build stuff :) > >> From my understanding (disclaimer: not a maintainer of the openssl >> egg nor CHICKEN core maintainer), I think current-milliseconds can >> stay for now. current-milliseconds has been deprecated in 5.3 but >> hasn't been removed yet, it's an "alias" for >> current-process-milliseconds. So everything should work with >> current-milliseconds in 5.3 and 5.x before it. But if it was changed >> to current-proess-milliseconds the openssl egg would no longer work >> with 5.x before 5.3. > > I don't know what's the support policy for older releases in the 5.x > series, but by your logic, no egg at all can use > current-process-milliseconds for the same reason of it not being > available before 5.3. Eggs are versions by major release, so I would > guess that the support policy would be the same for all 5.x eggs? > > If breaking 5.X | X < latest is a concern, this means > current-milliseconds must stay in 6.x and can only be removed in 7.x? I tend to agree with you. In my opinion, the deprecation of current-milliseconds was too late for 5.X and is too early for 6.X, for the reason you stated. So egg authors have basically the following options: 1. Use current-process-milliseconds and assume that users will be using a recent enough version of CHICKEN (users of older versions will just get an error). 2. Use current-milliseconds and annoy users with a deprecation warning. 3. Use some convoluted cond-expand clause to match against values of X (as in 5.X) as an attempt to prevent the deprecation warning and undefined variable errors. Not sure if there is any other way without custom build scripts doing some tricks with chicken-version (e.g., to print a clear error message indicating that CHICKEN 5.3 is required). Since current-milliseconds is part of the core API, I think it should have been deprecated when 5.0 was released (when current-process-milliseconds should have been made available), and removed in the 6.0 release; or deprecated in the 6.0 release and removed in 7.0 release. All the best. Mario -- http://parenteses.org/mario