__group__ ticket summary component version milestone type owner status created _changetime _description _reporter Active Tickets 4166 dataloss: mcedit save of existing file on full sshfs file system causes empty file mcedit 4.8.25 Future Releases defect reopened 2021-01-04T13:43:45Z 2021-01-10T14:34:12Z "I don't how this happened, I am using 3:4.8.25-1 from Debian testing. Never happened to me before in last 15 years. I had sshfs filesystem mounted, and for external reasons (a background deamon) it got full. I was editing a file, about 200 lines of code. I tried to save, and it failed. I exited, and reopened file again. It was empty. Few hours of work lost. This is a critical flaw. There was no backup file, no atomic rename for save either. Maybe it was something to do with mount options, I don't know. sshfs -o cache_timeout=360 -o cache_stat_timeout=360 -o entry_timeout=240 -o negative_timeout=200 -o kernel_cache -o workaround=none -o cache_max_size=100000000 -o reconnect But, mcedit recognized the error it can't save, so while the original data disappeared? " baryluk 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 273 bad Modify timestamps on files copied from OS/2 LANMAN CIFS mount to local filesystem mc-vfs 4.7.0.3 Future Releases defect reopened 2009-02-16T15:51:00Z 2021-09-11T06:21:57Z "To reproduce: 1-mount an OS/2 or eComStation legacy LANMAN share via CIFS 2-navigate to the mounted share 3-select a file 4-F5 5-Tab 6-stat the copied file Actual behavior: File: `et6g.lst' Size: 251 Blocks: 2 IO Block: 1024 regular file Access: (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root) ...Modify: 1940-10-23 21:26:18.000000000 -0500... Expected behavior: File: `et6g.lst' Size: 251 Blocks: 2 IO Block: 1024 regular file Access: (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root) ...Modify: 1997-08-26 02:22:26.000000000 -0400... Notes: 1-expected behavior is from copying file using cp -a instead of mc 2-with older kernels and smbfs mounting of the OS/2 share, mc copy results in correct Modify timestamp 3-CIFS test made using EXT3 target on openSUSE 11.1: mc-4.6.2.pre1-120.24 cifs-mount-3.2.4-11.5 kernel-pae-2.6.27.7-3.1 4-broken mc behavior is the same with version shipped with openSUSE 11.0 and 10.3 and Fedora 10" mrmazda 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 1687 Tries to edit local menus in VFS mc-vfs 4.7.0-pre3 Future Releases defect reopened 2009-10-09T15:44:32Z 2011-12-23T15:41:19Z "When the current panel shows VFS, mc still tries to create local menu files and shows ""Couldn't create file"" instead of more appropriate error. This was initially reported at https://bugzilla.altlinux.org/show_bug.cgi?id=7711" wRAR 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 2851 cannot copy file from iso created with mkisofs when Joliet without RockRidge used mc-vfs master 4.8.16 defect reopened 2012-07-19T13:47:15Z 2017-11-02T07:54:19Z "mc creates file of zero length instead of extracting file from mkisofs-created iso images containing Joliet without !RockRidge extension Steps to reproduce: 1. create iso image with Joliet but without !RockRidge {{{ mkisofs -J -o test.iso /etc/passwd }}} 2. run {{{ /usr/libexec/mc/extfs.d/iso9660 copyout test.iso passwd passwd }}} Expected non-zero size passwd file, got file of zero size The image created by mkisofs doesn't contain versions in filenames unlike images created by Nero 7 (windows). The bug was probably introduced with #2471 for mkisofs-generated image: {{{ $ isoinfo -J -l -i test.iso Directory listing of / d--------- 0 0 0 2048 Jul 19 2012 [ 29 02] . d--------- 0 0 0 2048 Jul 19 2012 [ 29 02] .. ---------- 0 0 0 2044 Jun 28 2012 [ 30 00] passwd $ isoinfo -d -i test.iso CD-ROM is in ISO 9660 format System id: LINUX Volume id: CDROM Volume set id: Publisher id: Data preparer id: Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 181 Joliet with UCS level 3 found NO Rock Ridge present }}} for Nero 7-generated image: {{{ $ isoinfo -J -l -i nero7.iso Directory listing of / d--------- 0 0 0 2048 Jul 19 2012 [ 22 02] . d--------- 0 0 0 2048 Jul 19 2012 [ 22 02] .. ---------- 0 0 0 19794 Apr 17 2009 [ 25 00] xxx.pdb;1 $ isoinfo -d -i nero7.iso CD-ROM is in ISO 9660 format System id: Volume id: ________ Volume set id: Publisher id: Data preparer id: Application id: NERO BURNING ROM Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 600 Joliet with UCS level 3 found NO Rock Ridge present }}} The simple solution would be replacement of iso9660 vfs with u7z. As bonus 7-zip can read iso images created by deepburner and winoncd 3.6 (they are Joliet with UCS level 1) and images created with mkisofs without -R and -J options at all Software versions: mc-4.8.4-0.git20120630.fc17.R.i386 genisoimage-1.1.11-10.fc17.i686 " ctmp1 Active Tickets 17 savannah: ownership is not preserved when copying symlinks mc-core master Future Releases defect reopened 2008-12-25T11:36:09Z 2019-05-06T09:22:16Z "Original: http://savannah.gnu.org/bugs/?13432 ||Submitted by:||None||Submitted on:||Fri 17 Jun 2005 10:35:17 AM UTC|| ||Category:||Core||Severity:||3 - Normal|| ||Status:||Confirmed||Privacy:||Public|| ||Assigned to:||Andrew V. Samoilov ||Open/Closed:||Open|| ||Release:||current (CVS or snapshot)||Operating System:||All|| Original submission: {{{ (More info on: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=314387 ) create a symlinks as a user: timj@birgrave:bash$ ln -s cycle cycle timj@birgrave:bash$ ls -al cycle lrwxrwxrwx 1 timj timj 5 Jun 16 02:41 cycle -> cycle copy the symlink with mc as root from cycle to loop: root@birgrave:bash# ls -al cycle loop lrwxrwxrwx 1 timj timj 5 Jun 16 02:41 cycle -> cycle lrwxrwxrwx 1 root root 5 Jun 16 02:41 loop -> cycle ownership isn't preserved here, loop should also be owned by timj.timj as it works with files. }}} Comment 1 by Pavel Tsekov at Thu 07 Jul 2005 12:33:11 PM UTC: {{{ Confirmed. I'll be working on this. }}} Comment 2 by Andrew V. Samoilov at Sat 16 Jul 2005 09:29:22 AM UTC: {{{ man 2 chown In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), chown did not follow symbolic links. Since Linux 2.1.81, chown does follow symbolic links, and there is a new system call lchown that does not follow symbolic links. Since Linux 2.1.86, this new call (that has the same semantics as the old chown) has got the same syscall number, and chown got the newly introduced number. So we need to check one more function in configure and use lchown() insteod of chown() in the vfs/local.c if HAVE_LCHONW. }}} Comment 3 by Pavel Tsekov at Sat 16 Jul 2005 01:30:48 PM UTC: {{{ Maybe we should keep the chown() call in local_chown() and introduce a new function called local_lchown() ? Then we use the appropriate call based on the value of 'follow Links' ? In any case currently MC doesn't support changing the ownership of the link when the link is copied: if (S_ISLNK (sb.st_mode)) { int retval; retval = make_symlink (ctx, src_path, dst_path); return retval; } This is the block of code dealing with symlinks in copy_file_file(). }}} Comment 4 by Andrew V. Samoilov at Mon 01 Aug 2005 02:40:32 PM UTC: {{{ IMHO it's wrong idea to introduce mc_lchown(). Also if local_chown() will use lchown() we will fix bug with C-x O for symlinks. Now it change ownership for target of symlink. We can call mc_chown() after make_symlink(). }}} Comment 5 by Pavel Tsekov at Mon 01 Aug 2005 02:55:55 PM UTC: {{{ What happens if you want to work on the target of the symlink and not on the link itself ? readlink() followed by lchown () ? }}} Comment 6 by Andrew V. Samoilov at Mon 01 Aug 2005 04:55:59 PM UTC: {{{ Well, in that case I will use chown command. I heard complains about current behaviour and I found these complains reasonable. }}} Comment 7 by Pavel Tsekov at Tue 02 Aug 2005 07:51:51 AM UTC: {{{ I also think that those complaints are reasonable, but I don't understand what this has to do with anything ?! :) So far, if I've read the discussion correctly, I've understand that you also agree that both lchown() and chown() have to be used - depending on the task that has to be performed. So do you still think mc_lchown() is wrong ? If so - why do you think so ? }}} " slavazanko Active Tickets 400 Support for multiline search, and for searching for 0x0A bytes. mc-search master Future Releases defect andrew_b reopened 2009-06-10T21:49:13Z 2023-01-15T13:15:52Z "So, as I known, now search made line by line, and no chance match/replace pattern like ""Some text\n+Another text"". This possibilities is highly appreciated." Hubbitus Active Tickets 1500 Segmentation fault while background copying mc-core 4.8.7 Future Releases defect slavazanko reopened 2009-08-08T16:43:05Z 2015-06-18T18:31:22Z "Test case: - create file with name ""test"" in ""tmp"" directory (for example) - create directory with same name (""test"") in other ""tmp2"" directory (for example) - try to copy or move file ""test"" into ""tmp2"" in '''background''' mode - wait for some time " IMDagger Active Tickets 1605 Incorrect parsing FTP-string mc-vfs 4.7.0-pre2 Future Releases defect slavazanko reopened 2009-09-11T16:10:39Z 2016-04-14T16:17:27Z "ENTRY ""example.net"" URL ""/#ftp:examplenet:5wDJP1B/y@example.net"" When I try connect to it I saw: ""ftpfs: making connection to examplenet"" off course this is failed by timeout." Hubbitus Active Tickets 2104 using subshell makes bash clobber its history with some PS1-related (?) junk mc-core 4.7.1 Future Releases defect reopened 2010-03-14T12:01:25Z 2023-09-08T12:40:43Z "E.g., if I type cd /usr/portage/distfiles into a subshell in , the folloging will get logged: cd ""`printf ""%b"" '\0057'`"" cd ""`printf ""%b"" '\0057usr'`"" cd ""`printf ""%b"" '\0057usr\0057portage'`"" cd ""`printf ""%b"" '\0057usr\0057portage\0057distfiles'`"" cd ""`printf ""%b"" '\0057'`"" The above is on Gentoo. On FreeBSD, junk gets logged as well, e.g. cd /var/log produces: #+1267704528 cd ""`printf ""%b"" '\0057var'`"" #+1267704528 cd ""`printf ""%b"" '\0057var\0057log'`"" Have had this problem for ages, valid with any app-misc/mc version incl. the latest masked 4.7.1. Happens semi-randomly and usually doesn't happen if I press Enter before typing into the subshell. Reproduced on Gentoo and FreeBSD, have had this issue for ages. Currently using bash-4.1_p2 but as said above, it doesn't matter, been so for a long time. Related downstream bug: http://bugs.gentoo.org/show_bug.cgi?id=309261 In case it matters: $ echo $PS1 \[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] If you need something else, let me know :)" doktornotor Active Tickets 2278 Problem in the Copy operation mc-core 4.7.4 Future Releases defect slavazanko reopened 2010-07-12T07:43:50Z 2019-05-06T09:19:58Z "Hi. Sorry for my English. Previously, copying a file does not change access permissions of the destination file if the check box ""Preserve attributes"" in the Copy window is not set. For some time it is not so: if you uncheck the ""Preserve attributes"" then access permissions of the destination file are set in accordance with the value of umask, which can lead to information disclosure(i.e. security problem)." eshkrig Active Tickets 2391 shell connecting by mc 4.7.0.6 mc-vfs 4.8.8 Future Releases defect reopened 2010-10-15T07:33:22Z 2013-11-24T16:46:37Z "Shell connection throw mc hanged up when I try make it. I can do nothing on screen at the enclosure. After allowed autorisation and several steps connection hange up on step fish: reading directory.... (in russsian at the screenshot) I use Ubuntu 10.10. What's wrong with my mc?" Schneider Active Tickets 2452 "Doesn't save ""Verbose operation"" file operation option" mc-tty master Future Releases defect reopened 2010-12-18T13:56:07Z 2012-08-12T16:39:34Z "I launch mc, go into the ""Options""/""Configuration"" menu, put a marker on the ""Verbose operation"", then press save (""auto save setup"" is marked). When I launch MC next time and go to ""Options""/""Configuration"" menu — there is no ""Verbose operation"" marker. I tried to ""rm -rf ~/.mc"", there was no result. {{{ $ LANG=C mc -V GNU Midnight Commander 4.7.5-pre1-16-g97ae800 Built with GLib 2.26.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; }}} " nixtrian Active Tickets 2453 Screen corruption after viewing UTF-8 file mc-core 4.7.4 Future Releases defect andrew_b reopened 2010-12-20T09:19:48Z 2015-06-18T18:34:50Z "Empty place on file panel is sometimes corrupted with unicode symbols from viewed file. Steps to reproduce: 1. Make new empty directory on the left panel 2. Place into that directory attached file 3. View file (F3) 4. Close viewer(F3 again) Some symbols from the file are left on the panel (see attached screenshots)." victor-homyakov Active Tickets 2967 """Screen list"" and related M-`, M-{ and M-} do not work from ""find file"" list" mc-core master Future Releases defect reopened 2013-02-20T18:54:19Z 2015-06-18T18:30:05Z From panels: Find File -> open a file from the list and now M-`, M-{ and M-} hotkeys do not work. szaszg Active Tickets 3023 -b, --nocolor options not working usefully mc-tty master Future Releases defect reopened 2013-06-20T12:58:57Z 2015-06-18T18:30:32Z "The '-b' and '--nocolor' mc options don't produce usable output because the selection bar is not visible. Mc should probably use inverse-screen for the selection bar when asked to go colorless. Experimenting with $TERM, I found that mc actually draws an inverse-screen selection bar, though only if TERM=xtermm (but then the arrow keys don't work). Mc should draw it like that for any value of TERM, when '-b' or '--nocolor' are specified. Verified on 'xterm -cm', with and without GNUscreen. {{{ ~> mc -V GNU Midnight Commander 4.8.4 Built with GLib 2.32.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, fish, smbfs Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64; ~> xterm -version X.Org 7.6.0(281) ~> }}}" dnied Active Tickets 3417 Fix vertical line color if a file is marked and selected mc-skin master Future Releases defect slavazanko reopened 2015-03-19T08:43:28Z 2015-06-18T18:24:59Z "Originally from: https://github.com/MidnightCommander/mc/pull/54 I'm creating my own theme for mc and I noticed that the vertical lines (│) of marked and selected files they had the selected color instead of markselect. " slavazanko Active Tickets 3666 Improper use of IEC and SI prefixes for size in size_trunc()/size_trunc_len() mc-core master Future Releases defect andrew_b reopened 2016-07-27T15:22:42Z 2022-10-09T10:48:48Z "This is a spinoff from https://github.com/MidnightCommander/mc/issues/109 Looking at lib/util.c, I see that virtually all SI prefixes are plain wrong. Additionally, man page talks about SI units, there aren't any. Only SI prefixes are incorrectly used. Bases arent 1024 and 1000, they are 2 and 10. The best solution is to provide IEC prefixes (binary, KiB, MiB, GiB) and SI prefixes (decimal, kB, MB, GB), though file sizes (opposed to memory) are always calculated with base 10. Patch is in preparation for this function and its callers." michael-o Active Tickets 2421 Patch which adds support to highlight occurences of pattern. mcedit 4.7.0.10 Future Releases enhancement reopened 2010-11-17T14:45:58Z 2015-06-18T18:37:52Z "Hi, I have attached a patch for mc-4.7.0.10 branch, which enables to highlight occurrences of a pattern in mcedit. To highlight user needs to select menu item in editor ""Search/Highlight occurrences"". This is a patch for mc, which I sent to, likely, old mc team and got no reply. thanks!" myehorov Active Tickets 2530 Don't reset selection on mouse clicks, but only on mouse drags mc-core 4.7.5 Future Releases enhancement reopened 2011-04-04T22:06:53Z 2015-06-18T18:35:57Z "By now, mc resets selection on every mouse click. That's very inconvenient as selecting with mouse is usually needed when the you don't want to navigate far away with key presses, and you'll probably not want to navigate back with keys again. But you can't navigate back with mouse as it will reset the selection you've just made. I think mc must reset selection only if the user starts new one, i.e. drags the mouse. See attached patch please :) ---- BTW, there was a change in Ctrl-Ins behaviour somewhere between 4.7 and 4.8 - in 4.7 Ctrl-Ins resetted the selection, but now it doesn't. I think it was more convenient when it resetted the selection. Are there any principal arguments? Maybe the behaviour could be restored to original, or selected with an option?" vitalif Active Tickets 1666 1st line shifted after paragraph format mcedit master 4.8.12 defect andrew_b reopened 2009-10-03T16:30:49Z 2019-07-20T16:03:36Z "Steps to reproduce: 1. mcedit mc.ext (example file) 2. ctrl-down (so that at least 1st line of a paragraph to be formatted is scrolled above the screen) 3. alt-p Effect: first line shows contents shifted to right: # Warning: Structure of this any cursor movement at this line fixes view to: # Midnight Commander 3.0 extension file # Warning: Structure of this" gotar Active Tickets 3406 -31: SFTP Protocol Error when transferring file via SFTP Link mc-vfs master 4.8.21 defect andrew_b reopened 2015-02-17T22:44:03Z 2023-05-12T08:01:37Z "GNU Midnight Commander 4.8.13 Built with GLib 2.42.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 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: 32; void *: 32; size_t: 32; off_t: 64; ---------------------------------------------------------------------------------- Package: libssh2-1 Source: libssh2 Version: 1.4.3-4 ---------------------------------------------------------------------------------- Local version string SSH-2.0-OpenSSH_6.7p1 Debian-3 Remote protocol version 2.0, remote software version dropbear_0.52 ---------------------------------------------------------------------------------- Seems that after OpenSSH Server update after infamous Heartblead bug, Im allways getting these errors when copying / moving files within SFTP built in mc: COPY/MOVE FILE TO REMOTE: ""-31: SFTP Protocol Error"" REMOVE REMOTE FILE/DIR: ""-31: Failed opening remote file"" Although after I press ENTER - operation continues successfully, however when transfering lots of selected files I have to acknowledge (press ENTER) on every file operation, so batch copy / move / remove operations are inefficient. Doing verbose CLI sftp connection to the same server, succeeds without errors. Also to note that to speed up transfers in ssh config file I prioritised blowfish protocol, what is honoured by sftp transfers, but NOT with mc sftp, as with sftp CLI (specifying blowfish) I get allmost twice the speed, but mc sftp transfer speeds are similar to the ones when I force AES encryption on CLI sftp." pingu Active Tickets 1466 leaves EMPTY temporary directories behind on exit: /tmp/mc-$USER/ mc-core 4.6.2 Future Releases defect reopened 2009-08-05T12:19:33Z 2011-10-29T16:56:56Z "Hello, ""mc doesn't remove its temporary directory on exit, it leaves /tmp/mc-$USER/ behind"" This is annoying on servers with a big uptime and several users accounts. Maybe add an option to choose between ""remove"" or ""not remove"" temp files on exit? This is the original bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504151 Thank you Denis Briand " narcan Active Tickets 2227 Unable to use Process Substitution in User Menu scripts mc-core 4.7.2 Future Releases defect reopened 2010-05-29T23:00:56Z 2019-12-21T09:09:42Z "I was trying to use process substitution in one of my User Menu scripts but it kept kick out with: syntax error near unexpected token `(' You can test this by making a menu entry that runs the trivial command: echo <(ls) She'll crapout on you nicely My actual intent was to get a listing diff of all the files in the source and destination directories (including subdirectories) with: %view diff -u <(find ./ -type f|sort) <(cd %D; find ./ -type f|sort) I ended up using mktemp files instead of Process Substitution and all is well. Just thought I'd mention the troubles. Cheers, Lee" ligelowbee Active Tickets 1801 "left/right arrow behavior inconsistent with ""Cursor beyond end of line""" mcedit master Future Releases enhancement reopened 2009-11-07T13:56:11Z 2020-11-01T23:37:19Z "enabling ""Cursor beyond end of line"" stops the right-arrow from wrapping into the next line. however, the left-arrow continues to wrap to the previous line. this feels highly unnatural and often causes ""navigation challenges"". so enabling this option should make the left-arrow stop at the beginning of the line." ossi Active Tickets 3981 [PATCH] sh.syntax: Allow for indented 'function' highlighting mcedit master Future Releases enhancement andrew_b reopened 2019-04-25T06:37:12Z 2020-06-06T17:16:17Z " This will allow for the following: {{{ #!sh if want_foo; then function foobar() { echo ""foo"" } else function foobar() { echo ""bar"" } fi foobar }}}" TerraNova 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 2282 force utf option mc-tty master Future Releases enhancement reopened 2010-07-15T13:23:14Z 2011-11-06T07:32:49Z "I have arm based nas (synology ds110j), that does not support locales but stores files in uft-8. The sample program {{{ #include #include #include int main (int argc, char *argv[]) { setlocale (LC_ALL, """"); printf (""%s\n"", nl_langinfo (CODESET)); return 0; } }}} always returns ANSI_X3.4-1968 To make mc correctly work with utf-8 on this system I've made changes in 2 files: 1) In lib/strutil/strutil.c I've changed {{{ return (nl_langinfo (CODESET)); }}} to {{{ return ""UTF8""; }}} 2) In lib\tty\tty-slang.c I've changed {{{ SLutf8_enable (-1); }}} to {{{ SLutf8_enable (1); }}} These changes force utf-8 support in mc on my system. I think these changes can be made an option in future releases in mc for such systems. PS Many thanks to '''il.smind''', who helped my to find this solution. " zyxmon Active Tickets 2414 CmdLink should provide some defaults mc-core master Future Releases enhancement reopened 2010-11-09T10:50:24Z 2011-10-31T10:54:23Z F9,f,l or ctrl-x,l pops up empty, which is inconsistent with all the other dialogs. It should be prefilled, especially since #2161, with either second panel directory (like !CmdCopy) or current filename (like shift-!CmdCopy) or both (like it was proposed in #1907 and then reverted). I can't make my mind what is better for this operation since last 1,6 hour, but maybe this should be both with cursor placed between the two parts? This way one could do shift-home/end,del to remove the part he doesn't want and modify remaining. gotar Active Tickets 2719 Conditional sort mc-core master Future Releases enhancement reopened 2012-01-24T14:29:05Z 2023-12-06T23:26:10Z "I would love to keep the contents of some directories sorted in a different order than the default. For example, according to time instead of alphabetically. Some gui file managers such as total commander support settings per tab. This is of course not possible with mc as there are no tabs. But, to implement this in mc, we can have conditional sorting (and maybe other view settings etc) according to the directory. Can this be implemented, or is there an easy way to achieve the same." tempUser 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 3197 FTP renaming leads to DATA LOSS mc-vfs 4.8.8 Future Releases defect new 2014-04-17T13:24:49Z 2019-08-08T20:32:29Z "Renaming a file on a remote FTP server while an upload to same server is in progress, mc fails with 'Incomplete file retrieved Delete/Keep'. Upon clicking 'Keep' the remote file is renamed and made 0-length. How to reproduce: 1. with mc, start long upload - in the background - to a remote FTP server; 2. while uploading, try to rename (via mc's 'move') a different, unrelated file, on the same remote FTP server, in the same directory (a 'move' from the remote FTP server to the remote FTP server, changing only the file name) What happens: mc hangs until the background upload terminates. Then displays 'Incomplete file retrieved Delete/Keep'. Upon clicking 'Keep' the remote file (the one that was to be renamed) is renamed and made 0-length. YOU LOST YOUR FILE. THANK YOU MC ! {{{ > mc --version GNU Midnight Commander 4.8.8 Built with GLib 2.32.4 Using the ncurses library With subshell support as default With support for background operations With mouse support on xterm With support for X11 events 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; }}}" dnied Active Tickets 4487 mcdiff fails on macOS because of wrong diff support mcdiff 4.8.29 Future Releases defect new 2023-07-30T19:33:59Z 2023-07-30T19:33:59Z "1. What version of Midnight Commander is used? GNU Midnight Commander 4.8.29 Built with GLib 2.76.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 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; 2. What steps will reproduce the problem? Make two files and run from terminal: mcdiff file1 file2 3. What is the expected output? mcdiff should run and print a diff 4. What do you see instead? I get an error ""Two files are needed to compare"" and the following output: diff: unrecognized option `--old-group-format=%df%(f=l?:,%dl)d%dE ... and a lot of unformatted help output I've seen some old post from 2017 (here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219277 ) referring to FreeBSD that it uses different version of diff and that's why it's failing. Since macOS's diff is FreeBSD based I guess it's the same issue here. This is the output of diff version: diff --version Apple diff (based on FreeBSD diff) '''Output from mc -F:''' Home directory: /Users/frin Profile root directory: /Users/frin [System data] Config directory: /opt/homebrew/Cellar/midnight-commander/4.8.29_2/etc/mc/ Data directory: /opt/homebrew/Cellar/midnight-commander/4.8.29_2/share/mc/ File extension handlers: /opt/homebrew/Cellar/midnight-commander/4.8.29_2/libexec/mc/ext.d/ VFS plugins and scripts: /opt/homebrew/Cellar/midnight-commander/4.8.29_2/libexec/mc/ extfs.d: /opt/homebrew/Cellar/midnight-commander/4.8.29_2/libexec/mc/extfs.d/ fish: /opt/homebrew/Cellar/midnight-commander/4.8.29_2/libexec/mc/fish/ [User data] Config directory: /Users/frin/.config/mc/ Data directory: /Users/frin/.local/share/mc/ skins: /Users/frin/.local/share/mc/skins/ extfs.d: /Users/frin/.local/share/mc/extfs.d/ fish: /Users/frin/.local/share/mc/fish/ mcedit macros: /Users/frin/.local/share/mc/mc.macros mcedit external macros: /Users/frin/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /Users/frin/.cache/mc/ '''mc --configure-options output:''' '--disable-debug' '--disable-dependency-tracking' '--disable-silent-rules' '--prefix=/opt/homebrew/Cellar/midnight-commander/4.8.29_2' '--without-x' '--with-screen=slang' '--enable-vfs-sftp' 'CC=clang' 'PKG_CONFIG_PATH=/opt/homebrew/opt/pcre2/lib/pkgconfig:/opt/homebrew/opt/glib/lib/pkgconfig:/opt/homebrew/opt/openssl@3/lib/pkgconfig:/opt/homebrew/opt/libssh2/lib/pkgconfig:/opt/homebrew/opt/libpng/lib/pkgconfig:/opt/homebrew/opt/s-lang/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/Homebrew/os/mac/pkgconfig/13' ---- Running macOS Ventura 13.3.1 on Mac Studio (M1 Max), running mc inside either iTerm2 or Apple's own Terminal app. The diff being used is /usr/bin/diff. Midnight Commander is installed via brew. Let me know if you ned any further information." frin 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 3961 Move over ssh shell will destory files when target FS full mc-vfs 4.8.15 Future Releases defect new 2019-01-15T14:01:49Z 2019-08-09T13:46:30Z "Happened in mc 4.8.15-2 in Ubuntu 16.04.5 LTS. 1. I was moving huge amount of files over ssh shell (Shell link). 2. The target file system became full. 3. When 2. happened files were still copied but appeared on target with zero sizes. 4. Files were deleted on the source. I would expect an error message and not deleting source files." BruXy Active Tickets 3984 mcdiff Segmentation fault in ydiff.c when calling g_utf8_offset_to_pointer() mcdiff 4.8.22 Future Releases defect new 2019-05-09T17:46:29Z 2019-05-12T13:52:52Z "The use of mcdiff, from command line as well as from the menu, often leads to a crash of mc with the message ""Segmentation fault (core dumped)"". This happens sooner with bigger windows and bigger files. I append a test case of two files a and b, which crashes always immediately at the command line ""mcdiff a b"" in an xterm W:1264 H:992. Back Trace: {{{ (gdb) bt #0 0x000009234c7dafad in g_utf8_offset_to_pointer (str=Variable ""str"" is not available. ) at ../glib-2.58.3/glib/gutf8.c:358 #1 0x00000920d374b036 in dview_str_utf8_offset_to_pos (text=0x92397f3efe0 ""aaaaaaaaaa"", length=103) at /usr/ports/pobj/mc-4.8.22/mc-4.8.22/src/diffviewer/ydiff.c:622 #2 0x00000920d374a4d5 in dview_display_file (dview=Variable ""dview"" is not available. ) at /usr/ports/pobj/mc-4.8.22/mc-4.8.22/src/diffviewer/ydiff.c:2661 #3 0x00000920d3745966 in dview_callback (w=0x923cfe20400, sender=Variable ""sender"" is not available. ) at charsets.h:91 #4 0x00000920d36d36d6 in dlg_init (h=0x922d9e6f900) at widget-common.h:210 #5 0x00000920d36d4055 in dlg_run (h=0x922d9e6f900) at /usr/ports/pobj/mc-4.8.22/mc-4.8.22/lib/widget/dialog.c:1192 #6 0x00000920d3744dbf in dview_diff_cmd (f0=Variable ""f0"" is not available. ) at /usr/ports/pobj/mc-4.8.22/mc-4.8.22/src/diffviewer/ydiff.c:3484 #7 0x00000920d36f0809 in do_nc () at /usr/ports/pobj/mc-4.8.22/mc-4.8.22/src/filemanager/midnight.c:999 #8 0x00000920d36b77f1 in main (argc=3, argv=0x7f7ffffce828) at /usr/ports/pobj/mc-4.8.22/mc-4.8.22/src/main.c:409 (gdb) quit }}} In https://developer.gnome.org/glib/stable/glib-Unicode-Manipulation.html#g-utf8-offset-to-pointer, I found the following: >Note that this function doesn't abort when reaching the end of str . Therefore you should be sure that offset is within string boundaries before calling that function. Call g_utf8_strlen() when unsure. So the call of function g-utf8-offset-to-pointer() could be a problem. I made some test about this: 1. Try: I replaced the body of dview_str_utf8_offset_to_pos() by {return length;}. This worked without crashes, but the lines in the diff view were wrongly adjusted by the count of 2-byte-characters in the line. 2. My conclusion is, that the task of dview_str_utf8_offset_to_pos() is to return a kind of line-adjusting factor. This factor should be a little bit greater than the variable 'length', just by the count of 2-byte-characters in the line. As the glib manual as cited above recommends the use of g_utf8_strlen(), I tried to use it to avoid the crash. But then there is no more need to use dview_str_utf8_offset_to_pos(), because the line-adjusting factor may be calculated by: {{{ { return length + ( length - g_utf8_strlen (text, length) ); } }}} I integrated this as in the patch appended, it works with correct line lengths and without crashes. 3. In ydiff.c are 2 calls to g-utf8-offset-to-pointer(), both in dview_str_utf8_offset_to_pos(), at lines 622 and 640. My patch replace the second occurrence similar as the first, but I do not really understand what happens there and I did not test anything of the second replacement at line 640. 4. The potentially risky function ""g_utf8_offset_to_pointer"" is also used in lib/strutil/strutilutf8.c at lines 897 and 905. Maybe, that should be checked too. ---- I am using OpenBSD 6.5 on GIGABYTE GB-BXBT-2807, here some infos from my system: {{{ $ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.22 Built with GLib 2.58.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, sftpfs, fish, smbfs Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; $ uname -a OpenBSD Brix 6.5 GENERIC.MP#0 amd64 $ LC_MESSAGES=C mc -F Home directory: /home/bernward Profile root directory: /home/bernward [System data] Config directory: /etc/mc/ Data directory: /usr/local/share/mc/ File extension handlers: /usr/local/libexec/mc/ext.d/ VFS plugins and scripts: /usr/local/libexec/mc/ extfs.d: /usr/local/libexec/mc/extfs.d/ fish: /usr/local/libexec/mc/fish/ [User data] Config directory: /home/bernward/.config/mc/ Data directory: /home/bernward/.local/share/mc/ skins: /home/bernward/.local/share/mc/skins/ extfs.d: /home/bernward/.local/share/mc/extfs.d/ fish: /home/bernward/.local/share/mc/fish/ mcedit macros: /home/bernward/.local/share/mc/mc.macros mcedit external macros: /home/bernward/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/bernward/.cache/mc/ $ mc --configure-options '--with-subshell' '--enable-vfs-sftp' '--enable-vfs-smb' '--enable-charset' '--with-slang-includes=/usr/local/include' 'CONFIGURE_ENV=' 'LOCALBASE=/usr/local' 'LIBS=-lm' '--prefix=/usr/local' '--sysconfdir=/etc' '--mandir=/usr/local/man' '--infodir=/usr/local/info' '--localstatedir=/var' '--disable-silent-rules' '--disable-gtk-doc' 'CC=cc' 'CFLAGS=-O2 -pipe' }}} Best regards, Bernward." Bernward 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 37 savannah: external editor does not write changes on remote file systems mc-vfs master Future Releases defect new 2008-12-25T19:29:40Z 2014-01-11T16:04:37Z "Original: http://savannah.gnu.org/bugs/?15809 ||Submitted by:||Friedrich Strohmaier ||Submitted on:||Sun 19 Feb 2006 09:05:18 PM UTC|| ||Category:||Editor||Severity:||3 - Normal|| ||Status:||Confirmed||Privacy:||Public|| ||Assigned to:||Pavel Tsekov ||Open/Closed:||Open|| ||Release:||4.6.1||Operating System:||GNU/Linux|| Original submission: {{{ Editing text files on remote file systems using the system editor (vim), not the built in one, does not work as expected. The buffer with a temporary file is opened and changed, but not written to target leaving with "":wq"" . This is tested on my ubuntu box for ftp and fish. to get the effect do the following steps: if not already done prepare mc not to use built in editor. On an sshd running system establish a conection with: 1. cd #sh:localhost: 2. browse to an known file and open editor by pressing 3. do some edit 4. save an leave (use "":wq"" on vim) Editor is quitting without error. now the file should be changed refresh window by use to prove ==> file is not changed an no error was given. This behavior was also confirmed by other users on german ubuntu list. For example here: http://article.gmane.org/gmane.linux.ubuntu.user.german/3618 ""can reproduce on breezy"" And a different Editor (nvi) set on /etc/alternatives/vi set on my box Info: GNU Midnight Commander 4.6.1 Virtual File System: tarfs, extfs, cpiofs, ftpfs, fish, smbfs With builtin Editor Using system-installed S-Lang library with terminfo database With subshell support as default With support for background operations With mouse support on xterm and Linux console With internationalization support With multiple codepages support Package: Version: 1:4.6.1-1ubuntu2~breezy1 VIM - Vi IMproved 6.3 (2004 June 7, compiled Aug 22 2005 17:27:07) Version: 1:6.3-078+1ubuntu3 Friedrich }}} Comment 1 by Friedrich Strohmaier at Sun 19 Feb 2006 11:16:04 PM UTC: {{{ see also: Bug #31757 in mc (Ubuntu): ""mc external editor does not write changes on remote file systems"" https://launchpad.net/distros/ubuntu/+source/mc/+bug/31757 Friedrich }}} " bitsfritz Active Tickets 1448 FTP protocol in Midnight Commander is unusable [metabug] mc-vfs master Future Releases defect new 2009-08-03T09:26:38Z 2016-08-23T12:40:47Z "1. It doesn't support many FTP servers. 2. It doesn't support servers with non ISO8859-1 locale (it can support them if remote server locale matches local system locale but that's not a solution). 3. When you hit F5/F6 (copy/move) button while being at a remote FTP directory MC rereads the remote FTP directory which is not necessary. 4. After *copying* a file from FTP server a remote FTP directory is reread which is not necessary (and even detrimental since a remote directory can contain thousands of files). 5. If MC has lost connection with an FTP server, it doesn't reconnect automatically. 5. If MC has lost the connection with an FTP server, it returns to a .. directory, not . directory (say you were in ftp://server.com/pub/files, after reconnect MC will show you ftp://server.com/pub directory) 6. MC is unable to do/complete any operations with a remote FTP server, after the connection has been lost (F5/F6/F8/etc). ______________________________________________________________ Feature requests: 1. There's no directory cache in MC, please, implement it. 2. Implement aggressive directory cache in MC, so that when you copy/move/create/remove file from/to remote FTP server, MC mentally calculates the operation result and shows it *without* rereading a remote directory. 3. Implement FTP hotlist where you can set up a) Remote FTP server filenames codepage b) Active/Passive FTP c) Aggressive caching d) Usage of firewall/proxy 4. Implement HTTP Proxy support (at least squid)" birdie Active Tickets 1993 Change the file name when copying to FTP mc-vfs master Future Releases defect new 2010-02-03T11:14:08Z 2011-11-05T06:25:27Z "# echo -ne > 'TEST\n FILE\r .long\b file\s name .txt' # mc # [ FTP link... ] Then copy this file to you FTP. I have the FTP is a file named: 'TESTn FILEr .longb files name .txt' " pavlinux Active Tickets 2063 mc 4.7 doesn't handle hardlinks properly when browsing .deb or .rpm mc-vfs 4.7.0.10 Future Releases defect new 2010-02-26T04:05:31Z 2011-11-05T06:23:08Z "virtual directories while browsing an rpm or a deb have permissions that are based on my umask and not the permissions inside the rpm or deb. I spent a long time trying to debug why the rpms I was creating had directories that were 750 until I finally realized that the rpms were good but that when I was browsing them with mc, mc showed me incorrect permissions. (example, set umask to 0077 and all directories will show as 700 when they could be 755 in the package) Same thing seems to happen with debs in 4.6.1 In 4.6.2 debs seem to have correct permissions, but rpms are still broken." marcmerlin Active Tickets 2256 shell link via ssh fails to restore after connection lost mc-vfs master Future Releases defect new 2010-07-04T19:13:08Z 2018-09-21T22:43:44Z "I use a remote dir using ""Shell link"" (via ssh). If the connection was resetted by peer (e.g. adsl disconnect and reconnect with new ip address) changing the remote director fails instead of reconnecting. mc knows my password already, so it could reconnect and shoudl do that. Selecting ""Rescan"" fails also :( Reconnect via ""Shell link"" also fails. Only way is to close mc and start again from new." crissi Active Tickets 2328 No action without shell patterns documentation master Future Releases defect new 2010-08-26T12:41:09Z 2011-11-01T06:04:34Z "Copy and Move dialogs do nothing when ""Using shell patterns"" is unchecked. Even example from help doesn't work at all." gotar Active Tickets 2378 mc editor ignores umask mcedit 4.7.0 Future Releases defect new 2010-10-02T22:27:21Z 2011-11-05T06:13:53Z "Hi, I have umask set to 002, when I touch a new file, it gets the 664 permission, however when I create a new file in mc internal editor it gets the 644 permission. Is there some default permission setting for files created in mc editor or am I missing something? Thanks for response" honzas7 Active Tickets 3138 redo is broken mcedit master Future Releases defect new 2014-01-05T12:38:39Z 2014-01-05T12:38:39Z "1. open an existing text file 2. delete a few lines 3. undo the deletions with ctrl-u 4. try to redo them with alt-r 5. watch Weird Things ® happen or this: 1. open file 2. move around 3. undo 4. redo " ossi Active Tickets 3141 """filtered view"" can lock up mc" mc-core master Future Releases defect new 2014-01-05T13:38:07Z 2014-01-05T13:38:07Z "the ""filtered view"" (alt-!) command is run through popen() with a blocking fread() loop (or equivalent). that means that if i enter a command that does not terminate (e.g., becuase i delete the file name, as i just did), mc will hang indefinitely, without any way to abort the command. the only way to recover is killing the command from the outside. there are multiple approaches to fixing this: - run the filter through the subshell (see also #47). capturing the output may be a minor challenge (i guess one can simply append a redirection to a temp file to the command). but what if mc is compiled without subshell support? - enable the SIGINT handler for the time of running the filter - make the interaction with the subprocess more intelligent, so it can be properly interrupted via an mc dialog the 1st approach would switch off the panels, while the 2nd and 3rd approach both require some kind of progress dialog." ossi Active Tickets 3171 syscall interrupted during sftp transfer mc-vfs master Future Releases defect new 2014-02-14T11:27:29Z 2014-02-14T11:27:29Z "While copying plenty of files to sftp server (note: sftp-only, no shell support) I experience multitude of errors regarding interrupted system call (прерван системный вызов (4)). If I choose ""repeat"" in this dialogue the transfer resumes normally - until it's interrupted again later on on some other file. I do believe this is an mc issue because: - transfers to the same host with duplicity gave me no errors at all - choosing repeat result in always successful transfer Too tight timeout somewhere or no attempt to repeat the read/write before presenting user with scary red error dialogue? Also having more explicit error would help in troubleshooting - I mean, yepp, some system call failed - which one?! " god12 Active Tickets 3175 mc hangs copy-pasting vertical block (Alt+F5) mcedit master Future Releases defect new 2014-02-26T13:43:19Z 2014-02-26T17:26:32Z "Steps to reproduce: 1) open file ""mc_hangs_on_copy_paste_vertical_block"" on F4 (for editing) 2) move cursor to position (row:0, column:0) 3) press Alt 4) using right and down arrows, select vertical block (width: 4 columns, height: 2 rows) 5) relese Alt 6) move cursor to position (row:4, column:0) 7) press F5 Result: mc is not responding to any keybord signals. Expected result: selected block copy-pasted successfully. Note: file contains long ASCII lines (it's a part of source code)." skvadrik Active Tickets 3192 "annoying ""incomplete file"" popup" mc-core master Future Releases defect new 2014-04-07T10:31:47Z 2014-04-07T10:31:47Z "When copying lots of data over unreliable connection (ssh/sftp over wi-fi for example) it's often the case that some file fails - in this case dialogue popups. It's possible to pick some action in it ""for all files"" BUT - the dialogue about ""remove incomplete file"" does not give ""for all files"" option - it keeps appearing over and over again which is both annoying like and inconsistent with other such dialogues. " god12 Active Tickets 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 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 3275 [patch] Highlight %lf in C code in mcedit mcedit 4.8.13 Future Releases defect new 2014-09-19T19:10:55Z 2015-02-17T07:15:39Z """%f"" is highlighted in C code in mcedit, but ""%lf"" is not. See the following table: || || C89 || C99 || || scanf || %lf is supported || %lf is supported || || printf || %lf is not supported || %lf is supported || As you can see, %lf is supported in most cases, so, please, highlight it. # mc -V GNU Midnight Commander 4.8.13 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 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 --configure-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' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--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 -fPIE -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'" safinaskar Active Tickets 3283 Fish on host without perl does not work with symlinks on directory mc-vfs master Future Releases defect new 2014-10-09T09:27:04Z 2014-10-12T12:42:43Z "I connect to my phone on android via mc's fish and it does not open symlinks on directory (there is no perl on phone). When I install working perl on phone fish works successfully. When I add ""-H"" key to ""ls"" in all files in /usr/lib/mc/fish/ , then fish works successfully and without perl on phone! uname -a Linux gws 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux mc -V GNU Midnight Commander, версия 4.8.11 Скомпилирован с библиотекой GLib версии 2.39.1 С библиотекой S-Lang и с базой данных terminfo Со встроенным редактором C поддержкой внутренней командной оболочки С поддержкой фоновых операций С поддержкой мыши в xterm и консоли Linux С поддержкой событий X11 С поддержкой интернационализации С поддержкой многих кодировок Виртуальная файловая система: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Тип данных: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; " RekGRpth Active Tickets 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 3376 mcedit: ugly dark red on blue color for C and shell comments mcedit 4.8.3 Future Releases defect new 2014-12-12T00:42:15Z 2015-05-26T17:51:12Z "mcedit uses very-very ugly dark red on blue color for C and shell comments (and maybe other languages). Especially ugly on laptop LCD screen in my Konsole terminal emulator. Look at this screenshot: http://picpaste.com/screenshot-oi5GaNSW.png . Please, change somehow this color. My version is 4.8.3. The bug is also reproducible with latest b7b78319f0c8797269089acf7eb1eb08b48a96e8 from git. 13 2014-12-12 03:36:45 ~# LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.3 Built with GLib 2.32.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, ext2undelfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; 13 2014-12-12 03:36:46 ~# LC_MESSAGES=C mc -F Root directory: /root [System data] Config directory: /etc/mc/ Data directory: /usr/share/mc/ VFS plugins and scripts: /usr/lib/mc/ extfs.d: /usr/lib/mc/extfs.d/ fish: /usr/lib/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/ Cache directory: /root/.cache/mc/ 13 2014-12-12 03:36:52 ~# mc --configure-options '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--disable-dependency-tracking' 'AWK=awk' '--libexecdir=${prefix}/lib' '--with-x' '--with-screen=slang' '--disable-rpath' '--disable-static' '--enable-vfs-undelfs' '--enable-tests' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security' 'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'" safinaskar Active Tickets 3474 [patch] fix some -Wshorten-64-to-32 warnings mc-core master Future Releases defect new 2015-05-25T23:34:34Z 2015-05-25T23:34:34Z "fix some -Wshorten-64-to-32 warnings Signed-off-by: Andreas Mohr key.c:1291:39: warning: implicit conversion loses integer precision: 'const long' to 'int' [-Wshorten-64-to-32] input.c:301:28: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:301:32: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:743:36: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:743:40: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:756:36: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:756:40: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:787:30: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:788:43: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:1316:43: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:1322:21: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:1325:33: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input.c:1326:71: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] utilvfs.c:192:24: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] path.c:1112:49: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] input_complete.c:454:33: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:716:47: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] input_complete.c:780:30: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1029:63: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1040:67: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1147:42: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1402:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] input_complete.c:1410:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] lock.c:184:11: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] charsets.c:256:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] achown.c:478:10: warning: implicit conversion loses integer precision: 'unsigned long' to 'unsigned int' [-Wshorten-64-to-32] cmd.c:250:30: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] cmd.c:251:30: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] cmd.c:567:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] cmd.c:590:56: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] cmd.c:1262:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] cmd.c:1349:19: warning: implicit conversion loses integer precision: '__time_t' (aka 'long') to 'int' [-Wshorten-64-to-32] cmd.c:1356:15: warning: implicit conversion loses integer precision: '__time_t' (aka 'long') to 'unsigned int' [-Wshorten-64-to-32] cmd.c:1357:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] command.c:387:29: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] dir.c:479:46: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] ext.c:1000:46: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] file.c:892:48: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] file.c:1803:34: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] file.c:1831:37: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] file.c:1869:39: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] file.c:1870:46: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] filegui.c:1264:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] find.c:995:30: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] treestore.c:356:44: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] treestore.c:463:30: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] vfs_class.c:442:10: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] vfs_class.c:464:10: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] hex.c:229:56: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:1691:11: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2363:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2373:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2442:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2452:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] edit.c:2972:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] etags.c:213:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] format.c:307:16: warning: implicit conversion loses integer precision: 'off_t' (aka 'long') to 'int' [-Wshorten-64-to-32] format.c:319:20: warning: implicit conversion loses integer precision: 'off_t' (aka 'long') to 'int' [-Wshorten-64-to-32] syntax.c:294:25: warning: implicit conversion loses integer precision: 'off_t' (aka 'long') to 'int' [-Wshorten-64-to-32] syntax.c:452:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] syntax.c:553:23: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] syntax.c:1296:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] syntax.c:1311:22: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] syntax.c:1348:39: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] setup.c:695:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] subshell.c:519:21: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] subshell.c:539:21: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] subshell.c:563:21: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] background.c:379:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] parse_ls_vga.c:88:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] parse_ls_vga.c:852:18: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutil8bit.c:276:38: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutil8bit.c:279:27: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutil8bit.c:322:38: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutil8bit.c:325:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutilascii.c:228:38: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutilascii.c:231:27: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutilascii.c:289:38: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] strutilascii.c:292:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] menu.c:123:73: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:181:73: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:250:75: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:332:73: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:351:67: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:372:67: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:396:67: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:425:67: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:470:68: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:511:45: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] menu.c:517:71: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] menu.c:721:59: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:357:9: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] tar.c:382:19: warning: implicit conversion loses integer precision: 'long' to '__mode_t' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:412:15: warning: implicit conversion loses integer precision: 'long' to '__uid_t' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:415:15: warning: implicit conversion loses integer precision: 'long' to '__gid_t' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:429:22: warning: implicit conversion loses integer precision: 'long' to '__uid_t' (aka 'unsigned int') [-Wshorten-64-to-32] tar.c:430:22: warning: implicit conversion loses integer precision: 'long' to '__gid_t' (aka 'unsigned int') [-Wshorten-64-to-32] tty-ncurses.c:132:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:133:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:134:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:135:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:136:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:137:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:138:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:139:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:140:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:141:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:142:26: warning: implicit conversion loses integer precision: 'chtype' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] tty-ncurses.c:144:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:145:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:146:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:147:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:148:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:149:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:150:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:151:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:152:36: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] tty-ncurses.c:153:36: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] setup.c:654:38: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] setup.c:664:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] fish.c:399:31: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] undelfs.c:252:14: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:258:14: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:280:18: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:314:18: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:456:13: warning: implicit conversion loses integer precision: 'long' to 'ext2_ino_t' (aka 'unsigned int') [-Wshorten-64-to-32] undelfs.c:518:25: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:544:29: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] undelfs.c:550:46: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] undelfs.c:559:46: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] undelfs.c:594:14: warning: implicit conversion loses integer precision: 'errcode_t' (aka 'long') to 'int' [-Wshorten-64-to-32] undelfs.c:611:24: warning: implicit conversion loses integer precision: 'long' to 'ext2_ino_t' (aka 'unsigned int') [-Wshorten-64-to-32] undelfs.c:675:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] usermenu.c:670:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] usermenu.c:725:22: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] usermenu.c:729:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] vfs.c:135:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] vfs.c:149:38: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] vfs.c:153:30: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]" and Active Tickets 3529 Search does not always respect the chosen codepage mc-core master Future Releases defect new 2015-09-27T18:47:13Z 2022-07-28T04:40:59Z "Create a file that uses the Latin-1 or Latin-2 encoding and contains the letter ""é"" a couple of times (among other characters as well). Note that ""é""'s codepoint is the same in Latin-1 and Latin-2. Change your terminal's charset to Latin-1. Start ""LC_ALL=en_US bash"". Run ""locale charmap"" to verify that the charset is indeed ISO-8859-1. (If you don't have the en_US locale installed, you might need to run ""sudo locale-gen en_US"" or something similar depending on your distro.) Start mcview with the file created above. Press Alt-E to verify that mcview assumes the file is encoded in UTF-8. Accordingly, each ""é"" is visually replaced by a dot. Use F7 to search for ""é"". No match, as expected. Change the file's charset to ISO 8859-1. The é's appear in the file. Search (F7) for ""é"". No match. Expected: match the é's. Change the file's charset to ISO 8859-2. The é's remain unchanged. Search (F7) for ""é"". Matches, as expected. Change the file's charset back to ISO-8859-1. The é's remain unchanged. Search (F7) for ""é"". Matches, as expected (although 2 steps before it didn't match under the same circumstances). Change the file's charset to ISO 8859-5. The é's are replaced by dots. Search (F7) for ""é"". Matches the corresponding dot. Expected: not to match. Change the file's charset back to UTF-8. é's are still replaced by dots. Search again (this time with the 'n' key): Matches the dots. Expected: not to match. Search with F7: Does not match, as expected. --- It looks to me that there are perhaps two underlying bugs: - The file's selected codepage is not always taken into account. The behavior even depends on which codepage was selected previously. - Pressing 'n' does not convert the internal search pattern accordingly to the charset change (this one's also reproducible with UTF-8 locale and terminal); opening the F7 dialog does. Expected behavior: in all cases, searching should happen accordingly to the selected codepage, that is, the file's current look. " egmont Active Tickets 3545 MC and sshelper mc-vfs master Future Releases defect new 2015-10-28T20:04:49Z 2015-12-31T17:34:30Z "First off, sshelper is a ssh server for Android. http://arachnoid.com/android/SSHelper/ So so the issues. When i try to use Fish with sshelper it will not work, as MC tries to look for sh in /bin, and /bin do not exist on Android. Instead sshelper brings along a fully stocked alternate that it puts into $path. And when i try to use sftp, i get a error on the sshelper end about corrupted MAC on input." digiowl Active Tickets 3551 Ctrl+Space does not unselect directories it processed, and there's a workflow where this is DANGEROUS mc-core master Future Releases defect new 2015-11-11T20:11:16Z 2015-11-14T16:44:08Z "Consider a workflow the purpose of which is to identify and delete some temporary directories (logs, caches, captured test data) that take lots of disk space. You enter a directory. You select all subdirectories. You press Ctrl+Space to compute their disk space usage. You identify a disk-hogging dir. You select it with arrow keys. You press F8 and OK. DISASTER!!!!!!!!! because all other subdirectories were still ""yellow"". The Ctrl+Space command did NOT unselect them after it was done with them! Please fix this." rulatir Active Tickets 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 3595 FTP: Problem with UTF-8 encoded names mc-vfs 4.8.15 Future Releases defect new 2016-02-07T14:18:17Z 2016-02-08T07:24:06Z "Hello! Pure-ftpd ftp server waits for enabling of UTF-8 for names. This lead to the problem with non-ASCII names. mc doesn't enable this feaure for pure-ftpd server. mc should send FEAT command and check that server returns UTF8 feature. If the server supports UTF-8 then mc should enable it by sending OPTS UTF8 ON command to the server. Thank you." dmitrya Active Tickets 3654 Broken sftp connection when uploading files to SSHDroid mc-vfs master Future Releases defect new 2016-06-16T08:51:58Z 2024-01-21T14:54:28Z "in 4.8.17 has been broken sftp connection command server is sshdroid on android device 4.8.17 can connect, browse files and upload small files (up to 20 kb), but 30 kb cant - and hangs 4.8.15 in same situation works fine (except error -31 as always) some add info https://www.linux.org.ru/forum/midnight/12592086" x905 Active Tickets 3738 travis builder should also target osx in addition to linux adm master Future Releases defect new 2016-12-06T18:55:24Z 2023-01-05T21:17:16Z "Travis supports building for multiple platforms and can be configured to build both in parallel. Unless someone has a strong reason for not doing this I will raise a PR that will also enable OSX builds." sorin Active Tickets 3739 .gitignore : build process should not left any modified or untracked files mc-core master Future Releases defect new 2016-12-06T19:10:09Z 2016-12-06T20:19:59Z "The build process should not left any modified or untracked files. All temporary or output files should be covered by .gitignore file, but currently there are lots of files left after doing configure and build steps. While this is fixed we can also introduce an additional build step that check if new files are left over and that would fail the build if unknown files are detected. Easy to check: do a `git check`" sorin Active Tickets 3768 Cannot redefine ctrl-g mc-key-bindings 4.8.18 Future Releases defect new 2017-02-01T23:36:17Z 2021-04-07T18:55:51Z "I removed shortcut ctrl-g from dialog.Cancel, where it is assigned by default, and assigned it to editor.SearchContinue. But still ctrl-g in editor was closing it (not SIGTERMs but quit, like F10). I looked at Ticket #3557 and understood that it was fixed, just not in the 4.8.15 (that goes with Ubuntu 16.04). So I downloaded the latest version 4.8.18 and built it from sources with --prefix=/usr. Now it does not close the editor, but also simply does not work. In the menu it's written C-g, the search again from menu works, when when I press Ctrl+G, nothing happens." danilcha Active Tickets 3771 trac: ticket create/update operations are very slow adm master Future Releases defect new 2017-02-10T13:18:37Z 2023-05-11T06:02:12Z "(I hope the ""adm"" Component is ok) I've noticed that creating or updating a ticket on this trac system is a very slow operation; it requires about 20-30 seconds to complete, while all other operations (e.g. searching tickets, previewing changes to a ticket) are quite fast. Maybe there's some kind of bottleneck in writing to the backend database? I never got failures or error messages, only noticed this unusual delay." cri Active Tickets 3772 Esc-p and Esc-n don't work in External Panelize command history, only Esc-h works mc-core master Future Releases defect new 2017-02-14T21:10:56Z 2017-02-16T12:14:38Z "In the ""External panelize"" popup window, when I select the lower ""Command"" field, the only way to navigate the commands history is to use Esc-h. One would expect that Esc-p and Esc-n could be used to see the previous/next command (like in the main panels), but this results in exiting the ""External panelize"" window instead." cri Active Tickets 3788 extension mechanism: signal in `View` process affects `Open` process mc-core master Future Releases defect new 2017-03-09T06:41:03Z 2017-03-09T11:05:09Z "Happens in 4.8.17-4.8.19, at least. If the program launched to `View` (F3) some content type registered in extension file (e.g. lynx or links for html) is interrupted by Ctrl+C, the program launched previously in background in the same `mc` instance to `Open` (ENTER) something is interrupted too. Even mplayer which normally ignores Ctrl+C. Replication: 1) One or more `Open` actions. The `Open` action description must launch something into background and be long-running, like (mplayer %f &) on video or even just (xterm -e lynx %f &) on any type, just to sit and show the contents. 2) In the same mc instance -- `View` (F3) any local .html file, so lynx (or links) starts, interrupt it by Ctrl+C. 3) Both 'viewing' program and 'opening' program(s) (any number of instances) are terminated. However, a) If lynx or links is launched 'manually' in subshell and interrupted, it does not affect any running `Open` programs. b) Does not happen between mc instances. " yury_t Active Tickets 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 3820 From 4.8.18 strange behavior when used in a SSH session from PuTTy mc-tty master Future Releases defect new 2017-05-02T10:50:10Z 2019-06-29T10:08:13Z "In a SSH session coming from PuTTy codepage is incorrect eg. line drawings etc is wrong. Should be UTF-8 but is ISO8859-1. SSH session from a Linux client MC 4.8.18 is working correct. Version 4.8.17 does not show this bug 4.8.18/19 do.. Knud" knudch Active Tickets 3825 Do not keep the directory handle open mc-core master Future Releases defect new 2017-05-24T22:10:41Z 2019-05-06T21:23:53Z "When you enter any directory using MC, the device which directory belongs to, becomes ""busy"" and you cannot unmount it any longer. Please fix it." birdie Active Tickets 3831 Dot in regex pattern should match one character even if the texts are multi byte mc-search master Future Releases defect new 2017-06-17T12:34:07Z 2017-06-18T10:25:46Z "Dot in regex pattern matches one byte currently. But it's too hard to know byte number of characters for user. Regex search should match the pattern character by character always regardless of the encoding of file, not byte by byte. " sstbw049040 Active Tickets 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 3835 Cannot ssh to Android when running sshd mc-vfs 4.8.18 Future Releases defect new 2017-07-07T19:15:03Z 2017-07-08T13:12:37Z "I am using on Android the termux applications from F-droid.org and sshd daemon works well when accessed from computer by using ssh command. By using Midnight Command, I get error in version 4.8.18. and I cannot login, the error is ""cannot chdir to ""/sh://android:8022"" I guess this is happening due to sshd running without password. Yet it would be excellent to have it in mc." gnusupport 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 3853 mcedit undo and warning mcedit 4.8.19 Future Releases defect new 2017-09-10T15:26:08Z 2019-02-08T08:58:02Z "Hello! It looks like a bug for me. In mcedit I have next warning when remove block of text (when length is large than 16384): ""Block is large, you may not be able to undo this action"" But actually I can undo only when remove block of text with length less than 8190. So, when I remove block of text where 8190 <= length <=16384 I don't get any warning and can't undo this action. '''What version of Midnight Commander is used?''' GNU Midnight Commander 4.8.19 Built with GLib 2.50.3 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish, smbfs Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; '''What steps will reproduce the problem?''' 1. Create text file which contains 8190 - 16384 chars 2. Open file with mcedit 3. Select all chars 4. Press F8 to remove selected chars 5. Press ctrl+u to undo ""delete action"" '''What is the expected output?''' Removed chars should be in their places or when F8 has been pressed the warning message should be appeared '''What do you see instead?''' Can't undo delete action. No any warning message" d255 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 3972 lib/vfs testsuite failures on illumos tests master Future Releases defect new 2019-02-23T17:31:48Z 2020-01-23T16:06:47Z "Running test suite from v4.8.22 on !OpenIndiana 2018.10 (illumos kernel) with changeset from http://midnight-commander.org/ticket/3971#comment:1 I get following failures in the lib/vfs testsuite: {{{ PASS: canonicalize_pathname PASS: current_dir FAIL: path_cmp FAIL: path_len FAIL: path_manipulations FAIL: path_serialize PASS: relative_cd PASS: tempdir PASS: vfs_adjust_stat PASS: vfs_parse_ls_lga PASS: vfs_path_from_str_flags FAIL: vfs_path_string_convert PASS: vfs_prefix_to_class PASS: vfs_setup_cwd PASS: vfs_split PASS: vfs_s_get_path PASS: path_recode PASS: vfs_get_encoding ============================================================================ Testsuite summary for /lib/vfs ============================================================================ # TOTAL: 18 # PASS: 13 # SKIP: 0 # XFAIL: 0 # FAIL: 5 # XPASS: 0 # ERROR: 0 ============================================================================ See tests/lib/vfs/test-suite.log ============================================================================ }}} test-suite.log file is attached. Let me know should you need information about the environment." mnowak Active Tickets 3974 mcview doesn't scroll correctly upon search mcview 4.8.22 Future Releases defect new 2019-03-06T17:08:48Z 2019-05-06T09:09:47Z "This isn't quite a dupe of #2132, but solution will likely be similar. While searching in mcview, if the viewer is set to wrap lines and the line is longer than the whole screen (which might happen for example in unformated json files), a successful search may scroll to the line, but not to the actual match and as scrolling cancels highlighting, the action's result might be less than useful. " mnk Active Tickets 3983 SIGBUS, Bus error in __memcmp_avx2_movbe (or __memcmp_sse2) when comparing two dirs(F9,c,c,T) that contain symlink to 0 byte file mc-core master Future Releases defect new 2019-05-06T12:06:07Z 2019-05-15T20:27:09Z "''' What version of Midnight Commander is used?''' {{{ $ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.22-130-ge1d11906b Built with GLib 2.60.1 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} {{{ $ LC_MESSAGES=C mc -F Home directory: /home/user Profile root directory: /home/user [System data] Config directory: /etc/mc/ Data directory: /usr/share/mc/ File extension handlers: /usr/lib/mc/ext.d/ VFS plugins and scripts: /usr/lib/mc/ extfs.d: /usr/lib/mc/extfs.d/ fish: /usr/lib/mc/fish/ [User data] Config directory: /home/user/.config/mc/ Data directory: /home/user/.local/share/mc/ skins: /home/user/.local/share/mc/skins/ extfs.d: /home/user/.local/share/mc/extfs.d/ fish: /home/user/.local/share/mc/fish/ mcedit macros: /home/user/.local/share/mc/mc.macros mcedit external macros: /home/user/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/user/.cache/mc/ }}} {{{ $ mc --configure-options '--prefix=/usr' '--sysconfdir=/etc' '--libexecdir=/usr/lib' '--enable-background' '--enable-network' '--enable-netcode' '--enable-charset' '--enable-nls' '--with-vfs' '--with-edit' '--with-screen=slang' '--without-x' '--without-samba' '--without-gpm-mouse' '--without-gnome' '--with-debug' '--without-included-gettext' '--disable-dependency-tracking' 'CFLAGS=-pipe -march=native -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -mtune=native -fomit-frame-pointer -O2 -D_FORTIFY_SOURCE=2 -O2 -fbuiltin -ggdb3' }}} {{{ $ type mc mc is aliased to `. mc-wrapper.sh --nomouse --subshell --stickchars' $ type mc-wrapper.sh mc-wrapper.sh is /home/user/bin/mc-wrapper.sh $ which mc-wrapper.sh /home/user/bin/mc-wrapper.sh $ cat `which mc-wrapper.sh` MC_USER=`id | sed 's/[^(]*(//;s/).*//'` MC_PWD_FILE=""${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$"" /usr/bin/mc -P ""$MC_PWD_FILE"" ""$@"" if test -r ""$MC_PWD_FILE""; then MC_PWD=""`cat ""$MC_PWD_FILE""`"" if test -n ""$MC_PWD"" && test -d ""$MC_PWD""; then cd ""$MC_PWD"" fi unset MC_PWD fi rm -f ""$MC_PWD_FILE"" unset MC_PWD_FILE unset MC_USER }}} {{{ $ coredumpctl -r|head -2 TIME PID UID GID SIG COREFILE EXE Mon 2019-05-06 13:36:45 CEST 13484 1000 1000 7 present /usr/bin/mc }}} Note: below I've redirected the gdb output into /tmp/a file because I don't have scrollback buffer via ssh (and haven't yet figured out how to get one): {{{ $ coredumpctl gdb >/tmp/a GNU gdb (GDB) 8.2.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type ""show copying"" and ""show warranty"" for details. This GDB was configured as ""x86_64-pc-linux-gnu"". Type ""show configuration"" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type ""help"". Type ""apropos word"" to search for commands related to ""word""... Reading symbols from /usr/bin/mc...done. [New LWP 13484] [Thread debugging using libthread_db enabled] Using host libthread_db library ""/usr/lib/libthread_db.so.1"". Core was generated by `/usr/bin/mc -P /tmp/mc-user/mc.pwd.1908 --nomouse --subshell --stickchars'. Program terminated with signal SIGBUS, Bus error. #0 0x00007fcc3acba480 in __memcmp_avx2_movbe () from /usr/lib/libc.so.6 (gdb) bt #0 0x00007fcc3acba480 in __memcmp_avx2_movbe () from /usr/lib/libc.so.6 #1 0x000055a43a906808 in compare_files (size=29, vpath2=0x55a43ba32700, vpath1=0x55a43ba3f2c0) at cmd.c:238 #2 compare_dir (panel=0x55a43ba2c560, other=0x55a43ba33b70, mode=mode@entry=compare_thourough) at cmd.c:339 #3 0x000055a43a908042 in compare_dirs_cmd () at cmd.c:1165 #4 0x000055a43a8a9d05 in midnight_execute_cmd (sender=0x55a43ba22a00, command=109) at midnight.c:1115 #5 0x000055a43a8d903d in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x55a43ba22a00, w=) at ../../lib/widget/widget-common.h:210 #6 menubar_execute (menubar=0x55a43ba22a00) at menu.c:345 #7 0x000055a43a8d9baa in menubar_handle_key (key=, menubar=0x55a43ba22a00) at menu.c:533 #8 menubar_callback (w=0x55a43ba22a00, sender=, msg=, parm=, data=) at menu.c:627 #9 0x000055a43a8925ca in send_message (data=0x0, parm=99, msg=MSG_HOTKEY, sender=0x0, w=0x55a43ba22a00) at ../../lib/widget/widget-common.h:210 #10 dlg_try_hotkey (h=0x55a43ba12210, h=0x55a43ba12210, d_key=99) at dialog.c:422 #11 dlg_key_event (d_key=99, h=0x55a43ba12210) at dialog.c:482 #12 dlg_process_event (h=0x55a43ba12210, key=99, event=) at dialog.c:1164 #13 0x000055a43a8928ab in frontend_dlg_run (h=0x55a43ba12210) at dialog.c:544 #14 dlg_run (h=0x55a43ba12210) at dialog.c:1197 #15 0x000055a43a8ab42c in do_nc () at midnight.c:1783 #16 0x000055a43a886504 in main (argc=, argv=) at main.c:409 (gdb) bt full #0 0x00007fcc3acba480 in __memcmp_avx2_movbe () from /usr/lib/libc.so.6 No symbol table info available. #1 0x000055a43a906808 in compare_files (size=29, vpath2=0x55a43ba32700, vpath1=0x55a43ba3f2c0) at cmd.c:238 data2 = 0x7fcc3b35f000 data1 = 0x7fcc3b389000 file2 = file1 = result = -1 file1 = result = file2 = data1 = data2 = #2 compare_dir (panel=0x55a43ba2c560, other=0x55a43ba33b70, mode=mode@entry=compare_thourough) at cmd.c:339 src_name = 0x55a43ba3f2c0 dst_name = 0x55a43ba32700 target = source = i = 2 j = #3 0x000055a43a908042 in compare_dirs_cmd () at cmd.c:1165 choice = 2 thorough_flag = compare_thourough #4 0x000055a43a8a9d05 in midnight_execute_cmd (sender=0x55a43ba22a00, command=109) at midnight.c:1115 res = MSG_HANDLED #5 0x000055a43a8d903d in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x55a43ba22a00, w=) at ../../lib/widget/widget-common.h:210 ret = MSG_NOT_HANDLED ret = #6 menubar_execute (menubar=0x55a43ba22a00) at menu.c:345 w = 0x55a43ba22a00 menu = entry = 0x55a43ba0fe10 #7 0x000055a43a8d9baa in menubar_handle_key (key=, menubar=0x55a43ba22a00) at menu.c:533 entry = menu = 0x55a43ba21170 i = 0x55a43ba0c560 = {0x55a43ba0fe10, 0x55a43ba0feb0, 0x55a43ba0ff50, 0x55a43ba0fff0, 0x0, 0x55a43ba10090, 0x55a43ba10130, 0x55a43ba20e50, 0x55a43ba20ef0, 0x55a43ba20f90, 0x0, 0x55a43ba21030, 0x55a43ba210d0, 0x55a43ba0fa00} #8 menubar_callback (w=0x55a43ba22a00, sender=, msg=, parm=, data=) at menu.c:627 menubar = 0x55a43ba22a00 #9 0x000055a43a8925ca in send_message (data=0x0, parm=99, msg=MSG_HOTKEY, sender=0x0, w=0x55a43ba22a00) at ../../lib/widget/widget-common.h:210 ret = MSG_NOT_HANDLED ret = #10 dlg_try_hotkey (h=0x55a43ba12210, h=0x55a43ba12210, d_key=99) at dialog.c:422 hot_cur = current = 0x55a43ba22a00 handled = MSG_NOT_HANDLED c = 99 hot_cur = current = handled = c = #11 dlg_key_event (d_key=99, h=0x55a43ba12210) at dialog.c:482 handled = handled = #12 dlg_process_event (h=0x55a43ba12210, key=99, event=) at dialog.c:1164 No locals. #13 0x000055a43a8928ab in frontend_dlg_run (h=0x55a43ba12210) at dialog.c:544 d_key = wh = 0x55a43ba12210 event = {buttons = 0, x = -1, y = 982048309, type = (GPM_DOWN | GPM_DOUBLE | GPM_MFLAG | GPM_HARD | unknown: 21504)} wh = event = d_key = #14 dlg_run (h=0x55a43ba12210) at dialog.c:1197 No locals. #15 0x000055a43a8ab42c in do_nc () at midnight.c:1783 ret = #16 0x000055a43a886504 in main (argc=, argv=) at main.c:409 mcerror = 0x0 config_migrated = 0 config_migrate_msg = 0x0 exit_code = 1 (gdb) q PID: 13484 (mc) UID: 1000 (user) GID: 1000 (user) Signal: 7 (BUS) Timestamp: Mon 2019-05-06 13:36:45 CEST (11min ago) Command Line: /usr/bin/mc -P /tmp/mc-user/mc.pwd.1908 --nomouse --subshell --stickchars Executable: /usr/bin/mc Control Group: /system.slice/sshd.service Unit: sshd.service Slice: system.slice Boot ID: 85b887fbf341469ea4a8be2dd78878ac Machine ID: 5767ef25f523419aaa049f3d74481940 Hostname: i87k Storage: /var/lib/systemd/coredump/core.mc.1000.85b887fbf341469ea4a8be2dd78878ac.13484.1557142605000000 Message: Process 13484 (mc) of user 1000 dumped core. Stack trace of thread 13484: #0 0x00007fcc3acba480 __memcmp_avx2_movbe (libc.so.6) #1 0x000055a43a906808 compare_files (mc) #2 0x000055a43a908042 compare_dirs_cmd (mc) #3 0x000055a43a8a9d05 midnight_execute_cmd (mc) #4 0x000055a43a8d903d send_message (mc) #5 0x000055a43a8d9baa menubar_handle_key (mc) #6 0x000055a43a8925ca send_message (mc) #7 0x000055a43a8928ab frontend_dlg_run (mc) #8 0x000055a43a8ab42c do_nc (mc) #9 0x000055a43a886504 main (mc) #10 0x00007fcc3ab83ce3 __libc_start_main (libc.so.6) #11 0x000055a43a88666e _start (mc) }}} ''' What steps will reproduce the problem?''' Attached directory structure and files for reproduction purposes: 1. chdir into ''/home/user/TODO/coredump_mc/leftdir/mc'' on the left panel 2. chdir into ''/home/user/TODO/coredump_mc/rightdir/mc'' on the right panel 3. then do ''F9'', ''c'', ''c'','' T'' to compare the dirs and crash The above stacktrace was on an Intel i8700k CPU desktop PC(has avx and avx2), the below one is on an Ideapad Z575 laptop with AMD A6-3400M APU with Radeon(tm) HD Graphics CPU (it doesn't have avx): {{{ $ coredumpctl gdb PID: 31065 (mc) UID: 1000 (user) GID: 1000 (user) Signal: 7 (BUS) Timestamp: Mon 2019-05-06 14:00:12 CEST (1min 34s ago) Command Line: /usr/bin/mc -P /tmp/mc-user/mc.pwd.25438 --nomouse --subshell --stickchars Executable: /usr/bin/mc Control Group: /user.slice/user-1000.slice/session-c1.scope Unit: session-c1.scope Slice: user-1000.slice Session: c1 Owner UID: 1000 (user) Boot ID: dfe6cd331478451b8c6522386e636e51 Machine ID: ac27e28ecb9e47208f622bcf7f772c6b Hostname: Z575 Storage: /var/lib/systemd/coredump/core.mc.1000.dfe6cd331478451b8c6522386e636e51.31065.1557144012000000 Message: Process 31065 (mc) of user 1000 dumped core. Stack trace of thread 31065: #0 0x00007f93b4764100 __memcmp_sse2 (libc.so.6) #1 0x0000564da47c0527 compare_files (mc) #2 0x0000564da476191d midnight_execute_cmd (mc) #3 0x0000564da479231d send_message (mc) #4 0x0000564da4792eda menubar_handle_key (mc) #5 0x0000564da4749b14 send_message (mc) #6 0x0000564da4749df9 frontend_dlg_run (mc) #7 0x0000564da4762fec do_nc (mc) #8 0x0000564da473d53c main (mc) #9 0x00007f93b46effce __libc_start_main (libc.so.6) #10 0x0000564da473d6be _start (mc) GNU gdb (GDB) 8.2.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type ""show copying"" and ""show warranty"" for details. This GDB was configured as ""x86_64-pc-linux-gnu"". Type ""show configuration"" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type ""help"". Type ""apropos word"" to search for commands related to ""word""... Reading symbols from /usr/bin/mc...done. [New LWP 31065] [Thread debugging using libthread_db enabled] Using host libthread_db library ""/usr/lib/libthread_db.so.1"". Core was generated by `/usr/bin/mc -P /tmp/mc-user/mc.pwd.25438 --nomouse --subshell --stickchars'. Program terminated with signal SIGBUS, Bus error. #0 __memcmp_sse2 () at ../sysdeps/x86_64/memcmp.S:40 40 ../sysdeps/x86_64/memcmp.S: No such file or directory. (gdb) bt #0 __memcmp_sse2 () at ../sysdeps/x86_64/memcmp.S:40 #1 0x0000564da47c0527 in compare_files (size=29, vpath2=0x564da4e0fe70, vpath1=0x564da4e13880) at cmd.c:238 #2 compare_dir (panel=0x564da4e0d500, other=0x564da4e0e8b0, mode=compare_thourough) at cmd.c:339 #3 0x0000564da47c1e18 in compare_dirs_cmd () at cmd.c:1166 #4 0x0000564da476191d in midnight_execute_cmd (sender=0x564da4dff080, command=109) at midnight.c:1115 #5 0x0000564da479231d in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x564da4dff080, w=) at ../../lib/widget/widget-common.h:210 #6 menubar_execute (menubar=0x564da4dff080) at menu.c:345 #7 0x0000564da4792eda in menubar_handle_key (key=, menubar=0x564da4dff080) at menu.c:533 #8 menubar_callback (w=0x564da4dff080, sender=, msg=, parm=, data=) at menu.c:627 #9 0x0000564da4749b14 in send_message (data=0x0, parm=99, msg=MSG_HOTKEY, sender=0x0, w=0x564da4dff080) at ../../lib/widget/widget-common.h:210 #10 dlg_try_hotkey (h=0x564da4df2000, h=0x564da4df2000, d_key=99) at dialog.c:422 #11 dlg_key_event (d_key=99, h=0x564da4df2000) at dialog.c:482 #12 dlg_process_event (h=0x564da4df2000, key=99, event=) --Type for more, q to quit, c to continue without paging--c at dialog.c:1164 #13 0x0000564da4749df9 in frontend_dlg_run (h=0x564da4df2000) at dialog.c:544 #14 dlg_run (h=0x564da4df2000) at dialog.c:1197 #15 0x0000564da4762fec in do_nc () at midnight.c:1783 #16 0x0000564da473d53c in main (argc=, argv=) at main.c:409 (gdb) bt full #0 __memcmp_sse2 () at ../sysdeps/x86_64/memcmp.S:40 No locals. #1 0x0000564da47c0527 in compare_files (size=29, vpath2=0x564da4e0fe70, vpath1=0x564da4e13880) at cmd.c:238 data2 = 0x7f93b4f05000 data1 = file2 = file1 = result = -1 file1 = result = file2 = data1 = data2 = #2 compare_dir (panel=0x564da4e0d500, other=0x564da4e0e8b0, mode=compare_thourough) at cmd.c:339 src_name = 0x564da4e13880 dst_name = 0x564da4e0fe70 target = source = i = 2 j = --Type for more, q to quit, c to continue without paging--c #3 0x0000564da47c1e18 in compare_dirs_cmd () at cmd.c:1166 choice = thorough_flag = #4 0x0000564da476191d in midnight_execute_cmd (sender=0x564da4dff080, command=109) at midnight.c:1115 res = MSG_HANDLED #5 0x0000564da479231d in send_message (data=0x0, parm=, msg=MSG_ACTION, sender=0x564da4dff080, w=) at ../../lib/widget/widget-common.h:210 ret = MSG_NOT_HANDLED ret = #6 menubar_execute (menubar=0x564da4dff080) at menu.c:345 w = 0x564da4dff080 menu = entry = 0x564da4dfd8a0 #7 0x0000564da4792eda in menubar_handle_key (key=, menubar=0x564da4dff080) at menu.c:533 entry = menu = 0x564da4df2460 i = 0x564da4ded160 = {0x564da4dfd8a0, 0x564da4dfd940, 0x564da4df4b90, 0x564da4df4c30, 0x0, 0x564da4df4cd0, 0x564da4df4d70, 0x564da4df4e10, 0x564da4df05f0, 0x564da4df0690, 0x0, 0x564da4df0730, 0x564da4df07d0, 0x564da4df0870} #8 menubar_callback (w=0x564da4dff080, sender=, msg=, parm=, data=) at menu.c:627 menubar = 0x564da4dff080 #9 0x0000564da4749b14 in send_message (data=0x0, parm=99, msg=MSG_HOTKEY, sender=0x0, w=0x564da4dff080) at ../../lib/widget/widget-common.h:210 ret = MSG_NOT_HANDLED ret = #10 dlg_try_hotkey (h=0x564da4df2000, h=0x564da4df2000, d_key=99) at dialog.c:422 hot_cur = current = 0x564da4dff080 handled = MSG_NOT_HANDLED c = 99 hot_cur = current = handled = c = #11 dlg_key_event (d_key=99, h=0x564da4df2000) at dialog.c:482 handled = handled = #12 dlg_process_event (h=0x564da4df2000, key=99, event=) at dialog.c:1164 No locals. #13 0x0000564da4749df9 in frontend_dlg_run (h=0x564da4df2000) at dialog.c:544 d_key = wh = 0x564da4df2000 event = {buttons = -1528805856, x = -1, y = -1534984512, type = (GPM_MOVE | GPM_DOWN | GPM_UP | GPM_TRIPLE | unknown: 22016)} wh = event = d_key = #14 dlg_run (h=0x564da4df2000) at dialog.c:1197 No locals. #15 0x0000564da4762fec in do_nc () at midnight.c:1783 ret = #16 0x0000564da473d53c in main (argc=, argv=) at main.c:409 mcerror = 0x0 config_migrated = 0 config_migrate_msg = 0x0 exit_code = 1 (gdb) q }}} " howaboutsynergy Active Tickets 4011 "when mc is in ""ascii"" mode it still launches mcedit in extended mode" mcedit master Future Releases defect new 2019-08-29T08:52:40Z 2019-08-29T09:11:31Z "on a SSH connection (identified by e.g. SSH_CLIENT variable beeing set to some IP) i have to use the ""-a"" option on mc for a useable window and dialog layout. easy to do that using a shell script or maybe less smarter with an alias. when now launching mcedit via the ""F4"" edit key from mc i am still getting into an instance of mcedit that is using the extended character set. attempts to improve the situation with alias or helper scripts failed so far for me. shouldn't an mc instance that is in ascii mode also prefer to launch mcedit in ascii mode as well. other than that i dont even see a was to pre-select ascii mode for mcedit. the problem is not instantly visible in mcedit as its main screen avoids using any extended chars but as soon as i open a dialog its corrupting the screen contents in a way that stays longer than the dialog is open." jetpilot Active Tickets 4012 Replace does not work correctly with mark columns mcedit 4.8.20 Future Releases defect new 2019-09-02T17:14:05Z 2019-09-02T17:14:05Z "In mcedit, replace function does not work correctly if used with ""In selection"" enabled and selection was done with ""Mark columns"" option. What happens: text is replaced in whole lines that are selected What is expected: replace only in columns that are selected" adamk Active Tickets 4020 "If UpArrow is pressed during ""Press any key to continue..."", then lockup unless more keys are pressed!" mc-tty master Future Releases defect new 2019-09-27T14:02:41Z 2019-09-28T08:23:45Z "''' What steps will reproduce the problem?''' 1. In Options->Configuration, in `Configure options` window set `Pause after run` to `(*) Always` , click [OK]. 2. type a command, ie. `echo` and press Enter now you're prompted: `Press any key to continue...` 3. press and release the UpArrow key then pause for no more than 1 second and press any other key such as Enter key. This combination (UpArrow, pause, Enter) can be repeated 6 times before it returns to `mc `panels! 3. If you pause for more then 1 second then press Enter, it returns to 'mc' panels instantly! 3. or, press and release UpArrow then press and hold any key like the key 'a'(or even UpArrow itself) until 2 seconds later when you see it return to `mc` panels. 3. or, repeatedly press and release UpArrow with pauses of more than 1 second! it never returns to 'mc' panels! {{{ $ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.23-82-gb633256c7 Built with GLib 2.62.0 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; $ LC_MESSAGES=C mc -F Home directory: /home/user Profile root directory: /home/user [System data] Config directory: /etc/mc/ Data directory: /usr/share/mc/ File extension handlers: /usr/lib/mc/ext.d/ VFS plugins and scripts: /usr/lib/mc/ extfs.d: /usr/lib/mc/extfs.d/ fish: /usr/lib/mc/fish/ [User data] Config directory: /home/user/.config/mc/ Data directory: /home/user/.local/share/mc/ skins: /home/user/.local/share/mc/skins/ extfs.d: /home/user/.local/share/mc/extfs.d/ fish: /home/user/.local/share/mc/fish/ mcedit macros: /home/user/.local/share/mc/mc.macros mcedit external macros: /home/user/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/user/.cache/mc/ $ mc --configure-options '--prefix=/usr' '--sysconfdir=/etc' '--libexecdir=/usr/lib' '--enable-background' '--enable-network' '--enable-netcode' '--enable-charset' '--enable-nls' '--with-vfs' '--with-edit' '--with-screen=slang' '--without-x' '--without-samba' '--without-gpm-mouse' '--without-gnome' '--without-debug' '--without-included-gettext' '--disable-dependency-tracking' '--enable-tests' $ echo $TERM xterm-256color $ xfce4-terminal --version xfce4-terminal 0.8.8git-5625bc0 (Xfce 4.14) }}} Thanks for your consideration." howaboutsynergy Active Tickets 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 4096 mc with ncurses after #3954 mc-tty master Future Releases defect new 2020-06-17T01:01:26Z 2023-08-15T09:00:12Z "After fixing handling mouse by mc compiled with ncurses under #3954 I've started using on one of my computer such binary to observe current behaviour. Looks like mc with ncurses is generally OK however it is some number of some minor issues. Here is summary list of the effects which I found so far: 1) Under windows putty all ascii frames gone and instead frames are displayed ""x"" characters. Under gnome-terminal it is OK. Both terminals are using xterm-256color so I'm assuming that this must be result of some terminal settings. 2) keys like home or key combinations like alt-N, alt-P or alt-H are handled with some delay. With alt-N/alt-P in input line is displayed first cleaned and after the delay is displayed correct text of line from history list. That delay and input line updating in two stages is possible to observe under windows putty and gnome-terminal. That effect is a bit annoying because it causes slowing down interaction with mc. IMO that effect is kind of critical. I'm not sure what is causing that palette of the colours on the same terminal when mc is compiled with SLang and ncurses but probably it is caused by a bit different internal colours mapping by those two libraries. Probably that could be accepted as known issue and to provide the same colours ncurses code should be changed. " kloczek Active Tickets 4117 Quick view panel only shows raw view mcview 4.8.25 Future Releases defect new 2020-09-12T19:38:03Z 2021-03-15T14:11:16Z "As it is in the title .. - switching one of the panels to quick view - pressing F8 does not switch between raw and parsed view." kloczek Active Tickets 4137 "TERM ""*-direct"" values are not recognized as True Color-capable" mc-tty master Future Releases defect new 2020-10-20T11:53:56Z 2020-10-21T04:16:20Z "Using latest versions of Konsole and Yakuake terminal emulators with True Color (24-bit or Direct RGB) color support announced via the pair of environment variables: {{{#!sh TERM=konsole-direct COLORTERM=truecolor }}} With MC configured to use either 256-color or 16M-color skins reports on invocation that the terminal is capable of only basic 16-color palettes and has reverted to the default skin accordingly. Prepending 'TERM=konsole-256color' to the invocation while leaving the COLORTERM variable set as before provides the expected behavior, with skins of all color bit-depths able to be set and subsequently displaying as designed. A test with TERM set to the more generic 'xterm-direct' value produced the same results as 'konsole-direct' where MC does not recognize direct RGB colors. This leads me to conclude that MC lacks recognition for the ""-direct"" values for TERM which were implemented in [https://invisible-island.net/ncurses/ncurses-slang.html#compare_dots S-Lang 2.3.1 built with ncurses >=6.1]. === System info === * Operating System: Kubuntu 20.10 * KDE Plasma Version: 5.20.0 * KDE Frameworks Version: 5.76.0 * Qt Version: 5.15.0 * Kernel Version: 5.8.0-23-generic * OS Type: 64-bit === Hardware === * Model: Lenovo ThinkPad T420s * Processor: Intel® Core™ i7-2620M CPU @ 2.70GHz * Memory: 8 GiB of RAM * Graphics Processor: NVS 4200M/PCIe/SSE2 === Relevant Software Versions === * libncursesw6: 6.2 * libslang2: 2.3.2 (built using unicode-data 13.0.0) * konsole: 20.08.2 * yakuake: 20.08.1 === Debugging command output === {{{#!sh $ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.25-55-g5bf714b Built with GLib 2.64.2 Built with S-Lang 2.3.2 with terminfo database With builtin Editor and Aspell support With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; $ mc --configure-options '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/usr/lib' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--with-x' '--with-screen=slang' '--enable-aspell' '--disable-rpath' '--disable-static' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/mc-4.8.25~git20201017=. -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' }}}" RogueScholar Active Tickets 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 4257 double esc does not work with ncurses-6.2 mc-tty master Future Releases defect new 2021-06-25T05:20:14Z 2021-06-25T05:41:24Z "Hello, I have mc-4.8.26 with ncurses-6.2, TERM=xterm-256color. The ESC is configured by default (old_esc_mode=true). If I press a single ""esc"" there is the expected delay (around 0.5 as per FAQ). However, the delay is the same if I press esc-esc. So I guess the second esc press is not getting registered? Let me know if I can provide any additional details. Thank you" anton_kg Active Tickets 4261 Editor must recheck write permissions mcedit master Future Releases defect new 2021-07-23T11:16:10Z 2021-07-23T13:01:18Z "Steps to reproduce: 1) touch test.txt 2) chmod 444 test.txt 3) Edit in MC editor 4) Try to save -> Error 5) In another terminal: chmod 664 test.txt 6) Try to save -> Error That's a bug" birdie Active Tickets 4279 FISH download, file modification and access times truncated mc-vfs 4.8.27 Future Releases defect new 2021-09-03T11:34:36Z 2023-06-04T16:02:31Z "When downloading a file using FISH, it doesn't preserve (nano)seconds and even the whole time when copying from !OpenWrt 19.07.7. Should FISH use ''ls --full-time''? Workaround: Use upload (if possible). " opty Active Tickets 4280 FISH download, file access time set to modification time mc-vfs 4.8.27 Future Releases defect new 2021-09-03T11:42:53Z 2021-09-04T21:20:37Z "When downloading a file using FISH, it doesn't preserve file access time but sets it to its modification time. Workaround: Use upload (if possible). " opty Active Tickets 4291 Back slashes multiplying mc-core master Future Releases defect new 2021-09-25T14:21:37Z 2021-10-10T01:59:12Z "When renaming a file containing backslashes using Shift + F6 back slashes double. Example: a \ b -> Shift + F6 -> a \\ b" birdie Active Tickets 4292 Redundant back slashes for autocomplete mc-core master Future Releases defect new 2021-09-25T14:27:15Z 2021-09-25T14:27:15Z "Steps to reproduce: {{{ $ mkdir test $ cd test $ touch ""a b"" }}} Shift + F4 [[br]] Save As [[br]] Esc + Tab [[br]] '''a\ b''' will appear in the edit field. If you attempt to save the file, the back slash will be in the filename." birdie Active Tickets 4317 a1, c1, etc. keys not recognized mc-tty master Future Releases defect new 2021-12-02T19:51:01Z 2021-12-02T21:04:44Z "Hi, the a1, c1 etc. keys are useful mappings to the keypad – the two point to digit 7 and 1, for example, if numlock is off. However, they aren't recognized – 7 is being read as home and 1 as end. Why is that? Is it because the keymap() function isn't being called? Or some equal slang function. It seems to me that this bug is hidden because the default mappings match the default meaning of the keypad keys (home,end,pgup,pgdown)." psprint Active Tickets 4329 Binaries adm master Future Releases defect new 2022-01-16T11:44:01Z 2022-02-25T08:42:20Z "Pretty much everything under the whole [Redhat-based distros] section is deprecated/severely outdated with multiple dead links not to mention that RHEL 6 and its derivatives have long been unsupported. You might as well remove it completely." birdie Active Tickets 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 4405 "Some types of files ""View"" damn slow in modern Ubuntu/MC" mcview master Future Releases defect new 2022-09-06T16:14:11Z 2022-09-06T17:03:41Z " Hello, developers! I cannot precisely what happened exactly and when, but Ubuntu 16.04 with standard MC: GNU Midnight Commander 4.8.15 Built with GLib 2.47.3 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; time file rep1_I.bam rep1_I.bam: gzip compressed data, extra field real 0m0,001s user 0m0,001s sys 0m0,000s can open for ""View/F3"" BAM files in time much lesser that second. Even 10G-12G files (that is now too uncommon for these filetypes). Relatively modern and stable already Ubuntu 20.04 opens for ""View/F3"" 714M BAM file in 13 seconds at pretty modern hardware (and we can wait for eternity to ""View"" at 12G file)! MC:GNU Midnight Commander 4.8.28 Built with GLib 2.64.6 Built with S-Lang 2.3.2 with terminfo database Built with libssh2 1.8.0 With builtin Editor and Aspell support With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; time file rep1_I.bam rep1_I.bam: Blocked GNU Zip Format (BGZF; gzip compatible), block length 577 real 0m0,004s user 0m0,004s sys 0m0,000s It's obvious for me that some script now tries to process the whole file before I can view it. I cannot find any manual concerning VIEWER behaviour for file extensions and/or file types. Why previous MC opens the same files in the old OS many times faster? Why ""file"" is at least 4 times slower at MUCH modern hardware (new OS: Ryzen 5950X, old OS: Xeon E5-2697 v2). How can I fix it?" lokapal Active Tickets 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 4443 TIOCSWINSZ ioctl loses extended pixel sizes (ws_xpixel, ws_ypixel) even when the underlying shell supports it mc-tty master Future Releases defect new 2023-02-14T04:32:06Z 2023-02-23T14:54:34Z "$ mc --version GNU Midnight Commander 4.8.28 Built with GLib 2.73.2 Built with S-Lang 2.3.2 with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; $ bash --version GNU bash, version 5.2.15(1)-release (x86_64-redhat-linux-gnu) Test script: {{{ #!/usr/bin/env python3 import ctypes import termios import fcntl from ctypes import Structure, c_ushort class WinSize(Structure): _fields_ = [(""ws_row"", c_ushort), (""ws_col"", c_ushort), (""ws_xpixel"", c_ushort), (""ws_ypixel"", c_ushort) ] sz = WinSize() fcntl.ioctl(0, termios.TIOCGWINSZ, sz) print(sz.ws_row, sz.ws_col, sz.ws_xpixel, sz.ws_ypixel) }}} Running the above script with Python 3.10.9 with MC I get: >>> 44 206 0 0 Exiting MC to the undelying shell I get: >>> 44 206 1651 752 " arcivanov Active Tickets 4456 MC could really use FTP's MFMT command mc-vfs master Future Releases defect new 2023-05-10T08:34:44Z 2023-05-10T09:46:32Z "MC doesn't set the modification times for uploaded files. The MFMT command does this neatly. Please use it." birdie Active Tickets 4479 video & images at cli (not in an X terminal) mc-core master Future Releases defect new 2023-06-26T18:38:34Z 2023-06-26T18:38:34Z "pressing 'enter' on a video or image file does not play or view the file when outside of X but rather at a cli In the older versions of mc (circa 2010 and before) it worked just fine. In the newer versions of mc it only works when inside of X running mc within a terminal window. My currently installed version is 4.8.29" glennmcc Active Tickets 4484 Possible SEGV in x_error_handler() mc-tty master Future Releases defect new 2023-07-17T05:01:29Z 2023-07-22T06:41:01Z "There is a possible libX11 API error that leads to a SEGV (null-pointer dereference). The problem appears to be that the x_error_handler() function in lib/tty/x11conn.c calls XCloseDisplay(), but calling ""functions ... on the display that will generate protocol requests"" seems to be generally disallowed (see manpage for XSetErrorHandler). If an X11 error occurs during XOpenDisplay(), then x_error_handler() will be called, which then in turn calls XCloseDisplay(). The call to XCloseDisplay() will crash (see stack trace below) since it attempts to free resources that have not yet been created. This appears to be a NULL pointer dereference. Reproducing the bug is difficult as it requires an X11 error to occur during XOpenDisplay(). But let me know if you need a PoC. Tested on the latest Github head. Here is the relevant source snippet (annotated) from lib/tty/x11conn.c: {{{ static int x_error_handler (Display * dpy, XErrorEvent * ee) { ... /* Handler closes the display on error. */ (void) func_XCloseDisplay (dpy); ... } /* Handler is installed *before* XOpenDisplay() */ static void install_error_handlers (void) { ... (void) func_XSetErrorHandler (x_error_handler); ... } static gboolean x11_available (void) { ... install_error_handlers (); return TRUE; } Display *mc_XOpenDisplay (const char *displayname) { if (x11_available ()) // <--- handler installed here. { ... /* If an X11 error occurs during XOpenDisplay(), the * x_error_handler() and XCloseDisplay may be called * *before* the display is fully opened. This leads to * a SIGSEGV, null-pointer dereference in XFreeGC(), * where libx11 attempts to free a resource (gc) not yet * created. */ retval = func_XOpenDisplay (displayname); ... } } }}} Here is the relevant stack trace: {{{ Program received signal SIGSEGV, Segmentation fault. 0x00007ffde7edf8d4 in XFreeGC (dpy=dpy@entry=0x555555700bb0, gc=0x0) at ../../src/FreeGC.c:43 (gdb) bt #0 0x00007ffde7edf8d4 in XFreeGC (dpy=dpy@entry=0x555555700bb0, gc=0x0) at ../../src/FreeGC.c:43 #1 0x00007ffde7ee3bce in XCloseDisplay (dpy=0x555555700bb0) at ../../src/ClDisplay.c:56 #2 0x000055555563895a in x_error_handler (dpy=0x555555700bb0, ee=0x7fffffffdaa0) at x11conn.c:109 #3 0x00007ffde7f048bb in _XError (dpy=dpy@entry=0x555555700bb0, rep=rep@entry=0x5555557028e0) at ../../src/XlibInt.c:1503 #4 0x00007ffde7f049b7 in handle_error (dpy=0x555555700bb0, err=0x5555557028e0, in_XReply=) at ../../src/xcb_io.c:211 #5 0x00007ffde7f04a55 in handle_response (dpy=dpy@entry=0x555555700bb0, response=0x5555557028e0, in_XReply=in_XReply@entry=0) at ../../src/xcb_io.c:403 #6 0x00007ffde7f04b0a in _XEventsQueued (dpy=0x555555700bb0, mode=mode@entry=1) at ../../src/xcb_io.c:442 #7 0x00007ffde7f04bcc in _XFlush (dpy=) at ../../src/xcb_io.c:611 #8 0x00007ffde7f04ebd in _XGetRequest (dpy=0x555555700bb0, type=, len=16) at ../../src/XlibInt.c:1787 #9 0x00007ffde7ee0c9a in XCreateGC (dpy=0x555555700bb0, d=1330, valuemask=12, values=0x7fffffffdca0) at ../../src/CrGC.c:89 #10 0x00007ffde7ef2621 in XOpenDisplay (display=) at ../../src/OpenDis.c:514 #11 0x0000555555638bd1 in mc_XOpenDisplay (displayname=0x0) at x11conn.c:195 #12 0x0000555555631b47 in init_key_x11 () at key.c:709 #13 0x000055555563288d in init_key () at key.c:1367 #14 0x00005555555701ed in main (argc=1, argv=0x7fffffffdf68) at main.c:358 }}} Other info: mc -V {{{ GNU Midnight Commander 4.8.29-146-g299d9a2fb Built with GLib 2.76.1 Built with S-Lang 2.3.3 with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} mc -F {{{ Home directory: /home/gjd Profile root directory: /home/gjd [System data] Config directory: /usr/local/etc/mc/ Data directory: /usr/local/share/mc/ File extension handlers: /usr/local/libexec/mc/ext.d/ VFS plugins and scripts: /usr/local/libexec/mc/ extfs.d: /usr/local/libexec/mc/extfs.d/ fish: /usr/local/libexec/mc/fish/ [User data] Config directory: /home/gjd/.config/mc/ Data directory: /home/gjd/.local/share/mc/ skins: /home/gjd/.local/share/mc/skins/ extfs.d: /home/gjd/.local/share/mc/extfs.d/ fish: /home/gjd/.local/share/mc/fish/ mcedit macros: /home/gjd/.local/share/mc/mc.macros mcedit external macros: /home/gjd/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/gjd/.cache/mc/ }}} " GJDuck Active Tickets 4488 file corruption when copying from iso9660 with bad rrversion mc-vfs master Future Releases defect new 2023-08-07T14:28:38Z 2023-09-17T09:25:55Z "When opening certain ISO files with mc, I get an error pop-up on the first open, which can be dismissed: [[Image(https://op-co.de/tmp/bad-rrversion.png)]] However, when copying individual files from such an ISO to another directory using [F5], mc will silently attach the same string (""`**BAD RRVERSION (0)`"") to all copied files, making them 20 bytes larger than the source, and corrupting all file formats that expect their header at the end. This looks related to #4326. The only ISO I have seen this happen on yet is a proprietary driver CD from Samsung from 2014, to which I can share a link privately on request. Tested on Debian-provided mc, mc -V: {{{ GNU Midnight Commander 4.8.29 Built with GLib 2.74.5 Built with S-Lang 2.3.3 with terminfo database Built with libssh2 1.10.0 With builtin Editor and Aspell support With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} mc --configure-options: {{{ '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-option-checking' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' 'AWK=awk' 'X11_WWW=x-www-browser' '--libexecdir=/usr/lib' '--with-x' '--with-screen=slang' '--disable-rpath' '--disable-static' '--disable-silent-rules' '--enable-aspell' '--enable-vfs-sftp' '--enable-vfs-undelfs' '--enable-tests' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -ffile-prefix-map=/build/mc-3Uz4Lz/mc-4.8.29=. -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' }}}" ge0rg Active Tickets 4513 Wrong tar extraction mc-vfs master Future Releases defect new 2023-11-21T17:35:53Z 2023-11-21T19:37:08Z "You can add (using tar -r) in a tar file multiple files with the same name (or multiple versions of the same file). When such tar file is opened in mc, every 'instance' of these entries (or occurrences as the tar help refers to them) is listed. But when you copy or view such an occurrence, no matter which one you select, always the same file is displayed/copied. Steps to reproduce: ** 1) create a file named sample1.txt with the following contents ** Text line v1 ** 2) execute ** tar -rf test.tar sample1.txt ** 3) modify the sample1.txt to have the following contents ** Text line v2 ** 4) execute ** tar -rf test.tar sample1.txt ** 5) open the test.tar using mc ** ** 6) view(F3) or copy (F5) each file. ** The files will be identical Expected behavior: The newer file should reflect the modified state of the sample1.txt while the old should reflect the initial. To correctly view the 'instances' of the file using tar, you can run tar -xf test.tar sample1.txt -O --occurrence=1 for the initial version tar -xf test.tar sample1.txt -O --occurrence=2 for the new version" fraganestis Active Tickets 4533 External editor does not work with command line argument mc-core master Future Releases defect new 2024-03-28T06:12:39Z 2024-03-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 1751 Indenting should behave EXACTLY like Tab/Backspace mcedit 4.7.0-pre3 Future Releases enhancement new 2009-10-28T11:57:36Z 2011-11-03T09:29:20Z "part of #1489 > >3. Indenting should behave EXACTLY like Tab/Backspace will behave when used on a single, non-selected line. > > but Tab/Backspace on a single, non-selected line work as tab / backspace > tab - insert , backspace - delete 1 char. > > Or what do you mean? Not if you have the default configuration: [x] Fake half tabs [ ] Backspace through tabs [ ] Fill tabs with spaces Tab spacing: 8 {{{ Step0: text Step1: hit Tab text Step2: hit Tab <------>text Step3: hit Tab <------> text Step4: hit Backspace <------>text Step5: hit Backspace text }}}" dborca Active Tickets 1808 Featured skin: hiddenfiles-sign-show not showing in Putty mc-skin 4.7.0-pre4 Future Releases enhancement new 2009-11-08T13:43:11Z 2011-11-03T09:29:56Z "The centred dot (Unicode 0x22C5 I think), appears in my Putty under WXP as a square (the default for a missing character). I found this is because of the character missing in the Courier New standard font. I tried some other TTF and most of them didn't support this dot (Deja Vu Sans does). The thick dot for hiddenfiles-sign-hide seems to be a better choice and is always supported. Can we change in the featured.ini this dot in behalf of the common one, 0x0B7 (in my Spanish keyboard it is in Shift-3)? BTW, when doing these ""experiments"" I noticed that it was possible to put there a two character string (I tried both good and bad dots there) and the mouse input was confused by it. Maybe these strings should be checked at runtime and just pick the first unicode character of the string. Anyway, I'm afraid that mouse input in the header line needs some extra fine tuning." dmartina Active Tickets 2162 xdiff (binary diff) mcdiff master Future Releases enhancement new 2010-05-01T07:30:49Z 2015-06-18T18:28:15Z "xdiff = Binary diff (ala vbindiff), just for the sake of it. http://www.midnight-commander.org/attachment/ticket/120/xdiff.c.patch" dborca Active Tickets 3147 Virtual Squashfs Support mc-vfs master Future Releases enhancement new 2014-01-11T18:39:26Z 2014-01-11T18:39:26Z "Midnight Commander does not have VFS support like for e.g. iso9660. Having ""unsquashfs"" from squashfs-tools package in the $PATH environment available, ""usqfs"" in ""extfs.d"" directory of MC and this patch: {{{ --- mc.ext.org 2013-08-09 10:49:00.000000000 +0200 +++ mc.ext 2013-11-09 18:21:00.000000000 +0100 @@ -254,6 +254,9 @@ Open=%cd %p/iso9660:// View=%view{ascii} /usr/local/libexec/mc/ext.d/misc.sh view iso9660 +type/^Squashfs filesystem + Open=%cd %p/usqfs:// + View=%view{ascii} unsquashfs -stat %f ; unsquashfs -lls -d """" %f regex/\.(diff|patch)$ Open=%cd %p/patchfs:// }}} applied, works for me since a while. " Unknown Active Tickets 3165 Display human readable sizes in panels mc-core master Future Releases enhancement new 2014-02-03T00:42:35Z 2014-04-04T18:39:43Z "When midnight commander displays the size of a file, it tries to display as much digits as fits into the size column (7 characters wide). The result is that for a 3 MB file it shows, for example, 3010050. In many cases, it is not important to know the exact number of bytes in a file, but only an approximate size (3 MB). Short numbers are more ""human friendly"". This patch adds a configuration option that enables displaying such human readable sizes in panels. The ""human readable"" means that at most three digits are displayed for each file size. This is accomplished by modifying function size_trunc_len(). Since the comment of this function says that floating point should be avoided by any means, the implementation is not as trivial as it could be. It displays floating point numbers by displaying integer and fractional parts separately as integers. The effect of this patch is shown in the following table. ""si"" and ""hr"" denote the values use_si and human_readable parameters of the size_trunc_len() function. The table shows the results of the function for different sizes. {{{ CURRENT THIS PATCH size | !si!hr si!hr !si hr si hr -----------|-------------------------------- 950 | 950 950 950 950 1001 | 1001 1001 0.97K 1.00k 1005 | 1005 1005 0.98K 1.01k 1023 | 1023 1023 0.99K 1.02k 1024 | 1024 1024 0.99K 1.02k 9849 | 9849 9849 9.61K 9.85k 12050 | 12050 12050 11.8K 12.1k 99940 | 99940 99940 97.5K 99.9k 100000 | 100000 100000 97.6K 100k 102399 | 102399 102399 100K 102k 102400 | 102400 102400 100K 102k 210050 | 210050 210050 205K 210k 3010050 | 3010050 3010050 2.87M 3.01m 43010050 | 42002K 43010k 41.0M 43.0m 1072693248 | 1023M 1073m 0.99G 1.07g }}} Currently, the decimal separator (""."") is hardcoded and independent of user's locale. If anyone wants to test the patch, the table was created with the code below. {{{ void print(uintmax_t size) { char buffer[50]; int units = 0; gboolean use_si = TRUE; gboolean human_readable = TRUE; int len = 7; printf(""%10ld"", size); size_trunc_len (buffer, len, size, units, !use_si, !human_readable); printf(""%8s"", buffer); size_trunc_len (buffer, len, size, units, use_si, !human_readable); printf(""%8s"", buffer); size_trunc_len (buffer, len, size, units, !use_si, human_readable); printf(""%8s"", buffer); size_trunc_len (buffer, len, size, units, use_si, human_readable); printf(""%8s"", buffer); printf(""\n""); } int main(int argc, char *argv[]) { print(950); print(1001); // ... } }}}" wentasah Active Tickets 3170 A feature for selected files mc-core master Future Releases enhancement new 2014-02-14T07:36:46Z 2015-11-03T14:22:40Z "Dear Sirs! Could you will make one feature for selected files? Namely moving the selected files at the beginning of the list. I attached a file, to you understand what I want. Thanks you and sorry for my English." Graf Active Tickets 3194 coffescript && erb syntax highlighting files mcedit master Future Releases enhancement new 2014-04-11T06:40:11Z 2014-05-02T07:47:41Z "Hi all! i make two files for colouring code in mcedit and make a pull requests on github: Rails erb syntax file: https://github.com/MidnightCommander/mc/pull/36 Coffescript syntax file: https://github.com/MidnightCommander/mc/pull/35 What must i do to include it to mc repo? With best regards, Sergio Belevskij " r72cccp Active Tickets 3210 "Add ""libarchive/bsdtar"" and ""The Unarchiver/unar"" support for (rar and others) files support" mc-vfs master Future Releases enhancement new 2014-05-08T21:29:16Z 2014-05-09T03:48:30Z "Add ""libarchive/bsdtar"" and ""The Unarchiver/unar"" support for (rar and others) files support bsdtar and unar support rar v3[0][1] [0]http://libarchive.org [1]http://unarchiver.c3.cx/formats" coadde Active Tickets 3264 Use own screen drawing method rather than slang/ncurses mc-tty master Future Releases enhancement new 2014-08-31T23:25:39Z 2017-11-27T12:46:17Z "MC currently uses either slang or ncurses for display. It's one thing that I firmly disagree with having two choices. It's a really minor benefit for a very few users to choose from two. On the other hand, it's a significant developer overhead, double testing work, and source of many discrepancies between the two versions (e.g. #2164, #2291, #3114, #3158, #3254, and many more already closed bugs). I believe developers should pick one and offer only that. Bugs would no longer go unnoticed just because a developer used the other library, which would lead to better overall quality. My recommendation is to not use any of these two, but to write an extremely simple basic screen handling component in mc. (This is what quite a few apps, e.g. vim, emacs, less do. They do rely on libtinfo [part of ncurses] for querying termcap/terminfo, but not on ncurses to draw the screen. Sounds the most reasonable approach to me.) Ncurses is actively maintained but is a giant bloat, containinig bugs that effect mc's behavior (e.g. the just fixed http://lists.gnu.org/archive/html/bug-ncurses/2014-08/msg00020.html, although I'm afraid it still has similar bugs). Slang is not really maintained and haven't seen a stable release in 3+ years. Switching to our own drawing of the screen would allow to address these issues: - #1849: mcview understanding ANSI color escapes, work like ""less -R"". This requires to get rid of the ancient brain-damaged palette support of both ncurses and slang, and instead have each cell store its fg and bg color. - #3145 True color support. Neither ncurses nor slang seems to want to ever address this. - #3065 Italic text. Supported by pre-versions of both libraries, but we'll have to wait for stable ncurses-5.10 and slang-2.3 to get it ""official"" and widespread. No idea when these are going to happen. - Strikethrough and other possible text attributes: Ncurses will not add this because the bitfield is already fully packed. No info about slang. - #3229 Pasting with proper EOL. Neither slang nor ncurses allows to set whether at the end of the line there's an explicit newline (to be copy-pasted) or an overflow (copy-pasting shouldn't add a newline). Terminal emulators, however, do remember which of the two happened. Our own layer could easily do the requested thing for every line. - Similarly, spaces at the end of the line, or TAB characters could also be reserved for copy-paste purposes, this isn't offered either by these libraries. " egmont Active Tickets 3295 Find file dialog improvements: support ignore mask instead of directories, improve help page mc-core master Future Releases enhancement new 2014-10-30T11:14:52Z 2014-11-03T22:16:03Z "1. It is better to make Find file dialog to support ignore file mask instead of directories. It will prevent search with content not in just directories (.git, target) but in files also (*.jar, *.class) 2. It is not obvious from find file dialog context help page how to separate multiple directory names. I think it worth mentioning in help page that semi-colon is a name separator char. Thanks!" igorp1024 Active Tickets 3343 Add a support for FTPS connection mc-vfs master Future Releases enhancement new 2014-11-21T11:36:36Z 2021-10-28T17:16:27Z "It would be great if midnight commander supported FTPS protocol like many other file managers do. Currently FTP and SFTP (or SCP) are supported." gorgo Active Tickets 3423 How to change default shell used to run user menu scripts mc-core master Future Releases enhancement new 2015-03-27T15:24:26Z 2015-03-29T09:24:17Z "I have looked everywhere and cannot find where and how to tell `mc` to use '''bash''' to run user menu scripts. I can see it uses '''sh''' by default, but I'd imagine and expect that this can configured, so that other shell is used instead. Output from `mc -V`: {{{ GNU Midnight Commander 4.8.14 Built with GLib 2.42.0 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} I'm running ''Xubuntu 14.10''" marcelpaulo Active Tickets 3485 change in src/vfs/extfs/extfs.c mc-vfs master Future Releases enhancement new 2015-06-23T13:08:28Z 2016-06-25T12:15:35Z "I want this change in src/vfs/extfs/extfs.c: add to extfs_fstat() lines between //BEGIN and //END {{{ static int extfs_fstat (void *data, struct stat *buf) { struct pseudofile *file = (struct pseudofile *) data; //BEGIN: struct stat tmp_stat; if (!stat(file->entry->inode->local_filename,&tmp_stat)) { file->entry->inode->mtime = tmp_stat.st_mtime; file->entry->inode->atime = tmp_stat.st_atime; } //END extfs_stat_move (buf, file->entry->inode); return 0; } }}} So extfs script can set atime and mtime in copyout, and they will be set in the properties of destination file. Why do I need this: I need to use 3 bytes to store some data related to file, I decided to store them in st_atime. As I learned if atime is bigger than mtime, atime won't be changed until mtime is changed. So my script sets atime of a copied out file to 0x7Fxxxxxx." Nicolas Rybkin Active Tickets 3497 auto turn off sorting mc-core master Future Releases enhancement new 2015-07-07T18:28:20Z 2015-10-13T20:38:13Z "This change I made turns off sorting before cd'ing in some particular virtual file systems. Line in mc.ext that describes what to do for ""Open"" operation must end with ""u"", like this: Open=%cd %p/uc1541://u When user leaves this extfs sort order used before will be restored (even if user changed sort order while being in this vfs). I added some code to /src/filemanager/panel.c. This isn't nice solution, of course. The best way would be use of some interface between script and mc, like script tells mc to turn off sorting with exit code, or just put some control code in the list it prints. This is bigger problem, but the solution I used works and seems to make no problems although maybe it is looking little rough. Yes, it can be called a ""hack"". Why I want this feature: you know files order is important for many 8bit programms that if you copy files in other order the copy wouldn't run. It would be very convinient for user when he open and image of a diskette or a tape that mc turns of sort automatically and then restores sort_order when he cd'es back. Hope this change will be applied." Nicolas Rybkin Active Tickets 3513 Liquidsoap syntax mcedit master Future Releases enhancement new 2015-08-10T09:05:44Z 2015-08-23T22:41:15Z "Hi, I add syntaxfile for Liquidsoap script language (http://liquidsoap.fm/) to mcedit. Maybe it would be somewhat usefull for someone, so if someone will, add it to trunk/branch Thanks" puresoul Active Tickets 3514 "It would be good to have an option to skip multiple ""is the same file"" when copying directories containing hardlinks" mc-core master Future Releases enhancement new 2015-08-12T21:09:04Z 2015-08-12T21:09:04Z "My use case: 1) I run a deduplicated backup which creates a hard link. 2) I use MC to consolidate directories. I have to skip on every hard-linked duplicate. 3) I would like NOT to have to acknowledge the error every time. My preferred option would be to have a ""skip all"" option after the first error so that I could see duplicate files when I , but I can't figure out how to implement that. I've implemented a general confirmation checkbox, and am using this patch; it's pretty self-contained. I'm attaching it and would be happy if you take it, but the ""skip all"" option would be even better if one off the regular devs feels like taking this. :D" nkedel Active Tickets 3591 Usability/Joy of Use: Switching Panels Via Backslash Key (= Right-Hand Tab-Key on US-keyboards) mc-core master Future Releases enhancement new 2016-01-31T03:00:58Z 2016-09-20T16:17:41Z "I'm using a keyboard with US-layout, although living in Germany. I navigate directories entirely by the navigation keys on the right side of my keyboard: Small hand movements are sufficient to find and open files, while having a hand free for other things. Switching panels, however, requires me to press the tab key on the very opposite side of the keyboard – every single time. Instead, the backslash can be thought of as the right-hand tabulator key. Backslash triggers the “unselect files” dialog in MC at the moment, which is also available through the hyphen and minus key, so remapping won’t break anything. AFAIK you can’t modify this key binding via mc.keymap. You have to modify the source code at the moment: So I made a simple patch for version 4.8.7 some time ago: http://dl.dropbox.com/u/37393754/mc-4.8.7-backslash_change_panel.patch The better way, however, would be a remapping option in the mc.keymap file Image of the US-Layout: http://i.imgur.com/wTx6kZ8.png" telep Active Tickets 3600 Make it possible to drag dialogs. mc-core master Future Releases enhancement new 2016-02-26T14:47:24Z 2016-02-26T20:17:46Z "Sometimes dialog obscures important information. The attached patch lets us drag dialogs on screen. It even works while copying/moving files. But the purpose of this patch is mainly to help shape the [ticket:3571 mouse API]. It doesn't matter if it doesn't get committed. Specifically, the patch shows a way to get rid of `midnight_mouse_callback()` in ticket:3571. The patch works by installing a ""default mouse handler"" for dialogs that don't define any. By using the DLG_MOUSE_POST_PROCESSING flag this handler gets to see any mouse events not handled by child widgets. The effect is that you can drag the dialog by dragging any ""empty"" space within (space not responding to mouse events, to be exact). In this it's different (and more powerful) than conventional GUIs that let you drag only by the frame. (I borrowed the idea from FAR.) " mooffie Active Tickets 3650 Set local file copy stat data mc-vfs master Future Releases enhancement new 2016-05-31T16:57:36Z 2019-01-03T13:15:38Z "When MC copies a file into some EXTFS it uses a local copy of source file and gives a path to this copy to EXTFS scripit. But it doesn't set stat info of this local file, so EXTFS script has no chance to get stat info of true source. I've fixed this problem, now MC performs chown(), chmod() and utime() on local copy. Struct definitions from src/vfs/extfs/extfs.c were moved to extfs.h, src/filemanager/file.c now includes extfs.h." Nicolas Rybkin Active Tickets 3657 t64 VFS support (C64 tapes) mc-vfs master Future Releases enhancement new 2016-06-25T10:15:27Z 2016-06-25T10:15:27Z "please attach these strings to mc.ext (best right after or before uc1541 part): # Tape images for Commodore 64 shell/i/.t64 Open=%cd %p/ut64:// and update README.extfs P.S. again sorry for using real tabs." Nicolas Rybkin Active Tickets 3674 Add new panel option for display_total_marked_size() to apply three different styles mc-core master Future Releases enhancement new 2016-08-17T13:08:17Z 2016-08-17T13:31:41Z "Currently, {{{display_total_marked_size()}}} supports only one style to display the marked size. Some people would prefer to see the raw, scaled or even both values. It should be made configurable through the panel options. Some effort has already been made in #3666. The modes: Mode 'raw': 100000 B in 10 files 560000000000 B in 1001 files Mode 'scaled': SI (base 10): 100 B in 10 files 100 kB in 100 files 950 MB in 200 files 560 GB in 1001 files IEC (base 2): 100 B in 10 files 98 KiB in 100 files 940 MiB in 200 files 1020 MiB in 220 files 550 GiB in 1001 files Mode 'both': SI (base 10): 100 B in 10 files 100 kB (100000 B) in 100 files 950 MB (950201123 B) in 200 files 560 GB (560100245124 B) in 1001 files IEC (base 2): 100 B in 10 files 98 KiB (100400 B) in 100 files 940 MiB (985661900 B) in 200 files 1020 MiB (1069547520 B) in 220 files 550 GiB (590558003200 B) in 1001 files Note that in 'both' mode with a value below 1000 bytes or 1024 bytes, 'raw' mode is applied to avoid duplicate information. The new panel option: Total marked size style: [raw, scaled, both] (need to investigate how to do this) Serialized as ""total_marked_size_style"" with default value of ""scaled""." michael-o Active Tickets 3675 "Update/rework panel option ""Use SI size units""" mc-core master Future Releases enhancement new 2016-08-17T13:16:39Z 2016-08-17T13:30:40Z "With the advent of #3666 the panel option ""Use SI size units"" does not properly document the behavior. As layed out in #3666: * the option does not say what will happen when this option is disabled * There are no SI units used here at all because byte is not a SI unit. Only SI prefixes are used with #3666. The label should either be changed to ""Use SI prefixes instead of IEC ones"" (which reflects the correct terms and new reality) or better to ""Size prefix style: [IEC, SI]"". It is to be discussed whether C code and config ini will be changed accordingly or mapped for maximum compat." michael-o Active Tickets 3676 Reconsider wether the info panel should show a scaled or raw value for file size mc-core master Future Releases enhancement new 2016-08-17T13:32:52Z 2016-08-17T14:29:37Z "As a result of #3666, is has to be discussed wether the info panel for a file/directory should display the size in raw only, scaled or both. In [ticket:3666#comment:27 this comment] it has been determined that most UIs display the scaled value first followed by the raw value in parantheses. This is also related to #3674." michael-o Active Tickets 3692 [PATCH] More sophisticated shell type detection method mc-core master Future Releases enhancement new 2016-09-24T17:37:35Z 2017-07-25T19:56:08Z "{{{ * Make tests on shell binary instead of trying to guess shell type from path. Most supported shells set specific variables, hence by testing whether such variables are set, we can guess shell type in a more reliable way. This works with bash, zsh, tcsh and fish. For guessing dash or BusyBox ash (which are treated the same), we run a more peculiar test on whether shell supports expansion in PS1 as a prompt string. The latter test is also designed to diffirentiate a legacy pre 1.20 BusyBox ash, which allows to apply printf workaround in the case of such shell. * Remove chdir command from subshell initialization code, and use full paths for init_file instead. Changing dir only allows to use relative init_file paths, but can instead potentially lead to some problems, as previously noted in the comments; so by not doing this we add additional layer of protection against bugs. * Remove unneded SHELL_SH shell type, and 'name' mc_shell_t field, since the latter was only being used as arg0 when initializing subshell, and it looks like all shells work fine regardless of arg0, except for zsh, (so we just leave arg0 as ""zsh"" for it), and we use path as arg0 * Also add a little error verbosity in scope of detecting shell type and subshell initialization }}} This fixes such issues as: * Detecting `bsd-csh` as `tcsh`, and wasting 10 seconds on launch while waiting CWD * Detecting anything that's linked to `busybox` as busybox ash with CONFIG_ASH_EXPAND_PRMT enabled, and possibly wasting those 10 sec again * Failing to detect a shell type if a version/arch/whatever is appended to its name * Failing to detect a shell if it's just 'sh': some link resolving tests are being carried in master, but they can fail in many ways * Leaving user wondering why they have no subshell (added verbosity isn't perfect, but at least it's a start) This has been tested to recognize all supported shells correctly, and discard these shells with some verbosity immediately (saying which shells are supported, while this `$SHELL` not): * bsd-csh * BusyBox hush * BusyBox ash with disabled CONFIG_ASH_EXPAND_PRMT All regardless of their names (except the already mentioned zsh, and `busybox`: it needs the name to deduct the applet from it, but as long as `busybox` recognizes it, it's fine: either ash, sh, or bash) I should also point out that beyond subshell initialization related functions different shell types are not being differentiated, so, say, we shouldn't worry about `bash` behaving in a bourne shell compatible way later on if it has been initialized fine. Since almost all modern shell set some specific internal variables, adding new shells now boils down to finding a way to emulate `precmd` (if not present), choosing the right variable, and in case it uses syntax other then Bourne, C or Fish, adding a new test command for the syntax. I have tried to comment new functions thoroughly, so I hope the code should be readable. Hope this will be considered useful." alllexx88 Active Tickets 3699 "patch to fix restoring of the directory contents of the active panel on startup when ""Auto Save Panel Setup"" option is enabled." mc-core master Future Releases enhancement new 2016-10-09T01:39:18Z 2016-10-10T02:36:38Z "This is a patch for {setup.[ch], main.c, midnight.c} to fix the restoring of the directory contents of the active panel on startup when ""Auto Save Panel Setup"" option is enabled, as per a user request on the mailing list mc@gnome.org." Miven Active Tickets 3712 Don't hardcode color-names in syntax-highlighting files mcedit master Future Releases enhancement new 2016-11-03T12:08:26Z 2016-11-03T13:44:56Z "The editor's syntax-highlighting files have a color alias mechanism (and an #inclusion mechanism, BTW). We should use it, where possible, instead of repeating color names. E.g., ""CONSTANT"" instead of ""brightmagenta italic"". Some advantages: - Letting users modify these colors globally. - Making it possible for skins to tweak these colors. - Uniformity among syntaxes. (A somewhat related ticket: #3711) " mooffie Active Tickets 3741 PTP external filesystem (download files from photocameras) mc-vfs master Future Releases enhancement new 2016-12-07T17:32:21Z 2016-12-08T17:44:39Z "I wrote external filesystem script for PTP using gphoto2. It will be nice to have it included in MC." cdslow Active Tickets 3770 Feature request: allow user to disable % macros on command line only mc-core master Future Releases enhancement new 2017-02-08T12:36:38Z 2017-03-10T19:44:40Z "It would be useful to have a (runtime) configuration option to disable %x macro substitutions on mc command line (disabling them only there, not in user menu command definitions). Rationale: I often have a hard time trying to understand why some commands lines don't work the way they are supposed to, just to find out that somewhere in the line there's a % character that is interpreted by mc as the start of a macro. Since the % macros don't exist in my shell, I never use them in my command lines, so there's no need to have them in mc command lines too. In fact it is essential that commands typed on the mc command line should work exactly as if they were typed on a regular terminal, without overimposing new syntactic features. An example: % characters sometimes contained in URLs: even enclosing the URL in single or double quotes doesn't prevent mc from expanding the % macros. So, it would be useful to have some `macro_cl_enable` configuration option in the ini file (of course, default on, for backwards compatibility)." cri Active Tickets 3818 Customize shortcut to return from subshell to other than Ctrl-O mc-core master Future Releases enhancement new 2017-04-30T19:01:50Z 2020-04-04T12:37:34Z "It seems like ""Shell"" option from mc.keymap does have effect only when switching ''to'' the subshell, but not back from it: the key to switch back to mc is hardcoded into the {{{subshell_switch_key}}} constant in the {{{subshell/common.c}}}. It is disappointing because this key conflicts with Ctrl-O from vim when running it from mc. Making ""Shell"" key to work both ways (switching both to and from subshell) would be very useful. " olan Active Tickets 3885 Ability to exclude files from search results when using shell patterns mc-search master Future Releases enhancement new 2017-12-07T08:48:13Z 2017-12-13T05:04:27Z "It looks like MC does not support file patterns exclusion when searching by shell patterns. No other ticket or enhancement found to address it as well. For example if user wants to search for all files but *.a files, search criteria might look like: {{{ *|*.a }}} It is achievable partly with regex patterns but it is tricky to address it if files extensions are used both to include and exclude files, for example if user wants to search for {{{*.h*}}} files but exclude {{{*.hxx}}} files at the same time: {{{ *.h*|*.hxx }}} On Windows platform, FAR Manager supports such functionality using '|' symbol as delimiter in search field." esauloff Active Tickets 3886 Allow to view directory content list with mcview mcview master Future Releases enhancement new 2017-12-08T12:26:45Z 2019-05-06T09:32:54Z "I suggest that when you open a directory in mcview, a list of its contents is displayed. This is especially useful in quick view mode. Now it's just show error: ""Cannot view: not a regular file""" Diadlo Active Tickets 3902 """Natural"" mouse scroll direction" mc-core master Future Releases enhancement new 2018-02-25T14:24:29Z 2018-02-28T19:52:33Z "Please add the ""natural scroll direction"" feature to scroll with mouse using natural scroll direction as it is done in the macos. It could be done in 10-15 minutes by adding new boolean parameter in the CONFIG_MISC_SECTION, for example ""mouse_reverse_scroll"", loading it in the setup.c, and then to change mouse.c by reversing the mouse scroll direction if it's set, like: midnight/mc/lib/widget $ diff mouse.c mouse.c.original 104,107c104 < if (mouse_reverse_scroll) < msg = MSG_MOUSE_SCROLL_DOWN; < else < msg = MSG_MOUSE_SCROLL_UP; --- > msg = MSG_MOUSE_SCROLL_UP; 109,112c106 < if (mouse_reverse_scroll) < msg = MSG_MOUSE_SCROLL_UP; < else < msg = MSG_MOUSE_SCROLL_DOWN; --- > msg = MSG_MOUSE_SCROLL_DOWN; All Mac users will say you big ""thank you"" for that ))" vik Active Tickets 3949 Add support for some popular hot keys in mc to mcedit too mcedit master Future Releases enhancement new 2018-11-07T00:29:28Z 2018-11-10T21:01:57Z "Please, add reaction to following keybindings to mcedit: * Ctrl-\ - file hotlist, list of hot files saved by user. When file is selected, swith to new editor tab and open that file. * Alt-shift-h or Atl-H - list of recent files edited. When file is selected, switch to new tab and open that file. * Alt-h - list of recent strings typed into text from undo/redo history. Ergonomics of text editor is very important, so these small changes can lead to huge improvement in usablity because a) keybindings are same, no need to learn new keybindings, b) interface is same, c) switching between same files and typing of same text are frequent operations. " vlisivka Active Tickets 3995 custom endpoint_url for s3 mc-vfs master Future Releases enhancement new 2019-06-17T15:58:04Z 2019-06-17T15:58:04Z Wondering if there is a possibility for adding a custom endpoint_url for the s3 plugin danialgood Active Tickets 4014 External diff viewer? mc-core master Future Releases enhancement new 2019-09-10T08:37:51Z 2019-09-10T08:37:51Z " I'm wondering about allowing an external utility (e.g. vimdiff) for the ""Compare files"" C-x C-d command, instead of mcdiff, just like we do for the external viewer and editor. If this is too complicated to implement, please ignore, as it's easily implementable with a custom command in the user menu. " cri Active Tickets 4049 MC doesn't let me modify contents of archive mc-vfs master Future Releases enhancement new 2020-01-18T18:42:50Z 2021-02-19T13:18:43Z "Just like with Dolphin filemanager in a GUI, I want to be able to open an archive file like a .tgz, navigate to a file inside the archive, delete it, then replace it with another file. Alternatively, I would like to edit it in-place (whether it's a binary or text file). With MC, I can only open the archive and see the files within. When I select a file and try to delete it by pressing F10, I get an error message {{{ Cannot remove file ""...."" Function not implemented (38) }}} I am using the MC version that's installed in Unraid server's Linux distribution based on Slackware {{{ GNU Midnight Commander 4.8.22 Built with GLib 2.58.2 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm and Linux console With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish, smbfs Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; }}} " frakman1 Active Tickets 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 4175 [patch] CenterView action mcedit master Future Releases enhancement new 2021-01-15T11:58:26Z 2021-01-24T08:24:34Z "Hi, the patch adds CenterView action to MCEdit which positions the display making the current line at center. It doesn't move cursor. See also this [https://mail.gnome.org/archives/mc/2021-January/msg00003.html discussion]. " psprint Active Tickets 4184 [patch] WindowCascade action mcedit master Future Releases enhancement new 2021-01-23T20:43:20Z 2021-01-24T06:56:25Z "Hi! I've implemented the main part of the requested non-fullscreen mode startup (see [https://mail.gnome.org/archives/mc/2021-January/msg00009.html post]). The patch is fairly simple. It just: - registers the command in keybind.h/.c/*-defaults.c/mc.default.keymap, - then adds the case for it in editwidget.c, - and also a function + a helper function in the same file to implement it. The implementation is a simple loop that arranges the windows in cascade arrangement. It's somewhat intelligent as it gradually lowers the shift between windows as seen in the [https://asciinema.org/a/dqR4FzK7ed6ZwMXAA4DmH29qY asciicast]. " psprint Active Tickets 4185 [patch] WindowTile action mcedit master Future Releases enhancement new 2021-01-23T20:48:12Z 2021-01-24T03:54:52Z "Hi! I've implemented the tiling of the windows as requested by [https://mail.gnome.org/archives/mc/2021-January/msg00009.html a user]. The patch depends on #4184 – it will not automatically patch and a helper function is missing. " psprint Active Tickets 4186 [patch] Options for windowed startup mcedit master Future Releases enhancement new 2021-01-24T03:54:52Z 2021-01-24T06:21:04Z "The patch adds options -w/--cascade and -T/--tile to mc program so that startup with windows arranged in a cascade or tile is possible (instead of fullscreen). The patch depends on #4184 and #4185, which implement the window arranging. " psprint Active Tickets 4195 Makefile utility targets for tags mc-core master Future Releases enhancement new 2021-02-08T22:19:44Z 2021-02-19T06:57:11Z "Hi, the patch adds three Makefile targets: - `tags-emacs`, which generates the `TAGS` file ↔ the Emacs style tags (actually used by mcedit), - `tags-vim`, which generates the `tags` file with Vim-style tags, - `tags`, which generates both above, … from a curated, well done `ctags` command invocation, with all the needed options like the recursion and search for C sources and e.g.: proper parsing of the headers (.h). The command is in two forms, first for Exuberant Ctags and the second one for Universal Ctags (there's a check for which one is being found)." psprint Active Tickets 4204 [patch] Support for globs in open file dialog mcedit master Future Releases enhancement new 2021-02-17T09:44:25Z 2021-02-17T10:27:10Z "Hi, the patch adds support for opening multiple files at once via a filename with wildcard entered in open dialog. So, for example entering src/editor/edit.[ch] in the input will cause opening of edit.c and edit.h. The patch is quite simple, it utilizes glob() POSIX function. " psprint Active Tickets 4206 [patch] Stable WindowList in mcedit mcedit master Future Releases enhancement new 2021-02-18T01:33:53Z 2021-02-22T14:28:59Z "Hi, I've been irritated by the files fluctuating in the WindowList window – it only brings chaos to workflow and is driven by the Z-ordering of widgets – currently focused must be the last one in WGroup::widgets list. So it's actually a raw order imposed by implementation properties. I've fixed this in this patch: - a new class WOrderKeptDialog is inheriting WDialog, - it holds a GPtrArray with the same WEdit objects as in base WGroup::widgets, - array is populated on start up (MSG_INIT) and then updated after each handled message from WDialog callback, - an additional feature – the files are being sorted so that headers and their corresponding sources (.h/.hpp/.c/.cpp) are adjacent and with headers first. What do you think? Fix or wontfix? IMO, this change has been asking for a patch. It also allows to finally have e.g.: Alt-1, Alt-2, etc. shortcuts switching to the first buffer, and second, etc. implemented in a following patch. " psprint Active Tickets 4220 A new feature – completing from tags mcedit master Future Releases enhancement new 2021-03-18T16:33:09Z 2021-03-18T16:33:09Z "Would there be an interest in a new feature – completion working not from buffers' words, but from TAGS file? Here's example how it would work – for TAGS covering /usr/include/glib: [https://asciinema.org/a/cp4I3tFfKrLNS9SME7XE2w6Nk asciicast]. It would be little less usable, because MSearch haven't been merged, however it would be still OK to complete. " psprint Active Tickets 4294 Start a subshell in background mc-core master Future Releases enhancement new 2021-10-09T07:07:36Z 2022-04-08T15:37:23Z "This is related to ticket #3580, not sure how to re-open tickets so I created a new one. I have a similar problem, but it is not related to the solution described there and was not able to solve that problem. I see on other forums that people have similar problem so I suggest to anyway think about possible fix for this once for all and init subshell in background as described in ticket #3580 (copying here for a reference): ''It might worth to start the subshell on a background thread to be able to show the main UI faster. Then a rotating dash would be displayed in the command prompt and in Ctrl-O until the subshell is ready. '' In my case on macOS 10.15.7 when transitioned to ZSH the MC starts in around 6 seconds. This is totally not acceptable. The ZSH on its own starts in less than one second. The {{{ mc --nosubshell }}} starts MC instantly, but there's no subshell which is also not acceptable. Thus, there's something fishy with instantiation of subshell in the MC, may be related to the configuration - but actually, that is not the problem of the fact that subshell init takes long, but that it is not done in the background at startup. " slajerek Active Tickets 4311 Why not bind alt-home, alt-insert, etc? mc-tty master Future Releases enhancement new 2021-11-12T20:53:18Z 2021-11-12T20:53:18Z "The keys are working fine under xterm, however mc doesn't recognize them. Why? Could the support be added? Is there a way to bind such keys? " psprint Active Tickets 4315 slow copy performance when using LTFS as a destination mc-core master Future Releases enhancement new 2021-11-28T09:43:25Z 2021-11-28T11:43:57Z "Hi! I'm using MC v 4.8.24 on ubuntu 20.04 Built with GLib 2.63.3 I recently started using LTFS (a standard platform-independent feature that allows to mount LTO tapes as a file system) and noticed that when I'm copying from a local file system to a folder mapped to an LTFS-mounted tape, performance is very slow (about 20MB/s). cp or any other copy system (of course copy same files from same source to same destination) have expected thorughput (+130MB/s). The problem is not present if I use MC to copy from the folder mapped to the LTFS tape back to local drives so I assume this must be something related to the write process (or write speed measurement) that MC uses. It would be cool to keep using MC for moving files to tapes especially for its selection interface. Let me know if you'd like me to collect further info, thanks!" aletib Active Tickets 4318 "[feature request] Show hash of file in ""File exists"" window of ""Copy/Move"" dialog" mc-core master Future Releases enhancement new 2021-12-03T16:40:38Z 2021-12-05T15:31:00Z "Steps: 1) start MC; 2) cd /tmp; (in left panel) 3) cd ~; (in right panel) 4) select single file; 5) F5 + Enter; (file copied from ""~/"" to ""/tmp"") 6) F5 + Enter; 7) MC shows ""File exists"" window dialog. This dialog contains: 1) full file path; 2) file size; 3) last modification time of file. What I want: I want to see hashes of source and destination files, like CRC, MD5, SHA-1 or any other. Why I want this: Hashes of two files (source and destination) allow to to quick check, that source file and destination file are identically or different. If I need to copy single file per long time - then no problem to to ""C-x C-d"" or run ""diff"" from console. But if I need to copy/move many files, then I need more quickly method to detect identical/different files with the same name inside the ""File exists"" window of ""Copy/Move"" dialog. P.S. If source file and destination file are identical (have identical hashes in two different algorithms, for example - CRC and MD5, or MD5 and SHA-1), then MC may resolve file names conflict automatically, without ""File exists"" window dialog." Bogdan107 Active Tickets 4402 mcedit - open file at specific line and column position mcedit master Future Releases enhancement new 2022-08-22T10:52:57Z 2022-08-22T13:34:29Z "It will be very useful if user can open file at specific line, and also column position. Column position can be simple added after end colon. Example - open file reggs.c at line 640 at column 20: mcedit regs.c:640:20" misarm Active Tickets 4453 16-column HEX view in wide monitor mcview master Future Releases enhancement new 2023-04-03T06:50:44Z 2023-04-15T06:56:51Z "In the current versions of MC, there is no setting to show the HEX viewer in the traditional 16-column form. The number of columns is adjusted to the width of the console. As a result, it is very inconvenient to calculate the byte addresses in the file being viewed. It would be nice to add a setting that will allow you to include the traditional width of 16 columns. The setting can be made in the form of a number so that the user can write both 8 and 24 and 32 columns, as it will be more convenient for him. The ready-made change is already in the form of a diff file: https://pastebin.com/NUKwveMZ The appearance of the MC can be viewed in the article (RU) at the link: https://webhamster.ru/site/page/index/main/news/689 " xintrea Active Tickets 4455 MC could really use FTP's MLSD command mc-vfs master Future Releases enhancement new 2023-05-10T08:30:56Z 2023-05-10T08:32:43Z "For sufficiently old files MC doesn't list modification times, thus retrieves all the old files as having modification times at 12:00:00PM. Please use the MLSD command which allows to get a very nifty listing of files with modification times as UNIX timestamps which is a ton easier to parse. Here's a sample listing: {{{ Size=435123;Modify=20141113182638;Type=file;Perm=radfw; blue-pattern-hd-xperia-z2-wallpaper.jpg Size=321533;Modify=20141113182639;Type=file;Perm=radfw; cloudy-mountain-hd-xperia-z2-wallpaper.jpg Size=137009;Modify=20141113182638;Type=file;Perm=radfw; connect-sony-xperia-z2-wallpaper.jpg Size=162090;Modify=20141113182639;Type=file;Perm=radfw; create-sony-xperia-z2-wallpaper.jpg Size=179896;Modify=20141113182640;Type=file;Perm=radfw; discover-xperia-z2-wallpaper.jpg Size=255972;Modify=20141113182638;Type=file;Perm=radfw; experience_black.jpg Size=132240;Modify=20141113182638;Type=file;Perm=radfw; experience_blue.jpg Size=187105;Modify=20141113182641;Type=file;Perm=radfw; experience_copper.jpg Size=123621;Modify=20141113182641;Type=file;Perm=radfw; experience_green.jpg Size=132521;Modify=20141113182640;Type=file;Perm=radfw; experience_orange.jpg Size=123511;Modify=20141113182639;Type=file;Perm=radfw; experience_purple.jpg Size=133212;Modify=20141113182640;Type=file;Perm=radfw; experience_red.jpg Size=132917;Modify=20141113182640;Type=file;Perm=radfw; experience_silver.jpg Size=644731;Modify=20141113182640;Type=file;Perm=radfw; field_at_sunset_hd1080p.jpg Size=870868;Modify=20141113182640;Type=file;Perm=radfw; green_jungle_hd1080p.jpg Size=484443;Modify=20141113182639;Type=file;Perm=radfw; grey_lake_hd1080p.jpg Size=197327;Modify=20141113182639;Type=file;Perm=radfw; hero-flow-black-xperia-z2-wallpaper.jpg Size=144181;Modify=20141113182641;Type=file;Perm=radfw; hero-flow-blue-xperia-z2-wallpaper.jpg Size=107137;Modify=20141113182639;Type=file;Perm=radfw; hero-flow-grey-xperia-z2-wallpaper.jpg Size=122518;Modify=20141113182641;Type=file;Perm=radfw; hero-flow-orange-xperia-z2-wallpaper.jpg Size=102681;Modify=20141113182641;Type=file;Perm=radfw; hero-flow-purple-xperia-z2-wallpaper.jpg Size=171204;Modify=20141113182641;Type=file;Perm=radfw; hero-flow-red-xperia-z2-wallpaper.jpg Size=166346;Modify=20141113182639;Type=file;Perm=radfw; hero-flow-xperia-z2-wallpaper.jpg Size=794046;Modify=20141113182640;Type=file;Perm=radfw; leaves-xperia-z2-wallpaper.jpg Size=144002;Modify=20141113182639;Type=file;Perm=radfw; listen-xperia-z2-wallpaper.jpg Size=156957;Modify=20141113182639;Type=file;Perm=radfw; relax-xperia-z2-wallpaper.jpg Size=183492;Modify=20141113182641;Type=file;Perm=radfw; xperia-z2-wallpaper.jpg }}}" birdie Active Tickets 4458 Support clipboard via OSC 52 mc-core master Future Releases enhancement new 2023-05-18T12:11:45Z 2023-05-21T10:27:28Z "Many terminal emulators, starting with Xterm, conditionally allow access to the system clipboard via an escape sequence. In comparison with `xclip`-based solution (#30), this works transparently when you `ssh` around, without X11 forwarding and without having to install `xclip` on each server you manage. To write to the clipboard, an application sends `ESC ] 5 2 ; c ; ESC \`, where '''' is base64-encoded. (`BEL` can also be used as terminator.) To read the clipboard, an application sends `ESC ] 5 2 ; c ; ? ESC \`. A conforming terminal will respond by sending `ESC ] 5 2 ; c ; ESC \`, again, with '''' base64-encoded. (If the request uses `BEL` instead of `ESC \`, the terminal’s response will typically also be terminated with `BEL`.) A non-supporting but ANSI-conforming terminal will ignore the unsupported OSC sequence until the `ESC \` or `BEL` terminator. I do not think there is a termcap/terminfo capability advertising support, so it would probably have to be a user option. Alternatively, `mc` could unconditionally put copied content into both `~/.local/share/mc/mcedit/mcedit.clip` and send the OSC sequence; when pasting, first send the request, and if no response within a few milliseconds, fall back to reading `~/.local/share/mc/mcedit/mcedit.clip`." yurikhan Active Tickets 4512 mc should use kPRV5 from terminfo for Ctrl+PageUp mc-tty master Future Releases enhancement new 2023-11-21T13:15:14Z 2023-11-23T17:59:52Z "I noticed that the Ctrl+PageUp combination (to navigate to the parent directory) didn't work in wezterm (with `config.term = ""wezterm""`). A bit of experimentation showed that it worked when wezterm identified itself as xterm, or if mc is started with --xterm. Upon investigating, I found that the reason why it works with TERM=xterm is only because mc itself hard-codes the sequence that xterm uses (the xterm_key_defines array), when it detects that it is running in that terminal emulator (check in init_key) or with --xterm. I am not sure if this is standardized anywhere, but I noticed that many terminal emulators declare the sequence for Ctrl+PageUp as the kPRV5 capability in their terminfo. Grepping for kPRV5 in my /usr/share/terminfo gives me over 60 matches. wezterm's terminfo doesn't have it yet, but it would not be a problem to add it. I think it would be nice if mc checked terminfo for capability strings such as kPRV5, in order to support such key combinations in other terminals. I can work on a patch with some guidance. I noticed the Key_xxx definitions in keyxdef.c, but it's not clear to me how to extend that to only teach mc about some new terminfo keys. " CyberShadow Active Tickets 4516 Combining characters in mcedit not merged with letters mcedit master Future Releases enhancement new 2024-01-03T22:52:11Z 2024-02-18T11:52:44Z "Combining characters in mcedit in edit mode (F4) aren't merged with preceding letters, but in view mode (F3) get combined properly. That is everlasting issue. Is this a bug or a feature? And if possible, if it is a ""feature"", fix this oddity and add an option for either displace of combining symbols in place or merged with preceding letters. I am currently working both with RTL and LTR texts and would like it to be fixed, please." vzhuromskyy Active Tickets 3673 Deprecate size_trunc_sep() in favor of locale-dependent printf support mc-core master Future Releases task new 2016-08-17T12:58:38Z 2016-08-17T13:31:30Z {{{size_trunc_sep()}}} applies a handwritten grouping of digits regardless of the current locale. Effort has been made in #3666 to remove its usage. If such a function is necessary, {{{printf()}}} and have locale-dependent formatting support for this. michael-o Active Tickets 3136 "Numpad 5 (""Begin"") freezes mc for a while" mc-tty 4.8.11 defect new 2014-01-04T11:31:13Z 2022-01-15T11:51:49Z "With numlock off, press the numpad 5. It is supposed to do nothing. Instead, it makes mc freeze for a second or two, not accepting any keyboard input. Same happens with Ctrl + function keys under xterm, and probably other key combos too. mc should recognize out of the box all the escape sequences that keys can generate with the most typical hardware, os, terminal emulator combinations and quietly ignore them so that it does not block on them. At least the numpad 5, because that's a single key, one can very easily accidentally hit it without any modifiers, and expect not to have to wait for seconds to continue the work. Ideally there should also be a way (in config file, and preferably in the Learn Keys dialog too) to teach mc an arbitrary number of escapes that it recognizes but ignores." egmont Active Tickets 20 savannah: superflous copying instead of moving mc-core master Future Releases defect new 2008-12-25T12:28:43Z 2014-01-11T15:45:45Z "Original: http://savannah.gnu.org/bugs/?13728 ||Submitted by:||Oswald Buddenhagen ||Submitted on:||Mon 11 Jul 2005 03:44:56 PM UTC|| ||Category:||Core||Severity:||3 - Normal|| ||Status:||None||Privacy:||Public|| ||Assigned to:||None||Open/Closed:||Open|| ||Release:||current (CVS or snapshot)||Operating System:||All|| Original submission: {{{ situation: foo/name/file exists. bar/name/ exists. both on the same partition. you're in ""foo/"", cursor over ""name"". press , enter ""../bar"", confirm. effect: file is moved by copying. this is because mc incorrectly diagnoses a cross-device move. the code in question is file.c, move_file_file() & move_dir_dir(). when fixing, please consider the case of moving a tree where only a subtree is on another device. but maybe it was already considered. :) }}} Comment 1 by Pavel Tsekov at Mon 11 Jul 2005 05:01:24 PM UTC: {{{ Unfortunately there is nothing to fix here :( If the destination directory exits, MC decides to use copy_dir_dir() to perform the task. What you ask should be fully implemented from scratch. In fact move_dir_dir() is quite simplistic. }}} Comment 2 by Oswald Buddenhagen at Mon 11 Jul 2005 05:09:14 PM UTC: {{{ yes, indeed. i even started developing an algorithm to post here, but stopped because the existance checks and file/dir discrimination started turning the few lines into real work. :)= anyway, the basic idea is: when a move fails, if the source is a file, move via copy, otherwise create the target dir (if missing) and recursively call the move function for all files in the source dir. or something like that. :) }}} Comment 3 by Pavel Tsekov at Tue 12 Jul 2005 11:53:46 AM UTC: {{{ Does `bar/name/' contain any entries or is it empty ? I ask this question because of the following paragraph in the description of rename() in SUSv3: [...] If the old argument points to the pathname of a directory, the new argument shall not point to the pathname of a file that is not a directory. If the directory named by the new argument exists, it shall be removed and old renamed to new. In this case, a link named new shall exist throughout the renaming operation and shall refer either to the directory referred to by new or old before the operation began. If new names an existing directory, it shall be required to be an empty directory. [...] So if we have an empty destination directory we could perform an efficient move instead of copying . It is as simple as that. }}} Comment 4 by Oswald Buddenhagen at Tue 12 Jul 2005 01:09:19 PM UTC: {{{ > Does `bar/name/' contain any entries or is it empty ? > empty, but this should not matter. i don't think we want this susv3- compliant behavior. at the top level, if the target is an existing directory (empty or not), we want to move into this directory (like we currently do). once we started recursing, we just merge into existing directories. frankly, move should behave just like copy. i think it would even make sense to merge move into copy with an additional flag. if a real move succeeds, skip the recursion. if it fails, do a recursive copy+delete. because of the recursion, a real move is attempted at every level - exactly what we want. }}} Comment 5 by Pavel Tsekov : {{{ A really fast move can happen only under the circumstances described in the quoted text - everything else will be suboptimal. I don't want to block any attempts to move the directory if the existing directory is not empty, but it cannot be performed as fast. The more dupicate directories exist the performance will get worse (in large trees). }}} " ossi Active Tickets 2145 JavaScript highlighting bug in regexp. mcedit master Future Releases defect new 2010-04-17T17:52:31Z 2020-02-29T06:31:07Z "Consider this simple example file.js: {{{ function f(a) { var r = /'/; return r.test(a); } }}} This is correct javascript code which search for occurrence of ' or returns null if there is no such. mcedit incorrectly highlights ' (green) in the /'/, and assumes it is string which continues beyond end of regexp (including comments, and probably to the end of file). [[Image(http://smp.if.uj.edu.pl/~baryluk/mcedit-js-highlight-bug/Def_030.png)]] All examples here: http://smp.if.uj.edu.pl/~baryluk/mcedit-js-highlight-bug/ Thanks. " baryluk Active Tickets 2224 PHP syntax highlighting bug mcedit 4.7.0 Future Releases defect new 2010-05-27T14:58:06Z 2012-07-21T05:47:56Z "Type the following into your php file: '\\' Everything after that will be displayed in green. I guess MC disregards that there's already a backlash escaping the second backslash. " laci@… Active Tickets 2406 FTP: incorrect permissions of subdirectory mc-vfs 4.7.4 Future Releases defect new 2010-11-01T17:56:52Z 2011-11-01T06:03:57Z When I copy a subdir from FTP it became rw but not rwx gms 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 3158 No double lines with ncurses mc-tty 4.8.11 Future Releases defect new 2014-01-14T23:55:28Z 2017-03-28T22:58:58Z "Choose a skin with double lines, e.g. ""mc -S double-lines"". These are properly displayed with the slang build, but are replaced by brighter single lines with ncurses. If the enrivonment suggests that double lines are most likely supported (TERM refers to a graphical emulator and locale is utf-8) then the characters defined in the skin file should be used without being altered in any way." egmont Active Tickets 3160 Dialog hotfocus color misused in listbox mc-skin 4.8.11 Future Releases defect new 2014-01-15T15:53:41Z 2023-02-16T06:00:12Z "The highlighted item in listboxes use DLG_COLOR_HOT_FOCUS if the widget is focused, and DLG_COLOR_FOCUS if the widget is not focused. This is clearly a misuse of the semantics. ""Hot"" is supposed to stand for hotkey (aka. shortcut key) color, a single character within a string. This feature is unused in listboxes. Using the hotkey color for the whole line makes it underlined in the ""sand256"" skin which was not intended there. In #2165 I'm working on a config option to use underline for hotkeys with any skin, this bug is blocking that. I'm not sure if making a distinction whether the widget is focused or not is important, I don't think so. How can a listbox widget be unfocused at all? If it can be, isn't it obvious by other means (e.g. other window overlapping it?) I think the right approach is to always use DLG_COLOR_FOCUS. (In this case there's still a confusion that what is called ""focused"" in the skin definiton is ""selected"" in the source, and ""focused"" in the source means something totally different.) The patch also fixes the ""sand256"" skin, it used to have an explicit underline for popup boxes (e.g. F2 user menu) to make it consistent with the broken listbox (e.g. Alt+H history), it's now removed, from now on underline is used solely for hotkeys in this skin. " egmont Active Tickets 3168 Learn keypad keys vs. numlock mc-tty master Future Releases defect new 2014-02-11T20:18:51Z 2023-08-15T09:06:32Z "If numlock is off, the keypad /*-+ symbols generate certain escape sequences. In this case ""Learn keys"" works as expected. If numlock is on, these keypad symbols generate the regular ASCII characters. ""/"" is recognized and accepted (although it's of not much use, mc knows it already and it probably won't work once you switch off numlock since mc didn't learn the escape sequence). The other three are not recognized automatically, and can't even be forced (e.g. you navigate to ""* on keypad"", press Enter and then press ""*"", you get an error: {{{ Cannot accept this key You have entered ""*"" }}} which doesn't make any sense; the same happens for ""-"" and ""+""). My suggestion: When any of the raw ASCII /*-+ characters are read, the user should be asked to switch off numlock and then press that key again." egmont Active Tickets 3203 [patch] mcedit: replace dialog doesn't remember last entered replacement string mcedit 4.8.12 Future Releases defect new 2014-04-29T11:01:16Z 2015-02-17T06:55:51Z "I found this in mc-4.8.12. mc-4.8.11 didn't have this problem. Edit a file with mcedit and search/replace (F4) a string. Let's say I added ""a"" as search string and ""b"" as replacement string. Then I do a couple of replacements with that and exit the dialog (press ESC or Cancel). When re-opening the Replace dialog again, ""a"" is still in the search string but the replacement string is empty. I expect mc to remember the replacement string as it did in previous versions. 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 With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; " Polynomial-C Active Tickets 3205 Failed copy/move operations make ETA inaccurate mc-core master Future Releases defect new 2014-05-02T20:46:54Z 2015-04-19T17:14:53Z "When I copied ~400GB of files, some of the files were corrupted and MC subsequently skipped them. However, the overall progress (ETA) didn't reflect this. The result was that at the end of the copy operation (12 hours later), the operation suddenly finished even though the ETA was still at ~3 minutes. This gave the impression that the operation had finished prematurely, when infact the ETA simply hadn't taken the skipped files into account. It would obviously be better for the ETA to reach 0 when the copy/move operation finishes. Also, the number of processed files reading doesn't take skipped files into account, meaning at the end of the copy/move operation it will say something like '497/500 files'. I think the processed files count should include skipped files, so that at the end of the operation, the count would be 500/500 files every time, otherwise it seems like the operation has finished prematurely." Nick Active Tickets 3215 Mcedit cursor takes more space on russian letters mcedit master Future Releases defect new 2014-05-14T11:34:49Z 2014-05-14T15:20:52Z "When cursor is over russian text in mcedit extra space appear before cursor [[Image(http://cdn.joxi.ru/media/cache/preview/uploads/prod/2014/05/14/045/fdb/37c27536c30614c24145395cc9f291b41caeb44e.jpg)]] This extra space seems to grow when cursor is moving further right [[Image(http://cdn.joxi.ru/media/cache/preview/uploads/prod/2014/05/14/116/417/a685609ff839860ec26fc32650ae02ce363fddb1.jpg)]]" elbahek Active Tickets 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 3229 copying wrapped line from mcview adds EOL when pasting mcview 4.8.19 Future Releases defect new 2014-06-26T23:32:27Z 2017-11-08T23:42:57Z "For example, the line is: User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 When wrap mode is on (F2), the line is displayed in mc viewer as: User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/ 24.6.0 I select this wrapped line with a mouse and then paste it. It pastes with a new line between ""Thunderbird/"" and ""24.6.0"". Is it possible to paste without the new line character, as a one whole line? AFAIR it pasted w/o EOL in some earlier versions. Tried with a few different terminal apps (gnome-terminal, xterm, PAC Manager)." nerijus Active Tickets 3255 Inconsistent Unicode normalization mc-core master Future Releases defect new 2014-08-26T21:48:19Z 2014-08-26T21:48:19Z "tty_print_string(s) calls str_term_form(s), which, among other things, normalizes the string (i.e. converts to NFC). tty_printf(fmt, ...) on the other hand doesn't normalize it. This leads to the unexpected situation that tty_print_string(s) and tty_printf(""%s"", s) are not identical. Probably they are not used consistently with whether formatting and normalization is required at the given position. At least the method names could reflect this, to help choose the desired one. Normalization might have advantages if the file to be viewed is in NFD but the terminal (e.g. Linux console) does not support combining characters. Then you at least get to see some (probably most) of the accents. But it has disadvantages too. For example it mangles the bytes (e.g. filename) if the user copy-pastes it in a graphical terminal. Given that most text is in NFC and most terminals are capable of displaying NFD, I vote for not mangling the text. Even if we agree on normalization and make tty_print_string() and tty_printf() consistent in this regard, they'll still differ in other things that str_term_form() does not, it should be double checked if that's okay." egmont Active Tickets 3278 Info panel should follow symlinks mc-core master Future Releases defect new 2014-09-29T12:15:29Z 2014-09-29T13:43:00Z "When an info panel is shown, the file system statistics are not correct after passing through a symlink. When one goes through a symlink (to a directory) crossing to a different file system, the statistics in the info panel won't change, still showing the original file system data. Let's have a file system /home and file system /export/data. In /home/mcermak, there is a symlink my_work to /export/data/my_work. When a user goes from /home/mcermak through my_work symlink to /etc/data/my_work, the statistics in the info panel won't change and will keep showing data for /home. One can easily get different information for /home/mcermak/my_work and /export/data/my_work even though those point a same directory. # mc -V GNU Midnight Commander 4.8.13 Built with GLib 2.28.6 Using the S-Lang library with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With support for X11 events With internationalization support With multiple codepages support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; This is because the statistics obtaining function my_statfs() in filemanager/mountlist.c is passed the current path which is /home/mcermak/my_work and searches through the mount point table using string matching. To get the correct data, the path needs to be resolved to an absolute path (without dots or symlinks). On Solaris, realpath() library function can do the resolution." mcermak Active Tickets 3280 [patch] mcview: search off-by-one between plain and hex modes mcview master Future Releases defect new 2014-10-04T11:36:42Z 2015-02-20T19:39:11Z "echo abcdefghijklmnopqrstuvwxyz > abc mcview abc Search for efg, it is highlighted. Switch to Hex mode, now fgh is highlighted as the match. The same (with opposite direction) the other way around: search for klm in hex mode, it is highlighted, switch back to plain mode, jkl is highlighted." egmont Active Tickets 3413 Info panel: contents overflow to the border mc-core master Future Releases defect new 2015-03-07T19:51:36Z 2015-03-07T21:18:32Z See screenshot egmont Active Tickets 3482 Editor ignore tabs filed with spaces mcedit 4.8.14 Future Releases defect new 2015-06-13T23:08:26Z 2015-07-06T11:34:20Z "When ""Fake half tabs"" set off and ""Fill tabs with spaces"" set on mcedit ignore tab size: on pressing left/right/delete/backspace it work only for one space but should for four." Mihail Zenkov Active Tickets 3531 roff underline+bold not recognized mcview master Future Releases defect new 2015-10-01T20:00:04Z 2015-10-01T21:52:16Z "I've just found that the \f4 macro in chacl.1 turns on underlined and bold at the same time, and is displayed by ""less"" accordingly. The *roff pipeline translates an underlined+bold character into: underscore backspace letter backspace letter Both the viewer and the search engine should be updated to recognize this." egmont Active Tickets 3542 [patch] fix /src/editor testsuite failure when ncurses is used mc-core master Future Releases defect new 2015-10-21T22:42:12Z 2021-04-08T06:24:20Z "fix /src/editor testsuite failure when ncurses is used {{{ Running suite /src/editor (null):-1:S:Core:test_autocomplete:0: (after this point) Received signal 11 (Segmentation fault) (null):-1:S:Core:test_autocomplete:1: (after this point) Received signal 11 (Segmentation fault) (null):-1:S:Core:test_autocomplete_single:0: (after this point) Received signal 11 (Segmentation fault) Results for all suites run: 0%: Checks: 3, Failures: 0, Errors: 3 }}} testsuite failed because ncurses:doupdate() called without proper init {{{ edit_init() -> edit_load_file() -> edit_load_file_fast() -> status_msg_init() -> mc_refesh() -> ncurses/tty_refresh() -> doupdate() }}} patch against 52fd328042a426e885da891c8ce8218cda3a1cf7 compile test with GCC 5.2.0/ncurses 5.9 Signed-off-by: Andreas Mohr " and Active Tickets 3627 sharp is not escaping on M-Enter mc-core master Future Releases defect new 2016-03-29T14:31:10Z 2016-03-30T14:16:04Z '#' does not backslashed in filenames on M-Enter wd Active Tickets 3656 incorrect handling of ftp symlinks mc-vfs Future Releases defect new 2016-06-19T17:09:04Z 2016-06-19T17:09:04Z "What version of Midnight Commander is used? GNU Midnight Commander 4.8.16 Built with GLib 2.44.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, ext2undelfs, ftpfs, fish Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64; What steps will reproduce the problem? 1. create symlink with absolute path on ftp server (for example pointing to /home/ftp/dir) 2. path must not exist on local system 3. connect to ftp by MC vfs 4. symlink is highlighed red, and you cannot open it 5. manually ""cd symlink"" is working What is the expected output? Just allow cd to such symlink. What do you see instead? I cannot enter symlink, but manually entering ""cd symlink"" works. Example listing of FTP client entering such symlink: ***cut*** 230 Anonymous user logged in Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 200 PORT command successful 150 Connecting to port 52839 drwxr-xr-x 2 0 0 4096 Jun 12 21:53 confupdate lrwxrwxrwx 1 0 0 21 Jun 11 01:48 packages -> /usr/portage/packages 226-Options: -l 226 2 matches total ftp> cd packages 250 OK. Current directory is /packages ftp> ls 200 PORT command successful 150 Connecting to port 58878 -rw-r--r-- 1 0 0 361297 Jun 11 01:04 Packages drwxr-xr-x 2 0 0 4096 Jun 5 20:39 app-admin drwxr-xr-x 2 0 0 4096 Jun 5 23:54 app-arch ***cut*** " ahauras 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 3688 Midnight Commander - SFTP - Raspberry Pi 2/3 mc-vfs 4.8.17 Future Releases defect new 2016-09-15T07:16:36Z 2016-09-20T19:50:30Z "Hi, Me & my friend have been trying to download files from our seedbox which runs Ubuntu 15.04 to our Raspberry Pi's with MC via SFTP connection. I have Raspberry Pi 2 and my friend has a Raspberry Pi 3. We have tried multiple distros on our Raspberry Pi's including OSMC 2016.08-1, Raspbian Jessie Lite 2016-05-27, Minibian 2016.03.12. We have also tried multiple versions of MC. 4.8.13, 4.8.15, 4.8.17. 4.8.15 & 4.8.17 were installed from MC tataranovich repositories. Every time we try to download a semi big file ~9 GB, MC hangs at 12%. If we download same file with CLI sftp, no problem. On a desktop machine there's no problem downloading those files with MC. We've tired with many different files of course. " badmin 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 3845 replace brightblue in syntax files mcedit master Future Releases defect new 2017-08-01T17:24:57Z 2017-08-07T21:40:17Z "I can't see text printed in bright blue in tty (Slackware Linux, using default skin), I suggest to replace it in syntax files with bright cyan, it can be done with such script ran in syntax folder (skips filehighlight.syntax and syntax.syntax): {{{ #! /bin/tcsh set a = `basename $0` foreach b (*) if ($b != $a && $b != ""filehighlight.syntax"" && $b != ""syntax.syntax"") then sed -i s/brightblue/brightcyan/ $b endif end }}}" Nicolas Rybkin Active Tickets 3851 update patch extfs for diffutils 3.3 change mc-vfs 4.8.19 Future Releases defect new 2017-09-01T20:41:48Z 2017-09-03T11:52:52Z "It seem this somewhat corner case was missed a few years ago. The NEWS snippet: A file name containing spaces, double quotes, backslashes or control characters is now encoded in a diff header as a double-quoted C string literal. The escape sequences !\\, \"", \a, \b, \f, \n, \r, \t, \v and \ooo (a three-digit octal number between 0 and 255) are used. So, this case isn't covered by patchfs.in, resulting sometimes in a non-working vfs getting created. " mnk Active Tickets 3866 building as root breaks the tests tests master Future Releases defect new 2017-10-01T21:15:37Z 2018-06-05T17:46:43Z "tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c contains code to replace the numeric uids and gids with '<>'/'<>' if they are equal to the ids of the process. Running the tests as root breaks the tests, because '<>' / '<>' appear where 0 are expected. Looking in tests/src/vfs/extfs/helpers-list/test-suite.log: {{{ ... ------------ diff of the expected output vs the actual output: ------------- --- /root/mc/tests/src/vfs/extfs/helpers-list/data/hp48+.output 2017-10-01 21:14:01.070736734 +0000 +++ /tmp/hp48+.actual-parsed-output.l8hNvZZv 2017-10-01 21:14:12.875106282 +0000 @@ -1,3 +1,3 @@ --rw-r--r-- 1 0 0 30 /YEN --rw-r--r-- 1 0 0 21848 /JYTLIGHT --rw-r--r-- 1 0 0 37 /IOPAR +-rw-r--r-- 1 <> <> 30 /YEN +-rw-r--r-- 1 <> <> 21848 /JYTLIGHT +-rw-r--r-- 1 <> <> 37 /IOPAR ------------------------------- end of diff -------------------------------- ... }}} I don't know if it's intended, or a bug." anatoly.borodin Active Tickets 3891 When nothing is typed for macro %{some text} in a user menu entry, the rest of the script is not run mc-core master Future Releases defect new 2017-12-21T15:32:45Z 2017-12-21T15:32:45Z "'''mc version:''' 4.8.19-1 (from Ubuntu repository) '''environment:''' Xubuntu 17.10 When the macro '''%{some text}''' is used in a user menu entry, and nothing is typed — if only key is pressed —, the rest of the commands are not run, as if the script exited. I'm not sure if this is the expected behavior. The man page doesn't mention anything, only that F10 or ESC can cancel. It would be interesting if the script didn't exit, so that the variable receiving the text from the macro could be tested for empty/undefined. '''Steps to reproduce''' 1. Create a user menu entry like this one: {{{ x testing text=%{enter any text} echo ""text = $text"" }}} 2. Run the user menu, select this entry, and press 3. Press ctrl-o to check if there was any output There will be no output, as if the script exited before ''echo ""text = $text'' was run. " marcelpaulo Active Tickets 3912 Update xls2csv usage since it's called with invalid parameters mc-core master Future Releases defect new 2018-04-10T11:45:40Z 2021-04-08T06:22:53Z " xls2csv only prints error page and returns EXIT CODE 0 when only supplied a spreadsheet without -x parameter. -c parameter also mandatory. Currently permitted parameters are: usage: xls2csv -x spreadsheet.xls [-w worksheet] [-n worksheet number] [-b charset] [-c csvfile.csv] [-a charset] [-qshvWf] This is xls2csv version 1.07 Which is latest version in openSUSE:Factory Attaching git patch " adamm Active Tickets 3932 "[Perl syntax] Symbol ""#"" parsed as comment in regular expressions" mcedit 4.8.21 Future Releases defect new 2018-08-17T08:12:50Z 2020-11-01T22:36:22Z "String from ""#"" is highlighted as comments: {{{ $C =~ tr/!*?+\\\[\]#(){}=,:/.............../; }}} " asy Active Tickets 3934 extfs.d/uzip should ignore unzip exit code mc-vfs master Future Releases defect new 2018-08-22T11:31:14Z 2021-04-08T06:24:21Z "Steps to reproduce. {{{ $ touch test $ zip test.zip test $ echo ""12345"" > new.zip $ cat test.zip >> new.zip }}} new.zip is a valid zip archive with extra six bytes at the beginning. MC will fail to process it. " birdie Active Tickets 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 3978 Spaces depended behavior of syntax highlight mcedit 4.8.21 Future Releases defect new 2019-04-08T11:22:22Z 2019-04-08T11:22:22Z "There is a different behavior of syntax highlight depending on whether there are spaces/tabs or not. Example: {{{#!text # string w/o spaces colored as expected: word 'loop' is white variable nx loop ${c_c} #and this one with spaces is not: word 'equal' is grey variable px equal ${ps}*(${nx}-1) }}} Both `'variable'` are yellow as must be. Here is the corresponding syntax: {{{#!text context default keyword whole linestart \[\s\t\]variable yellow context exclusive linestart variable \n grey keyword ${*} brightgreen keyword #* brown keyword whole loop white keyword whole equal white }}} The drop of `'exclusive'` word results in block coloring disable (word `'variable'` still yellow). Adding `'\[\s\t\]'` to context do not change. Am I missing anything? MC info: {{{#!text [kryzhev@bear mc]$ LC_MESSAGES=C mc -V GNU Midnight Commander 4.8.21 Built with GLib 2.56.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 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; [kryzhev@bear mc]$ LC_MESSAGES=C mc -F Home directory: /home/kryzhev Profile root directory: /home/kryzhev [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: /home/kryzhev/.config/mc/ Data directory: /home/kryzhev/.local/share/mc/ skins: /home/kryzhev/.local/share/mc/skins/ extfs.d: /home/kryzhev/.local/share/mc/extfs.d/ fish: /home/kryzhev/.local/share/mc/fish/ mcedit macros: /home/kryzhev/.local/share/mc/mc.macros mcedit external macros: /home/kryzhev/.local/share/mc/mcedit/macros.d/macro.* Cache directory: /home/kryzhev/.cache/mc/ [kryzhev@bear mc]$ 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' '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 -Wno-strict-aliasing' '--disable-rpath' '--enable-aspell' '--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' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' [kryzhev@bear mc]$}}}" krege 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 4059 YAML syntax highlight is broken on multiline blocks mcedit 4.8.24 Future Releases defect new 2020-02-01T03:35:07Z 2022-07-09T17:08:08Z "As reported in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=950307 In the newest version of mcedit syntax highlight for YAML inline block highlight is started after '>' or '|' directives, but does not end until EOF. Instead it should end after encountering any of: - an empty line - a line with the same indent as the key of current value - a line with less indent than the first line of inline block " onlyjob 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 4072 mcedit anchored regex line matching inconsistencies mcedit 4.8.24 Future Releases defect new 2020-03-28T23:04:30Z 2020-03-29T04:56:23Z "The editor's F4/Replace function with regex matching shows some broken behavior when the regex begins with the line start anchor, and matches whole lines. Try specifying ""{{{^.*}}}"" for source and ""{{{X\0}}}"" for target pattern to try to prefix each line with an ""X"" to see the following behaviors: * For consecutive matching lines the replacement only happens on every other line, skipping each candidate that follows a matched line. Maybe matches on consecutive lines are considered overlapping? They shouldn't be. * When such a regex fully matches the current line, and the cursor is on the first column, the first match is the following line only. Except when the cursor is on the first line, then the first line also matches. I'd expect the current line to match even if the former cases." ply 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 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 4495 Core:test_path_length:3 test failure when linked against musl tests master Future Releases defect new 2023-08-20T12:38:40Z 2023-08-20T12:38:40Z "Since at least version 4.8.29, Midnight Commander fails one of its tests when linked against MUSL: path_len.c:116:F:Core:test_path_length:3: Assertion 'actual_length == data->expected_length' failed: actual_length == 12, data->expected_length == 38 The same test passes when mc is linked against glibc. I suspect this might have something to do with how limited iconv support is in MUSL but unfortunately I know nowhere nearly enough about either that libc or mc internals to attempt to fix the problem myself. Version information for both glibc- and musl-linked mc-4.8.30. In either case Midnight Commander was installed directly into a clean test system so different libc implementation should have been the only difference between the two: *** built against musl *** GNU Midnight Commander 4.8.30 Built with GLib 2.76.3 Built with S-Lang 2.3.2 with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; *** built agains glibc *** GNU Midnight Commander 4.8.30 Built with GLib 2.76.3 Built with S-Lang 2.3.2 with terminfo database With builtin Editor With subshell support as default With support for background operations With mouse support on xterm With internationalization support With multiple codepages support With ext2fs attributes support Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, fish Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64; " Marecki Active Tickets 4528 Can't recursively delete a mode 000 directory mc-core master Future Releases defect new 2024-02-03T09:51:00Z 2024-02-03T10:37:37Z "Steps to reproduce: {{{ mkdir -p 1/2 chmod 000 1/2 }}} Now try to delete 1 and all subdirs recursively: ""Cannot remove directory 1: Directory not empty (39)"". Now enter 1 and you're able to delete 2 just fine. " birdie Active Tickets 28 savannah: syntax highlighting in viewer wanted mcview master Future Releases enhancement new 2008-12-25T15:17:27Z 2016-03-14T21:16:58Z "Original: http://savannah.gnu.org/bugs/?13740 ||Submitted by:||Oswald Buddenhagen ||Submitted on:||Mon 11 Jul 2005 09:52:21 PM UTC|| ||Category:||Viewer||Severity:||1 - Wish|| ||Status:||None||Privacy:||Public|| ||Assigned to:||None||Open/Closed:||Open|| ||Release:||current (CVS or snapshot)||Operating System:||All|| Original submission: {{{ i'd like to see editor-like syntax highlighting in the viewer. i think the easiest (or at least cleanest) solution to achieve this would be merging the viewer into the editor and making a read-only mode. this would obviuosly require drastically changing the memory model of the editor, making it able to handle huge files efficiently - something that wouldn't hurt anyway. }}} " ossi Active Tickets 39 "savannah: viewer position from ""find file"" dialog vs. parsed files" mcview Future Releases enhancement new 2008-12-25T19:39:19Z 2021-09-15T14:52:14Z "Original: http://savannah.gnu.org/bugs/?16017 ||Submitted by:||Oswald Buddenhagen ||Submitted on:||Mon 06 Mar 2006 07:05:52 PM UTC|| ||Category:||Viewer||Severity:||3 - Normal|| ||Status:||None||Privacy:||Public|| ||Assigned to:||None||Open/Closed:||Open|| ||Release:||current (CVS or snapshot)||Operating System:||All|| Original submission: {{{ the ""find file"" dialog does seaching on unfiltered file contents. it tells the viewer to start viewing a the line of the match. however, if the file is filtered (""parsed"", as opposed to ""raw"") before viewing (e.g., lynx -dump), the line number is applied to the filtered output - usually with ""suboptimal"" results. i'm not sure what to do about this. translating the line numbers would require cooperation from the filter, which is sort of impossible for external filters. and grepping on filtered files would be sloooow. maybe like this: if matches are found and the file is ""formattable"", filter it and grep again and display that as the result. alternatively, force the viewer into raw mode, but i would not like this. }}} " ossi 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 1511 User-defined user interface themes mc-skin 4.7.0-pre3 Future Releases enhancement new 2009-08-09T16:22:24Z 2020-07-05T20:26:07Z "(Excuse me for my bad English :-) ) QT- and GTK-based programs can have ""skins"". Window managers can have themes. I suggest make such feature in mc and make some default themes: — theme without pseudographics for users that have problems with locale and use mc to solve it; — default Borland Turbo Vision-like theme that uses only pseudographics from CP437 encoding. This pseudographics symbols can be used with many 8-bit encodings; — enchanced theme wich uses all power of Unicode pseudographics. In this theme we can do following replacements: [x] → ☑ / ✓⃞ ; [ ] → ☐ / ⃞ ; (*) → ◉ / •⃝ ; ( ) → ○ / ⃝ ; With Unicode we also can add ""✓"" to ""OK"" buttons and ""✗"" to ""Cancel"" buttons. It will be like pictograms. Also ""⚠""/"" !⃤ "" and "" ?⃝ "" can be used as pictograms for some dialogs, ""⌨"" in keyboard settings. If mc somedays will use DeviceKit-disks then ""⏏"" symbol can be used for ejecting media. ------------ Regards, Sergey " sergey-feo Active Tickets 2047 "Add an option ""Don't traverse mounted file systems"" for ""File find""" mc-core master Future Releases enhancement new 2010-02-21T09:34:00Z 2016-12-17T06:57:23Z Quite often you need to find a file without traversing mounted file systems, please, add an option for that. birdie Active Tickets 3139 undo grouping should be more intelligent mcedit master Future Releases enhancement new 2014-01-05T12:49:40Z 2014-01-05T12:49:40Z "as a followup to #27, i'm creating a new ticket as requested. undo grouping should roughly predict what the user probably wants to undo at once, without grouping too much. i suggest an action/time/space based grouping: - if the user switches to another ""action sequence"" (inserting/overwriting, deleting, navigating, maybe more), he certainly wants it separated from the previous sequence - if he makes a longer break while doing things, he probably expects it when undoing as well. what ""longer"" means is very subjective; a simple adaptive algorithm might make sense - small moves are merged, while big ones aren't. i'm not even sure what the criteria should be here. maybe moves should be generally merged and we should only depend on the other two ""break conditions""." ossi Active Tickets 3163 Several improvements in editor saving behavior mcedit master Future Releases enhancement new 2014-01-27T07:08:55Z 2014-01-28T22:41:05Z "I have created a pull request on GitHub a week ago, kindly review it: https://github.com/MidnightCommander/mc/pull/32 " CyberShadow Active Tickets 3166 Selection of Multiple Adjacent Files/Directories mc-core master Future Releases enhancement new 2014-02-05T21:29:30Z 2014-02-11T19:59:39Z "This is one thing I think mc has been missing. Currently, to select many files/folders, you have to press 'Insert' many times, which is laborious. I think it would be a great improvement if blocks of adjacent files/folders could be selected, possibly by holding Ctrl and pressing the up/down arrow keys." Nick Active Tickets 3169 Additional Appearance options mc-skin master Future Releases enhancement new 2014-02-11T21:48:09Z 2014-02-11T21:48:09Z "Forking from #2165: Currently skins define multiple things: colors, single vs double lines, certain Unicode symbols etc. One might argue that it's the intended behavior: a skin should define all details of the look (but not the layout or behavior). On the other hand, it might be reasonable to decouple these from each other, since that gives more flexibility for those users who don't dig into editing skin files. For all the three ideas listed here there might be scenarios (e.g. Linux console) where one of the two states is not supported, hence currently the available skins are quite limited and moving these properties to separate options significantly increases the number of usable skins. It's also useful because it allows the users to easily create something that visually pleases them more, e.g. I personally prefer single lines but there are some great color schemes using double lines. I have three ideas in mind. At this moment the first two are implemented. 1. Single lines vs. double lines. All the skins were altered to properly define the double line drawing characters. It's a runtime decision whether those are actually used or not. It's not only a personal preference, it's also a workaround for some limited terminals. E.g. my Linux console cannot display double lines, whereas the modarcon* skins specifically designed for console uses double lines. The ""darkfar"" skin is removed, since this was the double-line version of ""dark"". The ""double-lines"" skin was also removed, it's quite like the default with double lines, except for the (IMO very ugly) dark blue menu/button lines. If you prefer to keep this skin, it should be renamed to something else. The ""featured"" skin could probably also be removed, it's almost like ""default"", but uses UTF-8 instead of ASCII compatibility stuff (see the 3rd point). Maybe the whole [Lines] section could be removed from the skins and be hardcoded in mc, I see no reason why anyone would want to redefine them - but in the initial patch it's not removed so I didn't remove any feature. 2. Underlined hotkeys So far all skins used a different color for the hotkey. This is against the common UI approach of using underline, and IMHO results in too much visual clutter (too many colors). My sand256 skin was the only one using underlines (also demoing the then new feature of having underlined attribute). Now you can choose for each skin if you'd prefer the color from the skin, or make the hotkeys underlined (and same color of non-hotkey characters). I've also changed the hotkeys in sand256 to use color instead of underline, so you get two possibilities here just as in any other skins. Technical detail: This required some special hacking, since from now on we use color+attr combos that are not explicitly mentioned in the skin file. I decided to add both kinds of hotkey colors (the special color, as well as the normal color underlined) to the color hashtable, so we can toggle the hotkey look without re-reading the skin and regenerating the color palette. I also thought that this should be private business belonging to the skin engine, rather than branching on the setting all over the code. So I put it in the caching layer, the cached table at the corresponding indexes is populated with either the actual different color, or with the underlined version, depending on the setting. Toggling the setting leaves the hash table intact, requires only the color cache to be regenerated. 3. Unicode symbols Some skins use fancy Unicode symbols, e.g. ↑ and ↓ for sorting order which look really great. Some others use ASCII symbols for compatibility (and then it's quite hard to tell what the arrow's replacement characters actually stand for). Interestingly, even though I don't have double lines on my Linux console, I do have all these fancy Unicode characters. My recommendation is to make all the skins contain fancy Unicode characters, and make it a compatibility UI-checkbox to revert to builtin ASCII characters. This one's not yet implemented." egmont Active Tickets 3186 Base64 and Quoted-Printable decode mcview master Future Releases enhancement new 2014-03-16T14:12:01Z 2015-03-23T15:08:52Z Sometime is needed view files in mbox format. It would be convenient to have a decoder for Base64/QP. asy Active Tickets 3193 mtp plugin mc-vfs master Future Releases enhancement new 2014-04-08T19:01:28Z 2014-04-09T11:01:22Z "There are some mtp implementations out there but they all suck horribly. Would be great to see mc plugin to copy files to/from mtp-capable devices just as easily as it works with sftp now." god12 Active Tickets 3195 """Goto Line"" dialog: goto line:column" mcedit master Future Releases enhancement new 2014-04-11T17:07:00Z 2014-09-05T09:11:30Z "Goto line - as previous. Goto line:column Instead of : any separator can be used (,;. ). Goto line:0 jumps to the bol. " aurel Active Tickets 3199 option to show long operation progress in xterm window title mc-core master Future Releases enhancement new 2014-04-20T09:48:01Z 2014-04-20T09:48:01Z It would be nice to have a feature to show the progress of a long running operation like copy or move in the xterm window title. Maybe ETA would be nice to display too. jan.hradek Active Tickets 3206 Option to skip corrupted files automatically mc-core master Future Releases enhancement new 2014-05-02T21:02:57Z 2014-10-25T10:31:39Z "When MC is copying/moving a number of files in one operation, whenever it encounters a corrupted file, it pauses the whole operation while asks whether to skip the file and deleted the partially-copied file. This method doesn't work very well, because it means that if there are corrupted files, you have to be at your computer to answer these two questions every time MC encounters a new corrupted file. It's very annoying if you start copying a large number of files (that will take many hours), and then go somewhere else and come back after several hours, to find that MC has paused itself 5 minutes after you left, because it encountered a corrupted file. Whenever I'm using MC and it encounters a corrupted file, I always choose to skip the file, and to deleted the partially-copied file. And I imagine most other people do the same. So I think a useful addition, would be an option to make MC automatically skip any corrupted file, and delete the partially-copied file every time, and then at the end of the whole copy/move operation, if MC encountered corrupted files, it could present a list of all the files that it skipped." Nick Active Tickets 3227 Quick cd autocomplete change bevavior. mc-core master Future Releases enhancement new 2014-06-22T10:20:50Z 2014-10-25T10:25:09Z Quick cd autocomplete should offer only directories and directory symlinks, not regular files. gms Active Tickets 3331 Added support for list & extract UDF images by 7-zip mc-vfs 4.8.11 Future Releases enhancement new 2014-11-14T11:46:02Z 2014-11-14T11:46:02Z "Hello Devs! I've made ability to list of UDF images & extract files/dirs from it by 7-zip. Just share. May be it will be usefull. Diff in attachment." SkyRE Active Tickets 3356 More ways to define key sequences mc-tty master Future Releases enhancement new 2014-12-04T01:03:58Z 2014-12-04T01:03:58Z "Currently, mc works in the following way: * by default some set of sequences is recognized ('mc_default_keys'); * if TERM value starts with ""xterm"" (or some other predefined strings), some more sequences are recognized ('xterm_key_defines'); * if TERM value starts with ""qansi-m"", some more sequences are recognized ('qansi_key_defines'). However, such hard-coded way is not the best. 1. More terminal emulators with different key bindings may appear in future, you cannot hard-code all them now. 2. User may need some xterm-like key-sequences not only in xterm or xterm-compatible terminals. (But faking TERM=xtermyyy or passing --xterm/-x is not an option, because this causes not only key-handling-change, but also other changes behavior.) Solutions: 1. At least, --xterm/-x flag must be split into several flags like --keys-as-in-xterm, --aaa-as-in-xterm, --bbb-as-in-xterm; --keys-as-in-qansi. 2. At most, xterm_key_defines/qansi_key_defines should be read from config files, e.g.: > BRACKETED_PASTING_START = ""\033[200~"" > BRACKETED_PASTING_END = ""\033[201~"" > if xterm*|iris-ansi*|rxvt*|screen* > F1 = ""\033OP"" > [...] > end > if qansi-m > CTRL+NPAGE = ""\033[u"" > [...] > end Prehistory: I was annoyed that Ctrl+Left and Ctrl+Right keys generate the same ascii codes as Left and Right on tty's (unlike in xterm; so bash can't recognize Ctrl+Left and Ctrl+Right on tty's, but can in xterm), so I modified system configs to force Ctrl+Left/Ctrl+Right to generate on tty's exactly the same ascii codes as in xterm). After that C-Left, C-Right stopped working in mc. This itself is not a bug; it is expected behavior (I changed ascii codes -- and mc no more recognizes them -- obviously). However, I expected to fix this by changing terminfo files (as C-Left, C-Right were still working in mc in xterm, I expected that different behavior of mc on tty1 and in xterm was caused by differences in ""linux"" and ""xterm"" terminfo files). However, to my surprise, it appeared that mc's behavior depends on the value on the TERM environment variable itself, but not on the correspondent terminfo file. And I cannot workaround this with -x because it introduces more serious bugs." o.pikozh Active Tickets 3367 Add support .editorconfig in mcedit mcedit master Future Releases enhancement new 2014-12-07T15:34:06Z 2021-06-05T11:26:16Z "The .editorconfig file is standart feature in many popular text editors. For more detail see here: http://editorconfig.org/ The C library see here: https://github.com/editorconfig/editorconfig-core-c It would be great if it would support mceditor. " sergeybe Active Tickets 3396 Port help viewer to new viewer engine mc-core master Future Releases enhancement new 2015-02-01T23:24:54Z 2015-02-01T23:24:54Z "As pointed out in ticket:2283#comment:7 and ticket:3250, mc's help viewer suffers from various scrolling issues. mcview's new engine (implemented in 3250) should be extended to handle mc's hlp input format (next to nroff) and to be able to wrap at word boundaries. Then the help viewer should be changed to use this engine." egmont Active Tickets 3436 [patch] support multiple programs to view given file mc-core master Future Releases enhancement new 2015-04-03T13:00:32Z 2015-04-03T13:00:32Z "support multiple programs to view given file this patch introduce helper function and extend pdf program list usually user install only popular choice of program list order rules: 1. old known first (keep compatible characteristics with older mc versions) 2. viewer (faster then editor) 3. editor (tested with bash and busybox sh, please cross check with ksh) Signed-off-by: Andreas Mohr " and Active Tickets 3450 Quickly tag many adjacent files mc-core master Future Releases enhancement new 2015-04-15T09:57:51Z 2015-04-19T12:41:46Z "It happens to me very often that I want to tag many subsequent files in a large directory tree, to later perform some operation on them (typically to copy them to the other panel). E.g. I have a folder of thousands of photos (all the photos copied from my camera), and I want to copy the ones that belong to a certain trip to the pendrive of my friend (e.g. some hundred photos made last weekend, which might happen to be e.g. from DSC_4863.JPG to DSC_5328.JPG). Currently the easiest/quickest solution I'm aware of is to find the first photo somehow (e.g. based on the timestamp), hold Insert or Ctrl+T or Shift+Down and wait for some long tens of seconds until it reaches the end of the list, or a timestamp that's no longer in the desired interval. I'd like to have an equally simple, yet much quicker way of selecting many adjacent files. Approach 1: Faster navigation with keyboard In xterm, pressing Shift+Pgdn highlights many files at once. This is because xterm itself synthesizes multiple Down keypresses, plus mc finds out via the X extension that Shift is pressed. Drawbacks of this method: requires xterm (with certain config options which are apparently set correctly by default for this to work); requires X11 extension; if you reach the end of the file list it's random if the last file becomes highlighted or not (based on parity stuff), and is not extendible for Shift+End highlighting all the way to the end. In gnome-terminal, pressing Shift+Pgdn or Shift+End sends a nice escape sequence (if on the alternate screen; as opposed to the standard behavior of scrolling back in the terminal's history buffer) which could be handled by mc. Drawbacks: specific to vte-based terminals (although other terminals could easily adopt this feature), and Shift+End is already taken for highlighting the command line. Ctrl+Pgdn, Ctrl+End etc. are currently unused, and could be handled. Disadvantage: it's misleading in combination with Shift+Down which highlights and Ctrl+Down which invokes the command line history; these should probably remain this way: it's standard practice to use Shift for highlighting rather than Ctrl. Approach 2: Tag files up to a certain point A completely different and perhaps better approach could be to go in the direction of kinda mimicking the standard graphical (Gtk, Qt, Html...) multiple select UI elements, where Shift+click selects everything from the last tagged entry to the currently highlighted one. There are obvious differences between these two worlds so we can't do exactly the same, but this might be a start. E.g. I could somehow locate the first photo, press Insert, then somehow locate the last photo (it could be by Down, Pgdn, End, or Ctrl+S filename search, doesn't matter), press some other magic keycombo, and everything from the first tagged file up to this point would be highlighted. Approach 3: Extend the Select or Filter dialog Either the ""Select"" dialog (the one that appears when pressing '+') or the F9->Left->Filter dialog could be extended to allow you to specify an interval of filenames. Disadvantages: I'd have to remember two filenames; would probably only allow to specify an interval by filenames and not by any other sorting criteria, or the UI would get way too complicated and the feature would be probably harder/slower to use than tapping on Insert for some ten-twenty seconds. What do you guys think? Any ideas, preferences?" egmont Active Tickets 3533 mcedit: Ctrl+E (go to end of line) and Ctrl+A (go to start of line) shortcuts mcedit master Future Releases enhancement new 2015-10-06T11:21:39Z 2015-10-06T11:27:21Z " PS. Please update the list of hotkeys (it lacks Ctrl + PgUp shortcuts) https://www.midnight-commander.org/wiki/doc/editor/hotkeys" vovan888 Active Tickets 3546 mcview: dim wrapped lines mcview master Future Releases enhancement new 2015-11-04T18:50:21Z 2015-11-04T18:50:21Z "Nowadays I work with large log files. I make my terminal quite wide, many of the lines fit in a line, but still many don't. Some span across maybe 5 or 10 lines, some are even larger. Actually the one that logs my Java classpath is 70kB (!) long, that is, occupying around 10 full screens. If I disable wrapping, the timestamps are nicely aligned below each other, but I miss a lot of important content, have to scroll in two dimensions which is really cumbersome, and it's really hard to tell if a line is very long. If I enable wrapping, I get to see all the content, but it becomes much harder to see where a new log record starts (especially after those extremely long lines). I don't like the approach of Emacs and a couple of other tools that put a special symbol at the beginning or at the end of the line, as it even further increases clutter. My goal is not to be perfectly aware if it's a soft or a hard line wrap. My goal is to reduce the clutter, and unconsciously have a feeling about where logical lines start. To one moment easily focus on all the content at once, and the next moment easily focus on logical lines (log records) and quicky jump to the next one with my eyes. So I came up with this idea and a quick patch: Print the second and subsequent wrapped lines of a paragraph using a dimmer color. See the screenshot. You can try my patch; right now it's only done for the gray* skins, but you can easily change any other skin. F6 is unused in the viewer, it could toggle this mode as an improvement if you like the idea. Opinions welcome! :)" egmont Active Tickets 3604 MC menu files enhanced cmdline for entering VFS? mc-core master Future Releases enhancement new 2016-03-11T07:11:40Z 2016-03-11T20:14:28Z "Please provide the capability for entering VFS from MC menu files enhanced command line. So that in MC menus we could use commands on the lines of what we have in MC extfile: `%cd %p/utar://`. Some use cases I see for this capability right now: 1) Opening ZIP archives containing files with names in different and mixed Cyrillics encodings. 2) Opening directories containing MoinMoin wiki pages subdirs (wiki page `a/b/c` encoded to `a(2f)b(2f)c`, etc.). " yury_t Active Tickets 3628 screen library: ncurses vs ncursesw compilation master Future Releases enhancement new 2016-03-29T16:28:35Z 2023-05-19T18:49:28Z "Currently mc support following screen library (--with-screen=) selection: - slang - ncurses - ncursesw (not documented yet) This leads to imprecision for ncurses, because autoconf logic of ncurses detection deals (partly) with ncursesw too. 1) Exact match/use of ncurses or ncursesw to give full control about ncurses selection. 2) Single ncurses switch with ncursesw lib preference if both libs found. 3) Single ncurses switch with ncurses lib preference if both libs found. 4) Ncurses and ncursesw switch where ncurses switch also prefer ncursesw lib if both libs found. (current state) Before I attach patches, which way is preferred? (I prefer exact match selection) " and Active Tickets 3685 Add hotkey support to labels and groupboxes mc-core master Future Releases enhancement new 2016-09-05T17:54:59Z 2016-09-05T17:54:59Z "Labels and groupboxes should support hotkeys in their text. Pressing the hotkey will move the focus to the following focus-able widget (e.g., input, listbox, radio). This is like `