GNU bug report logs -
#64821
30.0.50; write-region errs when overwriting an already open file
Previous Next
Reported by: Ihor Radchenko <yantar92 <at> posteo.net>
Date: Mon, 24 Jul 2023 07:13:02 UTC
Severity: normal
Found in version 30.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 25 Jul 2023 15:19:13 +0300
with message-id <831qgwqj3y.fsf <at> gnu.org>
and subject line Re: bug#64821: 30.0.50; write-region errs when overwriting an already open file
has caused the debbugs.gnu.org bug report #64821,
regarding 30.0.50; write-region errs when overwriting an already open file
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
64821: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64821
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Consider the following reproducer:
1. emacs -Q
2. Evaluate the following in scratch buffer
(with-temp-buffer
(insert "test")
(write-region nil nil "/tmp/1.txt"))
3. Open /tmp/1.txt
4. Evaluate the above sexp multiple times
5. Observe
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
expand-file-name(nil)
userlock--check-content-unchanged("/tmp/1.txt")
userlock--ask-user-about-supersession-threat("/tmp/1.txt")
write-region(nil nil "/tmp/1.txt")
(progn (insert "test") (write-region nil nil "/tmp/1.txt"))
(unwind-protect (progn (insert "test") (write-region nil nil "/tmp/1.txt")) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "test") (write-region nil nil "/tmp/1.txt")) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "test") (write-region nil nil "/tmp/1.txt")) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
(progn (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "test") (write-region nil nil "/tmp/1.txt")) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
command-execute(eval-last-sexp)
Expected: No error is thrown.
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.17.8) of 2023-07-21 built on localhost
Repository revision: 7f77120683d6f150e61e11b41d75ba16ee5210a4
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Gentoo Linux
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
[Message part 3 (message/rfc822, inline)]
> From: Ihor Radchenko <yantar92 <at> posteo.net>
> Cc: 64821 <at> debbugs.gnu.org
> Date: Tue, 25 Jul 2023 08:16:23 +0000
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> >> Expected: No error is thrown.
> >
> > Thanks, should be fixed now on the master branch.
>
> I confirm the fix. Thanks!
Thanks for testing; closing the bug.
This bug report was last modified 1 year and 299 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.