Commit Graph

12464 Commits

Author SHA1 Message Date
Slava Zanko 2bf1aeb6d4 Merge branch '2206_jump_line'
* 2206_jump_line:
  Add description of feature to man/help
  Implementation of getting last editing/viewing position of file.
  Add default options for most popular editors/viewers.
  Add support of reading parameters for external editor/viewer from main config.
  mc_config_get_string(): if default parameter is NULL, then no any config entities will be created
  mc_config_get_string_raw(): if default parameter is NULL, then no any config entities will be created
  Add lib/strutil/replace:str_replace_all() function.
  Add src/execute.c:execute_external_editor_or_viewer() function.
  Add function lib/utilunix.c:my_systemv_flags()
  Code refactoring: split src/execute.c:execute_with_vfs_arg() function.
  Add tests for src/execute.c:execute_with_vfs_arg() function.
  Add new functions:
  Code refactoring: my_system was split by few functions.
  Add tests for lib/utilunix.c:my_system() function
  Ticket #2206: Add jump support to target line in some external editors
2013-02-16 17:47:53 +03:00
Slava Zanko d508520646 Add description of feature to man/help
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:38 +03:00
Slava Zanko 6447c76cca Implementation of getting last editing/viewing position of file.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko 7fd906ba13 Add default options for most popular editors/viewers.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko 278178093e Add support of reading parameters for external editor/viewer from main config.
for example, the config file may contain strings:

[External editor or viewer parameters]
    vim = %filename +%lineno
    mcedit = %filename:%lineno

And these external editors will open a file at the previously saved position.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko e50c3f8475 mc_config_get_string(): if default parameter is NULL, then no any config entities will be created
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko 5b63c39459 mc_config_get_string_raw(): if default parameter is NULL, then no any config entities will be created
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko 808988b1f1 Add lib/strutil/replace:str_replace_all() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko 2a2bc56221 Add src/execute.c:execute_external_editor_or_viewer() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko 2406284762 Add function lib/utilunix.c:my_systemv_flags()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko 08a825680b Code refactoring: split src/execute.c:execute_with_vfs_arg() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko f43b83e7ee Add tests for src/execute.c:execute_with_vfs_arg() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko c2f030f2e8 Add new functions:
* int my_systeml (int flags, const char *shell, ...);
 * int my_systemv (const char *command, char *const argv[]);

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko 1535d12d43 Code refactoring: my_system was split by few functions.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko 254aa70ac8 Add tests for lib/utilunix.c:my_system() function
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:32 +03:00
Slava Zanko d32fefee76 Ticket #2206: Add jump support to target line in some external editors
Added own wrapper for _exit() system call. Useful for testing.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:32 +03:00
Andrew Borodin b66a1e0592 Code indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:42:27 +04:00
Andrew Borodin 11b5a9a56a Merge branch '2626_escape_autocompletion'
* 2626_escape_autocompletion:
  mc_search__translate_replace_glob_to_regex(): Avoid warnings
  Update EN and RU man pages.
  Add tests for mc_search__translate_replace_glob_to_regex() function.
  Ticket #2626: special chars are not escaped in autocompletion of filenames.
2013-02-14 14:30:57 +04:00
Slava Zanko 5445133766 mc_search__translate_replace_glob_to_regex(): Avoid warnings
...if function is called with 'const char *' argument.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-14 14:30:38 +04:00
Andrew Borodin a11995e12b Update EN and RU man pages.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:30:38 +04:00
Andrew Borodin 0c52b2bad6 Add tests for mc_search__translate_replace_glob_to_regex() function.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:30:38 +04:00
Andrew Borodin d8340c30da Ticket #2626: special chars are not escaped in autocompletion of filenames.
Test case:
1. Create a file with name that contains some special chars:
   touch attachment.cgi?id=564208
2. Press F6.
3. Press a. Now only the 'a' letter is in input line.
4. Press Esc Tab Enter.
5a. Input line is filled by 'attachment.cgi?id=564208'...
5b. but 'attachment.cgi\?id=564208' is expected.
6. Add 'patch_' before file name:
   'patch_attachment.cgi?id=564208'.
7. Press Enter.
8a. Result: 'patch_attachment.cgiattachment.cgi?id=564208id=564208'.
8b. Expected result: 'patch_attachment.cgi?id=564208'.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:30:38 +04:00
Andrew Borodin d35b4b1f58 Merge branch '2964_mouse_in_subshell'
* 2964_mouse_in_subshell:
  Ticket #2964: mouse doesn't select text in subshell in native console.
2013-02-14 14:27:20 +04:00
Andrew Borodin a11628da62 Ticket #2964: mouse doesn't select text in subshell in native console.
Steps to Reproduce:

1. Run mc in native console (not in X terminal emulator).
2. Press Ctrl+O to switch to subshell.
3. Try select anything with mouse.
Result: mouse does't select anything.

This bug was introduced in 68468a25ac
commit.

Solution: make mouse initialization after initializaton of subshell.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:26:25 +04:00
Andrew Borodin 9c8c16bfd0 Merge branch '2958_hotlist_buttons'
* 2958_hotlist_buttons:
  Fix buttons placement in file find result window.
  Ticket #2958: buttons in the 'Directory hotlist' window are placed incorrectly.
2013-02-14 14:22:09 +04:00
Andrew Borodin 8e53d1e423 Fix buttons placement in file find result window.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:21:40 +04:00
Andrew Borodin 8fbdbb75de Ticket #2958: buttons in the 'Directory hotlist' window are placed incorrectly.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:21:40 +04:00
Slava Zanko 0f9ca096a3 Code indentation
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-13 14:24:45 +03:00
Slava Zanko 424e71fac1 Merge branch '2956_mouse_protocol_1006'
* 2956_mouse_protocol_1006:
  Code refactoring: removed unneeded 'go to' label.
  Ticket #2956: Newer protocol for extended mouse clicks.
2013-02-13 14:19:29 +03:00
Slava Zanko 7e115b3024 Code refactoring: removed unneeded 'go to' label.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-13 14:18:57 +03:00
Egmont Koblinger 1515c9f152 Ticket #2956: Newer protocol for extended mouse clicks.
A followup extension, "SGR 1006" was invented by xterm, to overcome some
of the shortcomings of the previous one. It is becoming as widespread as
the previous one, and is likely to soon overtake it in popularity.

Note that most of the patch is just the removal of the huge complexity
introduced by the previous one. The previous extension didn't have a
unique prefix which made the whole parsing logic extremely complicated.
The new extension does have a unique prefix, so parsing becomes a piece
of cake. The code becomes much cleaner and much easier to maintain.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-13 14:18:57 +03:00
Slava Zanko 0501ac9ba6 Merge branch '55_filename_complete'
* 55_filename_complete:
  lib/widget/input_complete.c: minor refactoring and optimization.
  Fix for input completions with spaces in names.
  lib/widget/input_complete.c: refactoring:
  Concretize the usage of autocompliting in different input fields.
  Extend QUICK_INPUT and QUICK_LABELED_INPUT macros for getting completion flags via parameters instead of using hardcoded value
  Ticket #55: savannah: tab completion vs. spaces and escaping
2013-02-04 15:52:02 +03:00
Andrew Borodin 0608af276e lib/widget/input_complete.c: minor refactoring and optimization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-04 15:48:21 +03:00
Slava Zanko f7109ab46b Fix for input completions with spaces in names.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:48:21 +03:00
Andrew Borodin c308d5ed21 lib/widget/input_complete.c: refactoring:
* (filename_completion_function): use GString to ret rid of hand-made
  low-level memory allocation.
  * (variable_completion_function): likewise.
  * (hostname_completion_function): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-04 15:48:21 +03:00
Slava Zanko f866709186 Concretize the usage of autocompliting in different input fields.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:48:21 +03:00
Slava Zanko 2d58735deb Extend QUICK_INPUT and QUICK_LABELED_INPUT macros for getting completion flags via parameters instead of using hardcoded value
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:29:15 +03:00
Slava Zanko 9935acea33 Ticket #55: savannah: tab completion vs. spaces and escaping
* Split big functions.
* Add unit tests

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:29:15 +03:00
Andrew Borodin 74d71e7523 Merge branch '2585_mcedit_input_fname_before_edit'
* 2585_mcedit_input_fname_before_edit:
  add option "Ask new file name" in the Configuration box
  Ticket #2585 (Ask filename before create new file)
2013-02-03 10:10:45 +04:00
Ilia Maslakov 81cd5dd242 add option "Ask new file name" in the Configuration box
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2013-01-31 14:57:03 +04:00
Ilia Maslakov 6e5b50cb6f Ticket #2585 (Ask filename before create new file)
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2013-01-31 14:56:52 +04:00
Andrew Borodin c87e38c3c7 Merge branch '2953_editor_fpe'
* 2953_editor_fpe:
  (insert_spaces_tab): fix floating point exception.
  Ticket #2953: (edit_move_to_prev_col): fix floating point exception.
2013-01-24 10:07:43 +04:00
Andrew Borodin f7cbaca925 (insert_spaces_tab): fix floating point exception.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-01-23 11:13:24 +04:00
Andrew Borodin e553caecce Ticket #2953: (edit_move_to_prev_col): fix floating point exception.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-01-23 10:57:18 +04:00
Andrew Borodin 0398c1370e Merge branch '2944_cleanup'
# By Andrew Borodin (10) and Slava Zanko (1)
# Via Slava Zanko
* 2944_cleanup:
  Avoid compiler errors like:  error: variable 'xxx' set but not used [-Werror=unused-but-set-variable]
  Clarify check of C compiler flags.
  Enable -Wunused-but-set-variable flag by default.
  Clarify usage of use_internal_edit variable
  Merge src/filemanager/option.[ch] to src/filemanager/boxes.[ch].
  Remove irrelevant comments about file_date() function.
  Avoid C++-style comments.
  (mc_global_t::shell): new member to store user's shell
  (subshell_prompt): changed to GString.
  (read_subshell_prompt): return gboolean instead of int.
  Ticket #2944: code cleanup before 4.8.8 release.
2013-01-17 17:09:48 +04:00
Slava Zanko ee8aaf6181 Avoid compiler errors like: error: variable 'xxx' set but not used [-Werror=unused-but-set-variable]
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-01-17 15:21:35 +03:00
Andrew Borodin d5afda1188 Clarify check of C compiler flags.
AC_TRY_COMPILE macro is obsolete. Use AC_COMPILE_IFELSE instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-01-16 14:34:34 +04:00
Andrew Borodin dbbfe5d070 Enable -Wunused-but-set-variable flag by default.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-01-16 14:34:34 +04:00
Andrew Borodin 3127e8d9ba Clarify usage of use_internal_edit variable
...and disable "Use internal edit" checkbox in case of build
without internal editor.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-01-16 14:34:34 +04:00
Andrew Borodin c02fac4af7 Merge src/filemanager/option.[ch] to src/filemanager/boxes.[ch].
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-01-16 14:34:34 +04:00