From b9bf14af416a8e2ee9210c87ee9800934e945b7d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Wed, 9 Nov 2016 22:49:48 +0100
Subject: Haiku /bin/open support


diff --git a/share/functions/open.fish b/share/functions/open.fish
index a4fce09..6d27875 100644
--- a/share/functions/open.fish
+++ b/share/functions/open.fish
@@ -21,6 +21,10 @@ if not command -sq open
             for i in $argv
                 xdg-open $i
             end
+		else if type -q -f /bin/open
+			for i in $argv
+				/bin/open $i
+			end
         else
             echo (_ 'No open utility found. Try installing "xdg-open" or "xdg-utils".')
         end
-- 
2.15.1


From 7b97ca8bebf711a3f481201199209ca3417f6039 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Fri, 29 Dec 2017 09:22:51 +0100
Subject: Fish: Dirty crash fix


diff --git a/src/fish.cpp b/src/fish.cpp
index 273c85a..3f2d4e2 100644
--- a/src/fish.cpp
+++ b/src/fish.cpp
@@ -448,7 +448,16 @@ int main(int argc, char **argv) {
 
     int exit_status = res ? STATUS_CMD_UNKNOWN : proc_get_last_status();
 
+#ifndef __HAIKU__
     proc_fire_event(L"PROCESS_EXIT", EVENT_EXIT, getpid(), exit_status);
+#else
+	/*
+	Fish crashes at closing terminal in _IO_flush_all_lockp in libroot.so
+	Replacing getpid() with 0 silences it, but maybe introduces other problems.
+	TODO: proper fix
+	*/
+    proc_fire_event(L"PROCESS_EXIT", EVENT_EXIT, 0, exit_status);
+#endif
 
     restore_term_mode();
     restore_term_foreground_process_group();
-- 
2.15.1

