Skip to content

Version 2.4.0

Compare
Choose a tag to compare
@gavinhoward gavinhoward released this 02 Dec 05:28
· 1891 commits to master since this release

This is a production release primarily aimed at improving dc.

  • A couple of copy and paste errors in the dc manual were fixed.
  • dc startup was optimized by making sure it didn't have to set up bc-only things.
  • The bc && and || were made available to dc through the M and m commands, respectively.
  • dc macros were changed to be tail call-optimized.

The last item, tail call optimization, means that if the last thing in a macro is a call to another macro, then the old macro is popped before executing the new macro. This change was made to stop dc from consuming more and more memory as macros are executed in a loop.

The q and Q commands still respect the "hidden" macros by way of recording how many macros were removed by tail call optimization.

$ sha512sum bc-2.4.0.tar.xz
43006a9f0b3acbc27fb3726536eb8723155521c3b29e187d54b350320f179454c526f5e5e66c0b3a1fca62003d1e830220d4753fd374efa3a0fa1f8a1d02e739  bc-2.4.0.tar.xz

$ sha256sum bc-2.4.0.tar.xz
95bf33fe35a80612b800bf6db5b2164f28b6147809a2f600a504e59263ba9c84  bc-2.4.0.tar.xz

$ stat -c '%s  %n'
168000  bc-2.4.0.tar.xz

$ sha512sum bc-2.4.0.tar.xz.sig
e62656fe4e7b37f93bd5144fe54180d8e7b71e6445bee94604cfbd58730972c14388aaf26f9bf77cc4d0bd8ecd48f3d92642c6d827602c3e11c095f3308575c5  bc-2.4.0.tar.xz.sig

$ sha256sum bc-2.4.0.tar.xz.sig
54bd3d4e2c0f84609abfbfa0be7eab7d006ea1942bf195ba4fc6da310fb9afb3  bc-2.4.0.tar.xz.sig

$ stat -c '%s  %n'
662  bc-2.4.0.tar.xz.sig