From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Samer Masterson Newsgroups: gmane.emacs.bugs Subject: bug#18108: [PATCH] 24.3.92 : eshell-visual-options fails with some output. Date: Tue, 24 Feb 2015 02:54:34 -0800 Message-ID: <1424775274.11596.5@mail.samertm.com> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="=-EoWxz09ZpRNi+10qVJlP" X-Trace: ger.gmane.org 1424775327 4569 80.91.229.3 (24 Feb 2015 10:55:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 24 Feb 2015 10:55:27 +0000 (UTC) To: 18108@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Feb 24 11:55:16 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YQD8z-0003JC-MB for geb-bug-gnu-emacs@m.gmane.org; Tue, 24 Feb 2015 11:55:13 +0100 Original-Received: from localhost ([::1]:48636 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQD8z-0002D0-1h for geb-bug-gnu-emacs@m.gmane.org; Tue, 24 Feb 2015 05:55:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51130) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQD8u-00024R-6Z for bug-gnu-emacs@gnu.org; Tue, 24 Feb 2015 05:55:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YQD8p-0002v7-0z for bug-gnu-emacs@gnu.org; Tue, 24 Feb 2015 05:55:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52711) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQD8o-0002uU-Ur for bug-gnu-emacs@gnu.org; Tue, 24 Feb 2015 05:55:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YQD8n-0003FK-L1 for bug-gnu-emacs@gnu.org; Tue, 24 Feb 2015 05:55:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Samer Masterson Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Feb 2015 10:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18108 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18108-submit@debbugs.gnu.org id=B18108.142477529012447 (code B ref 18108); Tue, 24 Feb 2015 10:55:01 +0000 Original-Received: (at 18108) by debbugs.gnu.org; 24 Feb 2015 10:54:50 +0000 Original-Received: from localhost ([127.0.0.1]:56309 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YQD8b-0003Eh-7k for submit@debbugs.gnu.org; Tue, 24 Feb 2015 05:54:49 -0500 Original-Received: from ec2-52-0-7-12.compute-1.amazonaws.com ([52.0.7.12]:60130 helo=samertm.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YQD8Z-0003EQ-51 for 18108@debbugs.gnu.org; Tue, 24 Feb 2015 05:54:47 -0500 Original-Received: from [10.1.10.35] (c-98-210-154-226.hsd1.ca.comcast.net [98.210.154.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by samertm.com (Postfix) with ESMTPSA id D9A4D42D27 for <18108@debbugs.gnu.org>; Tue, 24 Feb 2015 10:54:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samertm.com; s=mail; t=1424775274; bh=Zu81CH3nRqV6krkV8r3gxuNVh9aN7wHS6SiKiVFhue0=; h=Date:From:Subject:To:From; b=Ru7QcA+JZ4Z7yewpM92PzeKjnxbaJeWlemc3K/E1Qkkxte5iaHGSlRkEj/c7D+022 i2DkHOQjJzTqwK3/xxuCZmX7ZePexdUiReKViez+R+ZiGt80OgAHPtruPeRk8Sul8R jy5GFAq4oUxnj8PjWIm8B0fOgqUggRndAKA/fb/o= X-Mailer: geary/0.8.3 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:99760 Archived-At: --=-EoWxz09ZpRNi+10qVJlP Content-Type: text/plain; charset=utf-8; format=flowed Hi, My copyright papers have been processed. Can we apply this to master? Best, Samer Patch below: Changes in 3e0d44a..b9f2247 2 files changed, 14 insertions(+), 37 deletions(-) ChangeLog | 6 ++++++ lisp/eshell/em-term.el | 45 ++++++++------------------------------------- Modified ChangeLog diff --git a/ChangeLog b/ChangeLog index 36edfe6..d09380a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-01-19 Samer Masterson samertm.com> + + * eshell/em-term.el (eshell-exec-visual, eshell-term-sentinel): + Remove eshell-term-sentinel, show term-mode buffer regardless of + whether the process has died (bug#18108). + 2015-01-04 Paul Eggert cs.ucla.edu> * INSTALL: Mention 'make WERROR_CFLAGS='. Modified lisp/eshell/em-term.el diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el index 4a6ac23..6870a6d 100644 --- a/lisp/eshell/em-term.el +++ b/lisp/eshell/em-term.el @@ -132,10 +132,6 @@ character to the invoked process." :type 'boolean :group 'eshell-term) -;;; Internal Variables: - -(defvar eshell-parent-buffer) - ;;; Functions: (defun eshell-term-initialize () @@ -171,39 +167,14 @@ allowed." (cdr args))))) (term-buf (generate-new-buffer - (concat "*" (file-name-nondirectory program) "*"))) - (eshell-buf (current-buffer))) - (save-current-buffer - (switch-to-buffer term-buf) - (term-mode) - (set (make-local-variable 'term-term-name) eshell-term-name) - (make-local-variable 'eshell-parent-buffer) - (setq eshell-parent-buffer eshell-buf) - (term-exec term-buf program program nil args) - (let ((proc (get-buffer-process term-buf))) - (if (and proc (eq 'run (process-status proc))) - (set-process-sentinel proc 'eshell-term-sentinel) - (error "Failed to invoke visual command"))) - (term-char-mode) - (if eshell-escape-control-x - (term-set-escape-char ?\C-x)))) - nil) - -;; Process sentinels receive two arguments. -(defun eshell-term-sentinel (proc _string) - "Destroy the buffer visiting PROC." - (let ((proc-buf (process-buffer proc))) - (when (and proc-buf (buffer-live-p proc-buf) - (not (eq 'run (process-status proc))) - (= (process-exit-status proc) 0)) - (if (eq (current-buffer) proc-buf) - (let ((buf (and (boundp 'eshell-parent-buffer) - eshell-parent-buffer - (buffer-live-p eshell-parent-buffer) - eshell-parent-buffer))) - (if buf - (switch-to-buffer buf)))) - (kill-buffer proc-buf)))) + (concat "*" (file-name-nondirectory program) "*")))) + (switch-to-buffer term-buf) + (term-mode) + (set (make-local-variable 'term-term-name) eshell-term-name) + (term-exec term-buf program program nil args) + (term-char-mode) + (if eshell-escape-control-x + (term-set-escape-char ?\C-x)))) ;; jww (1999-09-17): The code below will allow Eshell to send input ;; characters directly to the currently running interactive process. --=-EoWxz09ZpRNi+10qVJlP Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi,

My copyright papers have been processed. Can we appl= y this to master?

Best,
Samer
=
Patch below:

Changes in 3e0d44a..b9= f2247
2 files changed, 14 insertions(+), 37 deletions(-)
 ChangeLog | 6 ++++++
 lisp/eshell/em= -term.el | 45 
++++++++-----------------------------------= --

 Modified ChangeLog
diff --git= a/ChangeLog b/ChangeLog
index 36edfe6..d09380a 100644
= --- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-19 Samer Masterson <samer <at> samertm.com>=
+
+ * eshell/em-term.el (eshell-exec-visual, eshell-term-sen= tinel):
+ Remove eshell-term-sentinel, show term-mode buffer rega= rdless of
+ whether the process has died (bug#18108).
+=
 2015-01-04 Paul Eggert <eggert <at> cs.ucla.edu= >

  * INSTALL: Mention 'make WERROR_CFLAGS= =3D'.
 Modified lisp/eshell/em-term.el
diff --gi= t a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index 4a6ac23= ..6870a6d 100644
--- a/lisp/eshell/em-term.el
+++ b/lis= p/eshell/em-term.el
@@ -132,10 +132,6 @@ character to the invoked= process."
   :type 'boolean
   :gr= oup 'eshell-term)

-;;; Internal Variables:
-
-(defvar eshell-parent-buffer)
-
 ;= ;; Functions:

 (defun eshell-term-initialize = ()
@@ -171,39 +167,14 @@ allowed."
     =        (cdr args)))))
   (term-buf=
    (generate-new-buffer
- (concat "*" (f= ile-name-nondirectory program) "*")))
- (eshell-buf (current-buf= fer)))
- (save-current-buffer
- (switch-to-buff= er term-buf)
- (term-mode)
- (set (make-local= -variable 'term-term-name) eshell-term-name)
- (make-local-v= ariable 'eshell-parent-buffer)
- (setq eshell-parent-buffer = eshell-buf)
- (term-exec term-buf program program nil args)<= /div>
- (let ((proc (get-buffer-process term-buf)))
- (i= f (and proc (eq 'run (process-status proc)))
- (set-process-s= entinel proc 'eshell-term-sentinel)
- (error "Failed to invoke = visual command")))
- (term-char-mode)
- (if e= shell-escape-control-x
- (term-set-escape-char ?\C-x))))
<= div>- nil)
-
-;; Process sentinels receive two argumen= ts.
-(defun eshell-term-sentinel (proc _string)
- "Des= troy the buffer visiting PROC."
- (let ((proc-buf (process-buffe= r proc)))
- (when (and proc-buf (buffer-live-p proc-buf)
=
- (not (eq 'run (process-status proc)))
- (=3D= (process-exit-status proc) 0))
- (if (eq (current-buffer) p= roc-buf)
- (let ((buf (and (boundp 'eshell-parent-buffer)
=
- eshell-parent-buffer
- (buffer-live-p eshell-paren= t-buffer)
- eshell-parent-buffer)))
- (if buf
- (switch-to-buffer buf))))
- (kill-buffer proc-bu= f))))
+ (concat "*" (file-name-nondirectory program) "*"))))
+ (switch-to-buffer term-buf)
+ (term-mode)
<= div>+ (set (make-local-variable 'term-term-name) eshell-term-name)
=
+ (term-exec term-buf program program nil args)
+ (ter= m-char-mode)
+ (if eshell-escape-control-x
+ = (term-set-escape-char ?\C-x))))

 ;; jww (1999= -09-17): The code below will allow Eshell to send input
 ;; = characters directly to the currently running interactive process.
= --=-EoWxz09ZpRNi+10qVJlP--