merged
authorpaulson
Tue, 18 Mar 2025 21:39:42 +0000
changeset 82307 f6360c0c531b
parent 82305 332afbd48bcf (diff)
parent 82306 c88b27669bfa (current diff)
child 82308 3529946fca19
merged
--- 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)
 --------------------------------
--- 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))
       }