Suppress redundant Pinentry startup messages

* lisp/net/pinentry.el (pinentry-start): Add optional QUIET
argument.
* lisp/epg.el: Declare `pinentry-start'.
(epg--start): Call `pinentry-start' with QUIET argument set.
This commit is contained in:
Daiki Ueno 2015-11-06 10:28:36 +09:00
parent 8311d3929a
commit ddd0eada66
2 changed files with 10 additions and 4 deletions

View file

@ -551,6 +551,8 @@ callback data (if any)."
(defun epg-errors-to-string (errors)
(mapconcat #'epg-error-to-string errors "; "))
(declare-function pinentry-start "pinentry" (&optional quiet))
(defun epg--start (context args)
"Start `epg-gpg-program' in a subprocess with given ARGS."
(if (and (epg-context-process context)
@ -614,7 +616,7 @@ callback data (if any)."
(re-search-forward
"^allow-emacs-pinentry:\\(?:.*:\\)\\{8\\}1"
nil t))))
(pinentry-start))
(pinentry-start 'quiet))
(setq process-environment
(cons (format "INSIDE_EMACS=%s,epg" emacs-version)
process-environment))

View file

@ -151,16 +151,20 @@ If local sockets are not supported, this is nil.")
(apply query-function (concat desc "\n" prompt) query-args))))
;;;###autoload
(defun pinentry-start ()
(defun pinentry-start (&optional quiet)
"Start a Pinentry service.
Once the environment is properly set, subsequent invocations of
the gpg command will interact with Emacs for passphrase input."
the gpg command will interact with Emacs for passphrase input.
If the optional QUIET argument is non-nil, messages at startup
will not be shown."
(interactive)
(unless (featurep 'make-network-process '(:family local))
(error "local sockets are not supported"))
(if (process-live-p pinentry--server-process)
(message "Pinentry service is already running")
(unless quiet
(message "Pinentry service is already running"))
(let* ((server-file (expand-file-name "pinentry" pinentry--socket-dir)))
(server-ensure-safe-dir pinentry--socket-dir)
;; Delete the socket files made by previous server invocations.