2842ea3603
Upstream changes: This release is a production release. The following bugs were fixed: A dc bug that caused stack mishandling was fixed. A warning on OpenBSD was fixed. Bugs in ctrl+arrow operations in history were fixed. The ability to paste multiple lines in history was added. A bc bug, mishandling of array arguments to functions, was fixed. A crash caused by freeing the wrong pointer was fixed. A dc bug where strings, in a rare case, were mishandled in parsing was fixed. In addition, the following changes were made: Division was slightly optimized. An option was added to the build to disable printing of prompts. The special case of empty arguments is now handled. This is to prevent errors in scripts that end up passing empty arguments. A harmless bug was fixed. This bug was that, with the pop instructions (mostly) removed (see below), bc would leave extra values on its stack for void functions and in a few other cases. These extra items would not affect anything put on the stack and would not cause any sort of crash or even buggy behavior, but they would cause bc to take more memory than it needed. On top of the above changes, the following optimizations were added: The need for pop instructions in bc was removed. Extra tests on every iteration of the interpreter loop were removed. Updating function and code pointers on every iteration of the interpreter loop was changed to only updating them when necessary. Extra assignments to pointers were removed. Altogether, these changes sped up the interpreter by around 2x. NOTE: This is the last release with new features because this bc is now considered complete. From now on, only bug fixes and new translations will be added to this bc. |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |