[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/plz 7edcd67472 27/40: Change: Set STDERR process and se
From: |
ELPA Syncer |
Subject: |
[elpa] externals/plz 7edcd67472 27/40: Change: Set STDERR process and sentinel |
Date: |
Mon, 26 Jun 2023 06:59:33 -0400 (EDT) |
branch: externals/plz
commit 7edcd674725afa0323e0370b475c642d1d4fd9e8
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>
Change: Set STDERR process and sentinel
To avoid "process finished" garbage, etc.
---
plz.el | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/plz.el b/plz.el
index 5d3fbc7f6e..78e2e3871b 100644
--- a/plz.el
+++ b/plz.el
@@ -410,21 +410,18 @@ NOQUERY is passed to `make-process', which see."
;; directory is, but this seems to make sense, and it should still
exist.
temporary-file-directory)
(process-buffer (generate-new-buffer " *plz-request-curl*"))
- (stderr-buffer (generate-new-buffer " *plz-request-curl-stderr*"))
+ (stderr-process (make-pipe-process :name "plz-stderr"
+ :noquery t
+ :sentinel #'plz--stderr-sentinel))
(process (make-process :name "plz-request-curl"
:buffer process-buffer
:coding 'binary
:command (append (list plz-curl-program)
curl-command-line-args)
:connection-type 'pipe
:sentinel #'plz--sentinel
- :stderr stderr-buffer
+ :stderr stderr-process
:noquery noquery))
sync-p)
- (set-process-sentinel
- ;; Set the stderr process sentinel to ignore to prevent "process finished"
- ;; garbage in the STDERR buffer (though that buffer's contents are
- ;; currently ignored, this is a good idea, in case we change that).
- (get-buffer-process stderr-buffer) #'ignore)
(when (eq 'sync then)
(setf sync-p t
then (lambda (result)
@@ -504,10 +501,10 @@ NOQUERY is passed to `make-process', which see."
(unwind-protect
(progn
;; See Info node `(elisp)Accepting Output'.
- (unless (and process (get-buffer-process stderr-buffer))
+ (unless (and process stderr-process)
(error "Process unexpectedly nil"))
(while (accept-process-output process))
- (while (accept-process-output (get-buffer-process
stderr-buffer)))
+ (while (accept-process-output stderr-process))
(when (eq :plz-result (process-get process :plz-result))
;; HACK: Sentinel seems to not have been called: call it
again. (Although
;; this is a hack, it seems to be a necessary one due to
Emacs's process
@@ -532,7 +529,7 @@ NOQUERY is passed to `make-process', which see."
else)))
(unless (eq as 'buffer)
(kill-buffer process-buffer))
- (kill-buffer stderr-buffer))
+ (kill-buffer (process-buffer stderr-process)))
;; Async request: return the process object.
process)))))
@@ -798,6 +795,15 @@ argument passed to `plz--sentinel', which see."
(unless (buffer-local-value 'plz-sync buffer)
(kill-buffer buffer))))
+(defun plz--stderr-sentinel (process status)
+ "Sentinel for STDERR buffer.
+Arguments are PROCESS and STATUS (ok, checkdoc?)."
+ (pcase status
+ ((or "finished\n" "killed\n" "interrupt\n"
+ (and (pred numberp) code)
+ (rx "exited abnormally with code " (let code (group (1+ digit)))))
+ (kill-buffer (process-buffer process)))))
+
;;;;;; HTTP Responses
;; Functions for parsing HTTP responses.
- [elpa] externals/plz 5e63662e21 40/40: Docs: Update changelog, (continued)
- [elpa] externals/plz 5e63662e21 40/40: Docs: Update changelog, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 0cb20bc74d 03/40: Tidy, ELPA Syncer, 2023/06/26
- [elpa] externals/plz e28b4e8b6a 06/40: Tidy, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 8f263bfd0f 09/40: Comment: Remove old TODO, ELPA Syncer, 2023/06/26
- [elpa] externals/plz c181fd1565 10/40: Tidy: Error handling in THEN function, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 4735c8333d 17/40: Fix: (plz) Signal error with data as list, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 260840d3e7 18/40: Change: (plz--respond) Rename from plz--timer, ELPA Syncer, 2023/06/26
- [elpa] externals/plz b04b466d79 19/40: Change: Signal plz-curl/http-error again, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 5a60113110 21/40: Comment: Add links to bug reports, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 96710ad323 23/40: Tidy, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 7edcd67472 27/40: Change: Set STDERR process and sentinel,
ELPA Syncer <=
- [elpa] externals/plz 3576b9820c 28/40: Tidy: Unused arguments, ELPA Syncer, 2023/06/26
- [elpa] externals/plz f94f8af98a 30/40: Tidy: Error message, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 1aad476df9 33/40: Fix: Replace string in error data, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 3dfcbff613 36/40: Change: Use process properties instead of buffer-local variables, ELPA Syncer, 2023/06/26
- [elpa] externals/plz 919d2b8500 39/40: Docs: Update changelog, ELPA Syncer, 2023/06/26