From 25dbc9fb8e992d6ff211a0ab28a22969f556599e Mon Sep 17 00:00:00 2001
From: Tyler Reddy <tyler.je.reddy@gmail.com>
Date: Thu, 12 Sep 2019 11:11:27 -0600
Subject: [PATCH] BUG: recursively load modules with tcsh (#12664)

* for tcsh and csh, spack load -r package
should now correctly load recursively instead
of only loading the target package without any
dependencies
---
 share/spack/csh/spack.csh | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/share/spack/csh/spack.csh b/share/spack/csh/spack.csh
index afda7762be..01be616572 100644
--- a/share/spack/csh/spack.csh
+++ b/share/spack/csh/spack.csh
@@ -132,7 +132,12 @@ case unload:
             endif
             breaksw
         case "load":
-            set _sp_full_spec = ( "`\spack $_sp_flags module tcl find $_sp_spec`" )
+            # _sp_module_args may be "-r" for recursive spec retrieval
+            set _sp_full_spec = ( "`\spack $_sp_flags module tcl find $_sp_module_args $_sp_spec`" )
+            if ( "$_sp_module_args" == "-r" ) then
+                # module load can handle the list of modules to load and "-r" is not a valid option
+                set _sp_module_args = ""
+            endif
             if ( $? == 0 ) then
                 module load $_sp_module_args $_sp_full_spec
             endif
-- 
GitLab