Index: /trunk/Ohana/src/opihi/lib.shell/ListOps.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/ListOps.c	(revision 36680)
+++ /trunk/Ohana/src/opihi/lib.shell/ListOps.c	(revision 36681)
@@ -185,11 +185,12 @@
 
 // list (word) : nested list
-// list (word) -x : not nested list
-// list (word) -split : not nested list
+// list (word) -x : not nested list [-x may be the list of options below]
+// list -excel (word) -x : 
 int is_list_data (char *line) {
 
   char *comm = NULL;
   char *temp = NULL;
-  char *ptr  = NULL;
+  char *name  = NULL;
+  char *opts  = NULL;
 
   comm = thisword (line);
@@ -197,8 +198,14 @@
   if (strcmp (comm, "list")) goto escape;
 
-  ptr = nextword (line);
-  if (!strncmp("-excel", ptr, strlen("-excel"))) ptr = nextword (ptr);
-  if (!strncmp("-excel-style", ptr, strlen("-excel-style"))) ptr = nextword (ptr);
-  temp = thisword (ptr);
+  // name == name of the list in question
+  name = nextword (line);
+
+  // skip a -excel or -excel-style modifier
+  if (!strncmp("-excel", name, strlen("-excel"))) name = nextword (name);
+  if (!strncmp("-excel-style", name, strlen("-excel-style"))) name = nextword (name);
+
+  // get the thing following ptr, if any (opts points at a substring, temp is a new string)
+  opts = nextword (name);
+  temp = thisword (opts);
 
   /* if (cond) (command) does not define a complete block */
Index: /trunk/Ohana/src/opihi/lib.shell/macro_list.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/macro_list.c	(revision 36680)
+++ /trunk/Ohana/src/opihi/lib.shell/macro_list.c	(revision 36681)
@@ -11,5 +11,5 @@
   }
 
-  macro = MatchMacro (argv[0], FALSE, TRUE);
+  macro = MatchMacro (argv[1], FALSE, TRUE);
   if (macro == NULL) {
     gprint (GP_ERR, "%s: Macro not found\n", argv[1]);
