summaryrefslogtreecommitdiff
path: root/lisp/server.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/server.el')
-rw-r--r--lisp/server.el13
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/server.el b/lisp/server.el
index 1219b021224..2fd94552dda 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -650,10 +650,15 @@ the `server-process' variable."
(let (delete-by-moving-to-trash)
(delete-file server-file)
;; Also delete the directory that the server file was
- ;; created in. There may be other servers running,
- ;; too, so this may fail.
- (ignore-errors
- (delete-directory (file-name-directory server-file)))))
+ ;; created in -- but only in /tmp (see bug#44644).
+ ;; There may be other servers running, too, so this may
+ ;; fail.
+ (when (equal (file-name-directory
+ (directory-file-name
+ (file-name-directory server-file)))
+ "/tmp/")
+ (ignore-errors
+ (delete-directory (file-name-directory server-file))))))
(setq server-mode nil) ;; already set by the minor mode code
(display-warning
'server