Add comment for commands.c:is_in_arg()
Move commands.c:is_in_arg() below its last use
Minor style corrections for commands.c:is_in_arg()
Add commands_escape_for_insertion() function

Analyzes command line at given position and escapes str accordingly.
Extract cmdline.c:insert_str() function

Inserts wide string into current cursor position.
Add c_<c-x>c and c_<c-x><c-x>c shortcuts

Insert name of the current file of active/inactive pane into
current cursor position.
Add c_<c-x>d and c_<c-x><c-x>d shortcuts

Insert name of the current directory of active/inactive pane into
current cursor position.
Rename utils/path.c:{extract => cut}_extension()

Doesn't follow general pattern for extract functions.
Use copy_str() instead of snprintf() in 3 places

Related to cut_extension() function rename.
Add utils/path.c:split_ext() function

Splits path into root and extension parts.
Use split_ext() function in filename_modifiers.c
Add unit-tests for split_ext() function
Introduce cmdline.c:get_nonnull_input() function

Gets current input in a safe form.
Move stop_completion() call to paste_str()

paste_str() is expected to be called for every <c-r> shortcut, so this
seems to be the right thing to do.
Add c_<c-x>e and c_<c-x><c-x>e shortcuts

Insert extension of the current file of active/inactive pane
into current cursor position.
Add c_<c-x>r and c_<c-x><c-x>r shortcuts

Insert name root of the current file of active/inactive pane
into current cursor position.
Rename commands.c:is_{ in => out_of }_arg()

That's what that function really checks for.  Also correct the
comment.
Clearer body of commands.c:is_out_of_arg() func
Escape commands only for CMD_SUBMODE
Disable <c-x> shortcuts for menu mode