summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/actions.c10
-rw-r--r--src/actions.h1
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,