diff --git a/yadm b/yadm index b8d3fe2..621d4f2 100755 --- a/yadm +++ b/yadm @@ -1004,13 +1004,17 @@ function enter() { require_shell require_repo - shell_opts="" - shell_path="" + local -a shell_opts + local shell_path="" if [[ "$SHELL" =~ bash$ ]]; then - shell_opts="--norc" + shell_opts=("--norc") shell_path="\w" elif [[ "$SHELL" =~ [cz]sh$ ]]; then - shell_opts="-f" + shell_opts=("-f") + if [[ "$SHELL" =~ zsh$ && "$TERM" = "dumb" ]]; then + # Disable ZLE for tramp + shell_opts+=("--no-zle") + fi shell_path="%~" fi @@ -1025,7 +1029,7 @@ function enter() { [ "${#shell_cmd[@]}" -eq 0 ] && echo "Entering yadm repo" yadm_prompt="yadm shell ($YADM_REPO) $shell_path > " - PROMPT="$yadm_prompt" PS1="$yadm_prompt" "$SHELL" $shell_opts "${shell_cmd[@]}" + PROMPT="$yadm_prompt" PS1="$yadm_prompt" "$SHELL" "${shell_opts[@]}" "${shell_cmd[@]}" return_code="$?" if [ "${#shell_cmd[@]}" -eq 0 ]; then diff --git a/yadm.1 b/yadm.1 index 8a15ef0..5a6399c 100644 --- a/yadm.1 +++ b/yadm.1 @@ -208,8 +208,7 @@ Emacs Tramp and Magit can manage files by using this configuration: .RE .RS -With this config, use (magit-status "/yadm::"). If you find issue with Emacs 27 and zsh, -trying running (setenv "SHELL" "/bin/bash"). +With this config, use (magit-status "/yadm::"). .RE .TP .BI git-crypt " options