Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

存在しないファイルでの誤発動を防ぐ #3

Merged
merged 2 commits into from
Apr 28, 2018

Conversation

amake
Copy link
Contributor

@amake amake commented Mar 27, 2018

普段 (auto-sudoedit-mode 1) で使わせていただいています。

まだ存在しないディレクトリの中でファイルを開くことがあります。たとえば ~/foo は存在しないとして、C-x C-f ~/foo/bar.txt を行って M-x make-directory RET RET で後から ~/foo を作ります。

このようにすると、~/foo の書き込み権限を持っているのに(sudo は不要なのに)auto-sudoedit が発動します。原因は f-writable?tramp-tramp-file-p の両方が nil を返し、書き込み権限を持っていないファイルとの区別がつきません。

対策として、パスを順に遡って f-writable? を実行することを提案したいと思います。こうすれば書き込みできる親ディレクトリを見つけて無駄な発動を防ぎ、また書き込みできる親がなければ通常どおり発動します。

@ncaq
Copy link
Owner

ncaq commented Apr 28, 2018

通知を間違えて消してしまったのか,pull requestを受け取っていたことに気がついてませんでした.
大変申し訳ありません.これから見ます.

@ncaq ncaq merged commit 15a9b8e into ncaq:master Apr 28, 2018
@ncaq
Copy link
Owner

ncaq commented Apr 28, 2018

こちらの環境ではfind-fileで開いて自動的にディレクトリが作成されるので観測できませんでした.
特に取り込んで不具合等などなさそうなのでmergeします.
返信が遅れ,重ね重ね申し訳ありませんでした.

@ncaq
Copy link
Owner

ncaq commented Apr 28, 2018

いや,副作用は存在するのか…?
/var/tmp/systemd-private-45f10fa9b0de45f48a257a8e512c83c0-rtkit-daemon.service-FagvJXみたいな親ディレクトリは書き込み可能でも子ディレクトリが書き込み不能な場合に自動で開き直さなくなってしまう…
しかしこのケースは稀なので,ディレクトリ作るのを優先したほうが良さそうには思う

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants