public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Lars Wendler" <polynomial-c@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-shells/zsh/files/, app-shells/zsh/
Date: Wed, 13 Apr 2022 08:08:55 +0000 (UTC)	[thread overview]
Message-ID: <1649837328.35dd4906505f729d68ead73d64c42f764ba858dc.polynomial-c@gentoo> (raw)

commit:     35dd4906505f729d68ead73d64c42f764ba858dc
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 13 08:06:51 2022 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Apr 13 08:08:48 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35dd4906

app-shells/zsh: Revbump to fix non-interactive shell regression

Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 ....8.1-non_interactive_shell_regression_fix.patch | 76 ++++++++++++++++++++++
 .../zsh/{zsh-5.8.1.ebuild => zsh-5.8.1-r1.ebuild}  |  4 ++
 2 files changed, 80 insertions(+)

diff --git a/app-shells/zsh/files/zsh-5.8.1-non_interactive_shell_regression_fix.patch b/app-shells/zsh/files/zsh-5.8.1-non_interactive_shell_regression_fix.patch
new file mode 100644
index 000000000000..6e202fa2fb24
--- /dev/null
+++ b/app-shells/zsh/files/zsh-5.8.1-non_interactive_shell_regression_fix.patch
@@ -0,0 +1,76 @@
+From da8be06c2062ea02795bcba25172369ec68848cf Mon Sep 17 00:00:00 2001
+From: Peter Stephenson <p.w.stephenson@ntlworld.com>
+Date: Thu, 3 Mar 2022 19:19:35 +0000
+Subject: [PATCH] 49792: Non-interative shell input is line buffered.
+
+---
+ ChangeLog            |  5 +++++
+ Src/input.c          | 21 ++++++++++++++-------
+ Test/A01grammar.ztst |  9 +++++++++
+ 3 files changed, 28 insertions(+), 7 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index 8a5ad4941..cae2fc4e3 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++2022-03-03  Peter Stephenson  <p.w.stephenson@ntlworld.com>
++
++	* 49792: Src/input.c, Test/A01grammar.ztst: Use line buffering
++	for non-interactive input.
++
+ 2022-02-12  dana  <dana@dana.is>
+ 
+ 	* unposted: Config/version.mk, Etc/FAQ.yo, README: Update
+diff --git a/Src/input.c b/Src/input.c
+index 18228b37d..caa8e23b0 100644
+--- a/Src/input.c
++++ b/Src/input.c
+@@ -223,13 +223,20 @@ shingetchar(void)
+ 	return STOUC(*shinbufptr++);
+ 
+     shinbufreset();
+-    do {
+-	errno = 0;
+-	nread = read(SHIN, shinbuffer, SHINBUFSIZE);
+-    } while (nread < 0 && errno == EINTR);
+-    if (nread <= 0)
+-	return -1;
+-    shinbufendptr = shinbuffer + nread;
++    for (;;) {
++       errno = 0;
++       nread = read(SHIN, shinbufendptr, 1);
++       if (nread > 0) {
++           /* Use line buffering (POSIX requirement) */
++           if (*shinbufendptr++ == '\n')
++               break;
++           if (shinbufendptr == shinbuffer + SHINBUFSIZE)
++               break;
++       } else if (nread == 0 || errno != EINTR)
++           break;
++    }
++    if (shinbufendptr == shinbuffer)
++        return -1;
+     return STOUC(*shinbufptr++);
+ }
+ 
+diff --git a/Test/A01grammar.ztst b/Test/A01grammar.ztst
+index 1e0e9a04e..adbf5f1d9 100644
+--- a/Test/A01grammar.ztst
++++ b/Test/A01grammar.ztst
+@@ -932,3 +932,12 @@ F:Note that the behaviour of 'exit' inside try-list inside a function is unspeci
+  $ZTST_testdir/../Src/zsh -fc '{ ( ) } always { echo foo }'
+ -f:exec last command optimization inhibited for try/always
+ >foo
++
++ (
++   export VALUE=first
++   print -l 'echo Value is $VALUE' 'VALUE=second sh' 'echo Value is $VALUE' |
++   $ZTST_testdir/../Src/zsh -f
++ )
++0:Non-interactive shell command input is line buffered
++>Value is first
++>Value is second
+-- 
+2.36.0.rc2
+

diff --git a/app-shells/zsh/zsh-5.8.1.ebuild b/app-shells/zsh/zsh-5.8.1-r1.ebuild
similarity index 98%
rename from app-shells/zsh/zsh-5.8.1.ebuild
rename to app-shells/zsh/zsh-5.8.1-r1.ebuild
index e44079087473..6cbf8622fe20 100644
--- a/app-shells/zsh/zsh-5.8.1.ebuild
+++ b/app-shells/zsh/zsh-5.8.1-r1.ebuild
@@ -51,6 +51,10 @@ if [[ ${PV} == *9999 ]] ; then
 		)"
 fi
 
+PATCHES=(
+	"${FILESDIR}/${P}-non_interactive_shell_regression_fix.patch"
+)
+
 src_prepare() {
 	if [[ ${PV} != *9999 ]]; then
 		# fix zshall problem with soelim


             reply	other threads:[~2022-04-13  8:09 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-13  8:08 Lars Wendler [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-12-16  7:44 [gentoo-commits] repo/gentoo:master commit in: app-shells/zsh/files/, app-shells/zsh/ Sam James
2023-03-12 12:33 Piotr Karbowski
2022-11-26 21:26 Piotr Karbowski
2022-09-12 20:08 Sam James
2022-09-01  2:06 Sam James
2022-05-02  8:41 Lars Wendler
2022-02-18 13:43 Lars Wendler
2022-02-12 18:50 Lars Wendler
2019-12-12  9:21 Lars Wendler
2019-01-27 22:54 Lars Wendler
2018-11-30  8:04 Lars Wendler
2018-06-05 20:39 William Hubbs
2018-03-19 11:02 Lars Wendler
2016-09-15  5:03 Tim Harder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1649837328.35dd4906505f729d68ead73d64c42f764ba858dc.polynomial-c@gentoo \
    --to=polynomial-c@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox