From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kevin Rodgers Newsgroups: gmane.emacs.help Subject: Re: Need help with eshell hack Date: Thu, 28 Feb 2008 00:45:53 -0700 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1204184778 22326 80.91.229.12 (28 Feb 2008 07:46:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 28 Feb 2008 07:46:18 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Feb 28 08:46:44 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JUdTW-00010J-RV for geh-help-gnu-emacs@m.gmane.org; Thu, 28 Feb 2008 08:46:43 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JUdT0-0003BQ-Lc for geh-help-gnu-emacs@m.gmane.org; Thu, 28 Feb 2008 02:46:10 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JUdSh-000392-5P for help-gnu-emacs@gnu.org; Thu, 28 Feb 2008 02:45:51 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JUdSf-00037E-BO for help-gnu-emacs@gnu.org; Thu, 28 Feb 2008 02:45:50 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JUdSf-00036w-0z for help-gnu-emacs@gnu.org; Thu, 28 Feb 2008 02:45:49 -0500 Original-Received: from mx20.gnu.org ([199.232.41.8]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JUdSe-00070L-Cu for help-gnu-emacs@gnu.org; Thu, 28 Feb 2008 02:45:48 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JUdSd-0006ek-LS for help-gnu-emacs@gnu.org; Thu, 28 Feb 2008 02:45:47 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1JUdSW-0003U2-J6 for help-gnu-emacs@gnu.org; Thu, 28 Feb 2008 07:45:40 +0000 Original-Received: from c-67-162-159-170.hsd1.co.comcast.net ([67.162.159.170]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 28 Feb 2008 07:45:40 +0000 Original-Received: from kevin.d.rodgers by c-67-162-159-170.hsd1.co.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 28 Feb 2008 07:45:40 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 43 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: c-67-162-159-170.hsd1.co.comcast.net User-Agent: Thunderbird 2.0.0.12 (Macintosh/20080213) In-Reply-To: X-detected-kernel: by mx20.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-detected-kernel: by monty-python.gnu.org: Error: This connection is not (no longer?) in the cache. X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:51930 Archived-At: Mathias Dahl wrote: > Mathias Dahl writes: > >> It almost works. The problem is that when output from the command >> reaches the bottom of the visible part of the eshell window, the >> window isn't scrolled down to show the output. > > I let go of the `save-excursion' + `set-buffer' approach, in other words > being a bad boy, and got this that seems to work for me: > > (defun my-eshell-execute-current-line () > "Insert text of current line in eshell and execute." > (interactive) > (let ((command (buffer-substring > (save-excursion > (beginning-of-line) > (point)) > (save-excursion > (end-of-line) > (point))))) (buffer-substring (line-beginning-position) (line-end-position)) > (let ((buf (current-buffer))) > (unless (get-buffer eshell-buffer-name) > (eshell)) > (display-buffer eshell-buffer-name t) > (switch-to-buffer-other-window eshell-buffer-name) > (end-of-buffer) > (eshell-kill-input) > (insert command) > (eshell-send-input) > (end-of-buffer) > (switch-to-buffer-other-window buf)))) > > It annoys be however that I could not get it working without using > switch-to-buffer... The docstring says to avoid use it. (pop-to-buffer eshell-buffer-name) -- Kevin Rodgers Denver, Colorado, USA