fish: Add patch from upcoming release (#1735)
authorFredrik Fornwall <fredrik@fornwall.net>
Fri, 3 Nov 2017 22:06:48 +0000 (23:06 +0100)
committerFredrik Fornwall <fredrik@fornwall.net>
Fri, 3 Nov 2017 22:06:48 +0000 (23:06 +0100)
packages/fish/5dc78dd858c28dcfd564ee50e56ccd33fc0b39dc.patch [new file with mode: 0644]

diff --git a/packages/fish/5dc78dd858c28dcfd564ee50e56ccd33fc0b39dc.patch b/packages/fish/5dc78dd858c28dcfd564ee50e56ccd33fc0b39dc.patch
new file mode 100644 (file)
index 0000000..330669c
--- /dev/null
@@ -0,0 +1,65 @@
+https://github.com/fish-shell/fish-shell/commit/5dc78dd858c28dcfd564ee50e56ccd33fc0b39dc
+
+fix regression involving `read` from scripts
+
+diff --git a/src/input.cpp b/src/input.cpp
+index 1cdb151b3..d4dc16698 100644
+--- a/src/input.cpp
++++ b/src/input.cpp
+@@ -189,7 +189,7 @@ static std::vector<terminfo_mapping_t> terminfo_mappings;
+ /// List of all terminfo mappings.
+ static std::vector<terminfo_mapping_t> mappings;
+-/// Set to true when the input subsytem has been initialized.
++/// Set to true when the input subsystem has been initialized.
+ bool input_initialized = false;
+ /// Initialize terminfo.
+@@ -307,7 +307,6 @@ void init_input() {
+     }
+     input_initialized = true;
+-    return;
+ }
+ void input_destroy() {
+diff --git a/src/reader.cpp b/src/reader.cpp
+index bd278ad6a..1e0e05698 100644
+--- a/src/reader.cpp
++++ b/src/reader.cpp
+@@ -1563,10 +1563,10 @@ static bool check_for_orphaned_process(unsigned long loop_count, pid_t shell_pgi
+ /// Initialize data for interactive use.
+ static void reader_interactive_init() {
+-    assert(input_initialized);
+     // See if we are running interactively.
+     pid_t shell_pgid;
++    if (!input_initialized) init_input();
+     kill_init();
+     shell_pgid = getpgrp();
+diff --git a/tests/read.in b/tests/read.in
+index febc2968f..0fe31ec01 100644
+--- a/tests/read.in
++++ b/tests/read.in
+@@ -191,3 +191,6 @@ end
+ if test (string length "$x") -ne $FISH_READ_BYTE_LIMIT
+     echo reading the max amount of data with --nchars failed the length test
+ end
++
++echo '# Confirm reading non-interactively works (#4206 regression)'
++echo abc\ndef | ../test/root/bin/fish -i -c 'read a; read b; show $a; show $b'
+diff --git a/tests/read.out b/tests/read.out
+index d35a9146a..88b445a40 100644
+--- a/tests/read.out
++++ b/tests/read.out
+@@ -58,3 +58,8 @@ newline
+ # chunked read tests
+ Chunked reads test pass
++# Confirm reading non-interactively works (#4206 regression)
++count=1
++|abc|
++count=1
++|def|