Ticket #4612 (closed defect: duplicate)
printwd option issue
Reported by: | musinsky | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | mc-core | Version: | 4.8.32 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Branch state: | no branch | Votes for changeset: |
Description
Fedora 41, package: mc-4.8.32-1.fc41.x86_64.rpm
$ ls create.file ls: cannot access 'create.file': No such file or directory $ /usr/bin/mc -P create.file # non exist file # exit from mc $ cat create.file /home/musinsky # OK, contains last working directory $ touch exist.file $ /usr/bin/mc -P exist.file # already existing file # exit from mc $ cat exist.file # file is empty !!!
As result this issue mc-wrapper.sh not working correctly (no last working directory after exit from mc).
Solution in my case (Fedora, bash): replace 'mktemp' by 'mktemp --dry-run'.
Change History
comment:2 Changed 2 weeks ago by musinsky
Sorry, my description was unclear.
I want to use mc-wrapper.sh, but due to mc -P issue doesn't work correctly.
if test -n "$MC_TMPDIR"; then MC_PWD_FILE="`mktemp "${MC_TMPDIR}/mc.pwd.XXXXXX"`" elif test -n "$TMPDIR"; then MC_PWD_FILE="`mktemp "${TMPDIR}/mc.pwd.XXXXXX"`" else MC_PWD_FILE="`mktemp "/tmp/mc.pwd.XXXXXX"`" fi /usr/bin/mc -P "$MC_PWD_FILE" "$@" # @bindir@/mc -P "$MC_PWD_FILE" "$@" # add this condition if test -s "$MC_PWD_FILE"; then echo "$MC_PWD_FILE exists and has a size greater than zero, OK" else echo "$MC_PWD_FILE is empty (or non exists), WRONG" fi if test -r "$MC_PWD_FILE"; then MC_PWD="`cat "$MC_PWD_FILE"`" if test -n "$MC_PWD" && test "$MC_PWD" != "$PWD" && test -d "$MC_PWD"; then cd "$MC_PWD" || true fi unset MC_PWD fi rm -f "$MC_PWD_FILE" unset MC_PWD_FILE
$ mc # alias on mc-wrapper.sh # exit from mc /tmp/mc.pwd.b22kCx is empty (or non exists), WRONG
comment:3 in reply to: ↑ description Changed 2 weeks ago by andrew_b
Replying to musinsky:
Fedora 41, package: mc-4.8.32-1.fc41.x86_64.rpm
$ touch exist.file $ /usr/bin/mc -P exist.file # already existing file # exit from mc $ cat exist.file # file is empty !!!
My current working version is 4.8.32-124-g9182a8992.
File exist.file isn't empty. It contains a last working directory.
A new mc-wrapper from [e2d96fa802abebf888dcc2cc938cfd06abca8eb0] isn't enough. [d081bc68aa6ad3ded515ea490118b0a38a1ec204] is required too.
comment:4 Changed 2 weeks ago by musinsky
1st) I compiled mc from source (today master version) and all is OK
2nd) finally find problem in mc-4.8.32:
- issue with this commit, change tmpdir from mc-$USER to mc-XXXXXX in lib/vfs/interface.c file. See also comments of this commit on github: This change breaks mc-wrapper.sh
- http://ftp.midnight-commander.org/mc-4.8.32.tar.xz contains non-fixed contrib/mc-wrapper.sh.in (with mc-$USER and not mc-XXXXXX)
mc-wrapper.sh and related stuff were changed in #4575.
mc-wrapper.sh itself creates a file which is used in -P option. If you don't want to use mc-wrapper you should understand what you do.
Apparently wontfix.