mirror of
https://github.com/MidnightCommander/mc
synced 2025-01-08 20:41:59 +03:00
44d8213f4e
When using an external editor (i.e. "Use internal edit" in the Configure Options is unchecked) the environment variable EDITOR is used. However, if $EDITOR contains a command line argument after the executable name, these arguments are not processed properly, and the editor might not be started at all. How to reproduce: (Precondition: vi is available on the system) 1) On the command line, execute: export EDITOR="vi +" && mc (the + argument should let vi start at the document's end instead of the beginning). 2) Go to the Options menu -> Configuration -> uncheck "Use internal edit". 3) Move the cursor to a file that is larger than a single screen (e.g. ABOUT-NLS in mc's source directory). 4) Press F4 to start the external editor. Result: Nothing visible happens Expected result: vi is opened showing the end of the file ABOUT-NLS The bug: my_system_make_arg_array() doesn't perform full-feature parsing of the comman line. * (str_tokenize): mew function based on history_tokenize_internal() from GNU readline-8.2. * (str_tokenize_word): mew function based on history_tokenize_word() from GNU readline-8.2. * (my_system_make_arg_array): reimplement using str_tokenize(). * (my_systemv_flags): use modified my_system_make_arg_array(). * (fork_child_tokens): new test for string tokenization. * (fork_child_tokens2): likewise. Signed-off-by: Andrew Borodin <aborodin@vmail.ru> |
||
---|---|---|
.. | ||
mcconfig | ||
search | ||
strutil | ||
vfs | ||
widget | ||
library_independ.c | ||
Makefile.am | ||
mc_build_filename.c | ||
mc_realpath.c | ||
name_quote.c | ||
serialize.c | ||
utilunix__mc_pstream_get_string.c | ||
utilunix__my_system-common.c | ||
utilunix__my_system-fork_child_shell.c | ||
utilunix__my_system-fork_child.c | ||
utilunix__my_system-fork_fail.c | ||
x_basename.c |