summaryrefslogtreecommitdiff
path: root/development/icdiff/fix-pipe-handling-installed.patch
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2020-11-20 13:55:49 +0000
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2020-11-22 01:14:18 +0700
commit4b5aaa2bff505a88cc1d9c8900460673f4b646bd (patch)
treea5ac0b1787e718b8d5356267041de66acee570e5 /development/icdiff/fix-pipe-handling-installed.patch
parent62b0a3cf50136e91c8b1f52255c7613a770a2fa6 (diff)
downloadslackbuilds-4b5aaa2bff505a88cc1d9c8900460673f4b646bd.tar.gz
development/icdiff: Added (improved color diff)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'development/icdiff/fix-pipe-handling-installed.patch')
-rw-r--r--development/icdiff/fix-pipe-handling-installed.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/development/icdiff/fix-pipe-handling-installed.patch b/development/icdiff/fix-pipe-handling-installed.patch
new file mode 100644
index 0000000000..fcc9c84dd9
--- /dev/null
+++ b/development/icdiff/fix-pipe-handling-installed.patch
@@ -0,0 +1,51 @@
+Description: fix closed pipe handling
+Author: Sascha Steinbiss <satta@debian.org>
+Bug: https://github.com/jeffkaufman/icdiff/issues/156
+Forwarded: https://github.com/jeffkaufman/icdiff/pull/165
+Last-Update: 2019-09-25
+--- a/icdiff
++++ b/icdiff
+@@ -594,7 +594,22 @@
+ validate_has_two_arguments(parser, args)
+ if not options.cols:
+ set_cols_option(options)
+- diff(options, *args)
++ try:
++ diff(options, *args)
++ except KeyboardInterrupt:
++ pass
++ except IOError as e:
++ if e.errno == errno.EPIPE:
++ pass
++ else:
++ raise
++
++ # Close stderr to prevent printing errors when icdiff is piped to
++ # something that closes before icdiff is done writing
++ #
++ # See: https://stackoverflow.com/questions/26692284/...
++ # ...how-to-prevent-brokenpipeerror-when-doing-a-flush-in-python
++ sys.stderr.close()
+
+
+ def codec_print(s, options):
+@@ -755,18 +770,4 @@
+
+
+ if __name__ == "__main__":
+- try:
+- start()
+- except KeyboardInterrupt:
+- pass
+- except IOError as e:
+- if e.errno == errno.EPIPE:
+- pass
+- else:
+- raise
+- # Close stderr to prevent printing errors when icdiff is piped to
+- # something that closes before icdiff is done writing
+- #
+- # See: https://stackoverflow.com/questions/26692284/
+- # how-to-prevent-brokenpipeerror-when-doing-a-flush-in-python
+- sys.stderr.close()
++ start()