diff options
author | Thomas Roessler <roessler@does-not-exist.org> | 1999-01-07 19:01:30 +0000 |
---|---|---|
committer | Thomas Roessler <roessler@does-not-exist.org> | 1999-01-07 19:01:30 +0000 |
commit | 84a148e11903c9a5888c098e28bb17a343a62a4f (patch) | |
tree | 448143ce4f66847ac0f439682d9f5e016d6a4946 /init.c | |
parent | d084dc02709698b298f191947cbb42bb283250a0 (diff) |
Vikas' set_boolean patch.
Diffstat (limited to 'init.c')
-rw-r--r-- | init.c | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -748,8 +748,23 @@ static int parse_set (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err) { if (s && *s->dptr == '=') { - snprintf (err->data, err->dsize, _("%s is a boolean var!"), tmp->data); - return (-1); + if (unset || inv || query) + { + snprintf (err->data, err->dsize, "Usage: set variable=yes|no"); + return (-1); + } + + s->dptr++; + mutt_extract_token (tmp, s, 0); + if (mutt_strcasecmp ("yes", tmp->data) == 0) + unset = inv = 0; + else if (mutt_strcasecmp ("no", tmp->data) == 0) + unset = 1; + else + { + snprintf (err->data, err->dsize, "Usage: set variable=yes|no"); + return (-1); + } } if (query) @@ -1427,6 +1442,9 @@ int mutt_var_value_complete (char *buffer, size_t len, int pos) (*((short *) MuttVars[idx].data) & SORT_LAST) ? "last-" : "", p); } + else if (DTYPE (MuttVars[idx].type) == DT_BOOL) + snprintf (pt, dlen, "%s%s", tmp, + option (MuttVars[idx].data) ? "yes" : "no"); else return 0; return 1; |