mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-05 11:45:45 +00:00
Fix Bug#40156 in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Copy to temp file only if FILENAME exists. (Bug#40156) * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Extend test.
This commit is contained in:
parent
0a22747c3f
commit
8158337cc2
@ -3306,7 +3306,8 @@ STDERR can also be a file name."
|
||||
|
||||
;; If `append' is non-nil, we copy the file locally, and let
|
||||
;; the native `write-region' implementation do the job.
|
||||
(when append (copy-file filename tmpfile 'ok))
|
||||
(when (and append (file-exists-p filename))
|
||||
(copy-file filename tmpfile 'ok))
|
||||
|
||||
;; We say `no-message' here because we don't want the
|
||||
;; visited file modtime data to be clobbered from the temp
|
||||
|
@ -2356,7 +2356,14 @@ This checks also `file-name-as-directory', `file-name-directory',
|
||||
(write-region nil nil tmp-name 3))
|
||||
(with-temp-buffer
|
||||
(insert-file-contents tmp-name)
|
||||
(should (string-equal (buffer-string) "foobaz"))))
|
||||
(should (string-equal (buffer-string) "foobaz")))
|
||||
(delete-file tmp-name)
|
||||
(with-temp-buffer
|
||||
(insert "foo")
|
||||
(write-region nil nil tmp-name 'append))
|
||||
(with-temp-buffer
|
||||
(insert-file-contents tmp-name)
|
||||
(should (string-equal (buffer-string) "foo"))))
|
||||
|
||||
;; Write string.
|
||||
(write-region "foo" nil tmp-name)
|
||||
|
Loading…
Reference in New Issue
Block a user