aboutsummaryrefslogtreecommitdiff
path: root/contrib/bc/tests
Commit message (Collapse)AuthorAgeFilesLines
* contrib/bc upgrade to version 7.1.0Stefan Eßer2025-09-11568-1744/+11416
| | | | | | | | | | | This update fixes a few bugs: - Improper response to double SIGINT with editline. - Not letting libedit handle terminal size changes. - A dc crash from improperly handling an error. - A duplicate check for reference arrays. - Build failures with GCC 15. Merge commit '682da5a0fdb2c38ecc3951047a882471d62aa1d1'
* vendor/bc: upgrade to version 7.0.0Stefan Eßer2024-08-262-0/+74
| | | | | | | | | | | | | | | | | | | | This is a production release to fix three bugs, none of which affects well formed scripts on FreeBSD: The first bug is that bc/dc will exit on macOS when the terminal is resized. The second bug is that an array, which should only be a function parameter, was accepted as part of larger expressions. The third bug is that the value stack for dc was cleared on any error. However, this is not how other dc behave. To bring dc more in line with other implementations, this behavior was changed. This change is why this version is a new major version. (cherry picked from commit 54d20d67e2af28d948ce2df13feb039fa10900fc) MFC after: 3 days
* contrib/bc: upgrade to version 6.7.6Stefan Eßer2024-07-0914-18/+18
| | | | | | | | | | | | This update fixes a potential issue when flushing stdout on exit fails: longjmp could use an uninitialized target address variable. Most files are included in this commit due to a changed date in the copyright note. (cherry picked from commit 52a5ec1b178fd07651446c7e31b1512794a04dbf) MFC after: 3 days
* vendor/bc: upgrade to version 6.7.5Stefan Eßer2024-01-105-0/+718
| | | | | | | | This update fixes a bug that line breaks in printed numbers may not match the line length set by the user. The value is printed correctly, just not split as specified in some situations. (cherry picked from commit 52a5ec1b178fd07651446c7e31b1512794a04dbf)
* vendor/bc: upgrade to version 6.7.2Stefan Eßer2024-01-106-2/+1035
| | | | | | | | This update improves the implementation of the power function p() and adds 3 new functions to the extended math library: min(), max(), and i2rand(). (cherry picked from commit 0b4a06ab29a0da80f6cb5c99189054cb8e2f756c)
* contrib/bc: upgrade to version 6.6.0Stefan Eßer2023-05-255-4/+518
| | | | | | | | | | This update removes printing of a leading zero in scientific or engineering output modes (which are an extended feature of this implementation). (cherry-picked from commit 8b83ef067441f6d3a4a55e92d1738724954a057c) MFC after: 2 weeks
* contrib/bc: import version 6.5.0Stefan Eßer2023-04-309-1/+440
| | | | | | | | | | | This release that fixes an infinite loop bug in the (non-standard) extended math library functions root() and cbrt(), fixes a bug with BC_LINE_LENGTH=0, and adds the fib() function to the extended math library to calculate Fibonacci numbers. (cherry picked from commit 438a1101dc1f687928cdbe02cd7817a88a24f42f) MFC after: 3 days
* contrib/bc: update to version 6.4.0Stefan Eßer2023-03-102-7/+58
| | | | | | | | This version contains a fix for an issue that can affect complex bc scripts that use multiple read() functions that receive input from an interactive user. The same value could be returned multiple times. MFC after: 2 weeks
* vendor/bc: import version 6.3.1Stefan Eßer2023-02-247-61/+95
| | | | | | | This version adds a command to dc to query whether extended registers are enabled or not. (cherry picked from commit 61e1a12bb6c3bfdb0a4e499c88e8eaa2b548e427)
* contrib/bc: uodate to version 6.2.4Stefan Eßer2023-02-0613-27/+256
| | | | | | | | This update contains only documentation changes (new main repository URL and changed mail address of the program author) and changes to the build system that do not affect the FreeBSD base system build. MFC after: 3 days
* contrib/bc: merge from vendor release 6.2.2Stefan Eßer2023-01-2849-167/+2716
| | | | | | | | | | | | | This update fixes a few issues in history editing and the processing of the "quit" function. The "quit" function will no longer cause bc to exit when encountered in a script file (before any command from the script has been executed). New functions is_number(), is_string return 1 if the passed argument is a number resp. a string. The asciify() function has been extended to support the conversion of an array of numbers into a string. Merge commit '1a63323d17fedb05b6962853e821c9d7c6b9853e'
* contrib/bc: merge from vendor release 5.3.3Stefan Eßer2022-06-1581-2246/+0
| | | | | | | | | This update fixes a build issue of release 5.3.2 on the FreeBSD base system. Merge commit '3f739b0595b7d6ac4bac9aaa1cae0910f11f92e2' MFC after: 2 weeks
* usr.bin/bc: update to version 5.3.1Stefan Eßer2022-06-113-49/+88
| | | | | | | | | | | | | | | | | This version adds support for command line editing and history using the libedit or readline libraries in addition to the line editing features available in previous versions. The version in the base system is configured to use libedit. This allows to choose between emacs and vi line editing commands and to use command overrides via a ~/.editrc file. Merge commit 'bd54318046bfee055b140705a5cfd4148e78da07' PR: 264010 MFC after: 2 weeks
* contrib/bc: update to version 5.2.5Stefan Eßer2022-05-101-2/+5
| | | | | | | | | This is a production release that fixes this bc's behavior on ^D to match GNU bc. Merge commit 'ed0603704174b01c25b49efc08c82e1532dc5622' MFC after: 3 days
* contrib/bc: revert commit f4ff1c300ef40Stefan Eßer2022-05-101-5/+2
| | | | This commit was executed by accident while testing the new version.
* vendor/bc: import of version 5.2.5Stefan Eßer2022-05-101-2/+5
| | | | | | | This is a production release that fixes this bc's behavior on ^D to match GNU bc. (cherry picked from commit ed0603704174b01c25b49efc08c82e1532dc5622)
* contrib/bc: import version 5.2.4Stefan Eßer2022-04-171-0/+15
| | | | | | | | This update fixes an issue in input line editing: when going left to the start of the line, the cursor would jump to the end of the line instead. Merge commit 'bc75dcc4ce682562390fa32e7cd63c08160e21b9'
* contrib/bc: update to version 5.2.3Stefan Eßer2022-03-0782-0/+2296
| | | | | | | | | This version fixes a parse error when passing a file to bc using -f if that file has a multiline comment or string in it. Merge commit '3673adf1ee311d6f83176d3e43cf0efb314764e4' MFC after: 3 days
* contrib/bc: merge version 5.2.1 from vendor branchStefan Eßer2021-11-307-3/+16
| | | | Merge commit 'e63540eed295749528548c2e3a90f5a6e57275c8'
* contrib/bc: update to version 5.1.1Stefan Eßer2021-10-068-2/+162
| | | | Merge commit '6f49f5cdde1c62c4e5a743e895f3afe592b5c0e5'
* contrib/bc: merge version 5.1.0 from vendor branchStefan Eßer2021-10-0414-217/+667
| | | | | | | | | | This version adds options and functions that allow to print numbers in the open interval (-1 .. 1) with or without a leading 0 digit. Additionally, an option has been added to prevent line wrap and allows to print arbitrarily long results on a single line. Merge commit '5d58a51571721190681c50d4bd3a1f45e6282d72'
* contrib/bc: remove files ommitted from the releaseStefan Eßer2021-10-044-262/+0
| | | | | | | | | | | | | A number of files have been removed from the release distribution of this bc implementation. They were mostly relevant for pre release testing and benchmarking to identify regressions. The Markdown sources of the man pages are only relevant for combinations of build options not used in FreeBSD and need non-default conversion tools (available as ports in FreeBSD). All the omitted files can be found in the upstream git repository, and they are fetched when building this software as a port. But they have never been used in the FreeBSD base system.
* vendor/bc: update to upstream version 5.0.2Stefan Eßer2021-10-0410-45/+35
| | | | (cherry picked from commit a60ef1802a36f2f2a5611564191440ea1c1e2f17)
* usr.bin/ghä-bc, contrib/bc: update to version 5.0.0Stefan Eßer2021-08-13233-5338/+13688
| | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 2f57ecae4b98e76e5d675563785a7e6c59c868c4 This is a new major release with a number of changes and extensions: - Limited the number of temporary numbers and made the space for them static so that allocating more space for them cannot fail. - Allowed integers with non-zero scale to be used with power, places, and shift operators. - Added greatest common divisor and least common multiple to lib2.bc. - Made bc and dc UTF-8 capable. - Added the ability for users to have bc and dc quit on SIGINT. - Added the ability for users to disable prompt and TTY mode by environment variables. - Added the ability for users to redefine keywords. - Added dc's modular exponentiation and divmod to bc. - Added the ability to assign strings to variables and array elements and pass them to functions in bc. - Added dc's asciify command and stream printing to bc. - Added bitwise and, or, xor, left shift, right shift, reverse, left rotate, right rotate, and mod functions to lib2.bc. - Added the functions s2u(x) and s2un(x,n), to lib2.bc. MFC after: 1 week
* contrib/bc: update to version 4.0.2Stefan Eßer2021-05-121-3/+2
| | | | | | | | | | | | | | Merge commit '2858419a0ee2b8f5827de72c00618bcd69ebc5fc' This update fixes the initialization of "scale" to 20 if started with -l and the initial statement leads to an error (e.g. contains a syntax error). Scale was initialized to 0 in that case. Another change is the support of job control in interactive mode with line editing enabled. The control characters have been interpreted as editing commands only, prior to this version. MFC after: 3 days
* Revert "Vendor import of Gavin D. Howard's bc version 4.0.2"Stefan Eßer2021-05-121-2/+3
| | | | | The update had been performed on a check-out of the vendor branch, but the final push lacked the target designation vendor/bc.
* Vendor import of Gavin D. Howard's bc version 4.0.2Stefan Eßer2021-05-121-3/+2
|
* Merge commit '7a590c074ceede12b2b6e794f8703d6fa5749918'Stefan Eßer2021-04-062-2/+82
| | | | | | | | | | | | | | | Update to version 4.0.0 This version fixes an issue (missing pop of top-of-stack value in the "P" command of the dc program). This issue did not affect the bc program, since it does not use dc as an back-end to actually perform the calculations as was the case with the traditional bc and dc programs. The major number has been bumped due to Windows support that has been added to this version. It does not correspond to a major change that might affect FreeBSD.
* bc: Vendor import new version 3.3.3Stefan Eßer2021-03-058-3/+285
|
* Upgrade to version 3.3.0Stefan Eßer2021-02-171-1/+1
| | | | | | | | | | | This update changes the behavior of "-e" or "-f" in BC_ENV_ARGS: Use of these options on the command line makes bc exit after executing the given commands. These options will not cause bc to exit when passed via the environment (but EOF in STDIN or -e or -f on the command line will make bc exit as before). The same applies to DC_ENV_ARGS with regard to the dc program.
* Merge commit '47a52dc4d48f259ab7d9f9ba6b65f4f2331a22dc'Stefan Eßer2021-01-31162-241/+5208
| | | | | | Update to version 3.2.6 MFC after: 3 days
* Update to version 3.2.0Stefan Eßer2020-11-261-0/+228
| | | | Notes: svn path=/head/; revision=368072
* Upgrade to version 3.1.4Stefan Eßer2020-08-039-0/+13
| | | | | | | | | | | This version omits the printing of a copyright header in interactive mode and the dc command now exits after execution of the commands passed via -e or -f instead of switching to interactive mode. To pass further commands via STDIN when dc has been invoked with -e or -f, add "-f -" to the parameter list. Notes: svn path=/head/; revision=363810
* Update to version 3.1.3Stefan Eßer2020-07-113-1/+11
| | | | | | | | | This version fixes the following evaluation, which lead to a parse error: echo "if (1 < 3) 1" | bc Notes: svn path=/head/; revision=363091
* Update to version 3.1.1Stefan Eßer2020-07-07246-0/+28201
This version fixes a regression with regard to tradtional behavior of the non-standard FreeBSD option "-e". In the previous version "-e quit" caused bc to exit before any computations had been performed, since all -e option parameters were concatenated and parsed as a whole, with quit causing the program to exit as soon as it was parsed. This version parses and executes commands passed with -e one by one and only exits after all prior commands have been executed. This commit is not a SVN merge, since the vendor import had been performed after the import to contrib. Instead the contents of contrib/bc has been removed and the new version is copied over unchanged from vendor/bc/dist. Notes: svn path=/head/; revision=362987