__group__ ticket summary component version milestone type owner status created _changetime _description _reporter Active Tickets 1984 something like syntax.d for highlighting mc-core version not selected Future Releases defect new 2010-01-29T09:13:02Z 2019-11-07T10:18:43Z "From [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=520148 Debian bugzilla]: {{{ Seems like there is no easy way to add some syntax files to mcedit, as the only file it parses on startup is /usr/share/mc/cedit/syntax/Syntax (or ~/.mc/cedit/Syntax, which is not relevant here). So if some package wants to provide additional highlighting definitions, the only way to do it is to patch that file, which is not very nice I think. So I suggest there should be a directory (say, /usr/share/mc/cedit/syntax.d) where should reside all *.syntax files, so if any package wants to add another, it just places it there and mcedit will find it next time it starts. It should not be hard to do I think. }}}" stronny at celestia dot ru Active Tickets 2030 Feature request: unix pipe as VFS. mc-core version not selected Future Releases enhancement new 2010-02-15T17:35:03Z 2010-09-30T21:47:18Z "I always wanted MC to be able to work with pipe-filelist. For example, if we want to view all file from some package: equery f wget | mc Command equery in Gentoo prints on stdout list of files belonging to a package. Another example. Let say we want tar current directory, but we need to skip several files: find . | mc | tar cf /tmp/t.tar --files-from=- We can just F8 unneeded files. MC can detect if its standard input is from pipe or use ""-"" argument. " lvv Active Tickets 3874 Bracketed paste mode turned off by mc mc-core master Future Releases defect new 2017-11-08T13:22:31Z 2019-08-17T07:20:02Z "With bash-4.4/readline-7.0 if I put ""set enable-bracketed-paste on"" in ~/.inputrc, pasting a string with EOLs does not execute it. But with mc there is one problem. If I launch mc, press Ctrl-O and paste, it gets executed. But if I paste again, it does not. Or if I launch mc, press Ctrl-O, press Enter and then paste - it does not paste EOLs too." nerijus Active Tickets 4471 MTP +…+ sub-shell = sudden change of a location, and combined issues with no '\n' mc-core master defect new 2023-05-30T09:38:36Z 2023-05-30T09:38:36Z "0) Connect your Android (an `mtp` device) via USB to your host (tap to enable `transfer files` if needed). 1) Mount your `mtp` device with something like `gio mount ""mtp://[usb:002,011]/""` or ensure your device is auto-mounted. 2) Left panel: open you mounted Android (usually in `/run/user/1000/gvfs`); right panel: open any local location. 3) Find and copy something from your Android (e.g. any `*.jpg`) to your local location. 4) Try to open you copied local file by pressing `Enter` on it: - `The shell is already running a command` (in fact it does not) 5) Change on the left panel to something non-mtp (e.g. any local location from your history), and try to open file again on the right side. - it either opens (see towards the end of this ticket) or not. 5.1) Try `Ctrl+O` twice. - the location on the **right** side suddenly changes to your previous `mtp` location from the //**left**// side. Perhaps, a hint on the cause. 5.2) On the left side, move back (e.g. through you history) to your actual //local// location. Try to open (press `Enter`) the same file. - it opens OK. *) Work around the issue: always ensure changing to local locations on both panels twice. The issue is somewhat related to the local sub-shell implementation, most noticeable by pressing `Ctrl+O` (it doesn't also send `\n`, so the prompt may be garbled or continued). [[BR]] ^*. I am off for good and cannot provide further description which is why I did my best to put the issue on the notice board for further reference.^" ukr Active Tickets 4448 A keyboard shortcut to select a bunch of files mc-core master enhancement reopened 2023-02-27T07:31:11Z 2023-02-28T08:38:49Z "In Far file manager you can use Shift + Arrow Left/Arrow Right to deselect/select a bunch of files (a visible column worth of files actually). Is this possible in MC? https://unix.stackexchange.com/questions/737030/in-midnight-commander-how-to-select-a-large-continuous-range-of-files" birdie Active Tickets 37 savannah: external editor does not write changes on remote file systems mc-vfs master Future Releases defect new 2008-12-25T19:29:40Z 2014-01-11T16:04:37Z "Original: http://savannah.gnu.org/bugs/?15809 ||Submitted by:||Friedrich Strohmaier ||Submitted on:||Sun 19 Feb 2006 09:05:18 PM UTC|| ||Category:||Editor||Severity:||3 - Normal|| ||Status:||Confirmed||Privacy:||Public|| ||Assigned to:||Pavel Tsekov ||Open/Closed:||Open|| ||Release:||4.6.1||Operating System:||GNU/Linux|| Original submission: {{{ Editing text files on remote file systems using the system editor (vim), not the built in one, does not work as expected. The buffer with a temporary file is opened and changed, but not written to target leaving with "":wq"" . This is tested on my ubuntu box for ftp and fish. to get the effect do the following steps: if not already done prepare mc not to use built in editor. On an sshd running system establish a conection with: 1. cd #sh:localhost: 2. browse to an known file and open editor by pressing 3. do some edit 4. save an leave (use "":wq"" on vim) Editor is quitting without error. now the file should be changed refresh window by use to prove ==> file is not changed an no error was given. This behavior was also confirmed by other users on german ubuntu list. For example here: http://article.gmane.org/gmane.linux.ubuntu.user.german/3618 ""can reproduce on breezy"" And a different Editor (nvi) set on /etc/alternatives/vi set on my box Info: GNU Midnight Commander 4.6.1 Virtual File System: tarfs, extfs, cpiofs, ftpfs, fish, smbfs With builtin Editor Using system-installed S-Lang library with terminfo database With subshell support as default With support for background operations With mouse support on xterm and Linux console With internationalization support With multiple codepages support Package: Version: 1:4.6.1-1ubuntu2~breezy1 VIM - Vi IMproved 6.3 (2004 June 7, compiled Aug 22 2005 17:27:07) Version: 1:6.3-078+1ubuntu3 Friedrich }}} Comment 1 by Friedrich Strohmaier at Sun 19 Feb 2006 11:16:04 PM UTC: {{{ see also: Bug #31757 in mc (Ubuntu): ""mc external editor does not write changes on remote file systems"" https://launchpad.net/distros/ubuntu/+source/mc/+bug/31757 Friedrich }}} " bitsfritz Active Tickets 1448 FTP protocol in Midnight Commander is unusable [metabug] mc-vfs master Future Releases defect new 2009-08-03T09:26:38Z 2016-08-23T12:40:47Z "1. It doesn't support many FTP servers. 2. It doesn't support servers with non ISO8859-1 locale (it can support them if remote server locale matches local system locale but that's not a solution). 3. When you hit F5/F6 (copy/move) button while being at a remote FTP directory MC rereads the remote FTP directory which is not necessary. 4. After *copying* a file from FTP server a remote FTP directory is reread which is not necessary (and even detrimental since a remote directory can contain thousands of files). 5. If MC has lost connection with an FTP server, it doesn't reconnect automatically. 5. If MC has lost the connection with an FTP server, it returns to a .. directory, not . directory (say you were in ftp://server.com/pub/files, after reconnect MC will show you ftp://server.com/pub directory) 6. MC is unable to do/complete any operations with a remote FTP server, after the connection has been lost (F5/F6/F8/etc). ______________________________________________________________ Feature requests: 1. There's no directory cache in MC, please, implement it. 2. Implement aggressive directory cache in MC, so that when you copy/move/create/remove file from/to remote FTP server, MC mentally calculates the operation result and shows it *without* rereading a remote directory. 3. Implement FTP hotlist where you can set up a) Remote FTP server filenames codepage b) Active/Passive FTP c) Aggressive caching d) Usage of firewall/proxy 4. Implement HTTP Proxy support (at least squid)" birdie Active Tickets 1993 Change the file name when copying to FTP mc-vfs master Future Releases defect new 2010-02-03T11:14:08Z 2011-11-05T06:25:27Z "# echo -ne > 'TEST\n FILE\r .long\b file\s name .txt' # mc # [ FTP link... ] Then copy this file to you FTP. I have the FTP is a file named: 'TESTn FILEr .longb files name .txt' " pavlinux Active Tickets 2256 shell link via ssh fails to restore after connection lost mc-vfs master Future Releases defect new 2010-07-04T19:13:08Z 2018-09-21T22:43:44Z "I use a remote dir using ""Shell link"" (via ssh). If the connection was resetted by peer (e.g. adsl disconnect and reconnect with new ip address) changing the remote director fails instead of reconnecting. mc knows my password already, so it could reconnect and shoudl do that. Selecting ""Rescan"" fails also :( Reconnect via ""Shell link"" also fails. Only way is to close mc and start again from new." crissi Active Tickets 2328 No action without shell patterns documentation master Future Releases defect new 2010-08-26T12:41:09Z 2011-11-01T06:04:34Z "Copy and Move dialogs do nothing when ""Using shell patterns"" is unchecked. Even example from help doesn't work at all." gotar Active Tickets 3138 redo is broken mcedit master Future Releases defect new 2014-01-05T12:38:39Z 2014-01-05T12:38:39Z "1. open an existing text file 2. delete a few lines 3. undo the deletions with ctrl-u 4. try to redo them with alt-r 5. watch Weird Things ® happen or this: 1. open file 2. move around 3. undo 4. redo " ossi Active Tickets 3141 """filtered view"" can lock up mc" mc-core master Future Releases defect new 2014-01-05T13:38:07Z 2014-01-05T13:38:07Z "the ""filtered view"" (alt-!) command is run through popen() with a blocking fread() loop (or equivalent). that means that if i enter a command that does not terminate (e.g., becuase i delete the file name, as i just did), mc will hang indefinitely, without any way to abort the command. the only way to recover is killing the command from the outside. there are multiple approaches to fixing this: - run the filter through the subshell (see also #47). capturing the output may be a minor challenge (i guess one can simply append a redirection to a temp file to the command). but what if mc is compiled without subshell support? - enable the SIGINT handler for the time of running the filter - make the interaction with the subprocess more intelligent, so it can be properly interrupted via an mc dialog the 1st approach would switch off the panels, while the 2nd and 3rd approach both require some kind of progress dialog." ossi Active Tickets 3171 syscall interrupted during sftp transfer mc-vfs master Future Releases defect new 2014-02-14T11:27:29Z 2014-02-14T11:27:29Z "While copying plenty of files to sftp server (note: sftp-only, no shell support) I experience multitude of errors regarding interrupted system call (прерван системный вызов (4)). If I choose ""repeat"" in this dialogue the transfer resumes normally - until it's interrupted again later on on some other file. I do believe this is an mc issue because: - transfers to the same host with duplicity gave me no errors at all - choosing repeat result in always successful transfer Too tight timeout somewhere or no attempt to repeat the read/write before presenting user with scary red error dialogue? Also having more explicit error would help in troubleshooting - I mean, yepp, some system call failed - which one?! " god12 Active Tickets 3175 mc hangs copy-pasting vertical block (Alt+F5) mcedit master Future Releases defect new 2014-02-26T13:43:19Z 2014-02-26T17:26:32Z "Steps to reproduce: 1) open file ""mc_hangs_on_copy_paste_vertical_block"" on F4 (for editing) 2) move cursor to position (row:0, column:0) 3) press Alt 4) using right and down arrows, select vertical block (width: 4 columns, height: 2 rows) 5) relese Alt 6) move cursor to position (row:4, column:0) 7) press F5 Result: mc is not responding to any keybord signals. Expected result: selected block copy-pasted successfully. Note: file contains long ASCII lines (it's a part of source code)." skvadrik Active Tickets 3192 "annoying ""incomplete file"" popup" mc-core master Future Releases defect new 2014-04-07T10:31:47Z 2014-04-07T10:31:47Z "When copying lots of data over unreliable connection (ssh/sftp over wi-fi for example) it's often the case that some file fails - in this case dialogue popups. It's possible to pick some action in it ""for all files"" BUT - the dialogue about ""remove incomplete file"" does not give ""for all files"" option - it keeps appearing over and over again which is both annoying like and inconsistent with other such dialogues. " god12 Active Tickets 3221 "In ""Directory Hotlist"" the keyboard right button has stopped working for the final destination" mc-core master Future Releases defect reopened 2014-06-14T09:20:42Z 2015-06-25T18:48:24Z "In earlier MC releases you could change to a final destination directory of your personal Directory Hotlist using the right button. In MC 4.8.12 it's only possible via the Return (Enter) key. Please, bring back the old functionality. Using the right key is a lot more convenient and fast." birdie Active Tickets 3252 Incorrect cursor position in Quick view mc-core master Future Releases defect new 2014-08-22T11:26:41Z 2014-08-22T11:59:56Z "Choose ""Quick view"" for one of the panels. Do stuff, like press up/down to go to the prev/next file, press tab to focus the quick view panel etc. Notice that the terminal's cursor ends up at random places, such as the mini-status, the percent of the viewer, or the bottom right of the terminal. The expected location is the command prompt, since this is where you'd type text." egmont Active Tickets 3257 Charset handling buggy and extremely complicated mc-core master Future Releases defect new 2014-08-28T20:50:58Z 2016-01-03T06:34:30Z "With --enable-charset, set your terminal and locale to some 8-bit non-ISO (e.g. KOI8-* CP* or Windows*), and in mcview set the file's encoding to the same. Chars 128-159 are replaced by dot, even though these are printable characters in these encodings. mcview (plain.c) calls is_printable() which in turn calls is_8bit_printable() which calls (assuming xterm-like emulator) is_iso_printable which hardwires that 128-159 are non-printable. It's a faulty design: the method is_printable() tries to answer the question without having a clue about the character set. --------------------------------------------------------------------------------------------- The underlying cause is a very complicated code where there are micro-branches handling 5 different cases. E.g. from mcview plain.c: {{{ #ifdef HAVE_CHARSET if (mc_global.utf8_display) { if (!view->utf8) c = convert_from_8bit_to_utf_c ((unsigned char) c, view->con if (!g_unichar_isprint (c)) c = '.'; } else if (view->utf8) c = convert_from_utf_to_current_c (c, view->converter); else { c = convert_to_display_c (c); if (!is_printable (c)) c = '.'; } #else /* HAVE_CHARSET */ if (!is_printable (c)) c = '.'; #endif /* HAVE_CHARSET */ }}} It's very complicated and error prone. The 5 totally separate cases are: - mc with charset support: - (1) file is utf8, display is utf8 - (2) file is utf8, display is 8bit - (3) file is 8bit, display is utf8 - (4) file is 8bit, display is 8bit (but they can be different encodings, a 256-byte conversion table is used) - (5) mc without charset support (bytes from the file are directly passed thru to the terminal) This is not the only place where such a terrible #ifdef and if() branching is done, there are plenty, they are hard (practically impossible) to test, and they are apparently buggy. This approach also implies that you cannot use handy methods like g_unichar_whatever anywhere outside of such ifdef/if's because basically whenever you have an ""int c"", you have no clue which character it represents. Even figuring out if it's printable would need to carry its charset as extra context, defeating the purpose of Unicode. (In #3250 I often need to check things like whether the character is CJK or combining, these influence line wrapping and such. I can't do with a single g_unichar_xx() call, I need to write helper methods for each desired g_unichar_xx() with #ifdef/if()s.) My recommendation is to simplify to at most 2 cases (by merging (1)-(4)), but preferably to only 1 case (by removing (5) if feasible), by forcing Unicode internally. This could be done if instead of a 1-phase conversion we went for a 2-phase conversion. Most data has the lifecycle that first we receive it from some source of arbitrary encoding (e.g. file name, file contents), then process it, then finally display it (in some other arbitrary encoding). Doing a one-shot conversion means that no matter where you do it, your data might be in any of multiple encodings while you process it and you'd need to carry that encoding and do micro-branches all the time. Instead, the data should be converted to Unicode as soon as we read it, so that processing always happens in Unicode, and should be converted to the terminal's charset as the last step just when we print it. Of course, in this approach if the terminal encoding and the file encoding are the same, you do a back-n-forth conversion. But, in turn, the whole code becomes cleaner and less buggy. About the 5th case: unless there are systems which don't support --enable-charset and yet we'd still want mc to run on them, I'd vote for ditching this possibility. Nowadays when every new system is set up with default UTF-8 locale, (1) is I assume by far the most frequent use case. The desired change wouldn't introduce any runtime cost with (1)-(2), what happens inside mc would mostly stay the same. With (3)-(4)-(5) we'd perform some operations (e.g. search in file) in Unicode rather than 8-bit. In cases (4)-(5) we'd do an extra back-n-forth conversion, I think this is a price we can pay for having a source that's easier to maintain and test, and has fewer bugs. " egmont Active Tickets 3283 Fish on host without perl does not work with symlinks on directory mc-vfs master Future Releases defect new 2014-10-09T09:27:04Z 2014-10-12T12:42:43Z "I connect to my phone on android via mc's fish and it does not open symlinks on directory (there is no perl on phone). When I install working perl on phone fish works successfully. When I add ""-H"" key to ""ls"" in all files in /usr/lib/mc/fish/ , then fish works successfully and without perl on phone! uname -a Linux gws 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux mc -V GNU Midnight Commander, версия 4.8.11 Скомпилирован с библиотекой GLib версии 2.39.1 С библиотекой S-Lang и с базой данных terminfo Со встроенным редактором C поддержкой внутренней командной оболочки С поддержкой фоновых операций С поддержкой мыши в xterm и консоли Linux С поддержкой событий X11 С поддержкой интернационализации С поддержкой многих кодировок Виртуальная файловая система: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Тип данных: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; " RekGRpth Active Tickets 3474 [patch] fix some -Wshorten-64-to-32 warnings mc-core master Future Releases defect new 2015-05-25T23:34:34Z 2015-05-25T23:34:34Z "fix some -Wshorten-64-to-32 warnings Signed-off-by: Andreas Mohr key.c:1291:39: warning: implicit conversion loses integer precision: 'const long' to 'int' [-Wshorten-64-to-32] input.c:301:28: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:301:32: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:743:36: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:743:40: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:756:36: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:756:40: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:787:30: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:788:43: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:1316:43: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:1322:21: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:1325:33: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:1326:71: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] utilvfs.c:192:24: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] path.c:1112:49: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] input_complete.c:454:33: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:716:47: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] input_complete.c:780:30: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1029:63: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1040:67: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1147:42: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1402:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1410:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] lock.c:184:11: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] charsets.c:256:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] achown.c:478:10: warning: implicit conversion loses integer precision: 'unsigned long' to 'unsigned int' [-Wshorten-64-to-32] cmd.c:250:30: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] cmd.c:251:30: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] cmd.c:567:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] cmd.c:590:56: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] cmd.c:1262:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] cmd.c:1349:19: warning: implicit conversion loses integer precision: '__time_t' (aka 'long') to 'int' [-Wshorten-64-to-32] cmd.c:1356:15: warning: implicit conversion loses integer precision: '__time_t' (aka 'long') to 'unsigned int' [-Wshorten-64-to-32] cmd.c:1357:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] command.c:387:29: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] dir.c:479:46: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] ext.c:1000:46: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] file.c:892:48: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] file.c:1803:34: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] file.c:1831:37: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] file.c:1869:39: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] file.c:1870:46: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] filegui.c:1264:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] find.c:995:30: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] treestore.c:356:44: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] treestore.c:463:30: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] vfs_class.c:442:10: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] vfs_class.c:464:10: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] hex.c:229:56: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:1691:11: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2363:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2373:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2442:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2452:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2972:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] etags.c:213:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] format.c:307:16: warning: implicit conversion loses integer precision: 'off_t' (aka 'long') to 'int' [-Wshorten-64-to-32] format.c:319:20: warning: implicit conversion loses integer precision: 'off_t' (aka 'long') to 'int' [-Wshorten-64-to-32] syntax.c:294:25: warning: implicit conversion loses integer precision: 'off_t' (aka 'long') to 'int' [-Wshorten-64-to-32] syntax.c:452:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] syntax.c:553:23: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] syntax.c:1296:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] syntax.c:1311:22: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] syntax.c:1348:39: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] setup.c:695:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] subshell.c:519:21: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] subshell.c:539:21: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] subshell.c:563:21: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] background.c:379:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] parse_ls_vga.c:88:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] parse_ls_vga.c:852:18: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutil8bit.c:276:38: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutil8bit.c:279:27: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutil8bit.c:322:38: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutil8bit.c:325:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutilascii.c:228:38: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutilascii.c:231:27: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutilascii.c:289:38: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutilascii.c:292:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] menu.c:123:73: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:181:73: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:250:75: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:332:73: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:351:67: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:372:67: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:396:67: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:425:67: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:470:68: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:511:45: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] menu.c:517:71: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:721:59: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:357:9: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] tar.c:382:19: warning: implicit conversion loses integer precision: 'long' to '__mode_t' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:412:15: warning: implicit conversion loses integer precision: 'long' to '__uid_t' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:415:15: warning: implicit conversion loses integer precision: 'long' to '__gid_t' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:429:22: warning: implicit conversion loses integer precision: 'long' to '__uid_t' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:430:22: warning: implicit conversion loses integer precision: 'long' to '__gid_t' (aka 'unsigned int') [-Wshorten-64-to-32] tty-ncurses.c:132:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:133:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:134:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:135:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:136:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:137:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:138:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:139:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:140:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:141:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:142:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:144:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:145:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:146:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:147:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:148:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:149:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:150:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:151:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:152:36: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:153:36: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] setup.c:654:38: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] setup.c:664:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] fish.c:399:31: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] undelfs.c:252:14: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:258:14: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:280:18: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:314:18: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:456:13: warning: implicit conversion loses integer precision: 'long' to 'ext2_ino_t' (aka 'unsigned int') [-Wshorten-64-to-32] undelfs.c:518:25: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:544:29: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] undelfs.c:550:46: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] undelfs.c:559:46: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] undelfs.c:594:14: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:611:24: warning: implicit conversion loses integer precision: 'long' to 'ext2_ino_t' (aka 'unsigned int') [-Wshorten-64-to-32] undelfs.c:675:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] usermenu.c:670:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] usermenu.c:725:22: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] usermenu.c:729:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] vfs.c:135:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] vfs.c:149:38: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] vfs.c:153:30: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]" and Active Tickets 3529 Search does not always respect the chosen codepage mc-core master Future Releases defect new 2015-09-27T18:47:13Z 2022-07-28T04:40:59Z "Create a file that uses the Latin-1 or Latin-2 encoding and contains the letter ""é"" a couple of times (among other characters as well). Note that ""é""'s codepoint is the same in Latin-1 and Latin-2. Change your terminal's charset to Latin-1. Start ""LC_ALL=en_US bash"". Run ""locale charmap"" to verify that the charset is indeed ISO-8859-1. (If you don't have the en_US locale installed, you might need to run ""sudo locale-gen en_US"" or something similar depending on your distro.) Start mcview with the file created above. Press Alt-E to verify that mcview assumes the file is encoded in UTF-8. Accordingly, each ""é"" is visually replaced by a dot. Use F7 to search for ""é"". No match, as expected. Change the file's charset to ISO 8859-1. The é's appear in the file. Search (F7) for ""é"". No match. Expected: match the é's. Change the file's charset to ISO 8859-2. The é's remain unchanged. Search (F7) for ""é"". Matches, as expected. Change the file's charset back to ISO-8859-1. The é's remain unchanged. Search (F7) for ""é"". Matches, as expected (although 2 steps before it didn't match under the same circumstances). Change the file's charset to ISO 8859-5. The é's are replaced by dots. Search (F7) for ""é"". Matches the corresponding dot. Expected: not to match. Change the file's charset back to UTF-8. é's are still replaced by dots. Search again (this time with the 'n' key): Matches the dots. Expected: not to match. Search with F7: Does not match, as expected. --- It looks to me that there are perhaps two underlying bugs: - The file's selected codepage is not always taken into account. The behavior even depends on which codepage was selected previously. - Pressing 'n' does not convert the internal search pattern accordingly to the charset change (this one's also reproducible with UTF-8 locale and terminal); opening the F7 dialog does. Expected behavior: in all cases, searching should happen accordingly to the selected codepage, that is, the file's current look. " egmont Active Tickets 3545 MC and sshelper mc-vfs master Future Releases defect new 2015-10-28T20:04:49Z 2015-12-31T17:34:30Z "First off, sshelper is a ssh server for Android. http://arachnoid.com/android/SSHelper/ So so the issues. When i try to use Fish with sshelper it will not work, as MC tries to look for sh in /bin, and /bin do not exist on Android. Instead sshelper brings along a fully stocked alternate that it puts into $path. And when i try to use sftp, i get a error on the sshelper end about corrupted MAC on input." digiowl Active Tickets 3551 Ctrl+Space does not unselect directories it processed, and there's a workflow where this is DANGEROUS mc-core master Future Releases defect new 2015-11-11T20:11:16Z 2015-11-14T16:44:08Z "Consider a workflow the purpose of which is to identify and delete some temporary directories (logs, caches, captured test data) that take lots of disk space. You enter a directory. You select all subdirectories. You press Ctrl+Space to compute their disk space usage. You identify a disk-hogging dir. You select it with arrow keys. You press F8 and OK. DISASTER!!!!!!!!! because all other subdirectories were still ""yellow"". The Ctrl+Space command did NOT unselect them after it was done with them! Please fix this." rulatir Active Tickets 3654 Broken sftp connection when uploading files to SSHDroid mc-vfs master Future Releases defect new 2016-06-16T08:51:58Z 2024-01-21T14:54:28Z "in 4.8.17 has been broken sftp connection command server is sshdroid on android device 4.8.17 can connect, browse files and upload small files (up to 20 kb), but 30 kb cant - and hangs 4.8.15 in same situation works fine (except error -31 as always) some add info https://www.linux.org.ru/forum/midnight/12592086" x905 Active Tickets 3738 travis builder should also target osx in addition to linux adm master Future Releases defect new 2016-12-06T18:55:24Z 2023-01-05T21:17:16Z "Travis supports building for multiple platforms and can be configured to build both in parallel. Unless someone has a strong reason for not doing this I will raise a PR that will also enable OSX builds." sorin Active Tickets 3739 .gitignore : build process should not left any modified or untracked files mc-core master Future Releases defect new 2016-12-06T19:10:09Z 2016-12-06T20:19:59Z "The build process should not left any modified or untracked files. All temporary or output files should be covered by .gitignore file, but currently there are lots of files left after doing configure and build steps. While this is fixed we can also introduce an additional build step that check if new files are left over and that would fail the build if unknown files are detected. Easy to check: do a `git check`" sorin Active Tickets 3771 trac: ticket create/update operations are very slow adm master Future Releases defect new 2017-02-10T13:18:37Z 2023-05-11T06:02:12Z "(I hope the ""adm"" Component is ok) I've noticed that creating or updating a ticket on this trac system is a very slow operation; it requires about 20-30 seconds to complete, while all other operations (e.g. searching tickets, previewing changes to a ticket) are quite fast. Maybe there's some kind of bottleneck in writing to the backend database? I never got failures or error messages, only noticed this unusual delay." cri Active Tickets 3772 Esc-p and Esc-n don't work in External Panelize command history, only Esc-h works mc-core master Future Releases defect new 2017-02-14T21:10:56Z 2017-02-16T12:14:38Z "In the ""External panelize"" popup window, when I select the lower ""Command"" field, the only way to navigate the commands history is to use Esc-h. One would expect that Esc-p and Esc-n could be used to see the previous/next command (like in the main panels), but this results in exiting the ""External panelize"" window instead." cri Active Tickets 3788 extension mechanism: signal in `View` process affects `Open` process mc-core master Future Releases defect new 2017-03-09T06:41:03Z 2017-03-09T11:05:09Z "Happens in 4.8.17-4.8.19, at least. If the program launched to `View` (F3) some content type registered in extension file (e.g. lynx or links for html) is interrupted by Ctrl+C, the program launched previously in background in the same `mc` instance to `Open` (ENTER) something is interrupted too. Even mplayer which normally ignores Ctrl+C. Replication: 1) One or more `Open` actions. The `Open` action description must launch something into background and be long-running, like (mplayer %f &) on video or even just (xterm -e lynx %f &) on any type, just to sit and show the contents. 2) In the same mc instance -- `View` (F3) any local .html file, so lynx (or links) starts, interrupt it by Ctrl+C. 3) Both 'viewing' program and 'opening' program(s) (any number of instances) are terminated. However, a) If lynx or links is launched 'manually' in subshell and interrupted, it does not affect any running `Open` programs. b) Does not happen between mc instances. " yury_t Active Tickets 3814 MC does not set group-sticky bit when copy directory to directory with group-sticky bit mc-core master Future Releases defect new 2017-04-22T16:20:42Z 2017-04-22T16:20:42Z "Steps to reproduce: 1. Ensure you have two user groups in system (""users"" and ""some_user"", for example), and test user is included in both. 2. Create directory ""source"" owned by test user, ""some_user"" group. 3. Create directory ""target"" owned by test user, ""users"" group. 4. Set group-sticky bit for ""target"" directory: chmod g+s target 5. Copy ""source"" directory to ""target"" directory with MC (with or without ""Preserve attributes"" flag). 3. Check ownership and mode of copied directory: ~$ ls -ld target/source Actual result: Copied directory is owned by ""users"" group but does not have group-sticky bit. (The result does not depend of ""Preserve attributes"" flag.) Expected result: Copied directory is owned by ""users"" group but and has group-sticky bit. (The result should not depend of ""Preserve attributes"" flag.)" math_coder Active Tickets 3820 From 4.8.18 strange behavior when used in a SSH session from PuTTy mc-tty master Future Releases defect new 2017-05-02T10:50:10Z 2019-06-29T10:08:13Z "In a SSH session coming from PuTTy codepage is incorrect eg. line drawings etc is wrong. Should be UTF-8 but is ISO8859-1. SSH session from a Linux client MC 4.8.18 is working correct. Version 4.8.17 does not show this bug 4.8.18/19 do.. Knud" knudch Active Tickets 3825 Do not keep the directory handle open mc-core master Future Releases defect new 2017-05-24T22:10:41Z 2019-05-06T21:23:53Z "When you enter any directory using MC, the device which directory belongs to, becomes ""busy"" and you cannot unmount it any longer. Please fix it." birdie Active Tickets 3831 Dot in regex pattern should match one character even if the texts are multi byte mc-search master Future Releases defect new 2017-06-17T12:34:07Z 2017-06-18T10:25:46Z "Dot in regex pattern matches one byte currently. But it's too hard to know byte number of characters for user. Regex search should match the pattern character by character always regardless of the encoding of file, not byte by byte. " sstbw049040 Active Tickets 3848 mc dropped path when try open NFS mount point from Windows 2012 mc-core master Future Releases defect new 2017-08-15T10:09:22Z 2017-08-15T10:09:22Z "Hello all. We found bug when on AIX host I try open mount point of NFS server based on Windows 2012. Configuration: Windows 2012 Server - as NFS server AIX 6.1, 7.1 - as NFS Client mount point - /mnt/tmp proto: NFSv3 Problem: When we move to the mount point in MC (/mnt/tmp) we see the contents of NFS Share from the server. Going to any directory below - throws us into the root (/) Any ideas how we can fix this? In shell this problem not repeated. From test linux client with mc (4.8.7) problem not repeated. [root@mhqrbs07mig]:/root> LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.19 Built with GLib 2.34.3 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64; [root@mhqrbs07mig]:/root> LC_MESSAGES=C mc -F Home directory: /root Profile root directory: /root [System data] Config directory: /opt/freeware/etc/mc/ Data directory: /opt/freeware/share/mc/ File extension handlers: /opt/freeware/libexec/mc/ext.d/ VFS plugins and scripts: /opt/freeware/libexec/mc/ extfs.d: /opt/freeware/libexec/mc/extfs.d/ fish: /opt/freeware/libexec/mc/fish/ [User data] Config directory: /root/.config/mc/ Data directory: /root/.local/share/mc/ skins: /root/.local/share/mc/skins/ extfs.d: /root/.local/share/mc/extfs.d/ fish: /root/.local/share/mc/fish/ mcedit macros: /root/.local/share/mc/mc.macros mcedit external macros: /root/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /root/.cache/mc/ [root@mhqrbs07mig]:/root> mc --configure-options '--prefix=/opt/freeware' '--mandir=/opt/freeware/man' '--enable-threads=posix' '--enable-mclib' '--with-screen=slang' '--with-pcre=/opt/freeware' '--with-x' 'CC=cc_r -qcpluscmt' 'CFLAGS=-qmaxmem=262144 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_ALL_SOURCE -DFUNCPROTO=15 -O3 -qstrict -I/opt/freeware/include' 'LDFLAGS=-L/opt/freeware/lib -Wl,-bmaxdata:0x80000000' [root@mhqrbs07mig]:/root> Please help. Thanks." dnskmv Active Tickets 3942 Exclusions for the Preallocate Space option mc-core master Future Releases defect new 2018-10-14T11:39:55Z 2018-10-14T11:39:55Z "At the moment every time I copy files to FAT32/NTFS/exFAT file systems I have to disable this option because it makes copying almost 1,5 slower since the said filesystems don't support file preallocation and instead they create and write out with zeros the full destination file entirely prior to actual copying. Thus a way to exclude either file paths or filesystems is needed for the option. Either a list of file paths which are excluded from this option - something like ""Enable Ignore Directories"" in the File Path dialog. Or, a better solution could be in the form of excluding certain file systems - and it would be miles better if it were implemented. I presume the statvfs() call does exactly what is needed." birdie Active Tickets 3953 F5/F6 key opens dialog but does not perform tasks. mc-core master Future Releases defect new 2018-12-22T14:14:45Z 2018-12-22T14:14:45Z "Suddenly,certain key commands don't work. eg. F5/F6 open dialog but don't actually copy/move anything. ctrl-s brings out search prompt but that's all it does. No errors are visible. I've uninstalled/reinstalled many times. I've also removed my user folder but still no change. I've recompiled the latest version,but still no luck. Any suggestions would be welcome. iomari" iomari Active Tickets 3972 lib/vfs testsuite failures on illumos tests master Future Releases defect new 2019-02-23T17:31:48Z 2020-01-23T16:06:47Z "Running test suite from v4.8.22 on !OpenIndiana 2018.10 (illumos kernel) with changeset from http://midnight-commander.org/ticket/3971#comment:1 I get following failures in the lib/vfs testsuite: {{{ PASS: canonicalize_pathname PASS: current_dir FAIL: path_cmp FAIL: path_len FAIL: path_manipulations FAIL: path_serialize PASS: relative_cd PASS: tempdir PASS: vfs_adjust_stat PASS: vfs_parse_ls_lga PASS: vfs_path_from_str_flags FAIL: vfs_path_string_convert PASS: vfs_prefix_to_class PASS: vfs_setup_cwd PASS: vfs_split PASS: vfs_s_get_path PASS: path_recode PASS: vfs_get_encoding ============================================================================ Testsuite summary for /lib/vfs ============================================================================ # TOTAL: 18 # PASS: 13 # SKIP: 0 # XFAIL: 0 # FAIL: 5 # XPASS: 0 # ERROR: 0 ============================================================================ See tests/lib/vfs/test-suite.log ============================================================================ }}} test-suite.log file is attached. Let me know should you need information about the environment." mnowak Active Tickets 3983 SIGBUS, Bus error in __memcmp_avx2_movbe (or __memcmp_sse2) when comparing two dirs(F9,c,c,T) that contain symlink to 0 byte file mc-core master Future Releases defect new 2019-05-06T12:06:07Z 2019-05-15T20:27:09Z "''' What version of Midnight Commander is used?''' {{{ $ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.22-130-ge1d11906b Built with GLib 2.60.1 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} {{{ $ LC_MESSAGES=C mc -F Home directory: /home/user Profile root directory: /home/user [System data] Config directory: /etc/mc/ Data directory: /usr/share/mc/ File extension handlers: /usr/lib/mc/ext.d/ VFS plugins and scripts: /usr/lib/mc/ extfs.d: /usr/lib/mc/extfs.d/ fish: /usr/lib/mc/fish/ [User data] Config directory: /home/user/.config/mc/ Data directory: /home/user/.local/share/mc/ skins: /home/user/.local/share/mc/skins/ extfs.d: /home/user/.local/share/mc/extfs.d/ fish: /home/user/.local/share/mc/fish/ mcedit macros: /home/user/.local/share/mc/mc.macros mcedit external macros: /home/user/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/user/.cache/mc/ }}} {{{ $ mc --configure-options '--prefix=/usr' '--sysconfdir=/etc' '--libexecdir=/usr/lib' '--enable-background' '--enable-network' '--enable-netcode' '--enable-charset' '--enable-nls' '--with-vfs' '--with-edit' '--with-screen=slang' '--without-x' '--without-samba' '--without-gpm-mouse' '--without-gnome' '--with-debug' '--without-included-gettext' '--disable-dependency-tracking' 'CFLAGS=-pipe -march=native -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -mtune=native -fomit-frame-pointer -O2 -D_FORTIFY_SOURCE=2 -O2 -fbuiltin -ggdb3' }}} {{{ $ type mc mc is aliased to `. mc-wrapper.sh --nomouse --subshell --stickchars' $ type mc-wrapper.sh mc-wrapper.sh is /home/user/bin/mc-wrapper.sh $ which mc-wrapper.sh /home/user/bin/mc-wrapper.sh $ cat `which mc-wrapper.sh` MC_USER=`id | sed 's/[^(]*(//;s/).*//'` MC_PWD_FILE=""${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$"" /usr/bin/mc -P ""$MC_PWD_FILE"" ""$@"" if test -r ""$MC_PWD_FILE""; then MC_PWD=""`cat ""$MC_PWD_FILE""`"" if test -n ""$MC_PWD"" && test -d ""$MC_PWD""; then cd ""$MC_PWD"" fi unset MC_PWD fi rm -f ""$MC_PWD_FILE"" unset MC_PWD_FILE unset MC_USER }}} {{{ $ coredumpctl -r|head -2 TIME PID UID GID SIG COREFILE EXE Mon 2019-05-06 13:36:45 CEST 13484 1000 1000 7 present /usr/bin/mc }}} Note: below I've redirected the gdb output into /tmp/a file because I don't have scrollback buffer via ssh (and haven't yet figured out how to get one): {{{ $ coredumpctl gdb >/tmp/a GNU gdb (GDB) 8.2.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type ""show copying"" and ""show warranty"" for details. This GDB was configured as ""x86_64-pc-linux-gnu"". Type ""show configuration"" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type ""help"". Type ""apropos word"" to search for commands related to ""word""... Reading symbols from /usr/bin/mc...done. [New LWP 13484] [Thread debugging using libthread_db enabled] Using host libthread_db library ""/usr/lib/libthread_db.so.1"". Core was generated by `/usr/bin/mc -P /tmp/mc-user/mc.pwd.1908 --nomouse --subshell --stickchars'. Program terminated with signal SIGBUS, Bus error. #0 0x00007fcc3acba480 in __memcmp_avx2_movbe () from /usr/lib/libc.so.6 (gdb) bt #0 0x00007fcc3acba480 in __memcmp_avx2_movbe () from /usr/lib/libc.so.6 #1 0x000055a43a906808 in compare_files (size=29, vpath2=0x55a43ba32700, vpath1=0x55a43ba3f2c0) at cmd.c:238 #2 compare_dir (panel=0x55a43ba2c560, other=0x55a43ba33b70, mode=mode@entry=compare_thourough) at cmd.c:339 #3 0x000055a43a908042 in compare_dirs_cmd () at cmd.c:1165 #4 0x000055a43a8a9d05 in midnight_execute_cmd (sender=0x55a43ba22a00, command=109) at midnight.c:1115 #5 0x000055a43a8d903d in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x55a43ba22a00, w=) at ../../lib/widget/widget-common.h:210 #6 menubar_execute (menubar=0x55a43ba22a00) at menu.c:345 #7 0x000055a43a8d9baa in menubar_handle_key (key=, menubar=0x55a43ba22a00) at menu.c:533 #8 menubar_callback (w=0x55a43ba22a00, sender=, msg=, parm=, data=) at menu.c:627 #9 0x000055a43a8925ca in send_message (data=0x0, parm=99, msg=MSG_HOTKEY, sender=0x0, w=0x55a43ba22a00) at ../../lib/widget/widget-common.h:210 #10 dlg_try_hotkey (h=0x55a43ba12210, h=0x55a43ba12210, d_key=99) at dialog.c:422 #11 dlg_key_event (d_key=99, h=0x55a43ba12210) at dialog.c:482 #12 dlg_process_event (h=0x55a43ba12210, key=99, event=) at dialog.c:1164 #13 0x000055a43a8928ab in frontend_dlg_run (h=0x55a43ba12210) at dialog.c:544 #14 dlg_run (h=0x55a43ba12210) at dialog.c:1197 #15 0x000055a43a8ab42c in do_nc () at midnight.c:1783 #16 0x000055a43a886504 in main (argc=, argv=) at main.c:409 (gdb) bt full #0 0x00007fcc3acba480 in __memcmp_avx2_movbe () from /usr/lib/libc.so.6 No symbol table info available. #1 0x000055a43a906808 in compare_files (size=29, vpath2=0x55a43ba32700, vpath1=0x55a43ba3f2c0) at cmd.c:238 data2 = 0x7fcc3b35f000 data1 = 0x7fcc3b389000 file2 = file1 = result = -1 file1 = result = file2 = data1 = data2 = #2 compare_dir (panel=0x55a43ba2c560, other=0x55a43ba33b70, mode=mode@entry=compare_thourough) at cmd.c:339 src_name = 0x55a43ba3f2c0 dst_name = 0x55a43ba32700 target = source = i = 2 j = #3 0x000055a43a908042 in compare_dirs_cmd () at cmd.c:1165 choice = 2 thorough_flag = compare_thourough #4 0x000055a43a8a9d05 in midnight_execute_cmd (sender=0x55a43ba22a00, command=109) at midnight.c:1115 res = MSG_HANDLED #5 0x000055a43a8d903d in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x55a43ba22a00, w=) at ../../lib/widget/widget-common.h:210 ret = MSG_NOT_HANDLED ret = #6 menubar_execute (menubar=0x55a43ba22a00) at menu.c:345 w = 0x55a43ba22a00 menu = entry = 0x55a43ba0fe10 #7 0x000055a43a8d9baa in menubar_handle_key (key=, menubar=0x55a43ba22a00) at menu.c:533 entry = menu = 0x55a43ba21170 i = 0x55a43ba0c560 = {0x55a43ba0fe10, 0x55a43ba0feb0, 0x55a43ba0ff50, 0x55a43ba0fff0, 0x0, 0x55a43ba10090, 0x55a43ba10130, 0x55a43ba20e50, 0x55a43ba20ef0, 0x55a43ba20f90, 0x0, 0x55a43ba21030, 0x55a43ba210d0, 0x55a43ba0fa00} #8 menubar_callback (w=0x55a43ba22a00, sender=, msg=, parm=, data=) at menu.c:627 menubar = 0x55a43ba22a00 #9 0x000055a43a8925ca in send_message (data=0x0, parm=99, msg=MSG_HOTKEY, sender=0x0, w=0x55a43ba22a00) at ../../lib/widget/widget-common.h:210 ret = MSG_NOT_HANDLED ret = #10 dlg_try_hotkey (h=0x55a43ba12210, h=0x55a43ba12210, d_key=99) at dialog.c:422 hot_cur = current = 0x55a43ba22a00 handled = MSG_NOT_HANDLED c = 99 hot_cur = current = handled = c = #11 dlg_key_event (d_key=99, h=0x55a43ba12210) at dialog.c:482 handled = handled = #12 dlg_process_event (h=0x55a43ba12210, key=99, event=) at dialog.c:1164 No locals. #13 0x000055a43a8928ab in frontend_dlg_run (h=0x55a43ba12210) at dialog.c:544 d_key = wh = 0x55a43ba12210 event = {buttons = 0, x = -1, y = 982048309, type = (GPM_DOWN | GPM_DOUBLE | GPM_MFLAG | GPM_HARD | unknown: 21504)} wh = event = d_key = #14 dlg_run (h=0x55a43ba12210) at dialog.c:1197 No locals. #15 0x000055a43a8ab42c in do_nc () at midnight.c:1783 ret = #16 0x000055a43a886504 in main (argc=, argv=) at main.c:409 mcerror = 0x0 config_migrated = 0 config_migrate_msg = 0x0 exit_code = 1 (gdb) q PID: 13484 (mc) UID: 1000 (user) GID: 1000 (user) Signal: 7 (BUS) Timestamp: Mon 2019-05-06 13:36:45 CEST (11min ago) Command Line: /usr/bin/mc -P /tmp/mc-user/mc.pwd.1908 --nomouse --subshell --stickchars Executable: /usr/bin/mc Control Group: /system.slice/sshd.service Unit: sshd.service Slice: system.slice Boot ID: 85b887fbf341469ea4a8be2dd78878ac Machine ID: 5767ef25f523419aaa049f3d74481940 Hostname: i87k Storage: /var/lib/systemd/coredump/core.mc.1000.85b887fbf341469ea4a8be2dd78878ac.13484.1557142605000000 Message: Process 13484 (mc) of user 1000 dumped core. Stack trace of thread 13484: #0 0x00007fcc3acba480 __memcmp_avx2_movbe (libc.so.6) #1 0x000055a43a906808 compare_files (mc) #2 0x000055a43a908042 compare_dirs_cmd (mc) #3 0x000055a43a8a9d05 midnight_execute_cmd (mc) #4 0x000055a43a8d903d send_message (mc) #5 0x000055a43a8d9baa menubar_handle_key (mc) #6 0x000055a43a8925ca send_message (mc) #7 0x000055a43a8928ab frontend_dlg_run (mc) #8 0x000055a43a8ab42c do_nc (mc) #9 0x000055a43a886504 main (mc) #10 0x00007fcc3ab83ce3 __libc_start_main (libc.so.6) #11 0x000055a43a88666e _start (mc) }}} ''' What steps will reproduce the problem?''' Attached directory structure and files for reproduction purposes: 1. chdir into ''/home/user/TODO/coredump_mc/leftdir/mc'' on the left panel 2. chdir into ''/home/user/TODO/coredump_mc/rightdir/mc'' on the right panel 3. then do ''F9'', ''c'', ''c'','' T'' to compare the dirs and crash The above stacktrace was on an Intel i8700k CPU desktop PC(has avx and avx2), the below one is on an Ideapad Z575 laptop with AMD A6-3400M APU with Radeon(tm) HD Graphics CPU (it doesn't have avx): {{{ $ coredumpctl gdb PID: 31065 (mc) UID: 1000 (user) GID: 1000 (user) Signal: 7 (BUS) Timestamp: Mon 2019-05-06 14:00:12 CEST (1min 34s ago) Command Line: /usr/bin/mc -P /tmp/mc-user/mc.pwd.25438 --nomouse --subshell --stickchars Executable: /usr/bin/mc Control Group: /user.slice/user-1000.slice/session-c1.scope Unit: session-c1.scope Slice: user-1000.slice Session: c1 Owner UID: 1000 (user) Boot ID: dfe6cd331478451b8c6522386e636e51 Machine ID: ac27e28ecb9e47208f622bcf7f772c6b Hostname: Z575 Storage: /var/lib/systemd/coredump/core.mc.1000.dfe6cd331478451b8c6522386e636e51.31065.1557144012000000 Message: Process 31065 (mc) of user 1000 dumped core. Stack trace of thread 31065: #0 0x00007f93b4764100 __memcmp_sse2 (libc.so.6) #1 0x0000564da47c0527 compare_files (mc) #2 0x0000564da476191d midnight_execute_cmd (mc) #3 0x0000564da479231d send_message (mc) #4 0x0000564da4792eda menubar_handle_key (mc) #5 0x0000564da4749b14 send_message (mc) #6 0x0000564da4749df9 frontend_dlg_run (mc) #7 0x0000564da4762fec do_nc (mc) #8 0x0000564da473d53c main (mc) #9 0x00007f93b46effce __libc_start_main (libc.so.6) #10 0x0000564da473d6be _start (mc) GNU gdb (GDB) 8.2.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type ""show copying"" and ""show warranty"" for details. This GDB was configured as ""x86_64-pc-linux-gnu"". Type ""show configuration"" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type ""help"". Type ""apropos word"" to search for commands related to ""word""... Reading symbols from /usr/bin/mc...done. [New LWP 31065] [Thread debugging using libthread_db enabled] Using host libthread_db library ""/usr/lib/libthread_db.so.1"". Core was generated by `/usr/bin/mc -P /tmp/mc-user/mc.pwd.25438 --nomouse --subshell --stickchars'. Program terminated with signal SIGBUS, Bus error. #0 __memcmp_sse2 () at ../sysdeps/x86_64/memcmp.S:40 40 ../sysdeps/x86_64/memcmp.S: No such file or directory. (gdb) bt #0 __memcmp_sse2 () at ../sysdeps/x86_64/memcmp.S:40 #1 0x0000564da47c0527 in compare_files (size=29, vpath2=0x564da4e0fe70, vpath1=0x564da4e13880) at cmd.c:238 #2 compare_dir (panel=0x564da4e0d500, other=0x564da4e0e8b0, mode=compare_thourough) at cmd.c:339 #3 0x0000564da47c1e18 in compare_dirs_cmd () at cmd.c:1166 #4 0x0000564da476191d in midnight_execute_cmd (sender=0x564da4dff080, command=109) at midnight.c:1115 #5 0x0000564da479231d in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x564da4dff080, w=) at ../../lib/widget/widget-common.h:210 #6 menubar_execute (menubar=0x564da4dff080) at menu.c:345 #7 0x0000564da4792eda in menubar_handle_key (key=, menubar=0x564da4dff080) at menu.c:533 #8 menubar_callback (w=0x564da4dff080, sender=, msg=, parm=, data=) at menu.c:627 #9 0x0000564da4749b14 in send_message (data=0x0, parm=99, msg=MSG_HOTKEY, sender=0x0, w=0x564da4dff080) at ../../lib/widget/widget-common.h:210 #10 dlg_try_hotkey (h=0x564da4df2000, h=0x564da4df2000, d_key=99) at dialog.c:422 #11 dlg_key_event (d_key=99, h=0x564da4df2000) at dialog.c:482 #12 dlg_process_event (h=0x564da4df2000, key=99, event=) --Type for more, q to quit, c to continue without paging--c at dialog.c:1164 #13 0x0000564da4749df9 in frontend_dlg_run (h=0x564da4df2000) at dialog.c:544 #14 dlg_run (h=0x564da4df2000) at dialog.c:1197 #15 0x0000564da4762fec in do_nc () at midnight.c:1783 #16 0x0000564da473d53c in main (argc=, argv=) at main.c:409 (gdb) bt full #0 __memcmp_sse2 () at ../sysdeps/x86_64/memcmp.S:40 No locals. #1 0x0000564da47c0527 in compare_files (size=29, vpath2=0x564da4e0fe70, vpath1=0x564da4e13880) at cmd.c:238 data2 = 0x7f93b4f05000 data1 = file2 = file1 = result = -1 file1 = result = file2 = data1 = data2 = #2 compare_dir (panel=0x564da4e0d500, other=0x564da4e0e8b0, mode=compare_thourough) at cmd.c:339 src_name = 0x564da4e13880 dst_name = 0x564da4e0fe70 target = source = i = 2 j = --Type for more, q to quit, c to continue without paging--c #3 0x0000564da47c1e18 in compare_dirs_cmd () at cmd.c:1166 choice = thorough_flag = #4 0x0000564da476191d in midnight_execute_cmd (sender=0x564da4dff080, command=109) at midnight.c:1115 res = MSG_HANDLED #5 0x0000564da479231d in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x564da4dff080, w=) at ../../lib/widget/widget-common.h:210 ret = MSG_NOT_HANDLED ret = #6 menubar_execute (menubar=0x564da4dff080) at menu.c:345 w = 0x564da4dff080 menu = entry = 0x564da4dfd8a0 #7 0x0000564da4792eda in menubar_handle_key (key=, menubar=0x564da4dff080) at menu.c:533 entry = menu = 0x564da4df2460 i = 0x564da4ded160 = {0x564da4dfd8a0, 0x564da4dfd940, 0x564da4df4b90, 0x564da4df4c30, 0x0, 0x564da4df4cd0, 0x564da4df4d70, 0x564da4df4e10, 0x564da4df05f0, 0x564da4df0690, 0x0, 0x564da4df0730, 0x564da4df07d0, 0x564da4df0870} #8 menubar_callback (w=0x564da4dff080, sender=, msg=, parm=, data=) at menu.c:627 menubar = 0x564da4dff080 #9 0x0000564da4749b14 in send_message (data=0x0, parm=99, msg=MSG_HOTKEY, sender=0x0, w=0x564da4dff080) at ../../lib/widget/widget-common.h:210 ret = MSG_NOT_HANDLED ret = #10 dlg_try_hotkey (h=0x564da4df2000, h=0x564da4df2000, d_key=99) at dialog.c:422 hot_cur = current = 0x564da4dff080 handled = MSG_NOT_HANDLED c = 99 hot_cur = current = handled = c = #11 dlg_key_event (d_key=99, h=0x564da4df2000) at dialog.c:482 handled = handled = #12 dlg_process_event (h=0x564da4df2000, key=99, event=) at dialog.c:1164 No locals. #13 0x0000564da4749df9 in frontend_dlg_run (h=0x564da4df2000) at dialog.c:544 d_key = wh = 0x564da4df2000 event = {buttons = -1528805856, x = -1, y = -1534984512, type = (GPM_MOVE | GPM_DOWN | GPM_UP | GPM_TRIPLE | unknown: 22016)} wh = event = d_key = #14 dlg_run (h=0x564da4df2000) at dialog.c:1197 No locals. #15 0x0000564da4762fec in do_nc () at midnight.c:1783 ret = #16 0x0000564da473d53c in main (argc=, argv=) at main.c:409 mcerror = 0x0 config_migrated = 0 config_migrate_msg = 0x0 exit_code = 1 (gdb) q }}} " howaboutsynergy Active Tickets 4011 "when mc is in ""ascii"" mode it still launches mcedit in extended mode" mcedit master Future Releases defect new 2019-08-29T08:52:40Z 2019-08-29T09:11:31Z "on a SSH connection (identified by e.g. SSH_CLIENT variable beeing set to some IP) i have to use the ""-a"" option on mc for a useable window and dialog layout. easy to do that using a shell script or maybe less smarter with an alias. when now launching mcedit via the ""F4"" edit key from mc i am still getting into an instance of mcedit that is using the extended character set. attempts to improve the situation with alias or helper scripts failed so far for me. shouldn't an mc instance that is in ascii mode also prefer to launch mcedit in ascii mode as well. other than that i dont even see a was to pre-select ascii mode for mcedit. the problem is not instantly visible in mcedit as its main screen avoids using any extended chars but as soon as i open a dialog its corrupting the screen contents in a way that stays longer than the dialog is open." jetpilot Active Tickets 4020 "If UpArrow is pressed during ""Press any key to continue..."", then lockup unless more keys are pressed!" mc-tty master Future Releases defect new 2019-09-27T14:02:41Z 2019-09-28T08:23:45Z "''' What steps will reproduce the problem?''' 1. In Options->Configuration, in `Configure options` window set `Pause after run` to `(*) Always` , click [OK]. 2. type a command, ie. `echo` and press Enter now you're prompted: `Press any key to continue...` 3. press and release the UpArrow key then pause for no more than 1 second and press any other key such as Enter key. This combination (UpArrow, pause, Enter) can be repeated 6 times before it returns to `mc `panels! 3. If you pause for more then 1 second then press Enter, it returns to 'mc' panels instantly! 3. or, press and release UpArrow then press and hold any key like the key 'a'(or even UpArrow itself) until 2 seconds later when you see it return to `mc` panels. 3. or, repeatedly press and release UpArrow with pauses of more than 1 second! it never returns to 'mc' panels! {{{ $ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.23-82-gb633256c7 Built with GLib 2.62.0 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; $ LC_MESSAGES=C mc -F Home directory: /home/user Profile root directory: /home/user [System data] Config directory: /etc/mc/ Data directory: /usr/share/mc/ File extension handlers: /usr/lib/mc/ext.d/ VFS plugins and scripts: /usr/lib/mc/ extfs.d: /usr/lib/mc/extfs.d/ fish: /usr/lib/mc/fish/ [User data] Config directory: /home/user/.config/mc/ Data directory: /home/user/.local/share/mc/ skins: /home/user/.local/share/mc/skins/ extfs.d: /home/user/.local/share/mc/extfs.d/ fish: /home/user/.local/share/mc/fish/ mcedit macros: /home/user/.local/share/mc/mc.macros mcedit external macros: /home/user/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/user/.cache/mc/ $ mc --configure-options '--prefix=/usr' '--sysconfdir=/etc' '--libexecdir=/usr/lib' '--enable-background' '--enable-network' '--enable-netcode' '--enable-charset' '--enable-nls' '--with-vfs' '--with-edit' '--with-screen=slang' '--without-x' '--without-samba' '--without-gpm-mouse' '--without-gnome' '--without-debug' '--without-included-gettext' '--disable-dependency-tracking' '--enable-tests' $ echo $TERM xterm-256color $ xfce4-terminal --version xfce4-terminal 0.8.8git-5625bc0 (Xfce 4.14) }}} Thanks for your consideration." howaboutsynergy Active Tickets 4080 Enable bash-completion mc-core master Future Releases defect new 2020-05-06T14:06:09Z 2020-12-05T15:57:47Z Would it be possible to enable bash-completion (https://github.com/scop/bash-completion) in the mc panels command line? Currently it only works when in the subshell (Ctrl-O). cri Active Tickets 4083 Crash in buttonbar_call mc-core master Future Releases defect new 2020-05-12T16:17:49Z 2020-05-12T20:30:10Z "Hello, while going through my /var/crash directory, I discovered some crashes of mc. Unfortunately, I cannot tell you what I was doing at the time, the only thing evident from the crash dumps is that I pressed F8. However, gdb shows some useful info: {{{ (gdb) bt #0 0x695f316c in ?? () #1 0x004cdd74 in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x13ff2e0, w=) at ../../lib/widget/widget-common.h:216 #2 buttonbar_call (bb=bb@entry=0x13ff2e0, i=i@entry=7) at buttonbar.c:155 #3 0x004cde5f in buttonbar_callback (w=0x13ff2e0, sender=0x0, msg=MSG_HOTKEY, parm=1008, data=0x0) at buttonbar.c:172 #4 0x004d2d1a in send_message (data=0x0, parm=1008, msg=MSG_HOTKEY, sender=0x0, w=) at ../../lib/widget/widget-common.h:216 #5 dlg_try_hotkey (h=0x13dcd20, h=0x13dcd20, d_key=1008) at dialog.c:438 #6 dlg_key_event (d_key=1008, h=0x13dcd20) at dialog.c:483 #7 dlg_process_event (h=0x13dcd20, key=1008, event=0xbf830600) at dialog.c:1134 #8 0x004d2e7e in frontend_dlg_run (h=0x13dcd20) at dialog.c:545 #9 dlg_run (h=0x13dcd20) at dialog.c:1167 #10 0x004ee3dd in do_nc () at midnight.c:1836 #11 0x004c67a9 in main (argc=, argv=) at main.c:405 }}} In buttonbar_call, the button bar is interesting: {{{ (gdb) p *bb $2 = {widget = {x = 0, y = 65, cols = 274, lines = 1, pos_flags = WPOS_KEEP_DEFAULT, options = WOP_WANT_HOTKEY, state = WST_DEFAULT, id = 6, callback = 0x4cdde0 , mouse_callback = 0x4cdd90 , owner = 0x13dcd20, mouse = { forced_capture = 0, capture = 0, last_msg = MSG_MOUSE_NONE, last_buttons_down = 0}}, visible = 1, labels = {{text = 0x1433fb0 ""Nápověda"", command = 42, receiver = 0x14d1800, end_coord = 27}, {text = 0x13f8560 ""Nezal."", command = 600, receiver = 0x14d1800, end_coord = 54}, {text = 0x13ff410 ""Zobraz"", command = 101, receiver = 0x0, end_coord = 81}, {text = 0x13ff470 ""Hex"", command = 603, receiver = 0x14d1800, end_coord = 109}, {text = 0x13ff4d0 ""JítNa"", command = 54, receiver = 0x14d1800, end_coord = 137}, { text = 0x13519a0 """", command = 0, receiver = 0x14d1800, end_coord = 164}, {text = 0x12a7d00 ""Hledat"", command = 37, receiver = 0x14d1800, end_coord = 191}, {text = 0x13ff5e0 ""Nezprac"", command = 601, receiver = 0x14d1800, end_coord = 218}, { text = 0x13ff640 ""Hl. nabíd"", command = 33, receiver = 0x0, end_coord = 246}, {text = 0x13ff6a0 ""Konec"", command = 87, receiver = 0x0, end_coord = 274}}} }}} Which means the button bar is for the viewer (could be the quick view as I was using that). However, the receiver is pointing to junk which is why it crashed: {{{ (gdb) p *bb->labels[7].receiver $1 = {x = 22435832, y = 23230968, cols = 762605673, lines = 1600610916, pos_flags = 842346041, options = (WOP_WANT_CURSOR | WOP_WANT_TAB | WOP_IS_INPUT | WOP_SELECTABLE | WOP_TOP_SELECT | unknown: 1936090176), state = (WST_DISABLED | WST_IDLE | WST_MODAL | WST_ACTIVE | unknown: 724577632), id = 1633906540, callback = 0x695f316c, mouse_callback = 0x2e363833, owner = 0x30, mouse = {forced_capture = 48, capture = 19857944, last_msg = 1952934768, last_buttons_down = 1601467237}} }}} Going to the top dlg_run and inspecting the top level window: {{{ (gdb) p *h $4 = {widget = {x = 0, y = 0, cols = 274, lines = 66, pos_flags = WPOS_FULLSCREEN, options = (WOP_WANT_TAB | WOP_SELECTABLE | WOP_TOP_SELECT), state = (WST_FOCUSED | WST_ACTIVE), id = 0, callback = 0x4ed0d0 , mouse_callback = 0x0, owner = 0x0, mouse = { forced_capture = 0, capture = 0, last_msg = MSG_MOUSE_NONE, last_buttons_down = 0}}, compact = 0, help_ctx = 0x574e09 ""[main]"", color = 0x60b9d4 , title = 0x0, ret_value = 0, winch_pending = 0, mouse_status = 1, widgets = 0x13deb90 = {0x13e1510, 0x13f80f0, 0x12d7980, 0x13f80a0, 0x13ff2e0, 0x14a46a0, 0x13fecf0}, current = 0x13e0e60 = {0x13fecf0}, widget_id = 7, data = 0x0, event_group = 0x12dea90 ""Dialog_0x13dcd20"", get_shortcut = 0x4eb8a0 , get_title = 0x4eb7e0 } }}} The widgets are actually interesting, especially the last two. They are the panels and IIUC it shows the two panels were actually file lists: {{{ (gdb) p *(WPanel*)0x14a46a0 $35 = {widget = {x = 0, y = 1, cols = 137, lines = 62, pos_flags = WPOS_KEEP_DEFAULT, options = (WOP_SELECTABLE | WOP_TOP_SELECT), state = WST_DEFAULT, id = 1, callback = 0x4f52e0 , mouse_callback = 0x4f3f80 , owner = 0x13dcd20, mouse = {forced_capture = 0, capture = 0, last_msg = MSG_MOUSE_NONE, last_buttons_down = 0}}, dir = {list = 0x1556000, size = 128, len = 52, callback = 0x4efbd0 }, list_format = list_full, active = 0, cwd_vpath = 0x135d410, lwd_vpath = 0x14223a0, dir_history = 0x159c690 = {0x13ebcd0}, dir_history_current = 0x159c690 = {0x13ebcd0}, hist_name = 0x15d55c0 ""Dir Hist New Left Panel"", marked = 0, dirs_marked = 0, total = 0, top_file = 0, selected = 0, list_cols = 1, brief_cols = 2, is_panelized = 0, frame_size = frame_half, filter = 0x0, sort_info = {reverse = 0, case_sensitive = 1, exec_first = 0}, sort_field = 0x5da788 , dirty = 0, user_mini_status = 0, user_format = 0x13f6a00 ""half type name | size | perm"", user_status_format = {0x13d7db0 ""half type name | size | perm"", 0x135ee30 ""half type name | size | perm"", 0x1308800 ""half type name | size | perm"", 0x12ee180 ""half type name | size | perm""}, format = 0x142fc48 = {0x13863e0, 0x13f7e00, 0x14228e0, 0x13088e0, 0x13e0d90, 0x13f8600}, status_format = 0x13e0940 = {0x1403010, 0x13ccc70}, panel_name = 0x1400b40 ""New Left Panel"", dir_stat = {st_dev = 2081, __pad1 = 0, __st_ino = 913988, st_mode = 16877, st_nlink = 10, st_uid = 1000, st_gid = 1000, st_rdev = 0, __pad2 = 0, st_size = 4096, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1588252362, tv_nsec = 313895252}, st_mtim = {tv_sec = 1588252135, tv_nsec = 595048878}, st_ctim = {tv_sec = 1588252135, tv_nsec = 595048878}, st_ino = 913988}, codepage = -1, searching = 0, search_buffer = '\000' , prev_search_buffer = '\000' , search_char = '\000' , search_chpoint = 0, content_shift = -1, max_shift = -1} (gdb) p *(WPanel*)0x13fecf0 $37 = {widget = {x = 137, y = 1, cols = 137, lines = 62, pos_flags = WPOS_KEEP_DEFAULT, options = (WOP_SELECTABLE | WOP_TOP_SELECT), state = WST_FOCUSED, id = 2, callback = 0x4f52e0 , mouse_callback = 0x4f3f80 , owner = 0x13dcd20, mouse = {forced_capture = 0, capture = 0, last_msg = MSG_MOUSE_UP, last_buttons_down = 4}}, dir = {list = 0x14af980, size = 128, len = 61, callback = 0x4efbd0 }, list_format = list_full, active = 1, cwd_vpath = 0x1431950, lwd_vpath = 0x1351960, dir_history = 0x13b0710 = {0x12c1e40}, dir_history_current = 0x13b0710 = {0x12c1e40}, hist_name = 0x13c29e0 ""Dir Hist New Right Panel"", marked = 0, dirs_marked = 0, total = 0, top_file = 0, selected = 1, list_cols = 1, brief_cols = 2, is_panelized = 0, frame_size = frame_half, filter = 0x0, sort_info = {reverse = 0, case_sensitive = 1, exec_first = 0}, sort_field = 0x5da788 , dirty = 0, user_mini_status = 0, user_format = 0x13f43b0 ""half type name | size | perm"", user_status_format = {0x12cfc90 ""half type name | size | perm"", 0x13c2680 ""half type name | size | perm"", 0x1362e40 ""half type name | size | perm"", 0x14470c0 ""half type name | size | perm""}, format = 0x14032c0 = {0x141fad0, 0x1626880, 0x135bac0, 0x141faf0, 0x1404110, 0x13ca980}, status_format = 0x14bc440 = {0x13da3d0, 0x1386260}, panel_name = 0x1421160 ""New Right Panel"", dir_stat = {st_dev = 0, __pad1 = 0, __st_ino = 0, st_mode = 0, st_nlink = 0, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 0, st_size = 0, st_blksize = 0, st_blocks = 0, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0, tv_nsec = 0}, st_ino = 0}, codepage = -1, searching = 0, search_buffer = ""handb\000d-c\000dmo_"", '\000' , prev_search_buffer = ""handb\000d-c\000dmo_"", '\000' , search_char = ""b"", '\000' , search_chpoint = 0, content_shift = -1, max_shift = -1} }}} One of the others is the offending button bar with bad receiver, others are some labels. It seems the buttonbar didn't get updated when the viewer ceased to exist. Could you please look at it? mc is version 4.8.24 from Debian testing packages." jpalecek Active Tickets 4096 mc with ncurses after #3954 mc-tty master Future Releases defect new 2020-06-17T01:01:26Z 2023-08-15T09:00:12Z "After fixing handling mouse by mc compiled with ncurses under #3954 I've started using on one of my computer such binary to observe current behaviour. Looks like mc with ncurses is generally OK however it is some number of some minor issues. Here is summary list of the effects which I found so far: 1) Under windows putty all ascii frames gone and instead frames are displayed ""x"" characters. Under gnome-terminal it is OK. Both terminals are using xterm-256color so I'm assuming that this must be result of some terminal settings. 2) keys like home or key combinations like alt-N, alt-P or alt-H are handled with some delay. With alt-N/alt-P in input line is displayed first cleaned and after the delay is displayed correct text of line from history list. That delay and input line updating in two stages is possible to observe under windows putty and gnome-terminal. That effect is a bit annoying because it causes slowing down interaction with mc. IMO that effect is kind of critical. I'm not sure what is causing that palette of the colours on the same terminal when mc is compiled with SLang and ncurses but probably it is caused by a bit different internal colours mapping by those two libraries. Probably that could be accepted as known issue and to provide the same colours ncurses code should be changed. " kloczek Active Tickets 4137 "TERM ""*-direct"" values are not recognized as True Color-capable" mc-tty master Future Releases defect new 2020-10-20T11:53:56Z 2020-10-21T04:16:20Z "Using latest versions of Konsole and Yakuake terminal emulators with True Color (24-bit or Direct RGB) color support announced via the pair of environment variables: {{{#!sh TERM=konsole-direct COLORTERM=truecolor }}} With MC configured to use either 256-color or 16M-color skins reports on invocation that the terminal is capable of only basic 16-color palettes and has reverted to the default skin accordingly. Prepending 'TERM=konsole-256color' to the invocation while leaving the COLORTERM variable set as before provides the expected behavior, with skins of all color bit-depths able to be set and subsequently displaying as designed. A test with TERM set to the more generic 'xterm-direct' value produced the same results as 'konsole-direct' where MC does not recognize direct RGB colors. This leads me to conclude that MC lacks recognition for the ""-direct"" values for TERM which were implemented in [https://invisible-island.net/ncurses/ncurses-slang.html#compare_dots S-Lang 2.3.1 built with ncurses >=6.1]. === System info === * Operating System: Kubuntu 20.10 * KDE Plasma Version: 5.20.0 * KDE Frameworks Version: 5.76.0 * Qt Version: 5.15.0 * Kernel Version: 5.8.0-23-generic * OS Type: 64-bit === Hardware === * Model: Lenovo ThinkPad T420s * Processor: Intel® Core™ i7-2620M CPU @ 2.70GHz * Memory: 8 GiB of RAM * Graphics Processor: NVS 4200M/PCIe/SSE2 === Relevant Software Versions === * libncursesw6: 6.2 * libslang2: 2.3.2 (built using unicode-data 13.0.0) * konsole: 20.08.2 * yakuake: 20.08.1 === Debugging command output === {{{#!sh $ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.25-55-g5bf714b Built with GLib 2.64.2 Built with S-Lang 2.3.2 with terminfo database With builtin Editor and Aspell support With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; $ mc --configure-options '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/usr/lib' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--with-x' '--with-screen=slang' '--enable-aspell' '--disable-rpath' '--disable-static' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/mc-4.8.25~git20201017=. -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' }}}" RogueScholar Active Tickets 4174 [patch] Improve safety of previous char fetching string functions. mc-core master Future Releases defect new 2021-01-13T21:21:54Z 2021-01-15T12:18:34Z "Hi, I was stumbled that e.g.: in completion engine there are calls such as: {{{ if (ti != text) { … prev_char = str_get_prev_char (ti)[0]; … }}} while the length of the (potentially malformed) character is unknown and the function might underrun the buffer when peeking for some preceding bytes. I submit a patch that: – extends each of the `str_*_prev_char` functions with an argument holding the beginning of the string, – it then replaces the calls to unsafe `g_utf8_prev_char` with an underrun safe function `g_utf8_find_prev_char`, – the function obtains the string starting address and takes care not to peek before it, – in case of the string being ended without any next character found the functions return `NULL`, – then all places in the completion engine and in `usermenu.c` etc. have been updated to follow this new paradigm, – also a couple of bugs have been fixed, like e.g.: assuming of command position in input completion if a single character have been entered and a space. I think that thanks to this safety improvements some occasional crashes in input completion will be over." psprint Active Tickets 4218 file copy override at sticky-bit directory failed with permission denied mc-core master Future Releases defect new 2021-03-15T13:09:14Z 2021-03-15T13:09:14Z "file copy overwrite at sticky-bit directory (usual /tmp) failed with permission denied even as root user. Steps to reproduce: 1. create testcase {{{ root# mkdir /test/ root# chmod 1777 /test/ root# touch /test/t1 root# touch /test/t2 root# chown nobody:nobody /test/t1 }}} 2. start mc as root -> copy t1 to t2 -> Overwrite this file? -> yes Actual result: mc response with ""Cannot create target file /test/t2"" -> Permission denied (13) tested and failed also with older e.g. mc-4.8.22 Expected result: Should work like successful cp {{{ root# cp -p /test/t1 /test/t2 }}} " and Active Tickets 4257 double esc does not work with ncurses-6.2 mc-tty master Future Releases defect new 2021-06-25T05:20:14Z 2021-06-25T05:41:24Z "Hello, I have mc-4.8.26 with ncurses-6.2, TERM=xterm-256color. The ESC is configured by default (old_esc_mode=true). If I press a single ""esc"" there is the expected delay (around 0.5 as per FAQ). However, the delay is the same if I press esc-esc. So I guess the second esc press is not getting registered? Let me know if I can provide any additional details. Thank you" anton_kg Active Tickets 4261 Editor must recheck write permissions mcedit master Future Releases defect new 2021-07-23T11:16:10Z 2021-07-23T13:01:18Z "Steps to reproduce: 1) touch test.txt 2) chmod 444 test.txt 3) Edit in MC editor 4) Try to save -> Error 5) In another terminal: chmod 664 test.txt 6) Try to save -> Error That's a bug" birdie Active Tickets 4291 Back slashes multiplying mc-core master Future Releases defect new 2021-09-25T14:21:37Z 2021-10-10T01:59:12Z "When renaming a file containing backslashes using Shift + F6 back slashes double. Example: a \ b -> Shift + F6 -> a \\ b" birdie Active Tickets 4292 Redundant back slashes for autocomplete mc-core master Future Releases defect new 2021-09-25T14:27:15Z 2021-09-25T14:27:15Z "Steps to reproduce: {{{ $ mkdir test $ cd test $ touch ""a b"" }}} Shift + F4 [[br]] Save As [[br]] Esc + Tab [[br]] '''a\ b''' will appear in the edit field. If you attempt to save the file, the back slash will be in the filename." birdie Active Tickets 4317 a1, c1, etc. keys not recognized mc-tty master Future Releases defect new 2021-12-02T19:51:01Z 2021-12-02T21:04:44Z "Hi, the a1, c1 etc. keys are useful mappings to the keypad – the two point to digit 7 and 1, for example, if numlock is off. However, they aren't recognized – 7 is being read as home and 1 as end. Why is that? Is it because the keymap() function isn't being called? Or some equal slang function. It seems to me that this bug is hidden because the default mappings match the default meaning of the keypad keys (home,end,pgup,pgdown)." psprint Active Tickets 4329 Binaries adm master Future Releases defect new 2022-01-16T11:44:01Z 2022-02-25T08:42:20Z "Pretty much everything under the whole [Redhat-based distros] section is deprecated/severely outdated with multiple dead links not to mention that RHEL 6 and its derivatives have long been unsupported. You might as well remove it completely." birdie Active Tickets 4405 "Some types of files ""View"" damn slow in modern Ubuntu/MC" mcview master Future Releases defect new 2022-09-06T16:14:11Z 2022-09-06T17:03:41Z " Hello, developers! I cannot precisely what happened exactly and when, but Ubuntu 16.04 with standard MC: GNU Midnight Commander 4.8.15 Built with GLib 2.47.3 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; time file rep1_I.bam rep1_I.bam: gzip compressed data, extra field real 0m0,001s user 0m0,001s sys 0m0,000s can open for ""View/F3"" BAM files in time much lesser that second. Even 10G-12G files (that is now too uncommon for these filetypes). Relatively modern and stable already Ubuntu 20.04 opens for ""View/F3"" 714M BAM file in 13 seconds at pretty modern hardware (and we can wait for eternity to ""View"" at 12G file)! MC:GNU Midnight Commander 4.8.28 Built with GLib 2.64.6 Built with S-Lang 2.3.2 with terminfo database Built with libssh2 1.8.0 With builtin Editor and Aspell support With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; time file rep1_I.bam rep1_I.bam: Blocked GNU Zip Format (BGZF; gzip compatible), block length 577 real 0m0,004s user 0m0,004s sys 0m0,000s It's obvious for me that some script now tries to process the whole file before I can view it. I cannot find any manual concerning VIEWER behaviour for file extensions and/or file types. Why previous MC opens the same files in the old OS many times faster? Why ""file"" is at least 4 times slower at MUCH modern hardware (new OS: Ryzen 5950X, old OS: Xeon E5-2697 v2). How can I fix it?" lokapal Active Tickets 4443 TIOCSWINSZ ioctl loses extended pixel sizes (ws_xpixel, ws_ypixel) even when the underlying shell supports it mc-tty master Future Releases defect new 2023-02-14T04:32:06Z 2023-02-23T14:54:34Z "$ mc --version GNU Midnight Commander 4.8.28 Built with GLib 2.73.2 Built with S-Lang 2.3.2 with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; $ bash --version GNU bash, version 5.2.15(1)-release (x86_64-redhat-linux-gnu) Test script: {{{ #!/usr/bin/env python3 import ctypes import termios import fcntl from ctypes import Structure, c_ushort class WinSize(Structure): _fields_ = [(""ws_row"", c_ushort), (""ws_col"", c_ushort), (""ws_xpixel"", c_ushort), (""ws_ypixel"", c_ushort) ] sz = WinSize() fcntl.ioctl(0, termios.TIOCGWINSZ, sz) print(sz.ws_row, sz.ws_col, sz.ws_xpixel, sz.ws_ypixel) }}} Running the above script with Python 3.10.9 with MC I get: >>> 44 206 0 0 Exiting MC to the undelying shell I get: >>> 44 206 1651 752 " arcivanov Active Tickets 4456 MC could really use FTP's MFMT command mc-vfs master Future Releases defect new 2023-05-10T08:34:44Z 2023-05-10T09:46:32Z "MC doesn't set the modification times for uploaded files. The MFMT command does this neatly. Please use it." birdie Active Tickets 4479 video & images at cli (not in an X terminal) mc-core master Future Releases defect new 2023-06-26T18:38:34Z 2023-06-26T18:38:34Z "pressing 'enter' on a video or image file does not play or view the file when outside of X but rather at a cli In the older versions of mc (circa 2010 and before) it worked just fine. In the newer versions of mc it only works when inside of X running mc within a terminal window. My currently installed version is 4.8.29" glennmcc Active Tickets 4484 Possible SEGV in x_error_handler() mc-tty master Future Releases defect new 2023-07-17T05:01:29Z 2023-07-22T06:41:01Z "There is a possible libX11 API error that leads to a SEGV (null-pointer dereference). The problem appears to be that the x_error_handler() function in lib/tty/x11conn.c calls XCloseDisplay(), but calling ""functions ... on the display that will generate protocol requests"" seems to be generally disallowed (see manpage for XSetErrorHandler). If an X11 error occurs during XOpenDisplay(), then x_error_handler() will be called, which then in turn calls XCloseDisplay(). The call to XCloseDisplay() will crash (see stack trace below) since it attempts to free resources that have not yet been created. This appears to be a NULL pointer dereference. Reproducing the bug is difficult as it requires an X11 error to occur during XOpenDisplay(). But let me know if you need a PoC. Tested on the latest Github head. Here is the relevant source snippet (annotated) from lib/tty/x11conn.c: {{{ static int x_error_handler (Display * dpy, XErrorEvent * ee) { ... /* Handler closes the display on error. */ (void) func_XCloseDisplay (dpy); ... } /* Handler is installed *before* XOpenDisplay() */ static void install_error_handlers (void) { ... (void) func_XSetErrorHandler (x_error_handler); ... } static gboolean x11_available (void) { ... install_error_handlers (); return TRUE; } Display *mc_XOpenDisplay (const char *displayname) { if (x11_available ()) // <--- handler installed here. { ... /* If an X11 error occurs during XOpenDisplay(), the * x_error_handler() and XCloseDisplay may be called * *before* the display is fully opened. This leads to * a SIGSEGV, null-pointer dereference in XFreeGC(), * where libx11 attempts to free a resource (gc) not yet * created. */ retval = func_XOpenDisplay (displayname); ... } } }}} Here is the relevant stack trace: {{{ Program received signal SIGSEGV, Segmentation fault. 0x00007ffde7edf8d4 in XFreeGC (dpy=dpy@entry=0x555555700bb0, gc=0x0) at ../../src/FreeGC.c:43 (gdb) bt #0 0x00007ffde7edf8d4 in XFreeGC (dpy=dpy@entry=0x555555700bb0, gc=0x0) at ../../src/FreeGC.c:43 #1 0x00007ffde7ee3bce in XCloseDisplay (dpy=0x555555700bb0) at ../../src/ClDisplay.c:56 #2 0x000055555563895a in x_error_handler (dpy=0x555555700bb0, ee=0x7fffffffdaa0) at x11conn.c:109 #3 0x00007ffde7f048bb in _XError (dpy=dpy@entry=0x555555700bb0, rep=rep@entry=0x5555557028e0) at ../../src/XlibInt.c:1503 #4 0x00007ffde7f049b7 in handle_error (dpy=0x555555700bb0, err=0x5555557028e0, in_XReply=) at ../../src/xcb_io.c:211 #5 0x00007ffde7f04a55 in handle_response (dpy=dpy@entry=0x555555700bb0, response=0x5555557028e0, in_XReply=in_XReply@entry=0) at ../../src/xcb_io.c:403 #6 0x00007ffde7f04b0a in _XEventsQueued (dpy=0x555555700bb0, mode=mode@entry=1) at ../../src/xcb_io.c:442 #7 0x00007ffde7f04bcc in _XFlush (dpy=) at ../../src/xcb_io.c:611 #8 0x00007ffde7f04ebd in _XGetRequest (dpy=0x555555700bb0, type=, len=16) at ../../src/XlibInt.c:1787 #9 0x00007ffde7ee0c9a in XCreateGC (dpy=0x555555700bb0, d=1330, valuemask=12, values=0x7fffffffdca0) at ../../src/CrGC.c:89 #10 0x00007ffde7ef2621 in XOpenDisplay (display=) at ../../src/OpenDis.c:514 #11 0x0000555555638bd1 in mc_XOpenDisplay (displayname=0x0) at x11conn.c:195 #12 0x0000555555631b47 in init_key_x11 () at key.c:709 #13 0x000055555563288d in init_key () at key.c:1367 #14 0x00005555555701ed in main (argc=1, argv=0x7fffffffdf68) at main.c:358 }}} Other info: mc -V {{{ GNU Midnight Commander 4.8.29-146-g299d9a2fb Built with GLib 2.76.1 Built with S-Lang 2.3.3 with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} mc -F {{{ Home directory: /home/gjd Profile root directory: /home/gjd [System data] Config directory: /usr/local/etc/mc/ Data directory: /usr/local/share/mc/ File extension handlers: /usr/local/libexec/mc/ext.d/ VFS plugins and scripts: /usr/local/libexec/mc/ extfs.d: /usr/local/libexec/mc/extfs.d/ fish: /usr/local/libexec/mc/fish/ [User data] Config directory: /home/gjd/.config/mc/ Data directory: /home/gjd/.local/share/mc/ skins: /home/gjd/.local/share/mc/skins/ extfs.d: /home/gjd/.local/share/mc/extfs.d/ fish: /home/gjd/.local/share/mc/fish/ mcedit macros: /home/gjd/.local/share/mc/mc.macros mcedit external macros: /home/gjd/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/gjd/.cache/mc/ }}} " GJDuck Active Tickets 4488 file corruption when copying from iso9660 with bad rrversion mc-vfs master Future Releases defect new 2023-08-07T14:28:38Z 2023-09-17T09:25:55Z "When opening certain ISO files with mc, I get an error pop-up on the first open, which can be dismissed: [[Image(https://op-co.de/tmp/bad-rrversion.png)]] However, when copying individual files from such an ISO to another directory using [F5], mc will silently attach the same string (""`**BAD RRVERSION (0)`"") to all copied files, making them 20 bytes larger than the source, and corrupting all file formats that expect their header at the end. This looks related to #4326. The only ISO I have seen this happen on yet is a proprietary driver CD from Samsung from 2014, to which I can share a link privately on request. Tested on Debian-provided mc, mc -V: {{{ GNU Midnight Commander 4.8.29 Built with GLib 2.74.5 Built with S-Lang 2.3.3 with terminfo database Built with libssh2 1.10.0 With builtin Editor and Aspell support With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} mc --configure-options: {{{ '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-option-checking' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' 'AWK=awk' 'X11_WWW=x-www-browser' '--libexecdir=/usr/lib' '--with-x' '--with-screen=slang' '--disable-rpath' '--disable-static' '--disable-silent-rules' '--enable-aspell' '--enable-vfs-sftp' '--enable-vfs-undelfs' '--enable-tests' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -ffile-prefix-map=/build/mc-3Uz4Lz/mc-4.8.29=. -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' }}}" ge0rg Active Tickets 4513 Wrong tar extraction mc-vfs master Future Releases defect new 2023-11-21T17:35:53Z 2023-11-21T19:37:08Z "You can add (using tar -r) in a tar file multiple files with the same name (or multiple versions of the same file). When such tar file is opened in mc, every 'instance' of these entries (or occurrences as the tar help refers to them) is listed. But when you copy or view such an occurrence, no matter which one you select, always the same file is displayed/copied. Steps to reproduce: ** 1) create a file named sample1.txt with the following contents ** Text line v1 ** 2) execute ** tar -rf test.tar sample1.txt ** 3) modify the sample1.txt to have the following contents ** Text line v2 ** 4) execute ** tar -rf test.tar sample1.txt ** 5) open the test.tar using mc ** ** 6) view(F3) or copy (F5) each file. ** The files will be identical Expected behavior: The newer file should reflect the modified state of the sample1.txt while the old should reflect the initial. To correctly view the 'instances' of the file using tar, you can run tar -xf test.tar sample1.txt -O --occurrence=1 for the initial version tar -xf test.tar sample1.txt -O --occurrence=2 for the new version" fraganestis Active Tickets 4533 External editor does not work with command line argument mc-core master Future Releases defect new 2024-03-28T06:12:39Z 2024-03-28T06:44:45Z "When using an external editor for the ""Edit"" command (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 Output of LC_MESSAGES=C mc -V: GNU Midnight Commander 4.8.30 Built with GLib 2.78.3 Built with S-Lang 2.3.3 with terminfo database Built with libssh2 1.11.0 With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; Output of LC_MESSAGES=C mc -F: Home directory: /home/user Profile root directory: /home/user [System data] Config directory: /etc/mc/ Data directory: /usr/share/mc/ File extension handlers: /usr/libexec/mc/ext.d/ VFS plugins and scripts: /usr/libexec/mc/ extfs.d: /usr/libexec/mc/extfs.d/ [User data] Config directory: /home/user/.config/mc/ Data directory: /home/user/.local/share/mc/ skins: /home/user/.local/share/mc/skins/ extfs.d: /home/user/.local/share/mc/extfs.d/ mcedit macros: /home/user/.local/share/mc/mc.macros mcedit external macros: /home/user/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/user/.cache/mc/ I have determined the cause of the problem and will provide a fix (which works for a single command line argument) via Pull Request. Summary: In function utilunix.c:my_system_make_arg_array the GPtrArray storing the contents of argv is not filled correctly." Dhalgren Active Tickets 2162 xdiff (binary diff) mcdiff master Future Releases enhancement new 2010-05-01T07:30:49Z 2015-06-18T18:28:15Z "xdiff = Binary diff (ala vbindiff), just for the sake of it. http://www.midnight-commander.org/attachment/ticket/120/xdiff.c.patch" dborca Active Tickets 3147 Virtual Squashfs Support mc-vfs master Future Releases enhancement new 2014-01-11T18:39:26Z 2014-01-11T18:39:26Z "Midnight Commander does not have VFS support like for e.g. iso9660. Having ""unsquashfs"" from squashfs-tools package in the $PATH environment available, ""usqfs"" in ""extfs.d"" directory of MC and this patch: {{{ --- mc.ext.org 2013-08-09 10:49:00.000000000 +0200 +++ mc.ext 2013-11-09 18:21:00.000000000 +0100 @@ -254,6 +254,9 @@ Open=%cd %p/iso9660:// View=%view{ascii} /usr/local/libexec/mc/ext.d/misc.sh view iso9660 +type/^Squashfs filesystem + Open=%cd %p/usqfs:// + View=%view{ascii} unsquashfs -stat %f ; unsquashfs -lls -d """" %f regex/\.(diff|patch)$ Open=%cd %p/patchfs:// }}} applied, works for me since a while. " Unknown Active Tickets 3165 Display human readable sizes in panels mc-core master Future Releases enhancement new 2014-02-03T00:42:35Z 2014-04-04T18:39:43Z "When midnight commander displays the size of a file, it tries to display as much digits as fits into the size column (7 characters wide). The result is that for a 3 MB file it shows, for example, 3010050. In many cases, it is not important to know the exact number of bytes in a file, but only an approximate size (3 MB). Short numbers are more ""human friendly"". This patch adds a configuration option that enables displaying such human readable sizes in panels. The ""human readable"" means that at most three digits are displayed for each file size. This is accomplished by modifying function size_trunc_len(). Since the comment of this function says that floating point should be avoided by any means, the implementation is not as trivial as it could be. It displays floating point numbers by displaying integer and fractional parts separately as integers. The effect of this patch is shown in the following table. ""si"" and ""hr"" denote the values use_si and human_readable parameters of the size_trunc_len() function. The table shows the results of the function for different sizes. {{{ CURRENT THIS PATCH size | !si!hr si!hr !si hr si hr -----------|-------------------------------- 950 | 950 950 950 950 1001 | 1001 1001 0.97K 1.00k 1005 | 1005 1005 0.98K 1.01k 1023 | 1023 1023 0.99K 1.02k 1024 | 1024 1024 0.99K 1.02k 9849 | 9849 9849 9.61K 9.85k 12050 | 12050 12050 11.8K 12.1k 99940 | 99940 99940 97.5K 99.9k 100000 | 100000 100000 97.6K 100k 102399 | 102399 102399 100K 102k 102400 | 102400 102400 100K 102k 210050 | 210050 210050 205K 210k 3010050 | 3010050 3010050 2.87M 3.01m 43010050 | 42002K 43010k 41.0M 43.0m 1072693248 | 1023M 1073m 0.99G 1.07g }}} Currently, the decimal separator (""."") is hardcoded and independent of user's locale. If anyone wants to test the patch, the table was created with the code below. {{{ void print(uintmax_t size) { char buffer[50]; int units = 0; gboolean use_si = TRUE; gboolean human_readable = TRUE; int len = 7; printf(""%10ld"", size); size_trunc_len (buffer, len, size, units, !use_si, !human_readable); printf(""%8s"", buffer); size_trunc_len (buffer, len, size, units, use_si, !human_readable); printf(""%8s"", buffer); size_trunc_len (buffer, len, size, units, !use_si, human_readable); printf(""%8s"", buffer); size_trunc_len (buffer, len, size, units, use_si, human_readable); printf(""%8s"", buffer); printf(""\n""); } int main(int argc, char *argv[]) { print(950); print(1001); // ... } }}}" wentasah Active Tickets 3170 A feature for selected files mc-core master Future Releases enhancement new 2014-02-14T07:36:46Z 2015-11-03T14:22:40Z "Dear Sirs! Could you will make one feature for selected files? Namely moving the selected files at the beginning of the list. I attached a file, to you understand what I want. Thanks you and sorry for my English." Graf Active Tickets 3194 coffescript && erb syntax highlighting files mcedit master Future Releases enhancement new 2014-04-11T06:40:11Z 2014-05-02T07:47:41Z "Hi all! i make two files for colouring code in mcedit and make a pull requests on github: Rails erb syntax file: https://github.com/MidnightCommander/mc/pull/36 Coffescript syntax file: https://github.com/MidnightCommander/mc/pull/35 What must i do to include it to mc repo? With best regards, Sergio Belevskij " r72cccp Active Tickets 3210 "Add ""libarchive/bsdtar"" and ""The Unarchiver/unar"" support for (rar and others) files support" mc-vfs master Future Releases enhancement new 2014-05-08T21:29:16Z 2014-05-09T03:48:30Z "Add ""libarchive/bsdtar"" and ""The Unarchiver/unar"" support for (rar and others) files support bsdtar and unar support rar v3[0][1] [0]http://libarchive.org [1]http://unarchiver.c3.cx/formats" coadde Active Tickets 3264 Use own screen drawing method rather than slang/ncurses mc-tty master Future Releases enhancement new 2014-08-31T23:25:39Z 2017-11-27T12:46:17Z "MC currently uses either slang or ncurses for display. It's one thing that I firmly disagree with having two choices. It's a really minor benefit for a very few users to choose from two. On the other hand, it's a significant developer overhead, double testing work, and source of many discrepancies between the two versions (e.g. #2164, #2291, #3114, #3158, #3254, and many more already closed bugs). I believe developers should pick one and offer only that. Bugs would no longer go unnoticed just because a developer used the other library, which would lead to better overall quality. My recommendation is to not use any of these two, but to write an extremely simple basic screen handling component in mc. (This is what quite a few apps, e.g. vim, emacs, less do. They do rely on libtinfo [part of ncurses] for querying termcap/terminfo, but not on ncurses to draw the screen. Sounds the most reasonable approach to me.) Ncurses is actively maintained but is a giant bloat, containinig bugs that effect mc's behavior (e.g. the just fixed http://lists.gnu.org/archive/html/bug-ncurses/2014-08/msg00020.html, although I'm afraid it still has similar bugs). Slang is not really maintained and haven't seen a stable release in 3+ years. Switching to our own drawing of the screen would allow to address these issues: - #1849: mcview understanding ANSI color escapes, work like ""less -R"". This requires to get rid of the ancient brain-damaged palette support of both ncurses and slang, and instead have each cell store its fg and bg color. - #3145 True color support. Neither ncurses nor slang seems to want to ever address this. - #3065 Italic text. Supported by pre-versions of both libraries, but we'll have to wait for stable ncurses-5.10 and slang-2.3 to get it ""official"" and widespread. No idea when these are going to happen. - Strikethrough and other possible text attributes: Ncurses will not add this because the bitfield is already fully packed. No info about slang. - #3229 Pasting with proper EOL. Neither slang nor ncurses allows to set whether at the end of the line there's an explicit newline (to be copy-pasted) or an overflow (copy-pasting shouldn't add a newline). Terminal emulators, however, do remember which of the two happened. Our own layer could easily do the requested thing for every line. - Similarly, spaces at the end of the line, or TAB characters could also be reserved for copy-paste purposes, this isn't offered either by these libraries. " egmont Active Tickets 3295 Find file dialog improvements: support ignore mask instead of directories, improve help page mc-core master Future Releases enhancement new 2014-10-30T11:14:52Z 2014-11-03T22:16:03Z "1. It is better to make Find file dialog to support ignore file mask instead of directories. It will prevent search with content not in just directories (.git, target) but in files also (*.jar, *.class) 2. It is not obvious from find file dialog context help page how to separate multiple directory names. I think it worth mentioning in help page that semi-colon is a name separator char. Thanks!" igorp1024 Active Tickets 3343 Add a support for FTPS connection mc-vfs master Future Releases enhancement new 2014-11-21T11:36:36Z 2021-10-28T17:16:27Z "It would be great if midnight commander supported FTPS protocol like many other file managers do. Currently FTP and SFTP (or SCP) are supported." gorgo Active Tickets 3423 How to change default shell used to run user menu scripts mc-core master Future Releases enhancement new 2015-03-27T15:24:26Z 2015-03-29T09:24:17Z "I have looked everywhere and cannot find where and how to tell `mc` to use '''bash''' to run user menu scripts. I can see it uses '''sh''' by default, but I'd imagine and expect that this can configured, so that other shell is used instead. Output from `mc -V`: {{{ GNU Midnight Commander 4.8.14 Built with GLib 2.42.0 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} I'm running ''Xubuntu 14.10''" marcelpaulo Active Tickets 3485 change in src/vfs/extfs/extfs.c mc-vfs master Future Releases enhancement new 2015-06-23T13:08:28Z 2016-06-25T12:15:35Z "I want this change in src/vfs/extfs/extfs.c: add to extfs_fstat() lines between //BEGIN and //END {{{ static int extfs_fstat (void *data, struct stat *buf) { struct pseudofile *file = (struct pseudofile *) data; //BEGIN: struct stat tmp_stat; if (!stat(file->entry->inode->local_filename,&tmp_stat)) { file->entry->inode->mtime = tmp_stat.st_mtime; file->entry->inode->atime = tmp_stat.st_atime; } //END extfs_stat_move (buf, file->entry->inode); return 0; } }}} So extfs script can set atime and mtime in copyout, and they will be set in the properties of destination file. Why do I need this: I need to use 3 bytes to store some data related to file, I decided to store them in st_atime. As I learned if atime is bigger than mtime, atime won't be changed until mtime is changed. So my script sets atime of a copied out file to 0x7Fxxxxxx." Nicolas Rybkin Active Tickets 3497 auto turn off sorting mc-core master Future Releases enhancement new 2015-07-07T18:28:20Z 2015-10-13T20:38:13Z "This change I made turns off sorting before cd'ing in some particular virtual file systems. Line in mc.ext that describes what to do for ""Open"" operation must end with ""u"", like this: Open=%cd %p/uc1541://u When user leaves this extfs sort order used before will be restored (even if user changed sort order while being in this vfs). I added some code to /src/filemanager/panel.c. This isn't nice solution, of course. The best way would be use of some interface between script and mc, like script tells mc to turn off sorting with exit code, or just put some control code in the list it prints. This is bigger problem, but the solution I used works and seems to make no problems although maybe it is looking little rough. Yes, it can be called a ""hack"". Why I want this feature: you know files order is important for many 8bit programms that if you copy files in other order the copy wouldn't run. It would be very convinient for user when he open and image of a diskette or a tape that mc turns of sort automatically and then restores sort_order when he cd'es back. Hope this change will be applied." Nicolas Rybkin Active Tickets 3513 Liquidsoap syntax mcedit master Future Releases enhancement new 2015-08-10T09:05:44Z 2015-08-23T22:41:15Z "Hi, I add syntaxfile for Liquidsoap script language (http://liquidsoap.fm/) to mcedit. Maybe it would be somewhat usefull for someone, so if someone will, add it to trunk/branch Thanks" puresoul Active Tickets 3514 "It would be good to have an option to skip multiple ""is the same file"" when copying directories containing hardlinks" mc-core master Future Releases enhancement new 2015-08-12T21:09:04Z 2015-08-12T21:09:04Z "My use case: 1) I run a deduplicated backup which creates a hard link. 2) I use MC to consolidate directories. I have to skip on every hard-linked duplicate. 3) I would like NOT to have to acknowledge the error every time. My preferred option would be to have a ""skip all"" option after the first error so that I could see duplicate files when I , but I can't figure out how to implement that. I've implemented a general confirmation checkbox, and am using this patch; it's pretty self-contained. I'm attaching it and would be happy if you take it, but the ""skip all"" option would be even better if one off the regular devs feels like taking this. :D" nkedel Active Tickets 3591 Usability/Joy of Use: Switching Panels Via Backslash Key (= Right-Hand Tab-Key on US-keyboards) mc-core master Future Releases enhancement new 2016-01-31T03:00:58Z 2016-09-20T16:17:41Z "I'm using a keyboard with US-layout, although living in Germany. I navigate directories entirely by the navigation keys on the right side of my keyboard: Small hand movements are sufficient to find and open files, while having a hand free for other things. Switching panels, however, requires me to press the tab key on the very opposite side of the keyboard – every single time. Instead, the backslash can be thought of as the right-hand tabulator key. Backslash triggers the “unselect files” dialog in MC at the moment, which is also available through the hyphen and minus key, so remapping won’t break anything. AFAIK you can’t modify this key binding via mc.keymap. You have to modify the source code at the moment: So I made a simple patch for version 4.8.7 some time ago: http://dl.dropbox.com/u/37393754/mc-4.8.7-backslash_change_panel.patch The better way, however, would be a remapping option in the mc.keymap file Image of the US-Layout: http://i.imgur.com/wTx6kZ8.png" telep Active Tickets 3600 Make it possible to drag dialogs. mc-core master Future Releases enhancement new 2016-02-26T14:47:24Z 2016-02-26T20:17:46Z "Sometimes dialog obscures important information. The attached patch lets us drag dialogs on screen. It even works while copying/moving files. But the purpose of this patch is mainly to help shape the [ticket:3571 mouse API]. It doesn't matter if it doesn't get committed. Specifically, the patch shows a way to get rid of `midnight_mouse_callback()` in ticket:3571. The patch works by installing a ""default mouse handler"" for dialogs that don't define any. By using the DLG_MOUSE_POST_PROCESSING flag this handler gets to see any mouse events not handled by child widgets. The effect is that you can drag the dialog by dragging any ""empty"" space within (space not responding to mouse events, to be exact). In this it's different (and more powerful) than conventional GUIs that let you drag only by the frame. (I borrowed the idea from FAR.) " mooffie Active Tickets 3650 Set local file copy stat data mc-vfs master Future Releases enhancement new 2016-05-31T16:57:36Z 2019-01-03T13:15:38Z "When MC copies a file into some EXTFS it uses a local copy of source file and gives a path to this copy to EXTFS scripit. But it doesn't set stat info of this local file, so EXTFS script has no chance to get stat info of true source. I've fixed this problem, now MC performs chown(), chmod() and utime() on local copy. Struct definitions from src/vfs/extfs/extfs.c were moved to extfs.h, src/filemanager/file.c now includes extfs.h." Nicolas Rybkin Active Tickets 3657 t64 VFS support (C64 tapes) mc-vfs master Future Releases enhancement new 2016-06-25T10:15:27Z 2016-06-25T10:15:27Z "please attach these strings to mc.ext (best right after or before uc1541 part): # Tape images for Commodore 64 shell/i/.t64 Open=%cd %p/ut64:// and update README.extfs P.S. again sorry for using real tabs." Nicolas Rybkin Active Tickets 3674 Add new panel option for display_total_marked_size() to apply three different styles mc-core master Future Releases enhancement new 2016-08-17T13:08:17Z 2016-08-17T13:31:41Z "Currently, {{{display_total_marked_size()}}} supports only one style to display the marked size. Some people would prefer to see the raw, scaled or even both values. It should be made configurable through the panel options. Some effort has already been made in #3666. The modes: Mode 'raw': 100000 B in 10 files 560000000000 B in 1001 files Mode 'scaled': SI (base 10): 100 B in 10 files 100 kB in 100 files 950 MB in 200 files 560 GB in 1001 files IEC (base 2): 100 B in 10 files 98 KiB in 100 files 940 MiB in 200 files 1020 MiB in 220 files 550 GiB in 1001 files Mode 'both': SI (base 10): 100 B in 10 files 100 kB (100000 B) in 100 files 950 MB (950201123 B) in 200 files 560 GB (560100245124 B) in 1001 files IEC (base 2): 100 B in 10 files 98 KiB (100400 B) in 100 files 940 MiB (985661900 B) in 200 files 1020 MiB (1069547520 B) in 220 files 550 GiB (590558003200 B) in 1001 files Note that in 'both' mode with a value below 1000 bytes or 1024 bytes, 'raw' mode is applied to avoid duplicate information. The new panel option: Total marked size style: [raw, scaled, both] (need to investigate how to do this) Serialized as ""total_marked_size_style"" with default value of ""scaled""." michael-o Active Tickets 3675 "Update/rework panel option ""Use SI size units""" mc-core master Future Releases enhancement new 2016-08-17T13:16:39Z 2016-08-17T13:30:40Z "With the advent of #3666 the panel option ""Use SI size units"" does not properly document the behavior. As layed out in #3666: * the option does not say what will happen when this option is disabled * There are no SI units used here at all because byte is not a SI unit. Only SI prefixes are used with #3666. The label should either be changed to ""Use SI prefixes instead of IEC ones"" (which reflects the correct terms and new reality) or better to ""Size prefix style: [IEC, SI]"". It is to be discussed whether C code and config ini will be changed accordingly or mapped for maximum compat." michael-o Active Tickets 3676 Reconsider wether the info panel should show a scaled or raw value for file size mc-core master Future Releases enhancement new 2016-08-17T13:32:52Z 2016-08-17T14:29:37Z "As a result of #3666, is has to be discussed wether the info panel for a file/directory should display the size in raw only, scaled or both. In [ticket:3666#comment:27 this comment] it has been determined that most UIs display the scaled value first followed by the raw value in parantheses. This is also related to #3674." michael-o Active Tickets 3692 [PATCH] More sophisticated shell type detection method mc-core master Future Releases enhancement new 2016-09-24T17:37:35Z 2017-07-25T19:56:08Z "{{{ * Make tests on shell binary instead of trying to guess shell type from path. Most supported shells set specific variables, hence by testing whether such variables are set, we can guess shell type in a more reliable way. This works with bash, zsh, tcsh and fish. For guessing dash or BusyBox ash (which are treated the same), we run a more peculiar test on whether shell supports expansion in PS1 as a prompt string. The latter test is also designed to diffirentiate a legacy pre 1.20 BusyBox ash, which allows to apply printf workaround in the case of such shell. * Remove chdir command from subshell initialization code, and use full paths for init_file instead. Changing dir only allows to use relative init_file paths, but can instead potentially lead to some problems, as previously noted in the comments; so by not doing this we add additional layer of protection against bugs. * Remove unneded SHELL_SH shell type, and 'name' mc_shell_t field, since the latter was only being used as arg0 when initializing subshell, and it looks like all shells work fine regardless of arg0, except for zsh, (so we just leave arg0 as ""zsh"" for it), and we use path as arg0 * Also add a little error verbosity in scope of detecting shell type and subshell initialization }}} This fixes such issues as: * Detecting `bsd-csh` as `tcsh`, and wasting 10 seconds on launch while waiting CWD * Detecting anything that's linked to `busybox` as busybox ash with CONFIG_ASH_EXPAND_PRMT enabled, and possibly wasting those 10 sec again * Failing to detect a shell type if a version/arch/whatever is appended to its name * Failing to detect a shell if it's just 'sh': some link resolving tests are being carried in master, but they can fail in many ways * Leaving user wondering why they have no subshell (added verbosity isn't perfect, but at least it's a start) This has been tested to recognize all supported shells correctly, and discard these shells with some verbosity immediately (saying which shells are supported, while this `$SHELL` not): * bsd-csh * BusyBox hush * BusyBox ash with disabled CONFIG_ASH_EXPAND_PRMT All regardless of their names (except the already mentioned zsh, and `busybox`: it needs the name to deduct the applet from it, but as long as `busybox` recognizes it, it's fine: either ash, sh, or bash) I should also point out that beyond subshell initialization related functions different shell types are not being differentiated, so, say, we shouldn't worry about `bash` behaving in a bourne shell compatible way later on if it has been initialized fine. Since almost all modern shell set some specific internal variables, adding new shells now boils down to finding a way to emulate `precmd` (if not present), choosing the right variable, and in case it uses syntax other then Bourne, C or Fish, adding a new test command for the syntax. I have tried to comment new functions thoroughly, so I hope the code should be readable. Hope this will be considered useful." alllexx88 Active Tickets 3699 "patch to fix restoring of the directory contents of the active panel on startup when ""Auto Save Panel Setup"" option is enabled." mc-core master Future Releases enhancement new 2016-10-09T01:39:18Z 2016-10-10T02:36:38Z "This is a patch for {setup.[ch], main.c, midnight.c} to fix the restoring of the directory contents of the active panel on startup when ""Auto Save Panel Setup"" option is enabled, as per a user request on the mailing list mc@gnome.org." Miven Active Tickets 3712 Don't hardcode color-names in syntax-highlighting files mcedit master Future Releases enhancement new 2016-11-03T12:08:26Z 2016-11-03T13:44:56Z "The editor's syntax-highlighting files have a color alias mechanism (and an #inclusion mechanism, BTW). We should use it, where possible, instead of repeating color names. E.g., ""CONSTANT"" instead of ""brightmagenta italic"". Some advantages: - Letting users modify these colors globally. - Making it possible for skins to tweak these colors. - Uniformity among syntaxes. (A somewhat related ticket: #3711) " mooffie Active Tickets 3741 PTP external filesystem (download files from photocameras) mc-vfs master Future Releases enhancement new 2016-12-07T17:32:21Z 2016-12-08T17:44:39Z "I wrote external filesystem script for PTP using gphoto2. It will be nice to have it included in MC." cdslow Active Tickets 3770 Feature request: allow user to disable % macros on command line only mc-core master Future Releases enhancement new 2017-02-08T12:36:38Z 2017-03-10T19:44:40Z "It would be useful to have a (runtime) configuration option to disable %x macro substitutions on mc command line (disabling them only there, not in user menu command definitions). Rationale: I often have a hard time trying to understand why some commands lines don't work the way they are supposed to, just to find out that somewhere in the line there's a % character that is interpreted by mc as the start of a macro. Since the % macros don't exist in my shell, I never use them in my command lines, so there's no need to have them in mc command lines too. In fact it is essential that commands typed on the mc command line should work exactly as if they were typed on a regular terminal, without overimposing new syntactic features. An example: % characters sometimes contained in URLs: even enclosing the URL in single or double quotes doesn't prevent mc from expanding the % macros. So, it would be useful to have some `macro_cl_enable` configuration option in the ini file (of course, default on, for backwards compatibility)." cri Active Tickets 3818 Customize shortcut to return from subshell to other than Ctrl-O mc-core master Future Releases enhancement new 2017-04-30T19:01:50Z 2020-04-04T12:37:34Z "It seems like ""Shell"" option from mc.keymap does have effect only when switching ''to'' the subshell, but not back from it: the key to switch back to mc is hardcoded into the {{{subshell_switch_key}}} constant in the {{{subshell/common.c}}}. It is disappointing because this key conflicts with Ctrl-O from vim when running it from mc. Making ""Shell"" key to work both ways (switching both to and from subshell) would be very useful. " olan Active Tickets 3885 Ability to exclude files from search results when using shell patterns mc-search master Future Releases enhancement new 2017-12-07T08:48:13Z 2017-12-13T05:04:27Z "It looks like MC does not support file patterns exclusion when searching by shell patterns. No other ticket or enhancement found to address it as well. For example if user wants to search for all files but *.a files, search criteria might look like: {{{ *|*.a }}} It is achievable partly with regex patterns but it is tricky to address it if files extensions are used both to include and exclude files, for example if user wants to search for {{{*.h*}}} files but exclude {{{*.hxx}}} files at the same time: {{{ *.h*|*.hxx }}} On Windows platform, FAR Manager supports such functionality using '|' symbol as delimiter in search field." esauloff Active Tickets 3886 Allow to view directory content list with mcview mcview master Future Releases enhancement new 2017-12-08T12:26:45Z 2019-05-06T09:32:54Z "I suggest that when you open a directory in mcview, a list of its contents is displayed. This is especially useful in quick view mode. Now it's just show error: ""Cannot view: not a regular file""" Diadlo Active Tickets 3902 """Natural"" mouse scroll direction" mc-core master Future Releases enhancement new 2018-02-25T14:24:29Z 2018-02-28T19:52:33Z "Please add the ""natural scroll direction"" feature to scroll with mouse using natural scroll direction as it is done in the macos. It could be done in 10-15 minutes by adding new boolean parameter in the CONFIG_MISC_SECTION, for example ""mouse_reverse_scroll"", loading it in the setup.c, and then to change mouse.c by reversing the mouse scroll direction if it's set, like: midnight/mc/lib/widget $ diff mouse.c mouse.c.original 104,107c104 < if (mouse_reverse_scroll) < msg = MSG_MOUSE_SCROLL_DOWN; < else < msg = MSG_MOUSE_SCROLL_UP; --- > msg = MSG_MOUSE_SCROLL_UP; 109,112c106 < if (mouse_reverse_scroll) < msg = MSG_MOUSE_SCROLL_UP; < else < msg = MSG_MOUSE_SCROLL_DOWN; --- > msg = MSG_MOUSE_SCROLL_DOWN; All Mac users will say you big ""thank you"" for that ))" vik Active Tickets 3949 Add support for some popular hot keys in mc to mcedit too mcedit master Future Releases enhancement new 2018-11-07T00:29:28Z 2018-11-10T21:01:57Z "Please, add reaction to following keybindings to mcedit: * Ctrl-\ - file hotlist, list of hot files saved by user. When file is selected, swith to new editor tab and open that file. * Alt-shift-h or Atl-H - list of recent files edited. When file is selected, switch to new tab and open that file. * Alt-h - list of recent strings typed into text from undo/redo history. Ergonomics of text editor is very important, so these small changes can lead to huge improvement in usablity because a) keybindings are same, no need to learn new keybindings, b) interface is same, c) switching between same files and typing of same text are frequent operations. " vlisivka Active Tickets 3995 custom endpoint_url for s3 mc-vfs master Future Releases enhancement new 2019-06-17T15:58:04Z 2019-06-17T15:58:04Z Wondering if there is a possibility for adding a custom endpoint_url for the s3 plugin danialgood Active Tickets 4014 External diff viewer? mc-core master Future Releases enhancement new 2019-09-10T08:37:51Z 2019-09-10T08:37:51Z " I'm wondering about allowing an external utility (e.g. vimdiff) for the ""Compare files"" C-x C-d command, instead of mcdiff, just like we do for the external viewer and editor. If this is too complicated to implement, please ignore, as it's easily implementable with a custom command in the user menu. " cri Active Tickets 4049 MC doesn't let me modify contents of archive mc-vfs master Future Releases enhancement new 2020-01-18T18:42:50Z 2021-02-19T13:18:43Z "Just like with Dolphin filemanager in a GUI, I want to be able to open an archive file like a .tgz, navigate to a file inside the archive, delete it, then replace it with another file. Alternatively, I would like to edit it in-place (whether it's a binary or text file). With MC, I can only open the archive and see the files within. When I select a file and try to delete it by pressing F10, I get an error message {{{ Cannot remove file ""...."" Function not implemented (38) }}} I am using the MC version that's installed in Unraid server's Linux distribution based on Slackware {{{ GNU Midnight Commander 4.8.22 Built with GLib 2.58.2 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish, smbfs Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} " frakman1 Active Tickets 4078 Give a confirmation for 'skip' while copying. mc-core master Future Releases enhancement new 2020-05-03T23:51:53Z 2020-05-03T23:51:53Z "Skip can be pressed very easily(*), and it's very hard to determine which file was actually skipped when many small files are racing past. Why not create a confirm dialog for skip? (*) In screen - https://savannah.gnu.org/projects/screen/ - the default ""jump to next screen"" key combo is control-a-space. Guess what happens if I control-a-space to a copying instance of mc, and then fail to hit control, or a properly? Yep." puntloos Active Tickets 4161 Add quick search for listboxes mc-core master Future Releases enhancement new 2020-12-22T19:20:43Z 2020-12-23T15:23:53Z "This patch add support to fast move to item in list. When a-z key is pressed, then it search first character in list and move select to him. It is extremely usable on chown dialog, where searching for proper name is hell. Now you can just press first character of name and it moves here. Patch attached and also here: https://github.com/MidnightCommander/mc/pull/160 " jedi7 Active Tickets 4165 [patch] MultiSearch – an AND-conjugated dynamic filtering of any listbox mc-core master Future Releases enhancement new 2021-01-02T15:19:26Z 2021-02-19T11:22:59Z "Hi. This time coding style is OK :) I submit a patch that: 1. Adds a new command MultiSearch which, when invoked:on any listbox: - adds an input field below the listbox (either shrinks the list or extends the dialog, if there is enough room), - waits for any input, - after a character will be entered, it filters the listbox with this string, - the string is split on spaces and matched one by one, case insensitively, - all keywords must match for an acceptance of a result. It also adds a new option `multi_search_active_by_default` which causes all list boxes to be started with MultiSearch active. For example, the window list allowing to quickly filter and choose :) Or the file history, syntax chooser, etc. " psprint Active Tickets 4175 [patch] CenterView action mcedit master Future Releases enhancement new 2021-01-15T11:58:26Z 2021-01-24T08:24:34Z "Hi, the patch adds CenterView action to MCEdit which positions the display making the current line at center. It doesn't move cursor. See also this [https://mail.gnome.org/archives/mc/2021-January/msg00003.html discussion]. " psprint Active Tickets 4184 [patch] WindowCascade action mcedit master Future Releases enhancement new 2021-01-23T20:43:20Z 2021-01-24T06:56:25Z "Hi! I've implemented the main part of the requested non-fullscreen mode startup (see [https://mail.gnome.org/archives/mc/2021-January/msg00009.html post]). The patch is fairly simple. It just: - registers the command in keybind.h/.c/*-defaults.c/mc.default.keymap, - then adds the case for it in editwidget.c, - and also a function + a helper function in the same file to implement it. The implementation is a simple loop that arranges the windows in cascade arrangement. It's somewhat intelligent as it gradually lowers the shift between windows as seen in the [https://asciinema.org/a/dqR4FzK7ed6ZwMXAA4DmH29qY asciicast]. " psprint Active Tickets 4185 [patch] WindowTile action mcedit master Future Releases enhancement new 2021-01-23T20:48:12Z 2021-01-24T03:54:52Z "Hi! I've implemented the tiling of the windows as requested by [https://mail.gnome.org/archives/mc/2021-January/msg00009.html a user]. The patch depends on #4184 – it will not automatically patch and a helper function is missing. " psprint Active Tickets 4186 [patch] Options for windowed startup mcedit master Future Releases enhancement new 2021-01-24T03:54:52Z 2021-01-24T06:21:04Z "The patch adds options -w/--cascade and -T/--tile to mc program so that startup with windows arranged in a cascade or tile is possible (instead of fullscreen). The patch depends on #4184 and #4185, which implement the window arranging. " psprint Active Tickets 4195 Makefile utility targets for tags mc-core master Future Releases enhancement new 2021-02-08T22:19:44Z 2021-02-19T06:57:11Z "Hi, the patch adds three Makefile targets: - `tags-emacs`, which generates the `TAGS` file ↔ the Emacs style tags (actually used by mcedit), - `tags-vim`, which generates the `tags` file with Vim-style tags, - `tags`, which generates both above, … from a curated, well done `ctags` command invocation, with all the needed options like the recursion and search for C sources and e.g.: proper parsing of the headers (.h). The command is in two forms, first for Exuberant Ctags and the second one for Universal Ctags (there's a check for which one is being found)." psprint Active Tickets 4204 [patch] Support for globs in open file dialog mcedit master Future Releases enhancement new 2021-02-17T09:44:25Z 2021-02-17T10:27:10Z "Hi, the patch adds support for opening multiple files at once via a filename with wildcard entered in open dialog. So, for example entering src/editor/edit.[ch] in the input will cause opening of edit.c and edit.h. The patch is quite simple, it utilizes glob() POSIX function. " psprint Active Tickets 4206 [patch] Stable WindowList in mcedit mcedit master Future Releases enhancement new 2021-02-18T01:33:53Z 2021-02-22T14:28:59Z "Hi, I've been irritated by the files fluctuating in the WindowList window – it only brings chaos to workflow and is driven by the Z-ordering of widgets – currently focused must be the last one in WGroup::widgets list. So it's actually a raw order imposed by implementation properties. I've fixed this in this patch: - a new class WOrderKeptDialog is inheriting WDialog, - it holds a GPtrArray with the same WEdit objects as in base WGroup::widgets, - array is populated on start up (MSG_INIT) and then updated after each handled message from WDialog callback, - an additional feature – the files are being sorted so that headers and their corresponding sources (.h/.hpp/.c/.cpp) are adjacent and with headers first. What do you think? Fix or wontfix? IMO, this change has been asking for a patch. It also allows to finally have e.g.: Alt-1, Alt-2, etc. shortcuts switching to the first buffer, and second, etc. implemented in a following patch. " psprint Active Tickets 4220 A new feature – completing from tags mcedit master Future Releases enhancement new 2021-03-18T16:33:09Z 2021-03-18T16:33:09Z "Would there be an interest in a new feature – completion working not from buffers' words, but from TAGS file? Here's example how it would work – for TAGS covering /usr/include/glib: [https://asciinema.org/a/cp4I3tFfKrLNS9SME7XE2w6Nk asciicast]. It would be little less usable, because MSearch haven't been merged, however it would be still OK to complete. " psprint Active Tickets 4294 Start a subshell in background mc-core master Future Releases enhancement new 2021-10-09T07:07:36Z 2022-04-08T15:37:23Z "This is related to ticket #3580, not sure how to re-open tickets so I created a new one. I have a similar problem, but it is not related to the solution described there and was not able to solve that problem. I see on other forums that people have similar problem so I suggest to anyway think about possible fix for this once for all and init subshell in background as described in ticket #3580 (copying here for a reference): ''It might worth to start the subshell on a background thread to be able to show the main UI faster. Then a rotating dash would be displayed in the command prompt and in Ctrl-O until the subshell is ready. '' In my case on macOS 10.15.7 when transitioned to ZSH the MC starts in around 6 seconds. This is totally not acceptable. The ZSH on its own starts in less than one second. The {{{ mc --nosubshell }}} starts MC instantly, but there's no subshell which is also not acceptable. Thus, there's something fishy with instantiation of subshell in the MC, may be related to the configuration - but actually, that is not the problem of the fact that subshell init takes long, but that it is not done in the background at startup. " slajerek Active Tickets 4311 Why not bind alt-home, alt-insert, etc? mc-tty master Future Releases enhancement new 2021-11-12T20:53:18Z 2021-11-12T20:53:18Z "The keys are working fine under xterm, however mc doesn't recognize them. Why? Could the support be added? Is there a way to bind such keys? " psprint Active Tickets 4315 slow copy performance when using LTFS as a destination mc-core master Future Releases enhancement new 2021-11-28T09:43:25Z 2021-11-28T11:43:57Z "Hi! I'm using MC v 4.8.24 on ubuntu 20.04 Built with GLib 2.63.3 I recently started using LTFS (a standard platform-independent feature that allows to mount LTO tapes as a file system) and noticed that when I'm copying from a local file system to a folder mapped to an LTFS-mounted tape, performance is very slow (about 20MB/s). cp or any other copy system (of course copy same files from same source to same destination) have expected thorughput (+130MB/s). The problem is not present if I use MC to copy from the folder mapped to the LTFS tape back to local drives so I assume this must be something related to the write process (or write speed measurement) that MC uses. It would be cool to keep using MC for moving files to tapes especially for its selection interface. Let me know if you'd like me to collect further info, thanks!" aletib Active Tickets 4318 "[feature request] Show hash of file in ""File exists"" window of ""Copy/Move"" dialog" mc-core master Future Releases enhancement new 2021-12-03T16:40:38Z 2021-12-05T15:31:00Z "Steps: 1) start MC; 2) cd /tmp; (in left panel) 3) cd ~; (in right panel) 4) select single file; 5) F5 + Enter; (file copied from ""~/"" to ""/tmp"") 6) F5 + Enter; 7) MC shows ""File exists"" window dialog. This dialog contains: 1) full file path; 2) file size; 3) last modification time of file. What I want: I want to see hashes of source and destination files, like CRC, MD5, SHA-1 or any other. Why I want this: Hashes of two files (source and destination) allow to to quick check, that source file and destination file are identically or different. If I need to copy single file per long time - then no problem to to ""C-x C-d"" or run ""diff"" from console. But if I need to copy/move many files, then I need more quickly method to detect identical/different files with the same name inside the ""File exists"" window of ""Copy/Move"" dialog. P.S. If source file and destination file are identical (have identical hashes in two different algorithms, for example - CRC and MD5, or MD5 and SHA-1), then MC may resolve file names conflict automatically, without ""File exists"" window dialog." Bogdan107 Active Tickets 4402 mcedit - open file at specific line and column position mcedit master Future Releases enhancement new 2022-08-22T10:52:57Z 2022-08-22T13:34:29Z "It will be very useful if user can open file at specific line, and also column position. Column position can be simple added after end colon. Example - open file reggs.c at line 640 at column 20: mcedit regs.c:640:20" misarm Active Tickets 4453 16-column HEX view in wide monitor mcview master Future Releases enhancement new 2023-04-03T06:50:44Z 2023-04-15T06:56:51Z "In the current versions of MC, there is no setting to show the HEX viewer in the traditional 16-column form. The number of columns is adjusted to the width of the console. As a result, it is very inconvenient to calculate the byte addresses in the file being viewed. It would be nice to add a setting that will allow you to include the traditional width of 16 columns. The setting can be made in the form of a number so that the user can write both 8 and 24 and 32 columns, as it will be more convenient for him. The ready-made change is already in the form of a diff file: https://pastebin.com/NUKwveMZ The appearance of the MC can be viewed in the article (RU) at the link: https://webhamster.ru/site/page/index/main/news/689 " xintrea Active Tickets 4455 MC could really use FTP's MLSD command mc-vfs master Future Releases enhancement new 2023-05-10T08:30:56Z 2023-05-10T08:32:43Z "For sufficiently old files MC doesn't list modification times, thus retrieves all the old files as having modification times at 12:00:00PM. Please use the MLSD command which allows to get a very nifty listing of files with modification times as UNIX timestamps which is a ton easier to parse. Here's a sample listing: {{{ Size=435123;Modify=20141113182638;Type=file;Perm=radfw; blue-pattern-hd-xperia-z2-wallpaper.jpg Size=321533;Modify=20141113182639;Type=file;Perm=radfw; cloudy-mountain-hd-xperia-z2-wallpaper.jpg Size=137009;Modify=20141113182638;Type=file;Perm=radfw; connect-sony-xperia-z2-wallpaper.jpg Size=162090;Modify=20141113182639;Type=file;Perm=radfw; create-sony-xperia-z2-wallpaper.jpg Size=179896;Modify=20141113182640;Type=file;Perm=radfw; discover-xperia-z2-wallpaper.jpg Size=255972;Modify=20141113182638;Type=file;Perm=radfw; experience_black.jpg Size=132240;Modify=20141113182638;Type=file;Perm=radfw; experience_blue.jpg Size=187105;Modify=20141113182641;Type=file;Perm=radfw; experience_copper.jpg Size=123621;Modify=20141113182641;Type=file;Perm=radfw; experience_green.jpg Size=132521;Modify=20141113182640;Type=file;Perm=radfw; experience_orange.jpg Size=123511;Modify=20141113182639;Type=file;Perm=radfw; experience_purple.jpg Size=133212;Modify=20141113182640;Type=file;Perm=radfw; experience_red.jpg Size=132917;Modify=20141113182640;Type=file;Perm=radfw; experience_silver.jpg Size=644731;Modify=20141113182640;Type=file;Perm=radfw; field_at_sunset_hd1080p.jpg Size=870868;Modify=20141113182640;Type=file;Perm=radfw; green_jungle_hd1080p.jpg Size=484443;Modify=20141113182639;Type=file;Perm=radfw; grey_lake_hd1080p.jpg Size=197327;Modify=20141113182639;Type=file;Perm=radfw; hero-flow-black-xperia-z2-wallpaper.jpg Size=144181;Modify=20141113182641;Type=file;Perm=radfw; hero-flow-blue-xperia-z2-wallpaper.jpg Size=107137;Modify=20141113182639;Type=file;Perm=radfw; hero-flow-grey-xperia-z2-wallpaper.jpg Size=122518;Modify=20141113182641;Type=file;Perm=radfw; hero-flow-orange-xperia-z2-wallpaper.jpg Size=102681;Modify=20141113182641;Type=file;Perm=radfw; hero-flow-purple-xperia-z2-wallpaper.jpg Size=171204;Modify=20141113182641;Type=file;Perm=radfw; hero-flow-red-xperia-z2-wallpaper.jpg Size=166346;Modify=20141113182639;Type=file;Perm=radfw; hero-flow-xperia-z2-wallpaper.jpg Size=794046;Modify=20141113182640;Type=file;Perm=radfw; leaves-xperia-z2-wallpaper.jpg Size=144002;Modify=20141113182639;Type=file;Perm=radfw; listen-xperia-z2-wallpaper.jpg Size=156957;Modify=20141113182639;Type=file;Perm=radfw; relax-xperia-z2-wallpaper.jpg Size=183492;Modify=20141113182641;Type=file;Perm=radfw; xperia-z2-wallpaper.jpg }}}" birdie Active Tickets 4458 Support clipboard via OSC 52 mc-core master Future Releases enhancement new 2023-05-18T12:11:45Z 2023-05-21T10:27:28Z "Many terminal emulators, starting with Xterm, conditionally allow access to the system clipboard via an escape sequence. In comparison with `xclip`-based solution (#30), this works transparently when you `ssh` around, without X11 forwarding and without having to install `xclip` on each server you manage. To write to the clipboard, an application sends `ESC ] 5 2 ; c ; ESC \`, where '''' is base64-encoded. (`BEL` can also be used as terminator.) To read the clipboard, an application sends `ESC ] 5 2 ; c ; ? ESC \`. A conforming terminal will respond by sending `ESC ] 5 2 ; c ; ESC \`, again, with '''' base64-encoded. (If the request uses `BEL` instead of `ESC \`, the terminal’s response will typically also be terminated with `BEL`.) A non-supporting but ANSI-conforming terminal will ignore the unsupported OSC sequence until the `ESC \` or `BEL` terminator. I do not think there is a termcap/terminfo capability advertising support, so it would probably have to be a user option. Alternatively, `mc` could unconditionally put copied content into both `~/.local/share/mc/mcedit/mcedit.clip` and send the OSC sequence; when pasting, first send the request, and if no response within a few milliseconds, fall back to reading `~/.local/share/mc/mcedit/mcedit.clip`." yurikhan Active Tickets 4512 mc should use kPRV5 from terminfo for Ctrl+PageUp mc-tty master Future Releases enhancement new 2023-11-21T13:15:14Z 2023-11-23T17:59:52Z "I noticed that the Ctrl+PageUp combination (to navigate to the parent directory) didn't work in wezterm (with `config.term = ""wezterm""`). A bit of experimentation showed that it worked when wezterm identified itself as xterm, or if mc is started with --xterm. Upon investigating, I found that the reason why it works with TERM=xterm is only because mc itself hard-codes the sequence that xterm uses (the xterm_key_defines array), when it detects that it is running in that terminal emulator (check in init_key) or with --xterm. I am not sure if this is standardized anywhere, but I noticed that many terminal emulators declare the sequence for Ctrl+PageUp as the kPRV5 capability in their terminfo. Grepping for kPRV5 in my /usr/share/terminfo gives me over 60 matches. wezterm's terminfo doesn't have it yet, but it would not be a problem to add it. I think it would be nice if mc checked terminfo for capability strings such as kPRV5, in order to support such key combinations in other terminals. I can work on a patch with some guidance. I noticed the Key_xxx definitions in keyxdef.c, but it's not clear to me how to extend that to only teach mc about some new terminfo keys. " CyberShadow Active Tickets 4516 Combining characters in mcedit not merged with letters mcedit master Future Releases enhancement new 2024-01-03T22:52:11Z 2024-02-18T11:52:44Z "Combining characters in mcedit in edit mode (F4) aren't merged with preceding letters, but in view mode (F3) get combined properly. That is everlasting issue. Is this a bug or a feature? And if possible, if it is a ""feature"", fix this oddity and add an option for either displace of combining symbols in place or merged with preceding letters. I am currently working both with RTL and LTR texts and would like it to be fixed, please." vzhuromskyy Active Tickets 3673 Deprecate size_trunc_sep() in favor of locale-dependent printf support mc-core master Future Releases task new 2016-08-17T12:58:38Z 2016-08-17T13:31:30Z {{{size_trunc_sep()}}} applies a handwritten grouping of digits regardless of the current locale. Effort has been made in #3666 to remove its usage. If such a function is necessary, {{{printf()}}} and have locale-dependent formatting support for this. michael-o Active Tickets 20 savannah: superflous copying instead of moving mc-core master Future Releases defect new 2008-12-25T12:28:43Z 2014-01-11T15:45:45Z "Original: http://savannah.gnu.org/bugs/?13728 ||Submitted by:||Oswald Buddenhagen ||Submitted on:||Mon 11 Jul 2005 03:44:56 PM UTC|| ||Category:||Core||Severity:||3 - Normal|| ||Status:||None||Privacy:||Public|| ||Assigned to:||None||Open/Closed:||Open|| ||Release:||current (CVS or snapshot)||Operating System:||All|| Original submission: {{{ situation: foo/name/file exists. bar/name/ exists. both on the same partition. you're in ""foo/"", cursor over ""name"". press , enter ""../bar"", confirm. effect: file is moved by copying. this is because mc incorrectly diagnoses a cross-device move. the code in question is file.c, move_file_file() & move_dir_dir(). when fixing, please consider the case of moving a tree where only a subtree is on another device. but maybe it was already considered. :) }}} Comment 1 by Pavel Tsekov at Mon 11 Jul 2005 05:01:24 PM UTC: {{{ Unfortunately there is nothing to fix here :( If the destination directory exits, MC decides to use copy_dir_dir() to perform the task. What you ask should be fully implemented from scratch. In fact move_dir_dir() is quite simplistic. }}} Comment 2 by Oswald Buddenhagen at Mon 11 Jul 2005 05:09:14 PM UTC: {{{ yes, indeed. i even started developing an algorithm to post here, but stopped because the existance checks and file/dir discrimination started turning the few lines into real work. :)= anyway, the basic idea is: when a move fails, if the source is a file, move via copy, otherwise create the target dir (if missing) and recursively call the move function for all files in the source dir. or something like that. :) }}} Comment 3 by Pavel Tsekov at Tue 12 Jul 2005 11:53:46 AM UTC: {{{ Does `bar/name/' contain any entries or is it empty ? I ask this question because of the following paragraph in the description of rename() in SUSv3: [...] If the old argument points to the pathname of a directory, the new argument shall not point to the pathname of a file that is not a directory. If the directory named by the new argument exists, it shall be removed and old renamed to new. In this case, a link named new shall exist throughout the renaming operation and shall refer either to the directory referred to by new or old before the operation began. If new names an existing directory, it shall be required to be an empty directory. [...] So if we have an empty destination directory we could perform an efficient move instead of copying . It is as simple as that. }}} Comment 4 by Oswald Buddenhagen at Tue 12 Jul 2005 01:09:19 PM UTC: {{{ > Does `bar/name/' contain any entries or is it empty ? > empty, but this should not matter. i don't think we want this susv3- compliant behavior. at the top level, if the target is an existing directory (empty or not), we want to move into this directory (like we currently do). once we started recursing, we just merge into existing directories. frankly, move should behave just like copy. i think it would even make sense to merge move into copy with an additional flag. if a real move succeeds, skip the recursion. if it fails, do a recursive copy+delete. because of the recursion, a real move is attempted at every level - exactly what we want. }}} Comment 5 by Pavel Tsekov : {{{ A really fast move can happen only under the circumstances described in the quoted text - everything else will be suboptimal. I don't want to block any attempts to move the directory if the existing directory is not empty, but it cannot be performed as fast. The more dupicate directories exist the performance will get worse (in large trees). }}} " ossi Active Tickets 2145 JavaScript highlighting bug in regexp. mcedit master Future Releases defect new 2010-04-17T17:52:31Z 2020-02-29T06:31:07Z "Consider this simple example file.js: {{{ function f(a) { var r = /'/; return r.test(a); } }}} This is correct javascript code which search for occurrence of ' or returns null if there is no such. mcedit incorrectly highlights ' (green) in the /'/, and assumes it is string which continues beyond end of regexp (including comments, and probably to the end of file). [[Image(http://smp.if.uj.edu.pl/~baryluk/mcedit-js-highlight-bug/Def_030.png)]] All examples here: http://smp.if.uj.edu.pl/~baryluk/mcedit-js-highlight-bug/ Thanks. " baryluk Active Tickets 3168 Learn keypad keys vs. numlock mc-tty master Future Releases defect new 2014-02-11T20:18:51Z 2023-08-15T09:06:32Z "If numlock is off, the keypad /*-+ symbols generate certain escape sequences. In this case ""Learn keys"" works as expected. If numlock is on, these keypad symbols generate the regular ASCII characters. ""/"" is recognized and accepted (although it's of not much use, mc knows it already and it probably won't work once you switch off numlock since mc didn't learn the escape sequence). The other three are not recognized automatically, and can't even be forced (e.g. you navigate to ""* on keypad"", press Enter and then press ""*"", you get an error: {{{ Cannot accept this key You have entered ""*"" }}} which doesn't make any sense; the same happens for ""-"" and ""+""). My suggestion: When any of the raw ASCII /*-+ characters are read, the user should be asked to switch off numlock and then press that key again." egmont Active Tickets 3205 Failed copy/move operations make ETA inaccurate mc-core master Future Releases defect new 2014-05-02T20:46:54Z 2015-04-19T17:14:53Z "When I copied ~400GB of files, some of the files were corrupted and MC subsequently skipped them. However, the overall progress (ETA) didn't reflect this. The result was that at the end of the copy operation (12 hours later), the operation suddenly finished even though the ETA was still at ~3 minutes. This gave the impression that the operation had finished prematurely, when infact the ETA simply hadn't taken the skipped files into account. It would obviously be better for the ETA to reach 0 when the copy/move operation finishes. Also, the number of processed files reading doesn't take skipped files into account, meaning at the end of the copy/move operation it will say something like '497/500 files'. I think the processed files count should include skipped files, so that at the end of the operation, the count would be 500/500 files every time, otherwise it seems like the operation has finished prematurely." Nick Active Tickets 3215 Mcedit cursor takes more space on russian letters mcedit master Future Releases defect new 2014-05-14T11:34:49Z 2014-05-14T15:20:52Z "When cursor is over russian text in mcedit extra space appear before cursor [[Image(http://cdn.joxi.ru/media/cache/preview/uploads/prod/2014/05/14/045/fdb/37c27536c30614c24145395cc9f291b41caeb44e.jpg)]] This extra space seems to grow when cursor is moving further right [[Image(http://cdn.joxi.ru/media/cache/preview/uploads/prod/2014/05/14/116/417/a685609ff839860ec26fc32650ae02ce363fddb1.jpg)]]" elbahek Active Tickets 3255 Inconsistent Unicode normalization mc-core master Future Releases defect new 2014-08-26T21:48:19Z 2014-08-26T21:48:19Z "tty_print_string(s) calls str_term_form(s), which, among other things, normalizes the string (i.e. converts to NFC). tty_printf(fmt, ...) on the other hand doesn't normalize it. This leads to the unexpected situation that tty_print_string(s) and tty_printf(""%s"", s) are not identical. Probably they are not used consistently with whether formatting and normalization is required at the given position. At least the method names could reflect this, to help choose the desired one. Normalization might have advantages if the file to be viewed is in NFD but the terminal (e.g. Linux console) does not support combining characters. Then you at least get to see some (probably most) of the accents. But it has disadvantages too. For example it mangles the bytes (e.g. filename) if the user copy-pastes it in a graphical terminal. Given that most text is in NFC and most terminals are capable of displaying NFD, I vote for not mangling the text. Even if we agree on normalization and make tty_print_string() and tty_printf() consistent in this regard, they'll still differ in other things that str_term_form() does not, it should be double checked if that's okay." egmont Active Tickets 3278 Info panel should follow symlinks mc-core master Future Releases defect new 2014-09-29T12:15:29Z 2014-09-29T13:43:00Z "When an info panel is shown, the file system statistics are not correct after passing through a symlink. When one goes through a symlink (to a directory) crossing to a different file system, the statistics in the info panel won't change, still showing the original file system data. Let's have a file system /home and file system /export/data. In /home/mcermak, there is a symlink my_work to /export/data/my_work. When a user goes from /home/mcermak through my_work symlink to /etc/data/my_work, the statistics in the info panel won't change and will keep showing data for /home. One can easily get different information for /home/mcermak/my_work and /export/data/my_work even though those point a same directory. # mc -V GNU Midnight Commander 4.8.13 Built with GLib 2.28.6 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; This is because the statistics obtaining function my_statfs() in filemanager/mountlist.c is passed the current path which is /home/mcermak/my_work and searches through the mount point table using string matching. To get the correct data, the path needs to be resolved to an absolute path (without dots or symlinks). On Solaris, realpath() library function can do the resolution." mcermak Active Tickets 3280 [patch] mcview: search off-by-one between plain and hex modes mcview master Future Releases defect new 2014-10-04T11:36:42Z 2015-02-20T19:39:11Z "echo abcdefghijklmnopqrstuvwxyz > abc mcview abc Search for efg, it is highlighted. Switch to Hex mode, now fgh is highlighted as the match. The same (with opposite direction) the other way around: search for klm in hex mode, it is highlighted, switch back to plain mode, jkl is highlighted." egmont Active Tickets 3413 Info panel: contents overflow to the border mc-core master Future Releases defect new 2015-03-07T19:51:36Z 2015-03-07T21:18:32Z See screenshot egmont Active Tickets 3531 roff underline+bold not recognized mcview master Future Releases defect new 2015-10-01T20:00:04Z 2015-10-01T21:52:16Z "I've just found that the \f4 macro in chacl.1 turns on underlined and bold at the same time, and is displayed by ""less"" accordingly. The *roff pipeline translates an underlined+bold character into: underscore backspace letter backspace letter Both the viewer and the search engine should be updated to recognize this." egmont Active Tickets 3542 [patch] fix /src/editor testsuite failure when ncurses is used mc-core master Future Releases defect new 2015-10-21T22:42:12Z 2021-04-08T06:24:20Z "fix /src/editor testsuite failure when ncurses is used {{{ Running suite /src/editor (null):-1:S:Core:test_autocomplete:0: (after this point) Received signal 11 (Segmentation fault) (null):-1:S:Core:test_autocomplete:1: (after this point) Received signal 11 (Segmentation fault) (null):-1:S:Core:test_autocomplete_single:0: (after this point) Received signal 11 (Segmentation fault) Results for all suites run: 0%: Checks: 3, Failures: 0, Errors: 3 }}} testsuite failed because ncurses:doupdate() called without proper init {{{ edit_init() -> edit_load_file() -> edit_load_file_fast() -> status_msg_init() -> mc_refesh() -> ncurses/tty_refresh() -> doupdate() }}} patch against 52fd328042a426e885da891c8ce8218cda3a1cf7 compile test with GCC 5.2.0/ncurses 5.9 Signed-off-by: Andreas Mohr " and Active Tickets 3627 sharp is not escaping on M-Enter mc-core master Future Releases defect new 2016-03-29T14:31:10Z 2016-03-30T14:16:04Z '#' does not backslashed in filenames on M-Enter wd Active Tickets 3679 proper forking of xdg-open mc-core master Future Releases defect new 2016-08-21T18:53:59Z 2016-08-23T20:34:25Z "The current script /usr/lib/mc/ext.d/doc.sh (and possibly others) invoke xdg-open without properly forking it. The result is that mc can not continue to be used until the spawned process is killed. The current code (from https://www.midnight-commander.org/browser/misc/ext.d/doc.sh.in, line 190 is: {{{ (""${MC_XDG_OPEN}"" ""${MC_EXT_FILENAME}"" >/dev/null 2>&1) || \ }}} This is an improvement over the version currently being distributed in debian stable (v4.8.13) in that it doesn't pollute the mc screen with xdg-open's stdout. However, while according to the dash man page, it does spawn and fork a sub-shell, it also waits until that sub-shell exits. The result is that mc switches to its internal shell (ie. the same a performing 'C-o'), and displays 'C-c' at the bottom of the screen. Attempting to 'C-o' back to the file-management window just echos back 'C-o'. Midnight Commander is effectively frozen in its shell window until the launched program exits, or until typing 'C-c' at the mc shell window. An example of a correct way to fork (ie. what works for me) is: {{{ if ! ""${MC_XDG_OPEN}"" ""${MC_EXT_FILENAME}"" >/dev/null 2>&1 & then do_open_action ""${filetype}"" fi }}} This was tested using the version currently being distributed in debian stable (v4.8.13), opening a libreoffice-writer document." boruch Active Tickets 3809 Configured codepage ignored mc-core master Future Releases defect new 2017-04-17T14:53:08Z 2017-05-02T20:10:16Z "MC is displaying itself in iso8859-1, ignoring the configured codepage: # set | grep LANG LANG=en_US.UTF-8 The codepage configured in Options->Display Bits is also UTF-8. Relase info: LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.19 Built with GLib 2.52.0 Using the ncurses library With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish, smbfs Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; LC_MESSAGES=C mc -F Home directory: /root Profile root directory: /root [System data] Config directory: /etc/mc/ Data directory: /usr/share/mc/ File extension handlers: /usr/libexec/mc/ext.d/ VFS plugins and scripts: /usr/libexec/mc/ extfs.d: /usr/libexec/mc/extfs.d/ fish: /usr/libexec/mc/fish/ [User data] Config directory: /root/.config/mc/ Data directory: /root/.local/share/mc/ skins: /root/.local/share/mc/skins/ extfs.d: /root/.local/share/mc/extfs.d/ fish: /root/.local/share/mc/fish/ mcedit macros: /root/.local/share/mc/mc.macros mcedit external macros: /root/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /root/.cache/mc/ If I can help please let me know. Thanks! Daniel" dveiga Active Tickets 3845 replace brightblue in syntax files mcedit master Future Releases defect new 2017-08-01T17:24:57Z 2017-08-07T21:40:17Z "I can't see text printed in bright blue in tty (Slackware Linux, using default skin), I suggest to replace it in syntax files with bright cyan, it can be done with such script ran in syntax folder (skips filehighlight.syntax and syntax.syntax): {{{ #! /bin/tcsh set a = `basename $0` foreach b (*) if ($b != $a && $b != ""filehighlight.syntax"" && $b != ""syntax.syntax"") then sed -i s/brightblue/brightcyan/ $b endif end }}}" Nicolas Rybkin Active Tickets 3866 building as root breaks the tests tests master Future Releases defect new 2017-10-01T21:15:37Z 2018-06-05T17:46:43Z "tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c contains code to replace the numeric uids and gids with '<>'/'<>' if they are equal to the ids of the process. Running the tests as root breaks the tests, because '<>' / '<>' appear where 0 are expected. Looking in tests/src/vfs/extfs/helpers-list/test-suite.log: {{{ ... ------------ diff of the expected output vs the actual output: ------------- --- /root/mc/tests/src/vfs/extfs/helpers-list/data/hp48+.output 2017-10-01 21:14:01.070736734 +0000 +++ /tmp/hp48+.actual-parsed-output.l8hNvZZv 2017-10-01 21:14:12.875106282 +0000 @@ -1,3 +1,3 @@ --rw-r--r-- 1 0 0 30 /YEN --rw-r--r-- 1 0 0 21848 /JYTLIGHT --rw-r--r-- 1 0 0 37 /IOPAR +-rw-r--r-- 1 <> <> 30 /YEN +-rw-r--r-- 1 <> <> 21848 /JYTLIGHT +-rw-r--r-- 1 <> <> 37 /IOPAR ------------------------------- end of diff -------------------------------- ... }}} I don't know if it's intended, or a bug." anatoly.borodin Active Tickets 3891 When nothing is typed for macro %{some text} in a user menu entry, the rest of the script is not run mc-core master Future Releases defect new 2017-12-21T15:32:45Z 2017-12-21T15:32:45Z "'''mc version:''' 4.8.19-1 (from Ubuntu repository) '''environment:''' Xubuntu 17.10 When the macro '''%{some text}''' is used in a user menu entry, and nothing is typed — if only key is pressed —, the rest of the commands are not run, as if the script exited. I'm not sure if this is the expected behavior. The man page doesn't mention anything, only that F10 or ESC can cancel. It would be interesting if the script didn't exit, so that the variable receiving the text from the macro could be tested for empty/undefined. '''Steps to reproduce''' 1. Create a user menu entry like this one: {{{ x testing text=%{enter any text} echo ""text = $text"" }}} 2. Run the user menu, select this entry, and press 3. Press ctrl-o to check if there was any output There will be no output, as if the script exited before ''echo ""text = $text'' was run. " marcelpaulo Active Tickets 3912 Update xls2csv usage since it's called with invalid parameters mc-core master Future Releases defect new 2018-04-10T11:45:40Z 2021-04-08T06:22:53Z " xls2csv only prints error page and returns EXIT CODE 0 when only supplied a spreadsheet without -x parameter. -c parameter also mandatory. Currently permitted parameters are: usage: xls2csv -x spreadsheet.xls [-w worksheet] [-n worksheet number] [-b charset] [-c csvfile.csv] [-a charset] [-qshvWf] This is xls2csv version 1.07 Which is latest version in openSUSE:Factory Attaching git patch " adamm Active Tickets 3934 extfs.d/uzip should ignore unzip exit code mc-vfs master Future Releases defect new 2018-08-22T11:31:14Z 2021-04-08T06:24:21Z "Steps to reproduce. {{{ $ touch test $ zip test.zip test $ echo ""12345"" > new.zip $ cat test.zip >> new.zip }}} new.zip is a valid zip archive with extra six bytes at the beginning. MC will fail to process it. " birdie Active Tickets 4021 mc term title not restored after subshell or external editor mc-core master Future Releases defect new 2019-09-29T16:48:48Z 2019-09-29T16:48:48Z "mc: {{{ GNU Midnight Commander 4.8.22 }}} tmux: {{{ tmux 2.8 }}} configured with: {{{ set -g default-terminal ""screen-256color"" set -g set-titles on setw -g allow-rename on setw -g automatic-rename off }}} Running zsh. Changing 'xterm_title' has no effect. Steps to reproduce the problem: 1. Run mc 2. Open a subshell with ctrl+o 3. Return to mc by pressing ctrl+o again What I expect to see: 1. After running mc the tmux title is the string 'mc' 2. After opening a subshell the tmux title is the current directory 3. After returning to mc the tmux title is back to 'mc' What I see: 1. After running the mc the tmux title is correctly set to 'mc' 2. After opening a subshell the tmux title is correctly the current directory 3. After returning to mc the tmux title is not updated to 'mc' and keep displaying the previous directory name. Please note this is the simplified way to reproduce a more complicated issue where when returning to mc after having used an external editor that changes the term/tmux title (like vim), the title is not updated by mc which keep displaying the old title (the file name opened in vim in this case). " carlo.caione Active Tickets 4164 Cannot bind Alt-/ nor Shift-Tab for [listbox] mc-core master Future Releases defect new 2020-12-31T04:38:32Z 2020-12-31T14:53:39Z "I want to obtain the following behavior: – after invoking a completion either via Alt-/ or Shift-Tab, – … i want to be able to move to the next matches in the popup list by…, – … pressing the Alt-/ or Shift-Tab again. To do this, I bind the `Down` action in `[listbox]` section of the keymap file. The logic is that the completion popup is essentially a listbox so binding `Alt-/` and `Shift-Tab` for the `Down` action should allow to smoothly move across the completion results with those keys. However, this works only partially and causes problems: – in the buffer completion, only `Alt-/` works, – in the input completion, none of the bindings works… I think that those are two separate problems. What can be the reason of them?" psprint Active Tickets 4172 Input line history doesn't keep space-only items mc-core master Future Releases defect new 2021-01-11T09:42:38Z 2021-01-11T10:22:10Z "1. Hit F4 on a text file 2. Fit F7 and type one or more space 3. Fit F7 again and notice that space/spaces are gone " gv Active Tickets 4190 "mc-wrapper.sh.in should not (test ""$MC_PWD"" != ""$PWD"")" mc-core master Future Releases defect new 2021-01-28T09:25:42Z 2021-02-01T10:57:40Z "I am getting {{{ shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory }}} error in the following situation: 1. mkdir recreated 2. cd recreated 3. mc 4. navigate to the parent directory 5. F8 to remove the ""recreated"" directory 6. F7 to recreate the ""recreated"" directory 7. enter the ""recreated"" directory 8. F10 exit Midnight Commander I think that the check {{{#!sh if test -n ""$MC_PWD"" && test ""$MC_PWD"" != ""$PWD"" && test -d ""$MC_PWD""; then }}} should simply be {{{#!sh if test -n ""$MC_PWD"" && test -d ""$MC_PWD""; then }}} there is no harm in ""cd $PWD"" if the directory is really the old one and not recreated IMHO. The only behavioral change compared the the previous script is to ""cd -"" will stay in the current directory if it did not change. Test environment: bash-5.0.17-2.fc33.x86_64 (Fedora 33). " mr700 Active Tickets 4451 extended ACLs are not copied (copy, move) mc-core master Future Releases defect reopened 2023-03-17T01:59:44Z 2024-03-24T16:33:41Z "'''Version:''' {{{ GNU Midnight Commander 4.8.26 Built with GLib 2.66.8 Built with S-Lang 2.3.2 with terminfo database With builtin Editor and Aspell support With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} '''Description''' When using copy or move on the same file system or between file systems the set ACLs are not copied over '''MC view:''' Source {{{ │ File: bar │ Location: 10303h:21734h │ Mode: drwxrwxr-x (0775) │ Attributes: -----------------e------- │ Links: 2 │ Owner: admin/admin │ Size: 4096 (8 blocks) │ Changed: Mar 17 10:19 │ Modified: Mar 17 09:40 │ Accessed: Mar 17 10:19 │ Filesystem: / │ Device: /dev/nvme0n1p1 │ Type: ext4 (10303h) │ Free space: 29G/49G (58%) │ Free nodes: 2850212/3268608 (87%) }}} '''Getfacl view:''' On source folder {{{ >$ getfacl bar # file: bar # owner: admin # group: admin user::rwx group::r-x group:staff:rwx mask::rwx other::r-x }}} '''After Copy/Move''' On target folder {{{ >$ getfacl bar # file: bar/ # owner: admin # group: admin user::rwx group::rwx other::r-x }}} '''MC View''' On target folder {{{ │ File: bar │ Location: 10303h:2172Eh │ Mode: drwxrwxr-x (0775) │ Attributes: -----------------e------- │ Links: 2 │ Owner: admin/admin │ Size: 4096 (8 blocks) │ Changed: Mar 17 10:56 │ Modified: Mar 17 09:40 │ Accessed: Mar 17 10:19 │ Filesystem: / │ Device: /dev/nvme0n1p1 │ Type: ext4 (10303h) │ Free space: 29G/49G (58%) │ Free nodes: 2850209/3268608 (87%) }}} Turning ""Preserve attributes"" on or off doesn't change the outcome" clemens Active Tickets 4475 MC cannot view .docx files mc-core master Future Releases defect new 2023-06-19T08:54:12Z 2023-06-19T18:53:41Z "Opening MS Word .docx files with F3 button fails. I've looked through doc.sh script and installed all the obscure .docx to text conversion tools listed there - wvHtml, elinks, antiword, catdoc, and none of these tools work with .docx files saved with MS Word 2007 or newer. On the other hand, the default Debian and Ubuntu installation includes LibreOffice out of the box, and LibreOffice can convert any version of .docx file to text using --cat flag. I'm adding a patch to use LibreOffice by default for viewing MS Word documents with F3 button. Tested on MC 4.8.26 on Debian 10." pelya Active Tickets 4495 Core:test_path_length:3 test failure when linked against musl tests master Future Releases defect new 2023-08-20T12:38:40Z 2023-08-20T12:38:40Z "Since at least version 4.8.29, Midnight Commander fails one of its tests when linked against MUSL: path_len.c:116:F:Core:test_path_length:3: Assertion 'actual_length == data->expected_length' failed: actual_length == 12, data->expected_length == 38 The same test passes when mc is linked against glibc. I suspect this might have something to do with how limited iconv support is in MUSL but unfortunately I know nowhere nearly enough about either that libc or mc internals to attempt to fix the problem myself. Version information for both glibc- and musl-linked mc-4.8.30. In either case Midnight Commander was installed directly into a clean test system so different libc implementation should have been the only difference between the two: *** built against musl *** GNU Midnight Commander 4.8.30 Built with GLib 2.76.3 Built with S-Lang 2.3.2 with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; *** built agains glibc *** GNU Midnight Commander 4.8.30 Built with GLib 2.76.3 Built with S-Lang 2.3.2 with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; " Marecki Active Tickets 4528 Can't recursively delete a mode 000 directory mc-core master Future Releases defect new 2024-02-03T09:51:00Z 2024-02-03T10:37:37Z "Steps to reproduce: {{{ mkdir -p 1/2 chmod 000 1/2 }}} Now try to delete 1 and all subdirs recursively: ""Cannot remove directory 1: Directory not empty (39)"". Now enter 1 and you're able to delete 2 just fine. " birdie Active Tickets 28 savannah: syntax highlighting in viewer wanted mcview master Future Releases enhancement new 2008-12-25T15:17:27Z 2016-03-14T21:16:58Z "Original: http://savannah.gnu.org/bugs/?13740 ||Submitted by:||Oswald Buddenhagen ||Submitted on:||Mon 11 Jul 2005 09:52:21 PM UTC|| ||Category:||Viewer||Severity:||1 - Wish|| ||Status:||None||Privacy:||Public|| ||Assigned to:||None||Open/Closed:||Open|| ||Release:||current (CVS or snapshot)||Operating System:||All|| Original submission: {{{ i'd like to see editor-like syntax highlighting in the viewer. i think the easiest (or at least cleanest) solution to achieve this would be merging the viewer into the editor and making a read-only mode. this would obviuosly require drastically changing the memory model of the editor, making it able to handle huge files efficiently - something that wouldn't hurt anyway. }}} " ossi Active Tickets 2047 "Add an option ""Don't traverse mounted file systems"" for ""File find""" mc-core master Future Releases enhancement new 2010-02-21T09:34:00Z 2016-12-17T06:57:23Z Quite often you need to find a file without traversing mounted file systems, please, add an option for that. birdie Active Tickets 3139 undo grouping should be more intelligent mcedit master Future Releases enhancement new 2014-01-05T12:49:40Z 2014-01-05T12:49:40Z "as a followup to #27, i'm creating a new ticket as requested. undo grouping should roughly predict what the user probably wants to undo at once, without grouping too much. i suggest an action/time/space based grouping: - if the user switches to another ""action sequence"" (inserting/overwriting, deleting, navigating, maybe more), he certainly wants it separated from the previous sequence - if he makes a longer break while doing things, he probably expects it when undoing as well. what ""longer"" means is very subjective; a simple adaptive algorithm might make sense - small moves are merged, while big ones aren't. i'm not even sure what the criteria should be here. maybe moves should be generally merged and we should only depend on the other two ""break conditions""." ossi Active Tickets 3163 Several improvements in editor saving behavior mcedit master Future Releases enhancement new 2014-01-27T07:08:55Z 2014-01-28T22:41:05Z "I have created a pull request on GitHub a week ago, kindly review it: https://github.com/MidnightCommander/mc/pull/32 " CyberShadow Active Tickets 3166 Selection of Multiple Adjacent Files/Directories mc-core master Future Releases enhancement new 2014-02-05T21:29:30Z 2014-02-11T19:59:39Z "This is one thing I think mc has been missing. Currently, to select many files/folders, you have to press 'Insert' many times, which is laborious. I think it would be a great improvement if blocks of adjacent files/folders could be selected, possibly by holding Ctrl and pressing the up/down arrow keys." Nick Active Tickets 3169 Additional Appearance options mc-skin master Future Releases enhancement new 2014-02-11T21:48:09Z 2014-02-11T21:48:09Z "Forking from #2165: Currently skins define multiple things: colors, single vs double lines, certain Unicode symbols etc. One might argue that it's the intended behavior: a skin should define all details of the look (but not the layout or behavior). On the other hand, it might be reasonable to decouple these from each other, since that gives more flexibility for those users who don't dig into editing skin files. For all the three ideas listed here there might be scenarios (e.g. Linux console) where one of the two states is not supported, hence currently the available skins are quite limited and moving these properties to separate options significantly increases the number of usable skins. It's also useful because it allows the users to easily create something that visually pleases them more, e.g. I personally prefer single lines but there are some great color schemes using double lines. I have three ideas in mind. At this moment the first two are implemented. 1. Single lines vs. double lines. All the skins were altered to properly define the double line drawing characters. It's a runtime decision whether those are actually used or not. It's not only a personal preference, it's also a workaround for some limited terminals. E.g. my Linux console cannot display double lines, whereas the modarcon* skins specifically designed for console uses double lines. The ""darkfar"" skin is removed, since this was the double-line version of ""dark"". The ""double-lines"" skin was also removed, it's quite like the default with double lines, except for the (IMO very ugly) dark blue menu/button lines. If you prefer to keep this skin, it should be renamed to something else. The ""featured"" skin could probably also be removed, it's almost like ""default"", but uses UTF-8 instead of ASCII compatibility stuff (see the 3rd point). Maybe the whole [Lines] section could be removed from the skins and be hardcoded in mc, I see no reason why anyone would want to redefine them - but in the initial patch it's not removed so I didn't remove any feature. 2. Underlined hotkeys So far all skins used a different color for the hotkey. This is against the common UI approach of using underline, and IMHO results in too much visual clutter (too many colors). My sand256 skin was the only one using underlines (also demoing the then new feature of having underlined attribute). Now you can choose for each skin if you'd prefer the color from the skin, or make the hotkeys underlined (and same color of non-hotkey characters). I've also changed the hotkeys in sand256 to use color instead of underline, so you get two possibilities here just as in any other skins. Technical detail: This required some special hacking, since from now on we use color+attr combos that are not explicitly mentioned in the skin file. I decided to add both kinds of hotkey colors (the special color, as well as the normal color underlined) to the color hashtable, so we can toggle the hotkey look without re-reading the skin and regenerating the color palette. I also thought that this should be private business belonging to the skin engine, rather than branching on the setting all over the code. So I put it in the caching layer, the cached table at the corresponding indexes is populated with either the actual different color, or with the underlined version, depending on the setting. Toggling the setting leaves the hash table intact, requires only the color cache to be regenerated. 3. Unicode symbols Some skins use fancy Unicode symbols, e.g. ↑ and ↓ for sorting order which look really great. Some others use ASCII symbols for compatibility (and then it's quite hard to tell what the arrow's replacement characters actually stand for). Interestingly, even though I don't have double lines on my Linux console, I do have all these fancy Unicode characters. My recommendation is to make all the skins contain fancy Unicode characters, and make it a compatibility UI-checkbox to revert to builtin ASCII characters. This one's not yet implemented." egmont Active Tickets 3186 Base64 and Quoted-Printable decode mcview master Future Releases enhancement new 2014-03-16T14:12:01Z 2015-03-23T15:08:52Z Sometime is needed view files in mbox format. It would be convenient to have a decoder for Base64/QP. asy Active Tickets 3193 mtp plugin mc-vfs master Future Releases enhancement new 2014-04-08T19:01:28Z 2014-04-09T11:01:22Z "There are some mtp implementations out there but they all suck horribly. Would be great to see mc plugin to copy files to/from mtp-capable devices just as easily as it works with sftp now." god12 Active Tickets 3195 """Goto Line"" dialog: goto line:column" mcedit master Future Releases enhancement new 2014-04-11T17:07:00Z 2014-09-05T09:11:30Z "Goto line - as previous. Goto line:column Instead of : any separator can be used (,;. ). Goto line:0 jumps to the bol. " aurel Active Tickets 3199 option to show long operation progress in xterm window title mc-core master Future Releases enhancement new 2014-04-20T09:48:01Z 2014-04-20T09:48:01Z It would be nice to have a feature to show the progress of a long running operation like copy or move in the xterm window title. Maybe ETA would be nice to display too. jan.hradek Active Tickets 3206 Option to skip corrupted files automatically mc-core master Future Releases enhancement new 2014-05-02T21:02:57Z 2014-10-25T10:31:39Z "When MC is copying/moving a number of files in one operation, whenever it encounters a corrupted file, it pauses the whole operation while asks whether to skip the file and deleted the partially-copied file. This method doesn't work very well, because it means that if there are corrupted files, you have to be at your computer to answer these two questions every time MC encounters a new corrupted file. It's very annoying if you start copying a large number of files (that will take many hours), and then go somewhere else and come back after several hours, to find that MC has paused itself 5 minutes after you left, because it encountered a corrupted file. Whenever I'm using MC and it encounters a corrupted file, I always choose to skip the file, and to deleted the partially-copied file. And I imagine most other people do the same. So I think a useful addition, would be an option to make MC automatically skip any corrupted file, and delete the partially-copied file every time, and then at the end of the whole copy/move operation, if MC encountered corrupted files, it could present a list of all the files that it skipped." Nick Active Tickets 3227 Quick cd autocomplete change bevavior. mc-core master Future Releases enhancement new 2014-06-22T10:20:50Z 2014-10-25T10:25:09Z Quick cd autocomplete should offer only directories and directory symlinks, not regular files. gms Active Tickets 3356 More ways to define key sequences mc-tty master Future Releases enhancement new 2014-12-04T01:03:58Z 2014-12-04T01:03:58Z "Currently, mc works in the following way: * by default some set of sequences is recognized ('mc_default_keys'); * if TERM value starts with ""xterm"" (or some other predefined strings), some more sequences are recognized ('xterm_key_defines'); * if TERM value starts with ""qansi-m"", some more sequences are recognized ('qansi_key_defines'). However, such hard-coded way is not the best. 1. More terminal emulators with different key bindings may appear in future, you cannot hard-code all them now. 2. User may need some xterm-like key-sequences not only in xterm or xterm-compatible terminals. (But faking TERM=xtermyyy or passing --xterm/-x is not an option, because this causes not only key-handling-change, but also other changes behavior.) Solutions: 1. At least, --xterm/-x flag must be split into several flags like --keys-as-in-xterm, --aaa-as-in-xterm, --bbb-as-in-xterm; --keys-as-in-qansi. 2. At most, xterm_key_defines/qansi_key_defines should be read from config files, e.g.: > BRACKETED_PASTING_START = ""\033[200~"" > BRACKETED_PASTING_END = ""\033[201~"" > if xterm*|iris-ansi*|rxvt*|screen* > F1 = ""\033OP"" > [...] > end > if qansi-m > CTRL+NPAGE = ""\033[u"" > [...] > end Prehistory: I was annoyed that Ctrl+Left and Ctrl+Right keys generate the same ascii codes as Left and Right on tty's (unlike in xterm; so bash can't recognize Ctrl+Left and Ctrl+Right on tty's, but can in xterm), so I modified system configs to force Ctrl+Left/Ctrl+Right to generate on tty's exactly the same ascii codes as in xterm). After that C-Left, C-Right stopped working in mc. This itself is not a bug; it is expected behavior (I changed ascii codes -- and mc no more recognizes them -- obviously). However, I expected to fix this by changing terminfo files (as C-Left, C-Right were still working in mc in xterm, I expected that different behavior of mc on tty1 and in xterm was caused by differences in ""linux"" and ""xterm"" terminfo files). However, to my surprise, it appeared that mc's behavior depends on the value on the TERM environment variable itself, but not on the correspondent terminfo file. And I cannot workaround this with -x because it introduces more serious bugs." o.pikozh Active Tickets 3367 Add support .editorconfig in mcedit mcedit master Future Releases enhancement new 2014-12-07T15:34:06Z 2021-06-05T11:26:16Z "The .editorconfig file is standart feature in many popular text editors. For more detail see here: http://editorconfig.org/ The C library see here: https://github.com/editorconfig/editorconfig-core-c It would be great if it would support mceditor. " sergeybe Active Tickets 3396 Port help viewer to new viewer engine mc-core master Future Releases enhancement new 2015-02-01T23:24:54Z 2015-02-01T23:24:54Z "As pointed out in ticket:2283#comment:7 and ticket:3250, mc's help viewer suffers from various scrolling issues. mcview's new engine (implemented in 3250) should be extended to handle mc's hlp input format (next to nroff) and to be able to wrap at word boundaries. Then the help viewer should be changed to use this engine." egmont Active Tickets 3436 [patch] support multiple programs to view given file mc-core master Future Releases enhancement new 2015-04-03T13:00:32Z 2015-04-03T13:00:32Z "support multiple programs to view given file this patch introduce helper function and extend pdf program list usually user install only popular choice of program list order rules: 1. old known first (keep compatible characteristics with older mc versions) 2. viewer (faster then editor) 3. editor (tested with bash and busybox sh, please cross check with ksh) Signed-off-by: Andreas Mohr " and Active Tickets 3450 Quickly tag many adjacent files mc-core master Future Releases enhancement new 2015-04-15T09:57:51Z 2015-04-19T12:41:46Z "It happens to me very often that I want to tag many subsequent files in a large directory tree, to later perform some operation on them (typically to copy them to the other panel). E.g. I have a folder of thousands of photos (all the photos copied from my camera), and I want to copy the ones that belong to a certain trip to the pendrive of my friend (e.g. some hundred photos made last weekend, which might happen to be e.g. from DSC_4863.JPG to DSC_5328.JPG). Currently the easiest/quickest solution I'm aware of is to find the first photo somehow (e.g. based on the timestamp), hold Insert or Ctrl+T or Shift+Down and wait for some long tens of seconds until it reaches the end of the list, or a timestamp that's no longer in the desired interval. I'd like to have an equally simple, yet much quicker way of selecting many adjacent files. Approach 1: Faster navigation with keyboard In xterm, pressing Shift+Pgdn highlights many files at once. This is because xterm itself synthesizes multiple Down keypresses, plus mc finds out via the X extension that Shift is pressed. Drawbacks of this method: requires xterm (with certain config options which are apparently set correctly by default for this to work); requires X11 extension; if you reach the end of the file list it's random if the last file becomes highlighted or not (based on parity stuff), and is not extendible for Shift+End highlighting all the way to the end. In gnome-terminal, pressing Shift+Pgdn or Shift+End sends a nice escape sequence (if on the alternate screen; as opposed to the standard behavior of scrolling back in the terminal's history buffer) which could be handled by mc. Drawbacks: specific to vte-based terminals (although other terminals could easily adopt this feature), and Shift+End is already taken for highlighting the command line. Ctrl+Pgdn, Ctrl+End etc. are currently unused, and could be handled. Disadvantage: it's misleading in combination with Shift+Down which highlights and Ctrl+Down which invokes the command line history; these should probably remain this way: it's standard practice to use Shift for highlighting rather than Ctrl. Approach 2: Tag files up to a certain point A completely different and perhaps better approach could be to go in the direction of kinda mimicking the standard graphical (Gtk, Qt, Html...) multiple select UI elements, where Shift+click selects everything from the last tagged entry to the currently highlighted one. There are obvious differences between these two worlds so we can't do exactly the same, but this might be a start. E.g. I could somehow locate the first photo, press Insert, then somehow locate the last photo (it could be by Down, Pgdn, End, or Ctrl+S filename search, doesn't matter), press some other magic keycombo, and everything from the first tagged file up to this point would be highlighted. Approach 3: Extend the Select or Filter dialog Either the ""Select"" dialog (the one that appears when pressing '+') or the F9->Left->Filter dialog could be extended to allow you to specify an interval of filenames. Disadvantages: I'd have to remember two filenames; would probably only allow to specify an interval by filenames and not by any other sorting criteria, or the UI would get way too complicated and the feature would be probably harder/slower to use than tapping on Insert for some ten-twenty seconds. What do you guys think? Any ideas, preferences?" egmont Active Tickets 3533 mcedit: Ctrl+E (go to end of line) and Ctrl+A (go to start of line) shortcuts mcedit master Future Releases enhancement new 2015-10-06T11:21:39Z 2015-10-06T11:27:21Z " PS. Please update the list of hotkeys (it lacks Ctrl + PgUp shortcuts) https://www.midnight-commander.org/wiki/doc/editor/hotkeys" vovan888 Active Tickets 3546 mcview: dim wrapped lines mcview master Future Releases enhancement new 2015-11-04T18:50:21Z 2015-11-04T18:50:21Z "Nowadays I work with large log files. I make my terminal quite wide, many of the lines fit in a line, but still many don't. Some span across maybe 5 or 10 lines, some are even larger. Actually the one that logs my Java classpath is 70kB (!) long, that is, occupying around 10 full screens. If I disable wrapping, the timestamps are nicely aligned below each other, but I miss a lot of important content, have to scroll in two dimensions which is really cumbersome, and it's really hard to tell if a line is very long. If I enable wrapping, I get to see all the content, but it becomes much harder to see where a new log record starts (especially after those extremely long lines). I don't like the approach of Emacs and a couple of other tools that put a special symbol at the beginning or at the end of the line, as it even further increases clutter. My goal is not to be perfectly aware if it's a soft or a hard line wrap. My goal is to reduce the clutter, and unconsciously have a feeling about where logical lines start. To one moment easily focus on all the content at once, and the next moment easily focus on logical lines (log records) and quicky jump to the next one with my eyes. So I came up with this idea and a quick patch: Print the second and subsequent wrapped lines of a paragraph using a dimmer color. See the screenshot. You can try my patch; right now it's only done for the gray* skins, but you can easily change any other skin. F6 is unused in the viewer, it could toggle this mode as an improvement if you like the idea. Opinions welcome! :)" egmont Active Tickets 3604 MC menu files enhanced cmdline for entering VFS? mc-core master Future Releases enhancement new 2016-03-11T07:11:40Z 2016-03-11T20:14:28Z "Please provide the capability for entering VFS from MC menu files enhanced command line. So that in MC menus we could use commands on the lines of what we have in MC extfile: `%cd %p/utar://`. Some use cases I see for this capability right now: 1) Opening ZIP archives containing files with names in different and mixed Cyrillics encodings. 2) Opening directories containing MoinMoin wiki pages subdirs (wiki page `a/b/c` encoded to `a(2f)b(2f)c`, etc.). " yury_t Active Tickets 3628 screen library: ncurses vs ncursesw compilation master Future Releases enhancement new 2016-03-29T16:28:35Z 2023-05-19T18:49:28Z "Currently mc support following screen library (--with-screen=) selection: - slang - ncurses - ncursesw (not documented yet) This leads to imprecision for ncurses, because autoconf logic of ncurses detection deals (partly) with ncursesw too. 1) Exact match/use of ncurses or ncursesw to give full control about ncurses selection. 2) Single ncurses switch with ncursesw lib preference if both libs found. 3) Single ncurses switch with ncurses lib preference if both libs found. 4) Ncurses and ncursesw switch where ncurses switch also prefer ncursesw lib if both libs found. (current state) Before I attach patches, which way is preferred? (I prefer exact match selection) " and Active Tickets 3685 Add hotkey support to labels and groupboxes mc-core master Future Releases enhancement new 2016-09-05T17:54:59Z 2016-09-05T17:54:59Z "Labels and groupboxes should support hotkeys in their text. Pressing the hotkey will move the focus to the following focus-able widget (e.g., input, listbox, radio). This is like `