From 23e78912c5ceb5f1522480ed7f680633d1177651 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Mon, 17 Oct 2022 16:37:53 +0200 Subject: [PATCH] browser_select: Do not use open(1) on Linux to prevent endless recursion --- plugins/browser_select/browser_select.zprofile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugins/browser_select/browser_select.zprofile b/plugins/browser_select/browser_select.zprofile index bdda278..1f45a24 100644 --- a/plugins/browser_select/browser_select.zprofile +++ b/plugins/browser_select/browser_select.zprofile @@ -6,6 +6,11 @@ if [[ -z "$BROWSER" ]]; then + if [[ "$OSTYPE" != "linux-gnu" ]]; then + # Check for open(1) on Non-Linux systems. On (Debian-) Linux, the open(1) + # command would recursively call $BROWSER (=itself) ... + open_browsers="open" + fi if [[ -n "$DISPLAY" ]]; then # X11 available, consider X11-based browsers, too! x11_browsers="firefox chrome" @@ -14,7 +19,7 @@ if [[ -z "$BROWSER" ]]; then # Note: We can't use xdg-open(1) here, as xdg-open itself tries to use # $BROWSER, and this would result in an endless loop! for browser ( - open + $open_browsers $x11_browsers elinks w3m links2 links lynx ); do @@ -23,7 +28,7 @@ if [[ -z "$BROWSER" ]]; then break fi done - unset browser x11_browsers + unset browser open_browser x11_browsers fi [[ -n "$BROWSER" ]] && export BROWSER -- 2.39.2