summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--NEWS4
-rw-r--r--src/actions.c10
-rw-r--r--src/actions.h1
4 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 8607e63..fd627a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
2005-01-15 Shawn Betts <katia_dilkina@verizon.net>
+ * src/actions.c (command): treat arg_SHELLCMD like arg_REST.
+ (cmd_set): likewise
+
* src/globals.h (RET_SUCCESS): set to 1
(RET_FAILURE): set to 0
diff --git a/NEWS b/NEWS
index 66c9e90..03f91e5 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,10 @@ are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
* Changes since 1.3.0
+** New command undefinekey
+not passing a 3rd argument to definekey and bind no longer unbind the
+key. You must use undefinekey and unbind now.
+
** ratpoison -c prints errors to stderr
You can now capture errors and output seperately depending on whether
its printed to stderr or stdout.
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,