# HG changeset patch # User paulson # Date 1742333982 0 # Node ID f6360c0c531bb5119e5b8640811d48542a2c6c63 # Parent 332afbd48bcf5d957e6cb6964c64d7be6c09ae53# Parent c88b27669bfaa06ce69e6c788a8fc0a1181aa7ac merged diff -r c88b27669bfa -r f6360c0c531b NEWS --- a/NEWS Tue Mar 18 21:39:29 2025 +0000 +++ b/NEWS Tue Mar 18 21:39:42 2025 +0000 @@ -110,6 +110,12 @@ * Removed theory "HOL-Library.Divides" (finally). +*** System *** + +* SSH connections allow both bash and zsh as remote shell. This is +particularly important for macOS, where zsh is the default user shell. + + New in Isabelle2025 (March 2025) -------------------------------- diff -r c88b27669bfa -r f6360c0c531b src/Pure/General/ssh.scala --- a/src/Pure/General/ssh.scala Tue Mar 18 21:39:29 2025 +0000 +++ b/src/Pure/General/ssh.scala Tue Mar 18 21:39:42 2025 +0000 @@ -174,9 +174,9 @@ run_ssh(master = control_master, args = "printenv HOME \";\" printenv SHELL").check.out_lines match { case List(home, shell) => - if (shell.endsWith("/bash")) home + if (shell.endsWith("/bash") || shell.endsWith("/zsh")) home else { - error("Bad SHELL for " + quote(toString) + " -- expected GNU bash, but found " + shell) + error("Bad SHELL for " + quote(toString) + " -- expected bash or zsh, but found " + shell) } case _ => error("Malformed remote environment for " + quote(toString)) }