Commit Graph

6570 Commits

Author SHA1 Message Date
Yury V. Zaytsev
c8e8f01faf utilvfs: concentrate timesbuf handling in one place
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2024-07-28 10:00:52 +02:00
Yury V. Zaytsev
77e5913c02 utilvfs: abstract mc_timesbuf_t handling with own mc_timespec_t type
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2024-07-28 10:00:52 +02:00
Yury V. Zaytsev
191108766f Ticket #4542: fix support of timestamps with nanosecond precision on macOS
utilvfs: isolate utime / utimensat calls in a helper function

Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2024-07-28 10:00:52 +02:00
Andrew Borodin
cc34729f45 Ticket #4563: support reget in file move operation.
* (file_op_context_new): change default value of file_op_context_t::do_reget.
  * (overwrite_query_dialog): show the "Reget" button in query dialog for
    move operation.
  * (copy_file_file): keep non-default value of file_op_context_t::do_reget
    that was set before.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-07-27 12:19:08 +03:00
Andrew Borodin
e9258fcc6c Ticket #4562: mcedit: don't apply macros to the pasted text.
(edit_callback): use bracketed_pasting_in_progress variable to detect
if text is being pasted. If yes, paste text as is without macro
expanaison.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-07-21 19:57:00 +03:00
Andrew Borodin
ffdb057e5b Ticket #4561: tar: fix segault on copy fiiles from archive.
* (tar_read_header): canonicalize path name after decoding of all
    headers occupied with long file/directory name.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-07-15 21:42:11 +03:00
Andrew Borodin
e4c80b5d13 Ticket #4560: extfs: fix segfault om enter to deleted archive.
* (extfs_open_and_read_archive): fix NULL dereference if
    extfs_open_archive() doesn't create an error.
  * (extfs_open_archive): create an error message when mc_open() returns -1.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-07-11 21:06:35 +03:00
Koichi Murase
61675a90a8 Ticket #4549: subshell: call execl with argv[0] being the actual path to Bash.
We currently call Bash with argv[0] being just the fixed string
"bash", but this confuses Bash when it initializes the shell variable
BASH, which are expected to be the absolute file path to the current
Bash image.  This patch fixes argv[0] to be the actual path that mc
uses to start Bash.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-20 21:02:55 +03:00
Yury V. Zaytsev
61b22eb606 warnings: mute unused variable warning
../../../src/viewer/datasource.c: In function ‘mcview_set_byte’:
../../../src/viewer/datasource.c:270:38: error: unused parameter ‘offset’ [-Werror=unused-parameter]
  270 | mcview_set_byte (WView * view, off_t offset, byte b)
      |                                ~~~~~~^~~~~~

Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2024-06-03 21:06:19 +02:00
Yury V. Zaytsev
bda4e480d2 maint: fix typos in the code
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2024-06-03 16:18:04 +02:00
Andrew Borodin
b3c6bea510 Remove src/editor/.gitignore.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:13 +03:00
Andrew Borodin
6718b3ec26 Indentation using GNU indent-2.2.13.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:13 +03:00
Yury V. Zaytsev
ce299bbee9 clang: fix -Wconstant-conversion warning
../../../src/filemanager/filegui.c:1413:35: warning: implicit conversion from 'int' to 'mode_t' (aka 'unsigned short') changes value from 262143 to 65535 [-Wconstant-conversion]
                ctx->umask_kill = 0777777;
                                ~ ^~~~~~~

../../../src/filemanager/fileopctx.c:81:23: warning: implicit conversion from 'int' to 'mode_t' (aka 'unsigned short') changes value from 262143 to 65535 [-Wconstant-conversion]
    ctx->umask_kill = 0777777;
                    ~ ^~~~~~~

Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:13 +03:00
Yury V. Zaytsev
de06f36ccf clang: fix -Wpointer-sign warning
../../../../src/vfs/sftpfs/connection.c:787:22: warning: passing 'unsigned char *const' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
        if (strncmp (prompts[i].text, "Password: ", prompts[i].length) == 0)
                     ^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/string.h:84:26: note: passing argument to parameter '__s1' here
int      strncmp(const char *__s1, const char *__s2, size_t __n);
                             ^

Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:13 +03:00
Yury V. Zaytsev
04496c6fc1 clang: fix -Wconditional-uninitialized warnings
../../../src/filemanager/file.c:2402:61: warning: variable 'attrs' may be uninitialized when used here [-Wconditional-uninitialized]
                while (attrs_ok && mc_fsetflags (dst_vpath, attrs) != 0 && !ctx->skip_all)
                                                            ^~~~~
../../../src/filemanager/file.c:2266:24: note: initialize the variable 'attrs' to silence this warning
    unsigned long attrs;
                       ^
                        = 0

../../../src/filemanager/file.c:3227:38: warning: variable 'attrs' may be uninitialized when used here [-Wconditional-uninitialized]
            mc_fsetflags (dst_vpath, attrs);
                                     ^~~~~
../../../src/filemanager/file.c:2942:24: note: initialize the variable 'attrs' to silence this warning
    unsigned long attrs;
                       ^
                        = 0

../../../lib/strutil/tokenize.c:163:44: warning: variable 'delimopen' may be uninitialized when used here [-Wconditional-uninitialized]
        if (nestdelim != 0 && string[i] == delimopen)
                                           ^~~~~~~~~
../../../lib/strutil/tokenize.c:72:19: note: initialize the variable 'delimopen' to silence this warning
    char delimopen;
                  ^
                   = '\0'

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:13 +03:00
Yury V. Zaytsev
b76569d5ee buildsys: fix build on macOS with libssh2 present via homebrew
Path to libssh2 headers was missing from CPPFLAGS resulting into FTBFS.

Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:13 +03:00
Andrew Borodin
34e78a2127 src/filemanager/find.c: remove unneeded intialization of local variables.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:12 +03:00
Andrew Borodin
3972b7d502 (do_find): minor refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:12 +03:00
Andrew Borodin
615eda6e9e src/filemanager/find.c: ret rid of string duplication.
* (add_to_list_take): new function: listbox_add_item_take() wrapper.
  * (insert_file): use add_to_list_take().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:49:12 +03:00
Andrew Borodin
5dd087421e (search_content): reduce variable scope.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
44e4b7f8b9 (do_find): fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
6f7b4131c6 (panel_operate): remove intermediate variable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
12d117ea60 extfs: lslR: remove unneeded escape of space.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Artem Babii
4c998ac636 sftpfs: expand %h
Properly parse %h hostname token, which is widely used in HostName directive within
~/.ssh/config:

Host testing*
  HostName %h.eu.example.com

Host staging*
  HostName %h.us.example.net

# this host will be expanded to `testing-1.eu.example.com`
% mc sftp://username@testing-1

Closes MidnightCommander/mc#197.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
f6afcb7076 (copy_file_file): handle "Abort" button
...when can't get extended attributes.

Clarify f6f7c8c1ce.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
ab3e3339bb vfs_dirent: add new member d_len to get rid of d_name length calculation.
* (vfs_dirent_assign): set d_len up.
  * (mc_readdir): sync with new vfs_dirent: use d_len member.
  * (filename_completion_function): likewise.
  * (handle_dirent): likewise.
  * (find_ignore_dir_search): add 2nd argument to use length of
    directory name if it's known.
  * (do_search): sync with modified vfs_dirent and find_ignore_dir_search().
  * (NLENGTH): remove.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
822ef80f5b (spell_available): refactoing.
Simplify detection of aspell functions availability.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
9098dacb8a mecedit: spell: reduce functions scope.
* (aspell_check): make static.
  * (aspell_suggest): likewise.
  * (aspell_array_clean): likewise.
  * (aspell_get_lang_list): likewise.
  * (aspell_get_lang): likewise.
  * (aspell_set_lang): likewise.
  * (aspell_add_to_dict): likewise.
  * (spell_dialog_spell_suggest_show): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
75ee44db20 Use listbox_add_item_take() in obvious cases.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:41:34 +03:00
Andrew Borodin
127f975657 (search_content): minor refactoring of file opening.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
e113055175 Constify argument in panel field format functions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
d7b14b8933 Use NULL as initial value for undefined user format.
(panel_load_setup): if user's format of file list and status line
are undefined in the ini file, set them to NULL instead of
DEFAULT_USER_FORMAT.

Move definition of DEFAULT_USER_FORMAT macro from panel.h to panel.c.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
9ba4691b57 (panel_load_setup): reduce variable scope.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
34109d5a25 Ticket #4524: code cleanup before 4.8.32 release.
(set_panel_formats): fix coding style.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-06-02 12:40:02 +03:00
Andrew Borodin
dffcec5acc (truncFileString): isn't used anymore. Remove.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-26 20:14:43 +03:00
crabique
f1908f4361 Ticket #4541: (file_progress_show_source): hide VFS password.
Closes MidnightCommander/mc#198.

Signed-off-by: crabique <6256096+crabique@users.noreply.github.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-26 20:14:43 +03:00
Sprite_tm
fdacad8bbb Ticket #4540: mcedit: macro deletes text.
(edit_user_menu): fix misinterpretation of return value of
edit_block_delete_cmd(). The bug was introduced in
e2e34d82ab.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-22 22:06:03 +03:00
slowpeek
094a140c26 extfs: modify the iso9660 extfs helper to support testing (xorriso part)
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-18 19:47:06 +03:00
slowpeek
bbcfda3c62 Ticket #3570: reimplement xorriso part of iso9660 listing.
When xorriso is installed, iso9660 listing was done with `xorriso .. -lsl ..`
per dir recursively. It was unbearably slow on iso images with lots of subdirs.
For example, it took my machine 2 minutes to open debian-12.5.0-amd64-DVD-1.iso
which contains 2627 dirs. This commit makes use of `xorriso .. -find / -exec
lsdl ..` instead to list the whole directory tree in a single pass.

Also, parsing of xorriso output has been reworked and as a result such
previously missing items became visible in the listing:
- symlinks
- the boot catalog file

Closes MidnightCommander/mc#196.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-05-18 19:47:06 +03:00
Andrew Borodin
2fda4c6670 Ticket #4535: change name of temporary drirectory.
* (mc_tmpdir): use g_mkdtemp() to create temporary directory.
  Make it name unique to avoid conflicts with other software such as
  Distrobox container.
  * (main): temporary directory has unique name from now. Remove it at exit.
2024-05-13 21:48:35 +03:00
Andrew Borodin
2a45e3bcb0 (link_t): remove unused member linkcount.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
1dc0b325dc src/filemanager/file.c: fix comment.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
56c661e6f4 src/filemanager/file.c: rename structure: link -> link_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
372f6d0d0e src/selcodepage.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
44666f378a (tree_move): fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
48c5428b0f (info_show_info): don't create VFS path if EXT2 attributes aren't supported.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
d201e9cdac file_op_context_t: remove op_preserve member.
(file_mask_dialog): use local variable instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
d6f6c29c0b (shell_execute): fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
059cd9569f (tar_seek_archive): improve diagnostic for truncated archive.
If EOF has been read, don't attempt to seek past it.

Sync with GNU tar 21318f385627a30da5d92811dd80f70abbe80ee7.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
a2f65852e3 Merge lib/utilunix.h into lib/util.h.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
aa38245e85 Merge lib/strescape.h into lib/strutil.h. Rename functions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
933b111a5d Set the default IO size to 256KiB.
src/filemanager/ioblksize.h: Add updated test results and increase value
from 128KiB to 256KiB.

This was previously 128KiB and increasing to 256KiB was seen to increase
throughput by 10-20% when reading cached files on modern systems.

Sync with GNU coreutils fcfba90d0d27a1bacf2020bac4dbec74ed181028.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
93a4b2ab79 (find_cmd): add intermediate variable to simplify formatting.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
258b52b2d1 mceditor: massive use of edit_arg_t as function argument.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:38:11 +03:00
Andrew Borodin
e79e76b72b mceditor: new APIs.
* (edit_arg_init): initialize edit_arg_t object.
  * (edit_arg_assign): Apply new values to edit_arg_t object members.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
54bdd0efbf mceditor: drop edit_stack_type. Use edit_arg_t instead.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
ac41da50ee (edit_get_file_name): move from editwidget.c to edit.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
dae33eb229 mceditor: refactoring.
* (mcedit_arg_t): rename to edit_arg_t and move to src/editor/edit.h.
  * (mcedit_arg_free): rename to edit_arg_free() and move to src/editor/edit.c.
  * (mcedit_arg_vpath_new): rename to edit_arg_vpath_new(), move to src/editor/edit.c
  and make public.
  * (mcedit_arg_new): rename to edit_arg_new(), move to src/editor/edit.c
  and make public.
  * src/editor/editwidget.c: sync with new editor APIs.
  * src/main.c: likewise.
  * src/args.c: likewise.
  * (mc_args_parse): show error in case of run MC as "mc -e" if MC is built
    without builtin editor.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
f9a2038991 textconf.c: features: fix capital letters.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
228166b73b (dview_init): move first run of redo_diff() to diff_view().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
eceab3900d (create_panel): reduce variable scope.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
fe47ac5b56 (mcview_new): use WRect to define a panel area.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
d16ca7a1f5 Modify WTree creation API.
* (tree_init): use WRect to define widget area.
 * (create_panel): sync with modified API.
 * (tree_box): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
46dde8697b (info_new): use WRect to define a panel area.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
be148a0578 Change the file list panel creation APIs.
* (panel_sized_empty_new): use WRect to define a panel area.
  * (panel_sized_with_dir_new): likewise.
  * (panel_sized_new): likewise.
  * (panel_empty_new): sync with modified API.
  * (panel_with_dir_new): likewise.
  * (panel_sized_with_dir_new): likewise.
  * (create_panel): likewise.
  * (restore_into_right_dir_panel): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
8bb12a40e6 (put_tagged): trivial refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
41fadeffe7 (check_panel_timestamp): constify arguments, simplify checks.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:06:16 +03:00
Andrew Borodin
7af11660f8 Clean up irrelevant comments.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:01:47 +03:00
Andrew Borodin
de4e6ca534 src/editor/editmenu.c: includes cleanup.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:01:47 +03:00
Andrew Borodin
3291dd248f (edit_get_search_line_type): refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:01:47 +03:00
Viktor Szakats
f3ffb28737 Ticket #4524: code cleanup before 4.8.32 release.
mcedit: fix losing column position when navigating up/down.
Regression from 49bc0ddebf.

Closes MidnightCommander/mc#194.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-04-07 16:01:47 +03:00
Andrew Borodin
16fadb9d02 mceditor: support ext2fs attributes.
Get attributes on file open and set ones on file save.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-03-31 18:46:46 +03:00
Andrew Borodin
f6f7c8c1ce Ticket #4451: preserve ext2fs attributes on copy/move operations.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-03-31 18:46:46 +03:00
Andrew Borodin
c3ffd4a790 Use ESC_STR macro in escape sequences.
* (update_xterm_title_path): use ESC_STR macro.
  * (update_terminal_cwd): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-02-11 19:26:45 +03:00
Egmont Koblinger
e777f75397 (update_xterm_title_path): change the escape sequence's terminator
...from \a to \e\\. Various standards (at least ECMA-48 and DEC STD 070)
agree that an OSC is to be terminated by an ST, i.e. \e\\. Using BEL \a
is a nonstandard solution introduced and popularized by xterm.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-02-11 19:26:45 +03:00
Egmont Koblinger
5e9fac5c94 Ticket #3088: tell the current directory to the terminal
...using OSC 7 sequence, so it can open new tabs there.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-02-11 19:26:45 +03:00
Anton Anikin
ae4553442f Ticket #4521: really escape fish shell history.
Some of the "service" commands generated by the mc "leak" into the fish
subshell history available to the user. An example to reproduce:

  *  set user shell to fish and start mc (SHELL=/usr/bin/fish mc)
  *  navigate to any directory
  *  press Ctrl+o
  *  press \u2191 button (UP, go back in history)
  *  observe " cd (printf '%b' ... " command

This commit avoids the " cd (printf '%b' ... " commands in the fish
history.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-02-11 19:19:40 +03:00
Andrew Borodin
f87a6ae312 (edit_search_init): call edit_search_fix_search_start_if_selection().
* (edit_search): do not call edit_search_fix_search_start_if_selection()
  since it called in edit_search_init().
  * (edit_replace_cmd): likewise; join two ifs.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-02-11 19:09:16 +03:00
Andrew Borodin
40e773908c Tickets #4525, #4526: mcedit: fix replacement using regular expressions.
The bug was introduced in 21feb38a8d.

  * (edit_search_init): call edit_get_search_line_type().
  * (edit_search): do mot call edit_get_search_line_type() since it is
  called in edit_search_init().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-02-11 19:09:16 +03:00
Andrew Borodin
b20c068e51 Ticket #4518: extfs: support unrar-7.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-01-30 21:54:45 +03:00
Andrew Borodin
fe42478b97 Update copyright years.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2024-01-01 09:46:17 +03:00
Andrew Borodin
19d852dbd3 (main): call tty_check_term() right after mc_args_parse().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
2d86b8889f Use g_string_new_take().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
ded62f5f3e src/man2hlp/man2hlp.in: collapse copyright years.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
49bc0ddebf mcedit: add intermediate variables to make code more readable and debuggable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
d8a93bcc86 (is_blank): refactor loop.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
1152a232fb (edit_help): use help node of editor dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
5567eb573d (tree_execute_cmd): move CK_Help handler to separate function tree_help()
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
57342e54f4 (mcview_execute_cmd): don't handle CK_Help here.
Use default handler via dlg_execute_cmd().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
8f9593d2d5 (move_to_top): fix a 14-years error in condition.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
8cebe41b9a src/help.c: reduce variable scopes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
22131dbd71 src/help.c: refactor loops.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
f8c0adec73 src/help.c: fix coding style.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:28:44 +03:00
Andrew Borodin
7feb865c88 (eval_marks): move from editcmd.c to edit.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:27:24 +03:00
Andrew Borodin
e2e34d82ab (edit_block_delete_cmd): return boolean.
(edit_block_delete): likewize.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:27:24 +03:00
Andrew Borodin
f29c5a35f7 Ticket #4490: code cleanup before 4.8.31 release.
(mcdiffview_dialog_search): indentation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:27:24 +03:00
Andrew Borodin
b50470f067 Tricket #3761: mcedit: wrong deletion of marked column.
If mark column (Shitf+F3) and select the column from left to right, from
up to down, it can be properly deleted later with F8.
But if select it from right to left, from up to down, erasing with F8
keeps the first line of the selected block.

Solution: don't call eval_marks() several times while deleting vertical
block.

  * (edit_block_delete_cmd): calculate mark positions here and pass them...
  * (edit_block_delete): ...through here...
  * (edit_delete_column_of_text): ...to here.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-31 19:19:50 +03:00
Andrew Borodin
1b3684e0e1 Ticket #4433: skins: add color for non-printable characters in editor.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-10 17:47:07 +03:00
Balló György
b750e70920 Ticket 4324: EXTFS: s3+: port to Python3.
Closes MidnightCommander/mc#149.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-10 17:42:41 +03:00
Andrew Borodin
95958bce85 (extfs_cmd): fix build of extfs command if localname is empty.
Fix d4e59aa022.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2023-12-04 21:00:53 +03:00