As input_expand_dialog() may return a pointer to an empty string,
the function was trying to create a directory so named and thus
print a false "File exists" error message.
Signed-off-by: Francesco Cosoleto <cosoleto@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Test case:
1. go to Options/Configuration
2. switch Verbose operation off
3. point at a directory, press F8
You see broken delete dialog.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Problem description:
1. Run mc as
mc /#ftp:user@server
2. If FTP server asks password, MC shows the password dialog window.
3. If type the first symbol in input line, MC crashes.
Bug cause:
MC asks ftp password before initialize of input line keybindings.
Solution:
Reimplemented MC startup sequence.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* Minimizing dialog;
* Optimizations of Copy/move progress dialog creation;
* Added enum for specify dialog type (for copy/move or for delete)
* Little optimization.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
* Optimized functions calls (changed return type of all file_progress_show*() functions)
* Reworked for use global structure FileOpTotalContext
* Moved declarations of file_progress_show*() functions from fileopctx.h to filegui.h
* Code for calculate progressbar's variables was moved into function copy_file_file_display_progress()
* Progressbar for little files now shows always 100% (for visible effect)
* Added i18n string '< 1 sec'
* Rework of progress copy dialog
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Problem description:
Let's consider large directory (~4GB) with relatively small files:
each 1-2MB.
When I try to copy whole directory I would like to see average
copying velocity (and ETA) not only per-file (I just don't see
stats for small files), but for the whole progress.
This commit fixes the issue. Thanks Sergey <sergemp at mail dot ru>
for the initial patch.
Additionally, the minor type accuracy was provided.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
How to reproduce:
1) run mc
2) press F9
3) select 'Options' -> 'Configuration...'
4) switch off '[ ] Verbose operation' option
5) select '[ Save ]' button and press Enter
6) in additional, select 'F9' -> 'Options' -> 'Save setup'
7) exit from mc
8) run mc again
9) select 'F9' -> 'Options' -> 'Configuration...'
'Verbose operation' option always switched on.
This commit fixes this behaviour. But in slow terminals,
the value read form ini is forced set to 0.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Suppose we have 3 files with version in their names:
* file-2.1.tgz
* file-2.2.tgz
* file-2.10.tgz
It is impossible to see them in natural order using standard facilities,
they will be sorted in alphabet order:
* file-2.1.tgz
* file-2.10.tgz
* file-2.2.tgz
There was some attempts to fix this. I've picked up the patch by Roland Illig <roland illig gmx de>
(http://mail.gnome.org/archives/mc-devel/2004-July/msg00016.html) and adopted it for today's git snapshot.
It adds "version" option to the sort menu, which uses copy of strverscmp function from glibc.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
> In current git, mc crashes (at least on 64-bit) in Ctrl-S search due to missing
> strutils_escape prototype. To reproduce, pressing Ctrl-S and a few keys is enough.
> Adding #include "lib/strescape.h" to screen.c fixes the issue.
Reported by jmak
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
fixed trouble with vertical selection
more detail description:
In block selection mode (shift-F3) it's impossible to go beyond empty line with
up or left arrow (i.e. in top direction).
In general: it's impossible to pass any line shorter than finishing column,
until left arrow is pressed at column 0 (which won't work on empty line), e.g.
xxxCxxx
yyyyy
zzzzzDz
- put cursor in C position,
- press shift-F3,
- go to D position,
- press up arrow twice,
- press left arrow - you're unlocked now and free to go up.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Reimplemented pty_buffer as static buffer to avoid
MC crashes at exit due to race conditions of destroing
subshell and file manager.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fixed showing of datetime format in various locales (such as Polish locale)
Added new options in config file:
[Misc]
...
timeformat_recent=%d.%m.%y %H:%M
timeformat_old=%d.%m.%y %H:%M
...
where
timeformat_recent - for files with mtime between now
and "6 moths old" (like "Nov 2 00:56")
timeformat_old - for other files (like "Jun 23 2007")
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Steps to reproduce:
1. F7,
2. set empty search string,
3. enter
4. n
5. enter
6. n
Fix issue: set view->last_search_string to NULL after call g_free()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Added support of autodetect codepages via 'enca' program.
New parameter in user configuration file (~/.mc/ini):
[Misc]
autodetect_codeset=(one of `enca --list languages | cut -d : -f1`)
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Little code cleanup.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Type accuracy. Added missing includes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
New shortcuts of WListbox widget:
d or Del: remove current item of history;
D or Shift-Del: clean the history.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Added keybinding for switch panels view (horizontally/vertically).
Default value for keybind is
[main]
CmdTogglePanelsView = alt-comma
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Fixed warings: local variable shadows a global declaration.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
If menu bar is always visible, default colors are used in menu.
If menu bar is visible when it is active, skin colors are used.
In this commit, only skin colors are applied to menu. Thanks to
Rashid N. Achilov for idea.
(see http://mail.gnome.org/archives/mc/2010-January/msg00087.html).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
1. touch /tmp/IzV-Útěk_do_bezpečí.gz
2. open mc
3. move cursor at /tmp/IzV-Útěk_do_bezpečí.gz
4. press F4
5. you will see an error message, press Dismiss
6. segfault
Fix issue: length of command line string for pipeing now calculated
automatically (via g_strdup_printf()) rathen than calculating via
str_term_width1() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Bug: in lock_extract_info() number of unicode characters
is used as number of bytes in string.
Now strlen() is used instead of str_term_width() to calculate
string length. String length is calculated only one time.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* moved src/fileloc.h into lib/fileloc.h
* moved src/timefmt.h into lib/timefmt.h
* removed unneedded includes into src/util.c
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
* moved src/global.h into lib/global.h
* moved glibcompat.[ch] from ./src/ into ./lib/
* moved fs.h from ./src/ into ./lib/
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Test case:
* run mc
* Select F9 => 'Left/Right' => 'Listing mode...'
* [x] user Mini status
* enter below: 'half type name | size+ | perm'
* Press [< OK >] button
Fix issue: alloc new block of memory with initialization (filled by zero)
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
If symbolic link has a long name, the input line in 'Edit symlink'
dialog window is short. This bug is reproduces in non-C locales (KOI8-R,
UTF-8, etc).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Now viewer save/load only 'offset' and 'line' always = -1.
Changed editor edit_load_position, edit_save_position,
now if 'line' = -1 then used 'offset'
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
remowed all no needed calls of mcview_offset_to_coord and mcview_coord_to_offset
added mcview_eol, mcview_bol for navigate in current file
thanx Nikita Ofitserov <himikof@gmail.com> for the patches and testing
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Reimplemented some of coordinates cache internals.
Array is used instead of GList. If needed, array is reallocated.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The Start at prompt is filled with garbage every time
the Tree option is entered in the Find dialogue.
To reproduce:
1. M-? to open Find dialogue
2. not that the Start at prompt is empty
3. press M-T or navigate to Tree button and press enter
4. you see tree view, press ESC
5. the Start at prompt is filed by garbage
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The latest version breaks transparency support.
If I'd change _default_ to lightgray;default in the [core] section, the panels are unreadable.
It looks like the _default_ variable interpreted as lightgray;lightgray.
Fix Issue: do not apply COLOR_WHITE as mask if color value equal to -1
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
If viewer is in wrap mode, there is an expta empty line
in wrapped line. This bug was introduced in
8c84095ae1 commit.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Starting mc with:
LANG=C mc
cases a crash when mc exits. No other LC_* variable was set.
The issue is in src/strutil.c module. With C locale, str_init_strings()
fails to set str_cnv_not_convert variable leaving it with value -1
(INVALID_CONV). str_uninit_strings() passes str_cnv_not_convert blindly
to g_iconv_close() which tries to dereference it.
This commit adds a check to str_uninit_strings() if str_cnv_not_convert
value is valid.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Initial step: code refactoring:
* small code formatting;
* type accuracy;
* introduce new type 'panel_view_mode_t' for panel type.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The new section [FindFile] was created for find file options.
The find_ignore_dirs key in Misc section is obsolete now.
The ignore_dirs key in FindFile section is used instead.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
If input line history contains only one item, pressing M-p
("Previous history item") causes a segmentation fault.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* added new color pair EDITOR_RIGHT_MARGIN_COLOR
* show right margin. Used EDITOR_RIGHT_MARGIN_COLOR color for drawing text beyond rigth edge.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Unused static function causes build to break on -Werror.
Fixing this by commenting it out.
(not removing it since it might get used some day)
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
During last major escape transition "foo" -> properly_escaped_foo we forgot
to add "'" to list of specialcased symbols. This leads to mc hangup when you
try to do something with files/dirs, containing that symbol.
Adding it!
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
Originally from: http://mail.gnome.org/archives/mc-devel/2005-April/msg00035.html
The routines `vfs_s_find_entry_linear()' and `vfs_s_find_entry_tree()'
call `canonicalize_pathname()' on entry. This routine eats `..' path
components in certain cases. In case of ftpfs this is not desired -
the path should be kept as is since the code in direntry.c doesn't have
enough knowledge of the directory structure on the remote end.
Assume that
there is a path like this on the remote server
/path1/path2/path3
The `path2' component is a symlink to some directory and `path3' is a
symlink stored in `path2' which is relative to `path2' i.e.
path2
path3 -> ../some/other/path
Now, the code in direntry.c will determine that `path3' is a symlink and
will try to resolve (vfs_s_resolve_symlink) it by passing the following path
/path1/path2/../some/other/path
to `vfs_s_find_entry_linear' . As I've said above this routine calls
`canonicalize_pathname' on entry which will modify the path like this:
/path1/some/other/path
Now this is clearly wrong since `path2' is a symlink and it should be
resolved first. In the case of ftpfs the code in direntry.c doesn't have
enough knowledge about physycal directory layout on the remote filesystem
so it shouldn't try to canonicalize the path. The path should be left as
is and passed to the remote end for processing.
Fix issue:
Changed function canonicalize_pathname (as fact, renamed to custom_canonicalize_pathname)
In this function added ability to partial canonicalize of pathname.
And some functions from vfs/direntry.c calls custom_canonicalize_pathname without
removal of '..' stuff.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Added option 'auto_save_setup_panels' into [Midnight-Commander] section of ini-file.
If no specified, value of this option is equal to value of 'auto_save_setup' option.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Ctrl-g instead of Ctrl-c is used now to generate SIGINT signal.
SIGINT signal generating for MC/NCurses library is enabled now.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The 0xff character is valid character in CP1251 codepage,
therefore the proper unsigned extension of char to int
is required in stuff() function to avoid the 0xff as -1
interpretation in handle_char() function.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
viewer hangup after search in archive
Test case:
* download ftp://ftp.slackware-brasil.com.br/slackware-12.0/testing/MANIFEST.bz2 or any slackware MANIFEST.bz2 from internet
* F3 under MANIFEST.bz2
* F7 "fortunes-o.tar.gz"<enter>
* hangup
Fix issue:
* Change growbuff from owm implementation into g_ptr_array
* Fixed calculating of search_start position
* Search module: fixed checking for return code from update callback
* Search module: Added return code MC_SEARCH_CB_OK for search callbacks
* Added exit on keyboard break
* Fixed search in last grow'ed block
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
TOSTOP doesn't work well with some software. Examples known to me are:
- debugging multithreaded program with gdb (gdb job stops)
- running 'check' tests in fork mode (default) that do some output
(tests mysteriously fail due to timeout)
IMO TOSTOP adds too little value compared to compatibility problems it
creates.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Since Ctrl-C is used as common shortcut, don't use it
to generate the SIGINN signal in S-Lang library.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
g_new(), g_new0(), g_malloc(), g_malloc0() and g_realloc() functions
never return NULL and call abort() on fail. So check result of these
functions is useless. g_try_new(), g_try_new0(), g_try_malloc(),
g_try_malloc0() and g_try_realloc() functions are used instead.
Some minor optimization and code formatting are also performed.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fixes such warnings:
mc/src/viewer/mcviewer.h:1: Warning: the name `view.h' supplied as the second argument
in the \file statement is not an input file
mc/vfs/vfs.c:267: Warning: explicit link request to 'op' could not be resolved
mc/src/strescape.c:219: Warning: Found unknown command `\params'
mc/src/strescape.c:153: Warning: Found unknown command `\params'
mc/src/strescape.c:187: Warning: Found unknown command `\params'
mc/src/strescape.c:219: Warning: Found unknown command `\params'
mc/src/strescape.c:153: Warning: Found unknown command `\params'
mc/src/strescape.c:187: Warning: Found unknown command `\params'
mc/vfs/fish.c:33: Warning: explicit link request to 'sh' could not be resolved
mc/vfs/fish.c:33: Warning: Found unknown command `\host'
mc/vfs/ftpfs.c:43: Warning: Found unknown command `\hobit'
mc/vfs/sfs.c:26: Warning: explicit link request to 'ugz' could not be resolved
mc/vfs/vfs.c:267: Warning: explicit link request to 'op' could not be resolved
mc/vfs/vfs.c:267: Warning: explicit link request to 'op' could not be resolved
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
../../mc/edit/editcmd.c:2519:50: error: field precision should have type 'int', but argument has type 'gsize' (aka 'unsigned long') [-Wformat]
match_expr = g_strdup_printf ("(^|\\s+|\\b)%.*s[^\\s\\.=\\+\\[\\]\\(\\)\\,\\;\\:\\\"\\'\\-\\?\\/\\|\\\\\\{\\}\\*\\&\\^\\%%\\$#@\\!]+", word_len, bufpos);
^ ~~~~~~~~
../../mc/edit/editcmd.c:2700:38: error: field precision should have type 'int', but argument has type 'gsize' (aka 'unsigned long') [-Wformat]
match_expr = g_strdup_printf ("%.*s", word_len, bufpos);
^ ~~~~~~~~
2 diagnostics generated.
make[2]: *** [editcmd.o] Error 1
make[2]: Target `all' not remade because of errors.
../../../mc/src/mcconfig/common.c:71:74: error: format string is not a string literal (potentially insecure) [-Wformat-security]
g_propagate_error (error, g_error_new (mc_main_error_quark() ,0, strerror(errno)));
^~~~~~~~~~~~~~~
../../../mc/src/mcconfig/common.c:83:74: error: format string is not a string literal (potentially insecure) [-Wformat-security]
g_propagate_error (error, g_error_new (mc_main_error_quark() ,0, strerror(errno)));
^~~~~~~~~~~~~~~
2 diagnostics generated.
make[3]: *** [libmcconfig_la-common.lo] Error 1
make[3]: Target `all' not remade because of errors.
../../mc/src/main.c:2165:41: error: format string is not a string literal (potentially insecure) [-Wformat-security]
message (D_ERROR, _("Warning"), error->message);
^~~~~~~~~~~~~~
1 diagnostic generated.
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
In UTF-8 locales, with case sensitive sort files are sorted properly:
00050.jpg
001-gepard.jpg
0175ep.jpg
027.jpg
060912.jpg
win.jpg
z1.jpg
but if in case insensitive sort, they get mixed up
and files with number in their name are sorted badly:
001-gepard.jpg
027.jpg
00050.jpg
0175ep.jpg
060912.jpg
win.jpg
z1.jpg
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Test case:
1. Make two files with same content but with different encodings (for example, in UTF-8 and KOI8-R);
2. Open UTF-8 file for editing. Press Alt+e and set 'UTF-8' encoding;
3. Search someting
4. exit from editor and open file with 'KOI8-R' encoding;
5. You must see a dots. Now press shift+F7 (continue search);
6. Segfault here
Fix issue:
Now function mc_search__recode_str() returns newly allocated string in any case
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
In the function get_compression_type() in src/util.c, only 5 bytes of the
file are read into the magic array, but the test for lzma files checks the
first 6 bytes in the magic array.
Fix issue:
now reads 6 bytes for correct recognize LZMA-files.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Keys sort functions have been maken inline.
Decrease of memory usage: reimplemented
key_name_conv_tab_sorted array as array of pointers
instead of entire copy of key_name_conv_tab array.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Problem: 'Find File' dialog doesn't save an empty "content" filed on exit.
Proposed solution: allow each history (not in content in 'Find File' dialog
only) save an empty value.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Since mc-4.7.0-pre1 was added charset confirmation if charset was changed.
This commit was adds automatic recognize of system charset and fix in current
config. Also, now contig file will untouched if 'Auto save setup' option is switched off.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Ticket #1764:
* fxed shortcuts for select/unselect/reverse selection
of file group;
* removed 'C-x C-c' default shortcut for Quit command.
Also fixed some emacs-like keybindings for editor and viewer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Added two parameters:
* Widget *sender -- to recognize the wiget that have sent message;
* void *data -- to pass any user-defined data to the dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
First step: renamed type of dialog command execution function.
Made execution function more flexible: added parameters for
sender and receiver widgets and user data.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Testase:
* rm -f ~/.mc/Tree
* run mc
* F9 -> Command -> Directory tree
* Press F2
* Go to '/lib' item
* Press F2
* exit from mc
* run mc again
* F9 -> Command -> Directory tree
* press HOME key
Fix issue:
changed forgotten variable name.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
After implementation of keybinding engine and reimplenetation
of menu engine, MC starts very slow due to multiple trivial
(totally non optimized) search of many values in many arrays.
This patch performes the some speedup of MC startup process.
Statistics:
- startup time without the patch: 0m0.413s
- startup time with the patch: 0m0.073s
Great thanks to 0xe2.0x9a.0x9b for the original patch.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
fixed segfault in backward_word (widget.c)
...
The for loop, whose purpose is to remove exactly 1 character
(hence I don't get why it's a loop, but nevermind) was not UTF8-ready.
So if the character preceding the cursor was an accented one,
it jumped to the middle of the UTF-8 sequence, causing the rest of
the stuff go unpredictable.
Although it *should* never happen (which, as we all know,
does not equal to "never happens"), in this case "p" simply jumped
over "in->buffer". The function has a "p != in->buffer" check three times,
it might it more robust if you replaced that with "p >= in->buffer".
This should prevent the segfault, and just stay with a slightly buggy but
otherwise harmless alt-backspace behavior, should there be any UTF-8 or
similar bugs left. This change is not included in my patch.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
If ~/.mc/panels.ini have incorrect value of 'sort_order' key, then mc will crashed.
Fix issue: Now default sort_order for incorrect value is 'name' (sort by name)
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Problem:
a) when running ./configure, strftime() and other functions cannot be
properly detected, since autoconf generates crappy test code, which
at least fails when warnings are treated as errors (gcc: -Werror).
b) strtime() is standard since C89, so we can simply expect it to exists
(if there's *really* some acient box out there breaking mc build,
it's libc/toolchain should be fixed ;-p)
Solution:
Remove the checks for strftime() and all workarounds
1st step: minor refacoring.
Removed call of intermediate function and changed the retun value type.
Type accuracy.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Some debug-related code will compile just in mainteiner mode.
Also, added new parameter for configure script: --enable-werror
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Restored behavior with stale mountpoint (now handled as stale link).
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
add shared clipboard support
Signed-off-by: Ilia Maslakov <il.smind@google.com>
Fixed memory leaks. Type accuracy. Optimization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* fixed ctrl-g handler
* change action names from InputKillSave to InputXStore and InputPaste to InputXPaste
* update mc.keymap.default mc.keymap.emacs
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
added bindings for shift block 'EditShiftBlockLeft', 'EditShiftBlockRight'
EditShiftBlockLeft, EditShiftBlockRight - force move block without option_persistent_selections checking
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
1. Open empty file (<Shift-F4>)
2. Fill with data:
1234
5678
9abc
3. Mark contents (or any multiline text in, for example, firefox) with mouse (<Shift+MouseDown???>)
4. Insert somewhere below third line (<Shift+Insert>)
5. Newlines are eaten (xterm)
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
* fixed binding in mc.keymap.default and mc.keymap.emacs
for CmdCopyCurrentTagged, CmdCopyOtherTagged,
CmdCopyCurrentPathname, CmdCopyOtherPathname
* fixed typo
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Now buttonbar have own colorpairs:
[buttonbar]
hotkey=red;black
button=yellow;cyan
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
In the case where insufficient rights to the contents of the directory ~/.mc/* to
save preferences I get "settings saved in ~ /.mc/ini", but really nothing is saved.
It would be correct to issue a message like "Not enough permissions to save the ~/.mc/ini"
Also, when autosave should be issued a message about the lack of rights.
This branch will check rights of config-files.
testCase:
*) chmod 0400 ~/.mc
*) run mc
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
To view the next (C-f) of previous (C-f) file in viewer,
the quit from viewer is required now.
This commit restores the previous behavior.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Attempting to open a .tlz lzma archive fails - error 'xxx.tlz doesn't look like a tar archive'.
If the file is renamed to .tar.lzma, it is opened without problems.
Fix issue: add recognize of '.tlz' extention.
Refactoring: avoid calls of strlen() function
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
* When try to replace existing file in background operation
assertion raised (created operations for initialization ctx->ui for background):
** (mc:25716): CRITICAL **: file_progress_real_query_replace: assertion `ctx->ui != NULL' failed
* Process has been already done, but still draw in list (C-x j)
* Process is stopped or worked, remove operation don't hide process from list, but kill it
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Test case:
* create file with name "test" in "tmp" directory (for example)
* create directory with same name ("test") in other "tmp2" directory (for example)
* try to copy or move file "test" into "tmp2" in background mode
* wait for some time
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
mc 4.7.0-pre1 introduced dynamic "Save attributes" checkbox value in Copy/Move dialog.
But code is Linux-specific, and not even isolated by macros.
I suggest to add code specific for BSD and SVR4 systems.
In BSD systems (MacOS X, NetBSD, FreeBSD) there is statfs.f_fstypename which contains name of filesystem.
Valid FS names are: msdos, msdosfs (FreeBSD), ntfs, smbfs, procfs, fusefs (BSD), fusefs_subfstype (Mac)
In SVR4 systems (Solaris and other SVR4 Unixes) there are statvfs.f_basetype and statvfs
syscall instead of statfs and also autotools define STAT_STATVFS.
Valid FS names are: pcfs, proc, ntfs, fuse, smbfs
(Note that NetBSD 3.0+ also use statvfs but with BSD syntax.)
For all other OSes we simply return 1.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Currently, there is no way to change the defaults. The file mask
dialog options are not persistent.
Added new config option 'copymove_persistent_attr'. If this option is equal to '0'
then 'Preserve attributes' in copy/move dialog will always switched off.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>