__group__ ticket summary component version milestone type owner status created _changetime _description _reporter 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 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 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 4170 Move CI from Travis to GitHub Actions adm master Future Releases enhancement new 2021-01-10T15:00:52Z 2024-01-21T14:54:16Z https://www.jeffgeerling.com/blog/2020/travis-cis-new-pricing-plan-threw-wrench-my-open-source-works zaytsev Active Tickets 2246 Install and configure Trac <-> email gateway adm task zaytsev new 2010-06-23T15:42:59Z 2015-06-16T19:36:32Z "Points to consider: 1) https://subtrac.sara.nl/oss/email2trac/wiki/Email2tracInstallation 2) We don't really need attachments, have to disable it 3) Mailing list subscribed to Trac notifications -> replies go directly into Trac 4) Problem with code review: another mailing list subscribed to all branches commits? Comments welcome." zaytsev Active Tickets 4524 Prepare for release mc-4.8.32 adm master 4.8.32 task new 2024-01-27T08:44:20Z 2024-02-11T17:01:46Z zaytsev Active Tickets 1439 update documentation system adm Future Releases task new 2009-08-02T08:54:24Z 2009-08-02T08:54:24Z "I propose generate manuals (man pages, and maybe other user documentation) from wiki, cause it more user friendly and easy to update. i.e. wiki->docbook(via trac)->docbock2man for man pages. on each preX/release man pages will update from wiki." iNode Active Tickets 2335 MC isn't GNU project anymore, is it? adm 4.7.3 Future Releases task new 2010-08-29T10:31:57Z 2015-04-06T05:31:16Z "From the front page: ""GNU Midnight Commander is a visual file manager, licensed under GNU General Public License and therefore qualifies as Free Software."" 1. current mc development is not maintained within GNU project, 'their' unforked abandonware resides under http://ftp.gnu.org/gnu/mc/ 2. I doubt current mc is about free as mind and philosophy by RMS, it's more like engineering freedom by Eric Raymond or Linus Torvalds and being licensed under GPL doesn't equal to Free Software, it's just Open Source Software. I suggest s/GNU Midnight Commander/Midnight Commander/g and s/Free Software/Open Source Software/g on all the web pages, documentation and sources. Inasmuch as the latter one (FS->OSS) is just my opinion and I leave it to you for consideration, the former one (GNU mc->mc) is a fact." gotar Active Tickets 2972 Cannot delete account on here, Trac detected an internal error adm defect new 2013-02-26T10:39:22Z 2015-06-18T18:32:20Z "When I try to remove my account from here, I get an error: ========== Oops… Trac detected an internal error: NameError: global name 'acctmgr' is not defined There was an internal error in Trac. It is recommended that you notify your local Trac administrator with the information needed to reproduce the issue. To that end, you could a ticket. The action that triggered the error was: POST: /prefs/account TracGuide — The Trac User and Administration Guide ========== And sorry, I am not sure to which ""Component"" to place this..." alex18 Active Tickets 2147 create a skin repository adm task new 2010-04-19T16:08:33Z 2016-02-25T21:00:11Z "what about setting a page in the wiki with a skin repository where people can contribute their shining new skins? something like: http://www.vi-improved.org/color_sampler_pack/ with a screenshot and a link to the ini file, and the possibility to upload new ones. would be nice to have this some day :)" buenchaval 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 2348 """file"" command detection at buildtime breaks crosscompile + isolated builds" cross-compilation master Future Releases defect new 2010-09-14T11:15:58Z 2019-08-08T21:29:05Z "See configure.in:383 It tries to detect how to run the file command. On builds for systems other than the running one, this has great chance of going wrong: Building system can never be assumed to be the target one. There is no way to detect that at buildtime whatsoever (only having the user to explicitly specifying it), so that should happen at runtime (if really necessary at all). " metux Active Tickets 2691 Error (cross)compiling mc 4.8.1 cross-compilation master Future Releases defect new 2011-12-16T13:51:44Z 2021-12-07T05:57:44Z "The configure script seems to work correct. In config.h the variables {{{ STAT_STATVFS STAT_STATVFS64 STAT_STATFS2_FS_DATA STAT_READ_FILSYS }}} '''are undefined.''' In this case there is an error compiling mc: {{{ mountlist.c: In function 'get_fs_usage': mountlist.c:1442: error: 'fsd' undeclared (first use in this function) }}} There IS a bug in defines in the function get_fs_usage(...) " zyxmon 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 3767 Document the left/right menu panelize command documentation master Future Releases defect mooffie accepted 2017-01-27T16:49:50Z 2021-04-08T06:22:53Z "I can't find any information in the internal help, or man page, or wiki, about the ""Panelize"" command in the ""Left"" or ""Right"" menu. I suspect this is related to the (well documented) ""External panelize"" command, but when I select it, I'm left clueless with an empty panel. Now what? " cri Active Tickets 2920 Better skin files documentation master Future Releases enhancement new 2012-11-02T21:11:33Z 2017-01-23T00:58:20Z "I forked and improved a theme called ""solarized"". I made a few improvements: 1. Adding comments on each line. 2. Collecting all variables I could find. I shouldn't explain why this is necessary - The documentation at the moment is pure garbage, and it took me a while to collect all entries, and a while more to understand what each entry does. It is still incomplete, and I hope some could help with the stuff I, personally, don't use (like the editor or viewer), or refer to the TODO's there to help explain entries I couldn't find or understand. You are free to view it here: https://github.com/iwfmp/mc-solarized-skin" iwfmp Active Tickets 3734 Improve the syntax documentation documentation master Future Releases task new 2016-11-30T18:36:55Z 2019-09-28T08:18:05Z "There are several features not documented well, or not documented at all: [I'll edit this text from time to time to improve and extend it. Everybody: feel free to add comments and I'll incorporate them here. When we're finished we'll convert this to nroff format.] == Star Matches any length of characters (except newline). To be exact, it matches any character which is not the next one in the pattern. This effectively makes it ""non-greedy"" and lets you do `${*}` to match a shell variable. == Plus Surprisingly, it does **not** mean ""match 1 or more characters"". TODO. == Braces `\{chars\}` matches one character. == Brackets `\[chars\]` matches 0 or more characters. It's **greedy**, which means that if ''chars'' contains any of the characters appearing later in the pattern then the match will fail. (TODO: what's the purpose of ""`if (p[1] == d) i--;`"" introduced in commit df20f28f2e2b614 ?) == Misc * Pressing C-s twice effectively reloads the syntax file (so you don't have to exit the editor, or MC itself, to test your syntax modifications)." mooffie Active Tickets 3970 "No help for ""File exists"" dialog" documentation master Future Releases defect new 2019-02-17T08:46:03Z 2019-02-17T08:46:03Z "There is no help for file overwrite query dialog: {{{ Cannot find node [Replace] in help file }}} " andrew_b Active Tickets 3733 Add the 'ENVIRONMENT VARIABLES' section to the manual page documentation master Future Releases enhancement new 2016-11-29T08:48:30Z 2016-11-29T08:49:16Z Add the 'ENVIRONMENT VARIABLES' section to the manual page and describe there all MC's environment variables: MC_KEYMAP, MC_SKIN, MC_TMPDIR, etc. andrew_b Active Tickets 1561 Help for editor dialogs documentation master Future Releases task andrew_b reopened 2009-08-23T14:44:33Z 2019-09-28T08:20:07Z "'Search', 'Replace', 'Options', 'Save Mode' editor dialogs don't have help (F1). " andrew_b Active Tickets 3726 Fix doc about 'default' fg/bg color documentation master Future Releases defect new 2016-11-14T21:49:50Z 2016-11-14T21:49:50Z "The manual page says: ""The possible colors are: [...] And there is a special keyword for transparent background. It is 'default'. The 'default' can only be used for background color."" Apparently this restriction is not true, the word 'default' can stand either at the foreground or at the background color position (or even both), meaning the default fg or bg color of the terminal emulator, respectively. We should rephrase the above sentence (which would probably imply omitting the word ""transparent"" and go for the ""terminal emulator's default"" instead). (We should double check that it works in ncurses too, I've checked with slang.) This is useful e.g. in order to say this in a skin file: {{{ [core] commandlinemark = default;default;reverse }}} " egmont Active Tickets 3778 "No help for ""History-query""" documentation master Future Releases defect new 2017-02-27T22:22:58Z 2017-02-27T22:24:14Z "Press Alt-H followed by F1. This error dialog pops up: {{{ Cannot find node [History-query] in help file }}}" egmont Active Tickets 3909 Enhancement: support includes for user menu mc-config-ini master Future Releases enhancement new 2018-04-09T19:57:51Z 2018-04-09T19:57:51Z "imo it would be a great thing if mc supports includes as many other programs do. this would make it more modular, 3rd party software could use it to package mc-specific menus etc. the idea is to have a "".d"" directory not only for external scripts (ext.d), virtual filesystems (extfs.d) but also for user menus (menu.d?)." jose1711 Active Tickets 2744 Normal work on read-only file systems mc-config-ini master Future Releases enhancement new 2012-03-09T12:30:56Z 2014-11-04T18:31:54Z "Related to #2738 We should continue work even if mc don't have ability to save config files (or don't read configs). This will be useful to run mc on read only filesystems, for example. " slavazanko Active Tickets 1875 [METATICKET] Change user configuration mc-config-ini 4.7.5 Future Releases task slavazanko accepted 2009-12-15T07:31:27Z 2011-11-06T07:28:39Z "1. Move user mc configuration into ~/.config/mc in according with [http://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html FDO standard] (#1851). 2. Split [Midnight-Commander] section to several sections. 3. Store options of all dialogs (as possible) in config (#1572, #1874)" andrew_b Active Tickets 1633 New syntax and extension configuration mc-config-ini master Future Releases enhancement new 2009-09-21T14:49:08Z 2020-10-08T20:20:03Z "Currently, syntax and ext configuration is done by having a single, long file with many entries in it; if you want to add something, you have to patch this central file and if something changes in upstream, you end up having to port a jillion tiny patches to get it to work again. And upstream does change :) So, here's a new idea: Let's split Syntax (as in the central Syntax settings file) and mc.ext into small chunks and put those in separate files into a subdirectory. So for example ext/ in MC's share dir. MC will then slurp those files in alphabetic order, and keep that configuration in memory. For extra coolness: if inotify (or something similar) is available, alter configuration when a file changes. So, basically if MC doesn't by default have an ext setting for PDF files, I can drop a file called anything into ext/ (common sense would say I'd call it ""pdf""), and it would contain the ext rules for PDF files. If I want to override MC's built-in rules, I could either patch the upstream pdf ext file, or drop in something that comes earlier in the alphabet, like 00-pdf. Similarly, if I want to add CSS highligh support, I'll drop a ""css"" file with the Syntax setup into syntaxrules/ and add a css.syntax to the highlighters/ directory or something. This has the benefit that a distro, doing distro-specific things or having additions that haven't been accepted to upstream yet, can easily have a bunch of additions in these directories without needing to worry about upstream breaking hundreds of patches; and modifications are also smaller and less prone to break. Also, the syntax of the Syntax and mc.ext files does not need to get changed and the syntax highlighter rule files (*.syntax) are unaffected by this. The drawback is, of course, that this needs to be coded and it takes a bit of time to chew through all those files." ralesk Active Tickets 2426 default panels.ini mc-config-ini 4.7.4 Future Releases enhancement new 2010-11-21T07:31:07Z 2013-03-15T15:32:57Z Folks, is it possible to make panels.ini behave in the same way as mc.ini? I.e. when user has no panels.ini in his home folder, automatically copy /etc/mc/panels.ini as default one (if present). LwarX Active Tickets 3128 dataloss: moving a file and skipping upon problem deletes original file mc-core 4.8.11 Future Releases defect new 2013-12-20T12:32:25Z 2019-05-06T21:14:14Z "move a file to some location that causes a problem (for example, unable to chown it on the other side over ssh/shell link). when mc complains, choose 'skip'. target file is not closed, but original file is still deleted. reproduced with 4.8.4 in opensuse 13.1 and 4.8.11 in debian testing. opensuse report : https://bugzilla.novell.com/show_bug.cgi?id=856501" richlv 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 4510 The problem with copying to the same partition mc-core 4.8.30 Future Releases defect new 2023-11-19T11:06:51Z 2023-11-19T13:33:31Z "partition : 3TB, xfs Linux 6.2.0-36-generic #37~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 9 15:34:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux current version: 4.8.27, tested with 4.8.30, the problem persists Copying files to the same partition works very fast, without calculating the size. A huge 1.7 TB directory was copied in 1 second, the du command run from the root of the partition showed a size larger than the partition size in the df command. The copied files are not mapping or link, the modified target file is different from the source file. This problem only occurs when copying files on the same 3 TB partition, copying from another partition to a 3 TB partition works correctly. The cp command on the same partition works correctly. The file system has no errors. " bindto 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 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 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 3198 mc on Solaris 11.1 hangs after copy/move command mc-core 4.8.12 Future Releases defect new 2014-04-19T14:22:12Z 2014-04-19T14:22:12Z "I've noticed one more weirdness of mc 4.8.x on a Solaris 11.1 - it hangs after copy/rename command (F5/F6). The target faile is however copied/moved. mc doesn't hang on F4/F7/F8 (edit/mkdir/delete). It doesn't hang completely - F10 can be pressed and mc exits, just the text information on the screen stops being updated. ps reports mc process is sleeping. when attaching with gdb it reports that mc is in some system call (I have mc built with -g, and gdb doesn't report the routine's name so it's definitely some syscall). mc 4.7.x isn't affected. this is reproducible on 4.8.11 and 4.8.12. mc is built with gcc 4.5.2, with glib 2.40.0 and GNU libiconv. GNU Midnight Commander 4.8.11 Built with GLib 2.40.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 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" drookie 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 3234 filehighlight doesn't work for hardlinks mc-core 4.8.12 Future Releases defect new 2014-07-28T03:12:46Z 2022-05-26T11:40:04Z "The support of hardlinks highlightning was added to mc's filehighlight according to changes log, but it doesn't work as expected. Steps to reproduce: 1. create a hardlink for file; 2. ensure that skin .ini file contains: {{{ [filehighlight] hardlink = red;white }}} and filehighlight.ini: {{{ [hardlink] type=HARDLINK }}} 3. look at a hardlink in a panel Actual result: - no hardlink hightlight Expected result: - working hightlightning for hardlinks" mc_user 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 3344 screen+mc: keys up/down skipping mc-core 4.8.13 Future Releases defect new 2014-11-22T15:53:56Z 2015-02-21T14:38:20Z "since version 4.8.9 mc skips some keys up/down 1) start screen (or tmux) 2) start mc (version > 4.8.8) 3) press UP (or DOWN) several times (some of them will be skipped) " shamilbi Active Tickets 3345 Subshell not working in GNU screen mc-core 4.8.13 Future Releases defect new 2014-11-23T05:03:37Z 2015-11-09T10:40:13Z "Tried on Arch LInux and OSX, but subshell doesn't work if in GNU screen Screencast: https://www.youtube.com/watch?v=hMVAVZCj8lI Arch bug report: https://bugs.archlinux.org/task/42873 $ env TERM_PROGRAM=iTerm.app TERM=xterm-256color SHELL=/bin/bash HISTSIZE=5000 CLICOLOR=1 TMPDIR=/var/folders/xn/2cw7yp3573z4jr69frj4_b700000gn/T/ Apple_PubSub_Socket_Render=/tmp/launch-mPjxcw/Render HISTFILESIZE=5000 USER=mike COMMAND_MODE=unix2003 SSH_AUTH_SOCK=/tmp/launch-I9rIWN/Listeners Apple_Ubiquity_Message=/tmp/launch-Vxo4Zm/Apple_Ubiquity_Message __CF_USER_TEXT_ENCODING=0x1F5:0:0 PAGER=less LSCOLORS=GxFxCxDxBxegedabagaced PATH=/usr/local/mysql/bin:/opt/phpunit/bin:/opt/local/bin:~/bin:/opt/newsbeuter/bin:/opt/local/sbin:/opt/elasticsearch/bin:/opt/links/bin:~/Downloads/android/sdk/platform-tools:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin LOCALE=UTF-8 PWD=/Users/mike DBUS_LAUNCHD_SESSION_BUS_SOCKET=/tmp/launch-riF24S/unix_domain_listener EDITOR=vim LANG=en_US.UTF-8 ITERM_PROFILE=Default PS1=\[\033k\033\\\]\u@\h:\w\$ HISTIGNORE=&:ls:[bf]g:exit:config:netrc:clear HISTCONTROL=ignoreboth SHLVL=1 HOME=/Users/mike COLORFGBG=7;0 ITERM_SESSION_ID=w0t0p0 LESS=-i-P%f (%i/%m) Line %lt/%L LOGNAME=mike VISUAL=vim LC_CTYPE=en_US.UTF-8 SECURITYSESSIONID=186a5 _=/usr/bin/env $ cat .bashrc # # ~/.bashrc # # http://stefaanlippens.net/my_bashrc_aliases_profile_and_other_stuff # If not running interactively, don't do anything # [[ $- != *i* ]] && return # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval ""$(dircolors -b ~/.dircolors)"" || eval ""$(dircolors -b)"" fi # Set terminal colors # http://it.toolbox.com/blogs/lim/how-to-fix-colors-on-mac-osx-terminal-37214 alias ls='ls --color=auto -Fh' if [ ""$(uname)"" == ""Darwin"" ]; then export CLICOLOR=1 export LSCOLORS=GxFxCxDxBxegedabagaced alias ls='ls -GFh' fi if [ ""$(uname)"" == ""Linux"" ]; then alias pbcopy='xsel --clipboard --input' alias pbpaste='xsel --clipboard --output' fi export PS1='\u@\h:\w\$ ' export LANG=""en_US.UTF-8"" export LOCALE=""UTF-8"" export LC_CTYPE=""en_US.UTF-8"" export HISTSIZE=5000 export HISTFILESIZE=5000 export HISTIGNORE=""&:ls:[bf]g:exit:config:netrc:clear"" export HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend shopt -s cmdhist shopt -s cdspell # Make bash check its window size after a process completes shopt -s checkwinsize if [ -f /opt/local/etc/bash_completion ]; then source /opt/local/etc/bash_completion fi [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion [ -r /usr/share/git/completion/git-prompt.sh ] && . /usr/share/git/completion/git-prompt.sh # http://hints.macworld.com/article.php?story=20031015173932306 PROMPT_COMMAND='echo -ne ""\033]0;${HOSTNAME%%.*}: ${PWD/#$HOME/~}\007""' case ""$TERM"" in screen*) # https://stackoverflow.com/a/2069095 export PS1='\[\033k\033\\\]'$PS1 ;; xterm-256*) # https://stackoverflow.com/a/2069095 export PS1='\[\033k\033\\\]'$PS1 ;; esac alias ll='ls -Fhla' alias lsize='ls -FShla' alias vi='vim' alias ss='ssh -C' alias cp='cp -v' alias mv='mv -v' alias rm='rm -iv' alias grep='grep --color=auto' # alias grep='grep -n --colour=auto --exclude-dir=\.svn --exclude-dir=\.git' alias server='open http://localhost:8000 && python -m SimpleHTTPServer' alias xlock='xlock -mode blank' " michalzuber 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 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 3570 xorriso under mc is slow to open an ISO mc-core 4.8.15 Future Releases defect new 2015-11-25T14:39:01Z 2015-12-05T10:10:18Z "I opened a Debian Jessie netinst ISO (about 320MiB in size). xorriso was on the system and it took about 20 seconds to display the contents. Remove xorriso from the system and isoinfo displays them almost instantaneously. This happened with versions 4.8.13 and 4.8.15. Please see Debian bug #805495 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805495 Regards, Brian." copernicus 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 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 3792 mc clear prompt for subshell when shell is tcsh and uses their own mc-core 4.8.19 Future Releases defect new 2017-03-13T12:03:22Z 2017-03-13T12:03:22Z "For ages I have tcsh as login shell. And for ages have in .cshrc this prompr setting ''set prompt = ""%{\033[1;32m%}${mch:q}:%{\033[1;34m%}[$USER]%{\033[1;36m%} \!>%{\033[0m%} ""'' Prior to 4.8.16 mc uses this format of prompt. Since 4.8.16 it ignores my prompt and uses their own, which I cannot change. To make mc to use my own prompt I forced to edit src/subshell/common.c." citycat4 Active Tickets 3798 MC is leaking a pipe to executed programs mc-core 4.8.19 Future Releases defect new 2017-03-24T12:03:48Z 2017-03-24T12:11:19Z "GNU Midnight Commander 4.8.19 Steps to reproduce the bug: 1. Run ""sleep 100"" from Midnight Commander 2. Run ""htop"" in another terminal 3. Find ""sleep 100"" in htop and press ""l"" to list open files 4. The list of open files contains ""8 FIFO 0xa 3977158 pipe"" Expected result: 4. The list of open files does not contain ""8 FIFO 0xa 3977158 pipe""" 0xe2.0x9a.0x9b 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 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 3833 MC flickers when viewing or opening images in external viewer mc-core 4.8.19 Future Releases defect new 2017-07-03T18:06:01Z 2017-07-03T19:27:14Z "I have a window viewer opened next to MC. I have configured MC to send the file name to the viewer on Enter or F3. MC flickers for a split second (goes to console and back, sort of) each time I view an image. This issue can also be reproduced with the following mc.ext: regex/i/\.(jpeg|jpg) View=cat %f > /dev/null& Then find a bigger .jpg, and hit F3. With smaller .jpg there seems to be no issue." 48dx3 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 3907 fix for ticket #2626 breaks completion in some cases mc-core 4.8.20 Future Releases defect new 2018-03-27T19:30:45Z 2018-03-27T19:30:45Z "I refer to the part in lib/widget/input_complete.c. If - for example - there's a dir with spaces in its name, that has subdirs, completion for the dir is correct, but to reach the subdirs with completion, you need to manually unquote the string. That likely means that this quoting should be done in a different place, though I can't yet figure out where." mnk 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 3945 ssh vfs: network problems during move operation resulted in deleted local file and partial remote file mc-core 4.8.21 Future Releases defect new 2018-11-02T12:11:20Z 2019-05-06T09:13:51Z "While using F6 to move a file from the local system to a remote ssh server in the other panel (using the ssh VFS), something went wrong on the network, I got two red error popups mentioning some input/output or pipe error (sorry I can't be more precise, I skipped them quickly), and as a result the remote copy was incomplete (truncated), but the local copy was removed, so I lost my file. This never occurred to me before. Sometimes I had such network problems while transferring files using the FTP (not SSH) VFS: MC asked if I wanted to keep/delete the partial file on the remote system, but NEVER removed the local file! Since I skipped through the red popup alerts very quickly accepting the default choices, I'm not 100% sure if this is really a bug in the SSH VFS, or if I made a mistake with the popups (but in this case the default choices in the popup should NEVER allow deleting a file when the copy/move operation was not successful!) " cri Active Tickets 3952 No move dialog shown, mc unresponsive mc-core 4.8.21 Future Releases defect new 2018-12-21T13:39:35Z 2018-12-21T16:07:28Z "When moving one file/directory sometimes no move dialog is drawn. File is moved in background but mc does not respond to input and default move shortcut actions like skip/suspend/abort. I have experienced this problem while moving files from nfs share to mounted disk. My mc-4.8.21 is compiled with: X, edit, gpm, nls, samba, sftp, slang, unicode, xdg enabled." kayvax 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 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 4071 Sometimes mc hangs on directory change mc-core 4.8.24 Future Releases defect new 2020-03-19T20:00:49Z 2023-12-19T19:10:13Z "I use mc 4.8.24 on mac os 10.15.3 {{{ ❯ env LC_MESSAGES=C /opt/mc/bin/mc -V GNU Midnight Commander unknown Built with GLib 2.64.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, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} {{{ ❯ /opt/mc//bin/mc --configure-options '--prefix' '/opt/mc' '--without-x' '--with-screen=slang' '--disable-doxygen-html' '--disable-doxygen-dot' '--disable-doxygen-doc' 'CFLAGS=-O0 -g -ggdb' 'LDFLAGS=-L/usr/local/opt/gettext/lib -L/usr/local/opt/gettext/lib' 'CPPFLAGS=-I/usr/local/opt/gettext/include -I/usr/local/opt/gettext/include' }}} fish shell, version 3.1.0 Sometimes, then I press enter to change directory mc just hangs. Also, there is a zombie kill process after that Backtrace from mc: {{{ (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP * frame #0: 0x00007fff73a3a3b2 libsystem_kernel.dylib`__sigsuspend + 10 frame #1: 0x00000001002f9394 mc`synchronize at common.c:497:9 frame #2: 0x00000001002f81ba mc`feed_subshell(how=0, fail_on_error=0) at common.c:609:13 frame #3: 0x00000001002f87e8 mc`do_subshell_chdir(vpath=0x00007fa164c0f8b0, update_prompt=0) at common.c:1345:5 frame #4: 0x0000000100276299 mc`subshell_chdir(vpath=0x00007fa164c0f8b0) at panel.c:3234:9 frame #5: 0x00000001002745f6 mc`_do_panel_cd(panel=0x00007fa164c0ec70, new_dir_vpath=0x00007fa164c0f570, cd_type=cd_exact) at panel.c:3275:5 frame #6: 0x00000001002744e3 mc`do_panel_cd(panel=0x00007fa164c0ec70, new_dir_vpath=0x00007fa164c0f570, cd_type=cd_exact) at panel.c:4628:9 frame #7: 0x00000001002758be mc`do_cd(new_dir_vpath=0x00007fa164c0f570, exact=cd_exact) at panel.c:5028:11 frame #8: 0x0000000100279e76 mc`do_enter_on_file_entry(fe=0x00000001008670b8) at panel.c:2795:14 frame #9: 0x000000010027865e mc`do_enter(panel=0x00007fa164c0ec70) at panel.c:2855:12 frame #10: 0x00000001002765c1 mc`panel_execute_cmd(panel=0x00007fa164c0ec70, command=1) at panel.c:3446:9 frame #11: 0x00000001002763f4 mc`panel_key(panel=0x00007fa164c0ec70, key=10) at panel.c:3608:20 frame #12: 0x0000000100272655 mc`panel_callback(w=0x00007fa164c0ec70, sender=0x0000000000000000, msg=MSG_KEY, parm=10, data=0x0000000000000000) at panel.c:3688:16 frame #13: 0x000000010023075a mc`send_message(w=0x00007fa164c0ec70, sender=0x0000000000000000, msg=MSG_KEY, parm=10, data=0x0000000000000000) at widget-common.h:216:15 frame #14: 0x0000000100231a16 mc`dlg_key_event(h=0x00007fa164f05d90, d_key=10) at dialog.c:489:19 frame #15: 0x0000000100231439 mc`dlg_process_event(h=0x00007fa164f05d90, key=10, event=0x00007ffeef9f5640) at dialog.c:1134:9 frame #16: 0x0000000100231d48 mc`frontend_dlg_run(h=0x00007fa164f05d90) at dialog.c:545:9 frame #17: 0x0000000100231b8e mc`dlg_run(h=0x00007fa164f05d90) at dialog.c:1167:5 frame #18: 0x000000010026d8ed mc`do_nc at midnight.c:1836:16 frame #19: 0x000000010020bb92 mc`main(argc=1, argv=0x00007ffeef9f5808) at main.c:405:21 frame #20: 0x00007fff738d97fd libdyld.dylib`start + 1 frame #21: 0x00007fff738d97fd libdyld.dylib`start + 1 (lldb) frame variable (lldb) up frame #1: 0x00000001002f9394 mc`synchronize at common.c:497:9 494 495 /* Wait until the subshell has stopped */ 496 while (subshell_alive && !subshell_stopped) -> 497 sigsuspend (&old_mask); 498 499 if (subshell_state != ACTIVE) 500 { (lldb) frame variable (sigset_t) sigchld_mask = 524288 (sigset_t) old_mask = 0 }}} Backtrace from fish (part of): {{{ frame #2: 0x00000001012380fe fish`exec_external_command(parser=0x00007fb2e2d02030, j=std::__1::shared_ptr::element_type @ 0x00007fb2e2f0f3c8 strong=2 weak=1, p=0x00007fb2e2f0f530, proc_io_chain=0x00007ffeeeb43930) at exec.cpp:573:17 570 // We successfully made the attributes and actions; actually call 571 // posix_spawn. 572 int spawn_ret = -> 573 posix_spawn(&pid, actual_cmd, &actions, &attr, const_cast(argv), 574 const_cast(envv)); 575 576 // This usleep can be used to test for various race conditions (const char *) actual_cmd = 0x00007ffeeeb435d1 ""/bin/kill"" }}} " olfway 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 4138 Right to left language (like Hebrew) causes name and size columns to be switched mc-core 4.8.24 Future Releases defect new 2020-10-23T00:55:12Z 2024-01-04T05:12:08Z "When displaying directories or file names that are of both English and Hebrew the size column contents is shifted to the left and the name is shifted to the right for Hebrew names. $ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.24 Built with GLib 2.62.4 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 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; $ mc --configure-options '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' 'PYTHON=/usr/bin/python3' '--disable-rpath' '--enable-charset' '--enable-largefile' '--enable-vfs-cpio' '--enable-vfs-extfs' '--enable-vfs-fish' '--enable-vfs-ftp' '--enable-vfs-sfs' '--enable-vfs-sftp' '--enable-vfs-smb' '--enable-vfs-tar' '--with-x' '--with-gpm-mouse' '--with-screen=slang' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' 'LDFLAGS=-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' " ygoldfill Active Tickets 4162 Missing character breaks mc's lines mc-core 4.8.25 Future Releases defect new 2020-12-23T20:11:41Z 2021-03-15T13:31:03Z "Version 4.8.25 There's an unprintable character in one of my file names. In mc, the missing character causes the lines to break. See attached screenshot." Nick 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 4243 Persistent command line buffer for subshell does not work under Mac OS mc-core 4.8.26 Future Releases defect new 2021-05-17T02:58:46Z 2022-05-16T20:33:50Z "This feature doesn't work for me under Mac OS 10.15.7 MC behaves as it was before this feature was implemented. When you type a command in the panel then switch to subshell the typed command is not carried over to the subshell and vice versa. {{{ > LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.26 Built with GLib 2.66.4 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 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: /Users/user Profile root directory: /Users/user [System data] Config directory: /usr/local/Cellar/midnight-commander/4.8.26/etc/mc/ Data directory: /usr/local/Cellar/midnight-commander/4.8.26/share/mc/ File extension handlers: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/ext.d/ VFS plugins and scripts: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/ extfs.d: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/extfs.d/ fish: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/fish/ [User data] Config directory: /Users/user/.config/mc/ Data directory: /Users/user/.local/share/mc/ skins: /Users/user/.local/share/mc/skins/ extfs.d: /Users/user/.local/share/mc/extfs.d/ fish: /Users/user/.local/share/mc/fish/ mcedit macros: /Users/user/.local/share/mc/mc.macros mcedit external macros: /Users/user/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /Users/user/.cache/mc/ }}} {{{ > mc --configure-options '--disable-debug' '--disable-dependency-tracking' '--disable-silent-rules' '--prefix=/usr/local/Cellar/midnight-commander/4.8.26' '--without-x' '--with-screen=slang' '--enable-vfs-sftp' 'CC=clang' 'PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/pcre/lib/pkgconfig:/usr/local/opt/openssl@1.1/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig:/usr/local/opt/sqlite/lib/pkgconfig:/usr/local/opt/tcl-tk/lib/pkgconfig:/usr/local/opt/xz/lib/pkgconfig:/usr/local/opt/python@3.9/lib/pkgconfig:/usr/local/opt/glib/lib/pkgconfig:/usr/local/opt/libssh2/lib/pkgconfig:/usr/local/opt/libpng/lib/pkgconfig:/usr/local/opt/s-lang/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/10.15' }}} {{{ > echo $BASH_VERSION 5.1.8(1)-release }}} Same version of mc and same version of bash running in the same terminal (kitty) works perfect under Linux. I don't know if the problem is related but every time I run command in the panel I see it duplicated when I switch to subshell. For example: {{{ > ls > ls file1 file2 file3 }}} Another observation which may be related or not. It looks like MC corrupts my PROMPT_COMMAND. Before starting MC my prompt command is something like: {{{ command1;command2;command3 }}} When MC is running the PROMPT_COMMAND is: {{{ command1;command2;command3 pwd>&8;kill -STOP $$ }}} " memy Active Tickets 4253 subshell/common.c/init_subshell interferes with read in .zshrc causing 10 second mc startup delay mc-core 4.8.26 Future Releases defect new 2021-05-30T10:40:15Z 2021-06-12T17:09:08Z "== Steps to reproduce == {{{#!sh $ cd $(mktemp -d); exec env -i HOME=$PWD TERM=$TERM zsh -f % print -r ""typeset -F SECONDS print -nr \$'\e[6n' # We query the terminal for info. IFS=\$'\e[;' read -Asd R -- reply # We read the terminal's reply. print \$SECONDS "" > .zshrc % exec zsh # Starting zsh is still instantaneous. 0.0557880000 % SECONDS=0; mc; print $SECONDS # Starting mc is now really slow. 11.5728380000 % }}} The problem is here: https://github.com/MidnightCommander/mc/blob/a88a626e76139259e5b6fc0db39045f051e243dd/src/subshell/common.c#L1378 You print commands to the shell as if it were user input or terminal input. This interferes with the `read` statement in the `.zshrc` file: The terminal's reply is now buried inside the characters you are printing. As a result, the `read` statement hangs until it times out and most of the commands you print don't get executed. == Expected behavior == Don't print to the shell. If you want to execute commands, just pass them straight to Zsh by using the `-c` flag. See https://zsh.sourceforge.io/Doc/Release/Invocation.html#Invocation-2 == `mc` debug info == {{{#!sh % LC_MESSAGES=C mc -F Home directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX Profile root directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX [System data] Config directory: /usr/local/Cellar/midnight-commander/4.8.26/etc/mc/ Data directory: /usr/local/Cellar/midnight-commander/4.8.26/share/mc/ File extension handlers: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/ext.d/ VFS plugins and scripts: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/ extfs.d: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/extfs.d/ fish: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/fish/ [User data] Config directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.config/mc/ Data directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/ skins: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/skins/ extfs.d: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/extfs.d/ fish: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/fish/ mcedit macros: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/mc.macros mcedit external macros: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.cache/mc/ % LC_MESSAGES=C mc -F mc --configure-options Home directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX Profile root directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX [System data] Config directory: /usr/local/Cellar/midnight-commander/4.8.26/etc/mc/ Data directory: /usr/local/Cellar/midnight-commander/4.8.26/share/mc/ File extension handlers: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/ext.d/ VFS plugins and scripts: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/ extfs.d: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/extfs.d/ fish: /usr/local/Cellar/midnight-commander/4.8.26/libexec/mc/fish/ [User data] Config directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.config/mc/ Data directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/ skins: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/skins/ extfs.d: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/extfs.d/ fish: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/fish/ mcedit macros: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/mc.macros mcedit external macros: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /private/var/folders/24/37_vm48s2tz9bhmj1rzffvl40000gn/T/tmp.J1v4nVJX/.cache/mc/ '--disable-debug' '--disable-dependency-tracking' '--disable-silent-rules' '--prefix=/usr/local/Cellar/midnight-commander/4.8.26' '--without-x' '--with-screen=slang' '--enable-vfs-sftp' 'CC=clang' 'PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/pcre/lib/pkgconfig:/usr/local/opt/openssl@1.1/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig:/usr/local/opt/sqlite/lib/pkgconfig:/usr/local/opt/tcl-tk/lib/pkgconfig:/usr/local/opt/xz/lib/pkgconfig:/usr/local/opt/python@3.9/lib/pkgconfig:/usr/local/opt/glib/lib/pkgconfig:/usr/local/opt/libssh2/lib/pkgconfig:/usr/local/opt/libpng/lib/pkgconfig:/usr/local/opt/s-lang/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/11' % mc -V GNU Midnight Commander 4.8.26 Built with GLib 2.66.4 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 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; }}}" marlonrichert 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 4382 MC editor running under root cannot save files not belonging to the root user in /tmp mc-core 4.8.28 Future Releases defect new 2022-06-27T07:41:45Z 2022-06-27T18:04:43Z "The error is ""Save as: Cannot save file"" {{{ OS: Fedora 36 MC: 4.8.28 tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,seclabel) }}} Yet, in the root session: {{{ echo 123 >> /tmp/testfile }}} works just fine, so this is a bug in MC. strace shows {{{ symlink(""root@localhost.localdomain.481116"", ""/tmp/.#testfile"") = 0 newfstatat(AT_FDCWD, ""/tmp/testfile"", {st_mode=S_IFREG|0755, st_size=8341, ...}, 0) = 0 chown(""/tmp/testfile"", 1000, 1000) = 0 chmod(""/tmp/testfile"", 0100755) = 0 openat(AT_FDCWD, ""/tmp/testfile"", O_WRONLY|O_CREAT|O_TRUNC, 0100755) = -1 EACCES (Permission denied) }}} In other directories, i.e. real mounted filesystems, this bug doesn't occur." birdie Active Tickets 4392 When connect to ssh server foldernames have strange characters mc-core 4.8.24 Future Releases defect new 2022-07-24T04:23:25Z 2022-07-24T15:37:52Z " When i connected to a ssh server via F9 -> Shellconnection the remote file/foldernames have all the same strange characters and i can't enter any of them. Example: {{{ ?%s ?%s ?%s ?%s ?%s ?%s ?%s ?%s"" -> ""%s ?%s"" -> ""%s ?%s"" -> ""%s ?%s"" -> ""%s }}} {{{ $ mc -V GNU Midnight Commander 4.8.24 Built with GLib 2.63.3 Using the S-Lang library 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 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 -F Home directory: /home/admin Profile root directory: /home/admin [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/admin/.config/mc/ Data directory: /home/admin/.local/share/mc/ skins: /home/admin/.local/share/mc/skins/ extfs.d: /home/admin/.local/share/mc/extfs.d/ fish: /home/admin/.local/share/mc/fish/ mcedit macros: /home/admin/.local/share/mc/mc.macros mcedit external macros: /home/admin/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/admin/.cache/mc/ }}} {{{ $ mc --configuration-options '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--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 -fdebug-prefix-map=/build/mc-R65bwp/mc-4.8.24=. -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' }}}" RemonK Active Tickets 4407 Wrong sorting of filenames in Ukrainian mc-core 4.8.26 Future Releases defect new 2022-09-19T11:52:09Z 2022-09-20T12:26:15Z "Hello. mc sorts filenames in Ukrainian language in wrong order. You can compare order with https://en.wikipedia.org/wiki/Ukrainian_alphabet Package is from Debian and has version 3:4.8.26-1.1. $ LC_MESSAGES=C mc -V 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; $ LC_MESSAGES=C mc -F mc --configure-options Home directory: /home/jack Profile root directory: /home/jack [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/jack/.config/mc/ Data directory: /home/jack/.local/share/mc/ skins: /home/jack/.local/share/mc/skins/ extfs.d: /home/jack/.local/share/mc/extfs.d/ fish: /home/jack/.local/share/mc/fish/ mcedit macros: /home/jack/.local/share/mc/mc.macros mcedit external macros: /home/jack/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/jack/.cache/mc/ '--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-xlv0ck/mc-4.8.26=. -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'" aj 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 4533 External editor does not work with command line argument mc-core master Future Releases defect new 2024-03-28T06:12:39Z 2024-03-28T14:21:22Z "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 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 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 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 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 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 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 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 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 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 4065 VolkovCommander-like chain menu mc-core 4.8.24 Future Releases enhancement new 2020-02-25T15:05:22Z 2020-02-25T15:05:22Z "(See ticket #3925) Proposed patch add menu chaining, as in Volcov Commander. Additional menu files must be placed in the user config directory (~/.config/mc). Reference to the next menu is the single line beginning with "">"". For example: ~/.config/mc/menu {{{ ..... += t r & f *.avi | f *.ts | f *.mp4 | f *.mkv | f *.wmv | f *.flv| f *.3gp | f *.webm | f *.mov v video menu > video.menu .... }}} ~/.config/mc/video.menu {{{ back > menu edit screen -d -m avidemux3_qt5 %f info %view mediainfo %f mpv screen -d -m mpv -fs %f }}} To do: help " akorop 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 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 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 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 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 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 3135 Copying/moving file to another folder with space in foldername results in error mc-core 4.8.11 Future Releases defect new 2014-01-03T20:13:45Z 2018-06-27T08:41:26Z "Given the following tree: {{{ mctest ├── folder 1 │   └── file.txt └── folder 2 }}} (Note that ""folder 1"" and ""folder 2"" contain single spaces.) In mc I enter ""folder 1"", select file.txt and press F5. Then in copy dialog I enter ""../fol"" and press Esc+Tab. mc suggests me ""../folder\ "". Then I add ""2"" and press Enter. And the following error appears: {{{ Cannot overwrite directory ""../folder 2"" }}} If in copy dialog I enter ""../folder 2"" (without screening \), everything is OK. Moving dialog produces the same error. Note, that in mc command line ""cd"" command works OK with screening \ before space. Version info: {{{ GNU Midnight Commander 4.8.11 Built with GLib 2.38.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; }}}" post-factum 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 3222 Shell Link to minimal Centos 6 doesn't work mc-core 4.7.0.2 Future Releases defect new 2014-06-16T10:53:04Z 2014-06-16T10:53:04Z "Using the current Centos 6 rpm version of MC (4.7.0.2) when connecting to another minimal install of Centos 6 via Shell Link, it connects and the cursor keys move up/down but you can't enter any directory and the folders display with quotes at the end (""). Older versions of MC eg 4.6 work fine. Adding perl to the target system also fixes the problem, but I want to be able to connect to a clean minimal install with the newer versions. " Pen 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 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 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 3823 Delay when browsing through the command history mc-core 4.8.19 Future Releases defect new 2017-05-09T10:03:10Z 2017-05-09T13:01:18Z There is ~2 seconds delay on each press when browsing command history with Alt-P/Alt-N. 4.8.18 worked fine. armands 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 3968 Version sort does not respect case sensitivity mc-core 4.8.22 Future Releases defect new 2019-02-06T19:38:34Z 2019-11-18T20:28:01Z "The ""Case sensitive"" checkbox has no effect when ""Left 🠊 Sort order... 🠊 Version"" is checked. Expected behavior: ""Case sensitive"" checkbox behavior is analogical to sorting by ""Name"". Please fix. Thanks." 0xe2.0x9a.0x9b 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 4066 Mess in shell history mc-core 4.8.24 Future Releases defect new 2020-02-25T19:09:51Z 2021-03-15T14:24:11Z "Mc fills shell history with garbage shell commands unless I set HISTCONTROL to ""ignoreboth"" (or ""ignorespace"") Steps to reproduce: 1. add ""HISTCONTROL=ignoreboth"" to your ""~/.bashrc"" 2. restart your machine 3. open a new terminal 4. run ""HISTCONTROL=ignoredups"" 5. run ""mc"" 6. change to any directory 7. press F10 to exit 8. open a new terminal 9. run ""history"" You will probably see something like this: {{{ 7106 2020-02-25 18:06:50 PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND }'pwd>&10;kill -STOP $$' 7107 2020-02-25 18:07:01 cd ""`printf '%b' '\0057home\0057curusarn\0057git'`"" 7108 2020-02-25 18:06:50 mc }}} I have found a recommendation in the FAQ to set HISTCONTROL to ""ignoreboth"" in my profile file: {{{ 6.8 I see lot of strange 'cd ""printf ' lines into my .history file Add export HISTCONTROL=""ignoreboth"" into your ~/.profile file (.bash_profile) for avoid this. }}} I did add ""HISTCONTROL=ignoreboth"" to the end of my ""~/.bash_profile"" and restarted my machine but running mc still outputs mess into my shell history. The issue only disappears when I add ""HISTCONTROL=ignoreboth"" to ""~/.bashrc"". The problem is that I want to have commands with leading space in my shell history but I don't want to have some mess from mc in my shell history. Is there any way I can use mc without it outputting garbage into my shell history? Why do you rely on ""ignorespace"" in the first place? Couldn't you for example turn off the history before running these commands (via ""set +o history"")? {{{ $ mc -V GNU Midnight Commander 4.8.24 Built with GLib 2.62.4 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; }}} {{{ $ LC_MESSAGES=C mc -F Home directory: /home/curusarn Profile root directory: /home/curusarn [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/curusarn/.config/mc/ Data directory: /home/curusarn/.local/share/mc/ skins: /home/curusarn/.local/share/mc/skins/ extfs.d: /home/curusarn/.local/share/mc/extfs.d/ fish: /home/curusarn/.local/share/mc/fish/ mcedit macros: /home/curusarn/.local/share/mc/mc.macros mcedit external macros: /home/curusarn/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/curusarn/.cache/mc/ }}}" curusarn 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 4188 Warning: Cannot change to .. with Fish shell mc-core 4.8.26 Future Releases defect new 2021-01-26T16:26:41Z 2022-05-17T13:29:42Z "With mc 4.8.26, the support for the Fish shell improved considerably. However, every time I start mc, for a split second, the following warning shows up: Warning: Cannot change to .. Yet, the panels are pointing to the correct and the shell pwd is also correct. So, in summary, this just seems to be an annoying message. {{{ GNU Midnight Commander 4.8.26 Built with GLib 2.56.4 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 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; }}}" pronobis 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 4301 "help page broken with ""-a"" on a restricted shell" mc-core 4.8.19 Future Releases defect new 2021-11-12T10:27:07Z 2021-11-12T10:27:07Z "use a shell that does not honor extended escape sequences (found this when using TeraTerm and a SSH connection to some ARM64 embedded board). mc version on the target system: 4.8.19 as the border frames are ""corrupted"" i needed to use the command ""mc -a"" to launch the software and getting a useable screen. when calling help screen i found the big MC logo there to not displaying correctly. also the right border of the help text window is corrupted." alexander.stohr Active Tickets 4447 F10/exit leaves 2 orphaned processes behind mc-core 4.8.28 Future Releases defect new 2023-02-21T22:15:35Z 2023-02-22T16:16:51Z "mc with subshell support opens 3 processes, two of them are left orphaned behind after exit. How to reproduce/monitor: I monitor processes in a first window with while true; do clear; ps -f; sleep 1; done After opening mc with /usr/local/bin/mc in second window the monitor extends by following lines: 68246 pa S+ 0:00.13 | `-- /usr/local/bin/mc 49883 pb T+p 0:00.01 | `-- /bin/ksh 5455 pb Z+p 0:00.00 | `-- (ksh) After exit of mc with F10 these 2 lines remain; 49883 pb T+p 0:00.01 /bin/ksh 5455 pb Z+p 0:00.00 - (ksh) This behavior does not ocur when I start mc with option -u. System : OpenBSD 7.2 Details : OpenBSD 7.2 (GENERIC.MP) #6: Sat Jan 21 01:03:04 MST 2023 root@syspatch-72-amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP Architecture: OpenBSD.amd64 Machine : amd64 Regards, Bernward" Bernward 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 4480 MC hungs for 1-2 second when open folder plus side-effects mc-core 4.8.29 Future Releases defect new 2023-07-05T07:57:31Z 2023-07-06T04:48:08Z "When i try enter one of folowing folders {{{ /Home/Incoming/Anime/Wait for Store/[2021Q3] Otome Game no Hametsu Flag shika Nai Akuyaku Reijou ni Tensei shiteshimatta X [++] /Home/Incoming/Anime/Wait for Store/[2021Q4] Shin no Nakama ja Nai to Yuusha no Party wo Oidasareta node, Henkyou de Slow Life suru Koto ni Shimashita [++] }}} MC hungs for 1-2 seconds. After it if i try quit MC via F10 i got ""The shell is still active"" warning. If i switch to shell (Ctrl+O) i see clean shell. But if i press Enter i see those command cd ""`printf '%b' '\0057Home\0057Incoming\0057Anime\0057Wait\0040for\0040Store\0057\01332021Q3\0135\0040Otome\0040Game\0040no\0040Hametsu\0040Flag\0040shika\0040Nai\0040Akuyaku\0040Reijou\0040ni\0040Tensei\0040shiteshimatta\0040X\0040\0133\0053\0053\0135'`"" I use Oracle Solaris if this is matter. Bug also exist in 4.8.28." Bishop 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 80 savannah: chown editor usability improvement suggestions mc-core Future Releases enhancement new 2008-12-26T10:02:09Z 2014-01-11T22:56:00Z "Original: http://savannah.gnu.org/bugs/?22506 ||Submitted by:||marek ||Submitted on:||Thu 06 Mar 2008 09:47:03 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: {{{ chown editor suggestions: - default user/group for tagged files may come from current file instead of first tagged - user/group list search ability (eg. first letter key cycles) }}} Comment 1 by marek at Fri 07 Mar 2008 11:39:40 AM UTC: {{{ first suggestion applies also to chmod dialog }}} " maraqq 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 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 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 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 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 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 `