mc/tests/lib
Andrew Borodin 44d8213f4e Ticket #4533: External editor does not work with arguments in $EDITOR
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>
2024-03-31 19:04:26 +03:00
..
mcconfig Update copyright years. 2024-01-01 09:46:17 +03:00
search Update copyright years. 2024-01-01 09:46:17 +03:00
strutil Update copyright years. 2024-01-01 09:46:17 +03:00
vfs Update copyright years. 2024-01-01 09:46:17 +03:00
widget Update copyright years. 2024-01-01 09:46:17 +03:00
library_independ.c Update copyright years. 2024-01-01 09:46:17 +03:00
Makefile.am tests: fix incomplete linkage in case of --enable-mclib. 2023-08-13 14:59:25 +03:00
mc_build_filename.c Update copyright years. 2024-01-01 09:46:17 +03:00
mc_realpath.c Update copyright years. 2024-01-01 09:46:17 +03:00
name_quote.c Update copyright years. 2024-01-01 09:46:17 +03:00
serialize.c Update copyright years. 2024-01-01 09:46:17 +03:00
utilunix__mc_pstream_get_string.c Update copyright years. 2024-01-01 09:46:17 +03:00
utilunix__my_system-common.c Update copyright years. 2024-01-01 09:46:17 +03:00
utilunix__my_system-fork_child_shell.c Update copyright years. 2024-01-01 09:46:17 +03:00
utilunix__my_system-fork_child.c Ticket #4533: External editor does not work with arguments in $EDITOR 2024-03-31 19:04:26 +03:00
utilunix__my_system-fork_fail.c Update copyright years. 2024-01-01 09:46:17 +03:00
x_basename.c Update copyright years. 2024-01-01 09:46:17 +03:00