From: Eli Zaretskii <eliz@gnu.org>
To: Eli Barzilay <eli@barzilay.org>
Cc: 21699@debbugs.gnu.org
Subject: bug#21699: 24.5; Bug in backup-buffer-copy and/or set-file-extended-attributes etc
Date: Mon, 19 Oct 2015 08:10:40 +0300 [thread overview]
Message-ID: <838u6zigtr.fsf@gnu.org> (raw)
In-Reply-To: <CALO-gusqj-9-00UaAxA2q=C3+ozc4HgeeneC7HGy9ZiwGs5YQQ@mail.gmail.com>
> Date: Sun, 18 Oct 2015 17:05:43 -0400
> From: Eli Barzilay <eli@barzilay.org>
> Cc: 21699@debbugs.gnu.org
>
> On Sun, Oct 18, 2015 at 12:01 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> >
> > Do you mean to say that backup-buffer-copy fails in your case? If so,
> > it means you have some customizations, or maybe the way your volume is
> > mounted causes backup-buffer-copy be called. It isn't normally called
> > in "emacs -Q" and with local files, AFAICT.
> >
> > Is that what happens in your case?
> >
> > Do you see the problem in "emacs -Q"?
>
> Yes, I do have customizations. Overall I'm not doing anything that
> should be done -- though I'm guessing that not many people get to that
> situation. The main thing in my setup is that backups are done by
> copying the file into a single directory for backups -- and in the
> problem case the backup is on a local windows directory when the
> original file is coming from a remote mount (on linux).
Please do tell if the problem happens in "emacs -Q". We need to start
from same baseline which we understand. It might be better to also
show the results in "emacs -Q" when backup-by-copying is non-nil, but
with local files on a Windows volume.
Btw, what kind of volume is your Windows disk where you have the
backup directory? Is it NTFS, FAT32, something else?
Also, I need the results of calling file-attributes and file-acl on
the file for which backup fails and on the backup directory.
> 2. The `set-file-extended-attributes' function always returns nil, which
> is a proper bug:
> - In `backup-buffer-copy' its return value is used as if it indicates
> whether it succeeded -- that's currently broken because it always
> returns nil.
That's not a bug: set-file-extended-attributes is not supposed to
always return nil. When it succeeds, it returns t. It returns nil in
your case because it fails; the question is why.
> - It's also used in `basic-save-buffer' -- but there its result is
> not used, and the code looks like it's expecting it to throw an
> error on failure.
That's not a bug, either: set-file-extended-attributes does signal an
error when it fails. In backup-buffer-copy it is prevented from
signaling an error by with-demoted-errors.
> - It's also used in `basic-save-buffer-2', in a `with-demoted-errors'
> The commit message that I pointed to makes me think that it's
> expected to return nil on failure -- so it should be fixed to do
> that. Another solution would be if it's expected to throw an error
> when it fails, and in this case the first use is broken and should
> not look at its result.
See above: these are not bugs, but intended behavior. The question is
why the function fails in your case. That is one reason why I asked
to see the results in "emacs -Q"
> 3. The third problem happens *if* the solution to #2 is to make it
> return a meaningful result. In that case, the problem I'll run into
> is that on windows my extended modes include
>
> (selinux nil nil nil nil)
>
> which I'm guessing is because there's no selinux support, but then
> `set-file-selinux-context' should not fail when getting a value of
> (nil nil nil nil).
set-file-selinux-context is not supposed to be called on MS-Windows,
because SELinux APIs are not supported there.
> 4. The last problem of chmod-ing failing after setting the windows acl
> is probably better to defer after resolving the above.
That's a big surprise: chmod is largely a no-op on Windows. If you
invoke set-file-modes exactly like backup-buffer-copy does, but from
the "M-:" prompt, what error does it report?
Are you sure backup-buffer-copy even copies the file to the backup
directory? IOW, does the call to copy-file inside backup-buffer-copy
work? If it does not, that would explain why both
set-file-extended-attributes and set-file-modes fail afterwards. So
perhaps manually running the code of backup-buffer-copy step by step
with a file on your Linux volume would show where the failure starts.
next prev parent reply other threads:[~2015-10-19 5:10 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-18 4:34 bug#21699: 24.5; Bug in backup-buffer-copy and/or set-file-extended-attributes etc Eli Barzilay
2015-10-18 16:01 ` Eli Zaretskii
2015-10-18 21:05 ` Eli Barzilay
2015-10-19 5:10 ` Eli Zaretskii [this message]
2015-10-19 7:57 ` Eli Barzilay
2015-10-19 8:23 ` Eli Zaretskii
2015-10-19 9:03 ` Eli Barzilay
2015-10-19 9:09 ` Eli Zaretskii
2015-10-19 9:14 ` Eli Barzilay
2015-10-19 6:14 ` bug#21699: 24.5; Bug in backup-buffer-copy and/or set-file-extended-attributes etc [set-file-extended-attributes] Eli Barzilay
2015-10-19 6:38 ` Eli Zaretskii
2015-10-19 6:50 ` Eli Zaretskii
2015-10-19 7:09 ` Eli Zaretskii
2015-10-19 7:50 ` Eli Barzilay
2015-10-19 8:04 ` Eli Zaretskii
2015-10-19 9:10 ` Eli Barzilay
2015-10-19 9:22 ` Eli Zaretskii
2015-10-19 9:47 ` Eli Barzilay
2015-10-19 10:14 ` Eli Zaretskii
2015-10-22 5:43 ` Eli Barzilay
2015-10-23 8:25 ` Eli Zaretskii
2022-04-22 13:27 ` bug#21699: 24.5; Bug in backup-buffer-copy and/or set-file-extended-attributes etc Lars Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=838u6zigtr.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=21699@debbugs.gnu.org \
--cc=eli@barzilay.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.