Lines Matching full:that
5 This is a production release that fixes `Ctrl+d` on FreeBSD and Linux when using
8 This bug was caused by the macOS fix in `7.0.0`. Unfortunately, this means that
13 This is a production release that fixes a warning using GCC on FreeBSD.
21 The first bug is that `bc`/`dc` will exit on macOS when the terminal is resized.
23 The second bug is that an array, which should only be a function parameter, was
26 The third bug is that value stack for `dc` was cleared on any error. However,
35 The bug was that `bc` attempted to jump out when flushing `stdout` on exit, but
36 there is no jump buf at that point.
42 The bug is that sometimes numbers are printed to incorrect line lengths. The
61 This is a production release to remove some debugging code that I accidentally
90 The change was that the implementation of `irand()` was improved to call the
95 This is a production release that fixes an infinite loop bug in `root()` and
101 This is a production release that fixes a `read()`/`?` bug and adds features to
104 The bug was that multiple read calls could repeat old data.
111 `7.0.0`, but I'm 99.9% confident that there are no `bcl` users, or if there are,
120 This is a production release that fixes a `bc` dependency loop for minimal
133 This is a production release that fixes an install bug that affected locale
139 This is a production release that fixes a test bug that affected Android and
145 This is a production release that fixes a test failure that happens when
155 This is a production release that moves `bc` to <https://git.gavinhoward.com>.
157 That's all it does: update links. Users do ***NOT*** need to upgrade; there are
158 redirects that will stay in place indefinitely. This release is only for new
163 This is a production release that fixes a bug.
165 The bug was that if an array element was used as a parameter, and then a later
189 The new feature is that stack traces are now given for runtime errors. In debug
194 This is a production release that fixes a build issue with predefined builds and
199 This is a production release that fixes a discrepancy from the `bc` standard,
205 encountering `quit` *after* it has executed all executable statements up to that
217 built-in function. In certain cases, that was wrongly allowed, and the
218 interpreter just assumed everything was correct and accessed memory. Now that
222 in `dc`) that returns 1 if the runtime argument is a number and 0 otherwise.
225 in `dc`) that returns 1 if the runtime argument is a string and 0 otherwise.
227 These features were added because I realized that type-checking is necessary now
228 that strings can be assigned to variables in `bc` and because they've always
232 `bc` to convert a full array of numbers into a string. This means that
238 This is a production release that most users will not need to upgrade to.
240 This fixes a build bug for `bcl` only on OpenBSD. Users that do not need `bcl`
245 This is a production release that fixes a build bug for cross-compilation.
247 Users that do not need cross-compilation do ***NOT*** need to upgrade.
251 This is a production release that fixes two bugs:
259 This is a production release that fixes memory bugs and memory leaks in `bcl`.
261 Users that do not use `bcl` (use only `bc` and/or `dc`) do ***NOT*** need to
264 These happened because I was unaware that the `bcl` test was not hooked into the
277 This is a production release that fixes an oversight in the `bc` parser (that
294 to build a `bc` and `dc` that is by default compatible with either the BSD `bc`
299 This is a production release that fixes a build problem in the FreeBSD base
306 This is a production release that fixes prompt bugs with editline and readline
313 This is a production release that fixes a build problem in the FreeBSD base
319 This is a production release that adds features and has a few bug fixes.
329 Fourth, the manuals had typos and were missing information. That has been fixed.
336 This is a production release that fixes this `bc`'s behavior on `^D` to match
341 This is a production release that fixes two bugs in history:
347 Any users that do not care about these improvements do not need to upgrade.
351 This is a production release that fixes one bug, a parse error when passing a
352 file to `bc` using `-f` if that file had a multiline comment or string in it.
356 This is a production release that fixes one bug, a segmentation fault if
364 This is a production release that fixes two parse bugs when in POSIX standard
370 This is a production release that adds a new feature, fixes some bugs, and adds
384 This is a production release that completes a bug fix from `5.1.0`. The bug
387 The bug was that `if` statements without `else` statements would not be handled
413 The test was one that tested whether `bc` fails gracefully when it can't
426 So I changed the test to not test for that because I think the graceful failure
436 Users that do not use those platforms do ***NOT*** need to update.
451 that allocating more space for them cannot fail.
459 * Created settings that builders can set defaults for and users can set their
490 This is a production release that fixes two bugs:
499 This is a production release that only adds one thing: flushing output when it
529 This is a production release that fixes a small bug.
531 The bug was that output was not flushed before a `read()` call, so prompts
534 This is such a tiny bug that users only need to upgrade if they are affected.
540 The tweak is that `length(0)` returns `1` instead of `0`. In `3.3.1`, I changed
542 `scale`, but `length(0)` still returned `0` because I believe that `0` has `0`
553 This is a production release that fixes a divide-by-zero bug in `root()` in the
558 This is a production release that fixes a bug.
564 This is a production release that changes one behavior and fixes documentation
575 This is a production release that removes a small non-portable shell operation
584 This is a production release that fixes the build on FreeBSD.
586 There was a syntax error in `configure.sh` that the Linux shell did not catch,
589 All users that already upgraded to `3.2.5` should update to this release, with
595 This is a production release that fixes several bugs and adds a couple small
598 The two most important bugs were bugs that causes `dc` to access memory
613 usage should not change at all; the only thing that changed was making sure the
619 This is a production release that fixes a warning on `gcc` 6 or older, which
620 does not have an attribute that is used.
626 This is a production release that fixes a bug in `gen/strgen.sh`. I recently
629 Users that do not use `gen/strgen.sh` do not need to upgrade.
633 This is a production release that fixes a portability bug in `configure.sh`. The
638 This is a production release that has one fix for `bcl(3)`. It is technically
639 not a bug fix since the behavior is undefined, but the `BclNumber`s that
645 This is a production release that has one bug fix and a major addition.
663 This is a production release that fixes a new warning from Clang 12 for FreeBSD
664 and also removes some possible undefined behavior found by UBSan that compilers
671 This is a production release that fixes the Chinese locales (which caused `bc`
679 This is a production release that fixes one bug, changes two behaviors, and
685 The behavior that was changed is that `bc` now exits when given `-e`, `-f`,
698 This is a production release that fixes one minor bug: if `bc` was invoked like
706 that they do.
710 This is a production release that adds a way to install *all* locales. Users do
718 This is a production release that adds two Spanish locales. Users do ***NOT***
723 This is a production release that adjusts one behavior, fixes eight bugs, and
727 The behavior that was adjusted was how code from the `-e` and `-f` arguments
733 clean-up function was not getting called. This release fixes that bug.
738 The third fixed bug was that `bc` and `dc` could `abort()` (in debug mode) when
742 The fourth bug fixed was that `bc` could leave extra items on the stack and
746 The next two bugs were bugs in `bc`'s parser that caused crashes when executing
749 The last two bugs were crashes in `dc` that resulted from mishandling of
758 This is a production release that adds one new feature: specific manpages.
760 Before this release, `bc` and `dc` only used one manpage each that referred to
767 This is a production release that adds `utf8` locale symlinks and removes an
790 me change one error message and add a few others. The error message that was
791 changed removed one format specifier. This means that `printf()` will seqfault
793 global ones that are already installed, so it will use the previous ones while
813 the function before executing any code. The fix was to make sure that all code
814 that existed before a function definition was executed.
820 The third major bug is that when passing parameters to functions, if an
824 Beyond that, this `bc` got several improvements that both sped it up, improved
830 old enough to be supported anywhere that I care, that should be the requirement.
854 Second, since the current `bc` function is the one that stores constants and
870 these are the minimum allocation sizes, these are the sizes that would be
874 On top of that, at least on 64-bit, `BC_NUM_DEF_SIZE` supports numbers with
877 are 0 or 20, meaning that, by default, it has at most 20 fractional digits. And
888 All of this together means that for ordinary uses, and even uses in scientific
889 work, the default number size will be all that is needed, which means that
893 I did several experiments to find the changes that had the most impact,
895 buckets according to their capacity in powers of 2 up to 512. That performed
897 list that had a capacity of `BC_NUM_DEF_SIZE * 2` and reusing them for `BcNum`'s
898 that requested `BC_NUM_DEF_SIZE`. This did reduce the amount of time spent, but
900 using `strace`, a bunch more `brk` calls showed up.) Just reusing `BcNum`'s that
907 reason that this version is `3.0.0` and not `2.8.0`.) The change was to move
910 Previously, every single loop condition had a check for signals. I suspect that
915 `main()`, which just returns. If `bc` is currently executing code that cannot be
918 indicate that a signal arrived. Later, when the signal lock is released, the
924 Most functions do not pay that price, and most of the rest only pay it once.
925 (There are only some 3 functions in `bc` that push and pop a `jmp_buf` twice.)
929 custom I/O buffer code that takes a fraction of the size. This means that static
936 Another reason for this change is that my `bc` should *always* behave correctly
938 addition of my own I/O buffering, I needed to also make sure that the buffers
944 to take advantage of the stack unwinding that signals used. This means that
945 signals and error handling use the same code paths, which means that the stack
948 It also means that functions do not need to return a status code that
949 ***every*** caller needs to check. This eliminated over 100 branches that simply
950 checked return codes and then passed that return code up the stack if necessary.
960 reference. The bug is that the `length()` function would not properly
961 dereference arrays that were references. This is a bug that affects all users.
978 `getopt_long()` is broken. To get around that, and to support long options on
1013 guaranteed to stay the same, but the guarantees that it provides are guaranteed
1016 On top of that, four functions were added to `bc`'s [extended math library][16]
1029 The bug was that when `bc` was built without long options, it would give a fatal
1037 No source code changed; the only thing that changed was `lib2.bc`.
1051 The issues were that the ISO files used different naming, and also that the
1052 files that should have been symlinks were not. I did not catch that because
1067 is set appropriately. In the example above this means that `CC` will be "gcc"
1100 The last item, tail call optimization, means that if the last thing in a macro
1116 This is a production release. It fixes a bug that caused `-1000000000 < -1` to
1118 the left was more negative by a certain amount. That said, this bug *is* a bad
1145 2. A bug in `configure.sh` that caused long option parsing to fail under `bash`
1161 Other than that, there is no change in this release, so distros and other users
1170 1. A `dc` bug that caused stack mishandling was fixed.
1184 errors in scripts that end up passing empty arguments.
1185 4. A harmless bug was fixed. This bug was that, with the pop instructions
1219 `0`. However, `0` to a negative power means that `1` will be divided by `0`,
1223 had noticed that GNU `bc` returned an error, correctly, but I thought it was
1224 wrong simply because that's not what my `bc` did. I saw it again later and had a
1225 double take. I checked for real, finally, and found out that my `bc` was wrong
1228 That was bad on me. But the bug was easy to fix, so it is fixed now.
1243 This release contains very few things that will apply to any users.
1246 2. A bug in the test suite that was only triggered on NetBSD was fixed.
1247 3. **The `-P`/`--no-prompt` option** was added for users that do not want a
1257 out, I do not plan on adding any more features to this `bc`; I believe that it
1277 8. Printing the prompt was fixed so that it did not print when it shouldn't.
1295 This release contains a fix for a harmless bug (it is harmless in that it still
1305 shell-compatible, and also updates a man page that should have been updated a
1357 This release contains a fix to the build system that allows it to build on older
1374 The bug that was fixed was a failure to install if no `EXECSUFFIX` was used.
1382 make-compatible `Makefile`, which means that `bc` and `dc` now build out of
1394 `#define` that returned `true` for a query about `dc` would not have
1418 23. **An extended math library was added.** This library contains code that
1506 allocations in `sine` and `cosine` (that was actually a parse bug), certain
1511 that happen when `malloc()` or `realloc()` fails.
1518 20. `bc` now checks that files it is given are not directories.