diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/actions.c | 10 | ||||
-rw-r--r-- | src/actions.h | 1 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/actions.c b/src/actions.c index d708ef0..8d301c6 100644 --- a/src/actions.c +++ b/src/actions.c @@ -2275,9 +2275,10 @@ command (int interactive, char *data) INIT_LIST_HEAD (&args); INIT_LIST_HEAD (&head); - /* We need to tell parse_args about arg_REST. */ + /* We need to tell parse_args about arg_REST and arg_SHELLCMD. */ for (i=0; i<uc->num_args; i++) - if (uc->args[i].type == arg_REST) + if (uc->args[i].type == arg_REST + || uc->args[i].type == arg_SHELLCMD) { nargs = i; break; @@ -4702,9 +4703,10 @@ cmd_set (int interactive, struct cmdarg **args) INIT_LIST_HEAD (&arglist); INIT_LIST_HEAD (&head); - /* We need to tell parse_args about arg_REST. */ + /* We need to tell parse_args about arg_REST and arg_SHELLCMD. */ for (i=0; i<ARG(0,variable)->nargs; i++) - if (ARG(0,variable)->args[i].type == arg_REST) + if (ARG(0,variable)->args[i].type == arg_REST + || ARG(0,variable)->args[i].type == arg_SHELLCMD) { nargs = i; break; diff --git a/src/actions.h b/src/actions.h index 9b4ec6d..a9e06b2 100644 --- a/src/actions.h +++ b/src/actions.h @@ -29,6 +29,7 @@ typedef struct user_command user_command; +/* arg_REST and arg_SHELLCMD eat the rest of the input. */ enum argtype { arg_REST, arg_NUMBER, arg_STRING, arg_FRAME, arg_WINDOW, arg_COMMAND, arg_SHELLCMD, arg_KEYMAP, arg_KEY, arg_GRAVITY, arg_GROUP, |