summaryrefslogtreecommitdiff
path: root/lisp/epg.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2021-09-01 12:15:21 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2021-09-01 15:56:04 +0200
commitb3a9d8cd3dd8d65969d853e9e16e95bb51e61dd3 (patch)
tree337ea1bd82d07db764d12d8b7b9e0dd295e80a17 /lisp/epg.el
parent6a6de68dafd27238577e92a7a79e97f3f1a6e381 (diff)
downloademacs-b3a9d8cd3dd8d65969d853e9e16e95bb51e61dd3.tar.gz
Don't have epg bug out on non-existent packages
* lisp/epg.el (epg--start): We may be called from contexts where the directory doesn't exist, but we need to have an existing directory here for the process (bug#32004).
Diffstat (limited to 'lisp/epg.el')
-rw-r--r--lisp/epg.el21
1 files changed, 11 insertions, 10 deletions
diff --git a/lisp/epg.el b/lisp/epg.el
index 67d723b961b..a461afac34b 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -657,16 +657,17 @@ callback data (if any)."
:sentinel #'ignore
:noquery t))
(setf (epg-context-error-buffer context) (process-buffer error-process))
- (with-file-modes 448
- (setq process (make-process :name "epg"
- :buffer buffer
- :command (cons (epg-context-program context)
- args)
- :connection-type 'pipe
- :coding 'raw-text
- :filter #'epg--process-filter
- :stderr error-process
- :noquery t)))
+ (with-existing-directory
+ (with-file-modes 448
+ (setq process (make-process :name "epg"
+ :buffer buffer
+ :command (cons (epg-context-program context)
+ args)
+ :connection-type 'pipe
+ :coding 'raw-text
+ :filter #'epg--process-filter
+ :stderr error-process
+ :noquery t))))
(setf (epg-context-process context) process)))
(defun epg--process-filter (process input)