<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/manuals/bc, branch vendor/bc</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>vendor/bc: upgrade to version 7.1.0</title>
<updated>2025-09-11T14:07:46+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2025-09-11T14:07:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=682da5a0fdb2c38ecc3951047a882471d62aa1d1'/>
<id>682da5a0fdb2c38ecc3951047a882471d62aa1d1</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: upgrade to version 7.0.2</title>
<updated>2024-09-18T05:55:46+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2024-09-18T05:55:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c2c85f88902d18d2e9702381f1628112e15a5c3c'/>
<id>c2c85f88902d18d2e9702381f1628112e15a5c3c</id>
<content type='text'>
This update fixes exiting from an interactive bc session with ^D on
FreeBSD and Linux when using editline.

This bug was caused by the macOS fix for editline in version 7.0.0,
which has been reverted in this version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This update fixes exiting from an interactive bc session with ^D on
FreeBSD and Linux when using editline.

This bug was caused by the macOS fix for editline in version 7.0.0,
which has been reverted in this version.
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: upgrade to version 6.7.6</title>
<updated>2024-07-08T17:49:39+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2024-07-08T17:39:17+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=898b46e930119f988aa96b8946e4937edbdc1982'/>
<id>898b46e930119f988aa96b8946e4937edbdc1982</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: upgrade to version 6.7.4</title>
<updated>2024-01-02T13:05:20+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2024-01-02T13:05:20+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a3f3a7b4dc80d577e4c8fc64dfbbb359d2e24228'/>
<id>a3f3a7b4dc80d577e4c8fc64dfbbb359d2e24228</id>
<content type='text'>
Documentation updates only, no functional changes to the software.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Documentation updates only, no functional changes to the software.
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: upgrade to version 6.7.2</title>
<updated>2023-10-30T09:10:24+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2023-10-30T09:10:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0b4a06ab29a0da80f6cb5c99189054cb8e2f756c'/>
<id>0b4a06ab29a0da80f6cb5c99189054cb8e2f756c</id>
<content type='text'>
This update improves the implementation of the power function p() and
adds 3 new functions to the extended math library: min(), max(), and
i2rand().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This update improves the implementation of the power function p() and
adds 3 new functions to the extended math library: min(), max(), and
i2rand().
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: import version 6.3.1</title>
<updated>2023-02-24T22:14:58+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2023-02-24T22:14:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=61e1a12bb6c3bfdb0a4e499c88e8eaa2b548e427'/>
<id>61e1a12bb6c3bfdb0a4e499c88e8eaa2b548e427</id>
<content type='text'>
This version adds a command to dc to query whether extended registers
are enabled or not.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This version adds a command to dc to query whether extended registers
are enabled or not.
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: import version 6.2.4</title>
<updated>2023-02-06T21:28:40+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2023-02-06T21:25:03+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=aaf1213c6f70af0b517f6aa13cd837d3468a7a0d'/>
<id>aaf1213c6f70af0b517f6aa13cd837d3468a7a0d</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: import version 6.2.0</title>
<updated>2023-01-28T20:02:27+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2023-01-28T20:02:27+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e7017237c9d842b4cebdcfb13526cd71a2b2836a'/>
<id>e7017237c9d842b4cebdcfb13526cd71a2b2836a</id>
<content type='text'>
This is a production release with a new feature and a few bug fixes.

The bug fixes include:

 - A crash when bc and dc are built using editline, but history is not
   activated.
 - A missing local in the uint*() family of functions in the extended
   math library.
 - A failure to clear the tail call list in dc on error.
 - A crash when attempting to swap characters in command-line history
   when no characters exist.
 - SIGWINCH was activated even when history was not.

The new feature is that stack traces are now given for runtime errors.
In debug mode, the C source file and line of errors are given as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a production release with a new feature and a few bug fixes.

The bug fixes include:

 - A crash when bc and dc are built using editline, but history is not
   activated.
 - A missing local in the uint*() family of functions in the extended
   math library.
 - A failure to clear the tail call list in dc on error.
 - A crash when attempting to swap characters in command-line history
   when no characters exist.
 - SIGWINCH was activated even when history was not.

The new feature is that stack traces are now given for runtime errors.
In debug mode, the C source file and line of errors are given as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: import version 6.1.0</title>
<updated>2023-01-28T19:59:18+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2023-01-28T19:59:18+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0b671e8cf134e605567a6b8091958c1f1dfc5140'/>
<id>0b671e8cf134e605567a6b8091958c1f1dfc5140</id>
<content type='text'>
This is a production release that fixes a discrepancy from the bc
standard, a couple of memory bugs, and adds new features.

The discrepancy from the bc standard was with regards to the behavior
of the quit command. This bc used to quit whenever it encountered quit
during parsing, even if it was parsing a full file. Now, bc only quits
when encountering quit after it has executed all executable statements
up to that point.

This behavior is slightly different from GNU bc, but users will only
notice the difference if they put quit on the same line as other
statements.

The first memory bug could be reproduced by assigning a string to a
non-local variable in a function, then redefining the function with
use of the same non-local variable, which would still refer to a
string in the previous version of the function.

The second memory bug was caused by passing an array argument to the
asciify() built-in function. In certain cases, that was wrongly
allowed, and the interpreter just assumed everything was correct and
accessed memory. Now that arrays are allowed as arguments (see below),
this is not an issue.

The first feature was the addition of the is_number() built-in
function (u in dc) that returns 1 if the runtime argument is a number
and 0 otherwise.

The second feature was the addition of the is_string() built-in
function (t in dc) that returns 1 if the runtime argument is a string
and 0 otherwise.

These features were added because I realized that type-checking is
necessary now that strings can be assigned to variables in bc and
because they've always been assignable to variables in dc.

The last added feature is the ability of the asciify() built-in
function in bc to convert a full array of numbers into a string. This
means that character-by-character printing will not be necessary, and
more strings than just single-character ones will be able to be
created.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a production release that fixes a discrepancy from the bc
standard, a couple of memory bugs, and adds new features.

The discrepancy from the bc standard was with regards to the behavior
of the quit command. This bc used to quit whenever it encountered quit
during parsing, even if it was parsing a full file. Now, bc only quits
when encountering quit after it has executed all executable statements
up to that point.

This behavior is slightly different from GNU bc, but users will only
notice the difference if they put quit on the same line as other
statements.

The first memory bug could be reproduced by assigning a string to a
non-local variable in a function, then redefining the function with
use of the same non-local variable, which would still refer to a
string in the previous version of the function.

The second memory bug was caused by passing an array argument to the
asciify() built-in function. In certain cases, that was wrongly
allowed, and the interpreter just assumed everything was correct and
accessed memory. Now that arrays are allowed as arguments (see below),
this is not an issue.

The first feature was the addition of the is_number() built-in
function (u in dc) that returns 1 if the runtime argument is a number
and 0 otherwise.

The second feature was the addition of the is_string() built-in
function (t in dc) that returns 1 if the runtime argument is a string
and 0 otherwise.

These features were added because I realized that type-checking is
necessary now that strings can be assigned to variables in bc and
because they've always been assignable to variables in dc.

The last added feature is the ability of the asciify() built-in
function in bc to convert a full array of numbers into a string. This
means that character-by-character printing will not be necessary, and
more strings than just single-character ones will be able to be
created.
</pre>
</div>
</content>
</entry>
<entry>
<title>vendor/bc: import version 6.0.2</title>
<updated>2022-08-30T18:37:36+00:00</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2022-08-30T18:35:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=161a37cc712bae177402d7143cb21b7d085c69c7'/>
<id>161a37cc712bae177402d7143cb21b7d085c69c7</id>
<content type='text'>
Changes relative to the previous version in FreeBSD:

- Fix error message on certain syntax errors.
- Add digit clamping (build option and run-time option)
- Make -l options no longer overridee scale value set with -S
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes relative to the previous version in FreeBSD:

- Fix error message on certain syntax errors.
- Add digit clamping (build option and run-time option)
- Make -l options no longer overridee scale value set with -S
</pre>
</div>
</content>
</entry>
</feed>
