From nobody Tue May 10 12:50:46 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 275631AC616E; Tue, 10 May 2022 12:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KyHvq0JnPz3Fkj; Tue, 10 May 2022 12:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652187047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y+OKPeqDej3Mjw6Sn9NlrVfIUH+FIk0uNrHJo3O/Ajo=; b=jm7C8xae3C3u/W7N6KIF1qsxcwI51vSh24Le8fXACT1jt+ytyBjQbO8HLSNEMN8t/0B2jT Xz/qIHXK380lfjhNBmZTq2dm3JCskgs4ll5XU/Dq/9mG3HuhFQoGNC2y/D+uJAAUyQYZ0t C1tkB0PgJtE1oBwLuiot1gnQgVlYFrL85rSh64xMiA+fgDbYIpATH22jbnxj0hqwqMKUrS /wObAv7xLKP+Ag9pLnm0T3tB+3bLuXfyhsTq31ppoyz0m0f10CldpkKsaTj6wbuJuE88lS 6ZPR2tdocdr3zC5JKRiFP1+kVUKCfSVa6Cb9caDEfwf477IWYJwocdvAV1+BYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DFBE0259F8; Tue, 10 May 2022 12:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 24ACokj6015607; Tue, 10 May 2022 12:50:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 24ACokfN015606; Tue, 10 May 2022 12:50:46 GMT (envelope-from git) Date: Tue, 10 May 2022 12:50:46 GMT Message-Id: <202205101250.24ACokfN015606@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan E=C3=9Fer?= Subject: git: f4ff1c300ef4 - main - vendor/bc: import of version 5.2.5 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4ff1c300ef4081696bdd6ad34547be9242e419c Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652187047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y+OKPeqDej3Mjw6Sn9NlrVfIUH+FIk0uNrHJo3O/Ajo=; b=uW7nfkuS9Q3d4ujvxLpYfTv2V3zrsP3v6Laef8OxVayFzfXAev/3ln2DQeGLTPzSvn1nQF EXmrutgAHoH7mp1vxqRd1l15fN1Vn9rBO2wnQbYAG4gACEDOSgzxZv84Xa4JlzZvrnu2Hz EXjLKKZnnl9ytXodlyKFu6AQEpe+fNvGc+QFTHY9F0CArgZ04WXS+Xz7yv/kc4YaZ0jpPS jO+GO+FQ+Tqw/uxvkArcxlNk+vu88vbBjFtdQJQaeZmB/WUmsk5R1fg3fjK1LuzWFsOYDT KWZkn/wBduIQrniNI8eagbvHAXNZHV2jtCJHLImphx/VINmzO9A0nZlJM7BZqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1652187047; a=rsa-sha256; cv=none; b=c3BHA2d9hshoEYS6aRP2i4PJO3FPYGedbit5w1kGfF28i/diic3DQEaZKt+kKIIiAMHWZR 6lh1K50vSv6sD9geXQlKQW+HHjIPZYh9QW0ws9PjwCmiGhgJ7S0PalhOVZzF+Ct3N0Xfym PnQwe+/nL47xd+UPoMJ/C3H6F/wPXFmUZajUUt9WwkGAP8Z1AaXrDDEyzq//rZU1Q6kv+W fMW9qAROB62DyiXo9u2FoOeEgVQEKgnovgZ7XCM15eFfEF6VZJ+IPXu99bbZS3KGXJbD7r 7iqGQVVkxO4wvbapyropqpKVNv2OPX+GDs7Bc4cVhnKYSaXA1ot61e4Nvj6/1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=f4ff1c300ef4081696bdd6ad34547be9242e419c commit f4ff1c300ef4081696bdd6ad34547be9242e419c Author: Stefan Eßer AuthorDate: 2022-05-10 12:47:43 +0000 Commit: Stefan Eßer CommitDate: 2022-05-10 12:50:29 +0000 vendor/bc: import of version 5.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/NEWS.md | 5 +++++ contrib/bc/include/version.h | 2 +- contrib/bc/scripts/package.sh | 13 +++++++++++++ contrib/bc/scripts/release.sh | 1 + contrib/bc/src/history.c | 16 ++++++++++++---- contrib/bc/tests/history.py | 7 +++++-- 6 files changed, 37 insertions(+), 7 deletions(-) diff --git a/contrib/bc/NEWS.md b/contrib/bc/NEWS.md index 3a388b0dc316..1a8a5dd31ad8 100644 --- a/contrib/bc/NEWS.md +++ b/contrib/bc/NEWS.md @@ -1,5 +1,10 @@ # News +## 5.2.5 + +This is a production release that fixes this `bc`'s behavior on `^D` to match +GNU `bc`. + ## 5.2.4 This is a production release that fixes two bugs in history: diff --git a/contrib/bc/include/version.h b/contrib/bc/include/version.h index 4621b50bcbeb..da98b30bb767 100644 --- a/contrib/bc/include/version.h +++ b/contrib/bc/include/version.h @@ -37,6 +37,6 @@ #define BC_VERSION_H /// The current version. -#define VERSION 5.2.4 +#define VERSION 5.2.5 #endif // BC_VERSION_H diff --git a/contrib/bc/scripts/package.sh b/contrib/bc/scripts/package.sh index 34692f7ab20a..e3a35b0fe65d 100755 --- a/contrib/bc/scripts/package.sh +++ b/contrib/bc/scripts/package.sh @@ -35,6 +35,7 @@ # * git # * stat # * tar +# * gzip # * xz # * sha512sum # * sha256sum @@ -182,6 +183,14 @@ cd .. parent="$repo/.." # Cleanup old stuff. +if [ -f "$projver.tar.gz" ]; then + rm -rf "$projver.tar.gz" +fi + +if [ -f "$projver.tar.gz.sig" ]; then + rm -rf "$projver.tar.gz.sig" +fi + if [ -f "$projver.tar.xz" ]; then rm -rf "$projver.tar.xz" fi @@ -192,6 +201,8 @@ fi # Tar and compress and move into the parent directory of the repo. tar cf "$projver.tar" "$projver/" +gzip -k "$projver.tar" +mv "$projver.tar.gz" "$parent" xz -z -v -9 -e "$projver.tar" > /dev/null 2> /dev/null mv "$projver.tar.xz" "$parent" @@ -242,6 +253,8 @@ rm -rf windows/lib/{Win32,x64}/{Debug,ReleaseMD,ReleaseMT}/bcl.vcxproj.FileListA # Zip the Windows stuff. zip -r $projver-windows.zip windows > /dev/null +printf '\n' +shasum "$projver.tar.gz" printf '\n' shasum "$projver.tar.xz" printf '\n' diff --git a/contrib/bc/scripts/release.sh b/contrib/bc/scripts/release.sh index 12097b1cc8b9..02d3dd5dae24 100755 --- a/contrib/bc/scripts/release.sh +++ b/contrib/bc/scripts/release.sh @@ -601,6 +601,7 @@ clang_flags="-Weverything -Wno-padded -Wno-switch-enum -Wno-format-nonliteral" clang_flags="$clang_flags -Wno-cast-align -Wno-missing-noreturn -Wno-disabled-macro-expansion" clang_flags="$clang_flags -Wno-unreachable-code -Wno-unreachable-code-return" clang_flags="$clang_flags -Wno-implicit-fallthrough -Wno-unused-macros -Wno-gnu-label-as-value" +clang_flags="$clang_flags -Wno-declaration-after-statement" # -Wno-undef is here because Clang seems to think BC_C11 is undefined, when it's defined. clang_flags="$clang_flags -Wno-undef" gcc_flags="-Wno-maybe-uninitialized -Wno-clobbered" diff --git a/contrib/bc/src/history.c b/contrib/bc/src/history.c index 7e2661486a8b..74123a7c4918 100644 --- a/contrib/bc/src/history.c +++ b/contrib/bc/src/history.c @@ -1535,12 +1535,20 @@ static BcStatus bc_history_edit(BcHistory *h, const char *prompt) { } #ifndef _WIN32 - // Act as end-of-file. + // Act as end-of-file or delete-forward-char. case BC_ACTION_CTRL_D: { - bc_history_printCtrl(h, c); - BC_SIG_UNLOCK; - return BC_STATUS_EOF; + // Act as EOF if there's no chacters, otherwise emulate Emacs + // delete next character to match historical gnu bc behavior. + if (BC_HIST_BUF_LEN(h) == 0) { + bc_history_printCtrl(h, c); + BC_SIG_UNLOCK; + return BC_STATUS_EOF; + } + + bc_history_edit_delete(h); + + break; } #endif // _WIN32 diff --git a/contrib/bc/tests/history.py b/contrib/bc/tests/history.py index 84e32f9612c4..c74dfd72f0a7 100755 --- a/contrib/bc/tests/history.py +++ b/contrib/bc/tests/history.py @@ -282,8 +282,11 @@ def test_eof(exe, args, env): child = pexpect.spawn(exe, args=args, env=env) try: - send(child, "\t") - expect(child, " ") + send(child, "123") + expect(child, "123") + send(child, "\x01") + send(child, "\x04") + send(child, "\x04") send(child, "\x04") wait(child) except pexpect.TIMEOUT: