diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/actions.c | 12 |
2 files changed, 13 insertions, 1 deletions
@@ -3,6 +3,8 @@ * src/actions.c (find_alias_index): new function (cmd_alias): When an alias is already in the alias list, replace it with the new alias. + (command): Append to the end of alias command the arguments passed + in before evaluating the alias. * src/events.c (configure_request): do not send a synthetic configure notify event. diff --git a/src/actions.c b/src/actions.c index 2aadf38..c62faef 100644 --- a/src/actions.c +++ b/src/actions.c @@ -885,7 +885,17 @@ command (int interactive, char *data) { if (!strcmp (cmd, alias_list[i].name)) { - result = command (interactive, alias_list[i].alias); + struct sbuf *s; + + /* Append any arguments onto the end of the alias' command. */ + s = sbuf_new (0); + sbuf_concat (s, alias_list[i].alias); + if (rest != NULL) + sbuf_printf_concat (s, " %s", rest); + + result = command (interactive, sbuf_get (s)); + + sbuf_free (s); goto done; } } |