[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/eat 559c9c362c 4/7: Refactor 'eat--eshell-adjust-make-proc
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/eat 559c9c362c 4/7: Refactor 'eat--eshell-adjust-make-process-args' |
Date: |
Thu, 15 Dec 2022 10:58:37 -0500 (EST) |
branch: elpa/eat
commit 559c9c362c43b942f1907b55bbbb48f9f1645e82
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Refactor 'eat--eshell-adjust-make-process-args'
* eat.el (eat--eshell-adjust-make-process-args): Move the
'add-hook' out of 'unwind-protect'.
---
eat.el | 83 +++++++++++++++++++++++++++++++++---------------------------------
1 file changed, 41 insertions(+), 42 deletions(-)
diff --git a/eat.el b/eat.el
index 673d8bdb10..831b85ab29 100644
--- a/eat.el
+++ b/eat.el
@@ -5543,49 +5543,48 @@ Disable terminal emulation?")))
(set-process-filter proc #'eat--eshell-filter)
(set-process-sentinel proc #'eat--eshell-sentinel)
(eat--eshell-setup-proc-and-term proc))))
+ (add-hook 'eshell-exec-hook hook 99)
(unwind-protect
- (progn
- (add-hook 'eshell-exec-hook hook 99)
- (cond
- ;; Emacs 29 and above.
- ((>= emacs-major-version 29)
- (cl-letf*
- ((make-process (symbol-function #'make-process))
- ((symbol-function #'make-process)
- (lambda (&rest plist)
- ;; Make sure we don't attack wrong process.
- (if (not (equal
- (plist-get plist :command)
- (cons (file-local-name
- (expand-file-name command))
- args)))
- (apply make-process plist)
- (setf (plist-get plist :command)
- `("/usr/bin/env" "sh" "-c"
- ,(format "stty -nl echo rows %d \
-columns %d sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
- (floor (window-screen-lines))
- (window-max-chars-per-line)
- null-device)
- ".." ,@(plist-get plist :command)))
- (apply make-process plist)))))
- (funcall fn command args)))
- ;; Emacs 28.
- (t
- (cl-letf*
- ((start-file-process
- (symbol-function #'start-file-process))
- ((symbol-function #'start-file-process)
- (lambda (name buffer &rest command)
- (apply start-file-process name buffer
- "/usr/bin/env" "sh" "-c"
- (format "stty -nl echo rows %d columns \
-%d sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
- (floor (window-screen-lines))
- (window-max-chars-per-line)
- null-device)
- ".." command))))
- (funcall fn command args)))))
+ (cond
+ ;; Emacs 29 and above.
+ ((>= emacs-major-version 29)
+ (cl-letf*
+ ((make-process (symbol-function #'make-process))
+ ((symbol-function #'make-process)
+ (lambda (&rest plist)
+ ;; Make sure we don't attack wrong process.
+ (if (not (equal
+ (plist-get plist :command)
+ (cons (file-local-name
+ (expand-file-name command))
+ args)))
+ (apply make-process plist)
+ (setf (plist-get plist :command)
+ `("/usr/bin/env" "sh" "-c"
+ ,(format "stty -nl echo rows %d columns\
+ %d sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
+ (floor (window-screen-lines))
+ (window-max-chars-per-line)
+ null-device)
+ ".." ,@(plist-get plist :command)))
+ (apply make-process plist)))))
+ (funcall fn command args)))
+ ;; Emacs 28.
+ (t
+ (cl-letf*
+ ((start-file-process
+ (symbol-function #'start-file-process))
+ ((symbol-function #'start-file-process)
+ (lambda (name buffer &rest command)
+ (apply start-file-process name buffer
+ "/usr/bin/env" "sh" "-c"
+ (format "stty -nl echo rows %d columns %d \
+sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
+ (floor (window-screen-lines))
+ (window-max-chars-per-line)
+ null-device)
+ ".." command))))
+ (funcall fn command args))))
(remove-hook 'eshell-exec-hook hook)))))
- [nongnu] elpa/eat updated (8fce5fe928 -> 61695d9671), ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat f912425fb4 6/7: Fix handling non-interactive processes in Eshell, ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat fc195410e4 1/7: Ask if 'stty' is unavailable in Eshell, ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat 162ec61f3d 3/7: Remove invisible spaces when killing text, ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat 35df1bc2a4 2/7: Refactor 'eat--eshell-adjust-make-process-args', ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat 559c9c362c 4/7: Refactor 'eat--eshell-adjust-make-process-args',
ELPA Syncer <=
- [nongnu] elpa/eat e597bcfbb2 5/7: Don't use '.*-char-property-.*' functions, ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat 61695d9671 7/7: Decrease regexp usage while parsing output, ELPA Syncer, 2022/12/15