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 bug report
#64821: 30.0.50; write-region errs when overwriting an already open file
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 64821 <at> debbugs.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)]
> 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.
[Message part 3 (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>
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.