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> |
||
---|---|---|
.. | ||
lib | ||
src | ||
.gitignore | ||
Makefile.am | ||
mctest.h | ||
README |
Overview -------- This tree contains unit tests. To compile and run the tests, do 'make check' (either in the top folder, or just in the folder containing the tests you're interested in). IMPORTANT: To compile the tests, you need to have the "Check" unit testing framework[1] installed.[2] If you have it installed, you will see "Unit tests: yes" in configure's summary message; if you don't see this message, you won't be able to compile the tests.[3] Tips and tricks --------------- * To be able to step with the debugger into test code, see [4]. E.g., do: $ export CK_FORK=no [1]: http://libcheck.github.io/check/ [2]: Your package manager likely has it. [3]: Actually, some tests (like src/vfs/extfs/helpers-list) don't use this framework and will compile just fine. But that's the exception. [4]: http://stackoverflow.com/questions/1649814/debugging-unit-test-in-c-using-check