On 2024-08-11 at 18:34:30 UTC-0400 (Sun, 11 Aug 2024 18:34:30 -0400)
Richard L. Hamilton <[email protected]>
is rumored to have said:
Semi-understandable. The default system action for SIGWINCH is to do
nothing; i.e. only programs that catch it are even aware of it. That
would usually be programs like text editors that do full-window text
handling, and probably need to re-fetch the current size and redraw on
window size change.
Right. It is clearly a bug.
Makes me wonder if they're using libncurses or something like it, but
not using it properly.
The Apple build uses libedit. If I build the current version source with
or without --enable-editline, I cannot reproduce the bug. Looks like an
Apple-specific problem.
From sigaction(2) on Monterey, the signals that do nothing by default
(although in the case of SIGCHLD at least, ignoring it is a bit
different from the default):
SIGURG discard signal urgent condition present
on socket
SIGCONT discard signal continue after stop
SIGCHLD discard signal child status has changed
SIGIO discard signal I/O is possible on a
descriptor
SIGWINCH discard signal Window size change
SIGINFO discard signal status request from
keyboard
Right, but anything that does interactive command line editing like bc
needs to handle SIGWINCH.
I'm not seeing the problem on Ventura, which uses the Gavin Howard bc
(if perhaps not the same version as on Sonoma, which I don't have).
Firmly setting the bug in Apple's lap.
On Aug 11, 2024, at 10:37, Bill Cole
<[email protected]> wrote:
On 2024-08-11 at 03:08:11 UTC-0400 (Sun, 11 Aug 2024 02:08:11 -0500)
Ryan Carsten Schmidt <[email protected]
<mailto:[email protected]>>
is rumored to have said:
On Aug 11, 2024, at 00:03, Richard L. Hamilton wrote:
The MacPorts version uses MacPorts supplied libraries (other than
libSystem). The macOS version uses macOS supplied libraries.
(ultimately from the same open source projects, but potentially
different versions and build options, so not identical code)
It's *not* the same software. MacPorts has GNU bc 1.07 which is
licensed GPL-3. macOS used to have GNU bc 1.06 released back in 2000
under GPL-2. Apple has switched to someone else's bc implementation
in recent macOS probably because as we know Apple is allergic to
GPL-3.
The macOS bc is Gavin Howard's version which is also used in FreeBSD.
It integrates both the GNU additions to the POSIX-standard bc and its
own additions, some of which came from the original BSD bc. There has
been a steady trickle of bug fixes since the version Apple ships on
Sonoma, some of which reference macOS.
Looking at the man page, I'd bet that exiting when the terminal
geometry changes is understandable, since making that change sends a
WINCH signal and bc resets on signals for which it has no handler.
That gap seems like a bug to me, but one to report to the author or
Apple.
[email protected] <mailto:[email protected]> or
[email protected] <mailto:[email protected]>
(AKA @[email protected] <mailto:[email protected]> and
many *@billmail.scconsult.com addresses)
Not Currently Available For Hire
--
Bill Cole
[email protected] or [email protected]
(AKA @[email protected] and many *@billmail.scconsult.com
addresses)
Not Currently Available For Hire