Index: /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.basic/getargs.c
===================================================================
--- /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.basic/getargs.c	(revision 41984)
+++ /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.basic/getargs.c	(revision 41985)
@@ -53,8 +53,8 @@
   if (!argmatch) {
     if (varName) {
+      // default for a boolean is FALSE
+      // default for a value is to keep an existing value
       if (mode == MODE_BOOL) {
 	set_str_variable (varName, "0"); // NOTE: if a local variable with the same name exists, that will be used
-      } else {
-	set_str_variable (varName, ""); // NOTE: if a local variable with the same name exists, that will be used
       }
     }
Index: /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.basic/list.c
===================================================================
--- /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.basic/list.c	(revision 41984)
+++ /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.basic/list.c	(revision 41985)
@@ -119,4 +119,11 @@
   // return an error if -add is given with no other args
   if ((argc > 2) && (!strcmp (argv[2], "-join"))) {
+    int start = 0;
+    if ((N = get_argument (argc, argv, "-start"))) {
+      remove_argument (N, &argc, argv);
+      start = atoi (argv[N]);
+      remove_argument (N, &argc, argv);
+    }
+
     if (argc != 4) {
       gprint (GP_ERR, "USAGE: list (root) -join (variable)\n");
@@ -137,5 +144,5 @@
     memset (output, 0, MAX_LINE_LENGTH);
 
-    for (i = 0; i < nList; i++) {
+    for (i = start; i < nList; i++) {
       snprintf (line, MAX_LINE_LENGTH, "%s:%d", argv[1], i);
       char *word = get_variable (line);
