- It expects NeoMutt to be built in
../neo
make
make test
- Eliminate dependence on MuttWindow
- Duplicate environment
- Set
COLUMNS
- Pass to exec
Won't work. We'd need to pass the dupe environment to the token function. exec() needs to happen outside of token function.
-
Move
filter.c
to libmutt?- Factor out environment
- Factor out
EXECSHELL
- Do we need both
fd
andFILE
versions?
-
Eliminate myvar?
- Fold myvar support into libconfig?
- Handle is still held by NeoMutt
-
MUTT_TOKEN_BACKTICK_VARS
- Expand variables within backticks- Contents are executed in a shell (
EXECSHELL
) parse_set()
- Contents are executed in a shell (
-
MUTT_TOKEN_COMMENT
- Don't reap commentspattern.eat_regex()
pattern.eat_query()
pattern.eat_date()
-
MUTT_TOKEN_CONDENSE
-^(char)
to control chars (macros)mutt_parse_push()
mutt_parse_macro()
I think this should be happening after token, in the caller.
-
MUTT_TOKEN_EQUAL
- Treat '=' as a specialparse_set()
parse_setenv()
-
MUTT_TOKEN_NOSHELL
- Don't expand environment variables- Recursive call to
mutt_extract_token()
- Recursive call to
-
MUTT_TOKEN_PATTERN
-~%=!|
are terms (for patterns)pattern.eat_regex()
pattern.eat_query()
pattern.eat_date()
These are all non-whitespace. Do we need special cases for them?
MUTT_TOKEN_QUESTION
- Treat?
as a specialparse_set()
For ':set ?var' or ':set var?' Can't this be dealt with by the caller?
-
MUTT_TOKEN_QUOTE
- Don't interpret quotesparse_alias()
parse_my_hdr()
-
MUTT_TOKEN_SEMICOLON
- Don't treat;
as specialparse_alias()
-
MUTT_TOKEN_SPACE
- Don't treat whitespace as a termparse_alias()
parse_ifdef()
parse_my_hdr()
mutt_parse_hook()
-
MUTT_TOKEN_NO_FLAGS
- Default behaviourdo_uncolor()
icmd_bind()
mutt_expando_format()
mutt_lua_source_file()
mutt_parse_bind()
mutt_parse_exec()
mutt_parse_hook()
mutt_parse_icommand()
mutt_parse_rc_line()
mutt_parse_score()
mutt_parse_unbind()
mutt_parse_unhook()
mutt_parse_unscore()
parse_alias()
parse_alternates()
parse_attachments()
parse_attach_list()
parse_attr_spec()
parse_color()
parse_color_pair()
parse_echo()
parse_group()
parse_grouplist()
parse_ifdef()
parse_ignore()
parse_keymap()
parse_lists()
parse_mailboxes()
parse_object()
parse_path_list()
parse_path_unlist()
parse_replace_list()
parse_setenv()
parse_source()
parse_spam_list()
parse_stailq()
parse_subscribe()
parse_subscribe_to()
parse_tag_formats()
parse_tag_transforms()
parse_unalias()
parse_unalternates()
parse_unattachments()
parse_unattach_list()
parse_uncolor()
parse_unignore()
parse_unlists()
parse_unmailboxes()
parse_unmy_hdr()
parse_unreplace_list()
parse_unstailq()
parse_unsubscribe()
parse_unsubscribe_from()