# HG changeset patch # User Chong Yidong # Date 1272680380 14400 # Node ID b67d7273ec18360677ef3aaba00fa4dbff725600 # Parent 7aa45e6e5f624b9f3e475329d1fbf59047e33914 Avoid using trash for certain temp files (Bug#6070). * server.el (server-sentinel, server-start, server-force-delete): * jka-compr.el (jka-compr-partial-uncompress) (jka-compr-call-process, jka-compr-write-region, jka-compr-load): * epg.el (epg--make-temp-file, epg-decrypt-string) (epg-encrypt-string, epg-verify-string, epg-sign-string): * diff.el (diff-sentinel): Bind delete-by-moving-to-trash to nil before deleting (Bug#6070). diff -r 7aa45e6e5f62 -r b67d7273ec18 lisp/ChangeLog --- a/lisp/ChangeLog Fri Apr 30 21:39:58 2010 -0400 +++ b/lisp/ChangeLog Fri Apr 30 22:19:40 2010 -0400 @@ -1,3 +1,16 @@ +2010-05-01 Chong Yidong + + * server.el (server-sentinel, server-start, server-force-delete): + + * jka-compr.el (jka-compr-partial-uncompress) + (jka-compr-call-process, jka-compr-write-region, jka-compr-load): + + * epg.el (epg--make-temp-file, epg-decrypt-string) + (epg-encrypt-string, epg-verify-string, epg-sign-string): + + * diff.el (diff-sentinel): Bind delete-by-moving-to-trash to nil + before deleting (Bug#6070). + 2010-05-01 Stefan Monnier * bindings.el (mode-line-abbrev-mode, mode-line-auto-fill-mode): diff -r 7aa45e6e5f62 -r b67d7273ec18 lisp/diff.el --- a/lisp/diff.el Fri Apr 30 21:39:58 2010 -0400 +++ b/lisp/diff.el Fri Apr 30 22:19:40 2010 -0400 @@ -64,8 +64,9 @@ "Code run when the diff process exits. CODE is the exit code of the process. It should be 0 only if no diffs were found." - (if diff-old-temp-file (delete-file diff-old-temp-file)) - (if diff-new-temp-file (delete-file diff-new-temp-file)) + (let (delete-by-moving-to-trash) + (if diff-old-temp-file (delete-file diff-old-temp-file)) + (if diff-new-temp-file (delete-file diff-new-temp-file))) (save-excursion (goto-char (point-max)) (let ((inhibit-read-only t)) diff -r 7aa45e6e5f62 -r b67d7273ec18 lisp/epg.el --- a/lisp/epg.el Fri Apr 30 21:39:58 2010 -0400 +++ b/lisp/epg.el Fri Apr 30 22:19:40 2010 -0400 @@ -1898,7 +1898,8 @@ ;; Cleanup the tempfile. (and tempfile (file-exists-p tempfile) - (delete-file tempfile)) + (let (delete-by-moving-to-trash) + (delete-file tempfile))) ;; Cleanup the tempdir. (and tempdir (file-directory-p tempdir) @@ -1998,7 +1999,8 @@ (epg-read-output context)) (epg-delete-output-file context) (if (file-exists-p input-file) - (delete-file input-file)) + (let (delete-by-moving-to-trash) + (delete-file input-file))) (epg-reset context)))) (defun epg-start-verify (context signature &optional signed-text) @@ -2095,7 +2097,8 @@ (epg-delete-output-file context) (if (and input-file (file-exists-p input-file)) - (delete-file input-file)) + (let (delete-by-moving-to-trash) + (delete-file input-file))) (epg-reset context)))) (defun epg-start-sign (context plain &optional mode) @@ -2202,7 +2205,8 @@ (epg-read-output context)) (epg-delete-output-file context) (if input-file - (delete-file input-file)) + (let (delete-by-moving-to-trash) + (delete-file input-file))) (epg-reset context)))) (defun epg-start-encrypt (context plain recipients @@ -2322,7 +2326,8 @@ (epg-read-output context)) (epg-delete-output-file context) (if input-file - (delete-file input-file)) + (let (delete-by-moving-to-trash) + (delete-file input-file))) (epg-reset context)))) (defun epg-start-export-keys (context keys) diff -r 7aa45e6e5f62 -r b67d7273ec18 lisp/jka-compr.el --- a/lisp/jka-compr.el Fri Apr 30 21:39:58 2010 -0400 +++ b/lisp/jka-compr.el Fri Apr 30 22:19:40 2010 -0400 @@ -181,7 +181,9 @@ null-device)) jka-compr-acceptable-retval-list) (jka-compr-error prog args infile message err-file)) - (jka-compr-delete-temp-file err-file))) + (let (delete-by-moving-to-trash) + (delete-file err-file)))) + ;; Run the uncompression program directly. ;; We get the whole file and must delete what we don't want. (jka-compr-call-process prog message infile t nil args)) @@ -222,7 +224,8 @@ ""))) jka-compr-acceptable-retval-list) (jka-compr-error prog args infile message err-file)) - (jka-compr-delete-temp-file err-file))) + (let (delete-by-moving-to-trash) + (delete-file err-file)))) (or (eq 0 (apply 'call-process prog infile (if (stringp output) temp output) @@ -248,9 +251,6 @@ "This routine will return the name of a new file." (make-temp-file jka-compr-temp-name-template)) -(defalias 'jka-compr-delete-temp-file 'delete-file) - - (defun jka-compr-write-region (start end file &optional append visit) (let* ((filename (expand-file-name file)) (visit-file (if (stringp visit) (expand-file-name visit) filename)) @@ -337,7 +337,8 @@ (and append can-append) 'dont)) (erase-buffer)) ) - (jka-compr-delete-temp-file temp-file) + (let (delete-by-moving-to-trash) + (delete-file temp-file)) (and compress-message @@ -603,7 +604,8 @@ (setq file (file-name-sans-extension file))) (setcar l file))) - (jka-compr-delete-temp-file local-copy)) + (let (delete-by-moving-to-trash) + (delete-file local-copy))) t)) diff -r 7aa45e6e5f62 -r b67d7273ec18 lisp/server.el --- a/lisp/server.el Fri Apr 30 21:39:58 2010 -0400 +++ b/lisp/server.el Fri Apr 30 22:19:40 2010 -0400 @@ -344,7 +344,9 @@ ;; for possible servers before doing anything, so it *should* be ours. (and (process-contact proc :server) (eq (process-status proc) 'closed) - (ignore-errors (delete-file (process-get proc :server-file)))) + (ignore-errors + (let (delete-by-moving-to-trash) + (delete-file (process-get proc :server-file))))) (server-log (format "Status changed to %s: %s" (process-status proc) msg) proc) (server-delete-client proc)) @@ -517,7 +519,9 @@ ;; Delete the socket files made by previous server invocations. (if (not (eq t (server-running-p server-name))) ;; Remove any leftover socket or authentication file - (ignore-errors (delete-file server-file)) + (ignore-errors + (let (delete-by-moving-to-trash) + (delete-file server-file))) (setq server-mode nil) ;; already set by the minor mode code (display-warning 'server @@ -600,7 +604,7 @@ server-auth-dir server-socket-dir)))) (condition-case nil - (progn + (let (delete-by-moving-to-trash) (delete-file file) (message "Connection file %S deleted" file)) (file-error