mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 20:36:50 +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>
16 lines
262 B
Makefile
16 lines
262 B
Makefile
noinst_LTLIBRARIES = libmcstrutil.la
|
|
|
|
libmcstrutil_la_SOURCES = \
|
|
filevercmp.c \
|
|
replace.c \
|
|
strescape.c \
|
|
strutil8bit.c \
|
|
strutilascii.c \
|
|
strutil.c \
|
|
strutilutf8.c \
|
|
strverscmp.c \
|
|
tokenize.c \
|
|
xstrtol.c
|
|
|
|
AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir)
|