From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mathias Dahl Newsgroups: gmane.emacs.help Subject: Need help with eshell hack Date: Thu, 20 Dec 2007 22:43:37 +0100 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1198190479 23189 80.91.229.12 (20 Dec 2007 22:41:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 20 Dec 2007 22:41:19 +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 Dec 20 23:41:32 2007 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 1J5U56-0002cK-ET for geh-help-gnu-emacs@m.gmane.org; Thu, 20 Dec 2007 23:41:32 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J5U4m-0001cf-Qr for geh-help-gnu-emacs@m.gmane.org; Thu, 20 Dec 2007 17:41:12 -0500 Original-Path: shelby.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 31 Original-X-Trace: individual.net nENS4od3daaEiuUKvJUqugDgQFFFn3oqdGuH95/K7qv/uWnnhT Cancel-Lock: sha1:elpRU1T17SFTxYDJcawbZhMpFpw= sha1:HrCdTvHix7nEItn+GONx55aYO34= User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux) Original-Xref: shelby.stanford.edu gnu.emacs.help:154834 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:50261 Archived-At: Inspired by `eev' I wanted to write a command that executes the current line as a command in eshell. This is what I have: (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))))) (save-excursion (unless (get-buffer eshell-buffer-name) (eshell)) (display-buffer eshell-buffer-name t) (set-buffer eshell-buffer-name) (end-of-buffer) (eshell-kill-input) (insert command) (eshell-send-input)))) 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. Any idea on how to achieve this? /Mathias