From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Kevin Rodgers Newsgroups: gmane.emacs.help Subject: Re: Inject some eshell features into shell? Date: Fri, 17 Oct 2003 16:44:31 -0600 Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: <3F9070CF.5070809@yahoo.com> References: <86fzhuqome.fsf@slowfox.dyndns.org> <3F904388.3020103@yahoo.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1066430878 26605 80.91.224.253 (17 Oct 2003 22:47:58 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 17 Oct 2003 22:47:58 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Oct 18 00:47:56 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AAdO0-0003qX-00 for ; Sat, 18 Oct 2003 00:47:56 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AAdMM-0005nu-GL for geh-help-gnu-emacs@m.gmane.org; Fri, 17 Oct 2003 18:46:14 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!170.207.51.80!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 28 Original-NNTP-Posting-Host: 170.207.51.80 Original-X-Trace: news.uni-berlin.de 1066430658 25303359 170.207.51.80 (16 [82742]) User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:0.9.4.1) Gecko/20020406 Netscape6/6.2.2 X-Accept-Language: en-us Original-Xref: shelby.stanford.edu gnu.emacs.help:117387 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:13317 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:13317 Kevin Rodgers wrote: > Here's a start. It's main deficiency is that it only works for commands > that take zero or one argument: This should fix that problem: (defun shell-maybe-send (process command) "Maybe send the shell PROCESS the COMMAND string. But if COMMAND can be interpreted as an Emacs command (e.g. \"find-file foo.c\"), convert it to Lisp and evaluate it." (let* ((command-list (split-string command)) (command-symbol (and (car command-list) (intern-soft (car command-list))))) (if (and command-symbol (commandp command-symbol)) (apply command-symbol (cdr command-list)) (comint-simple-send process command)))) (add-hook 'shell-mode-hook (lambda () (setq comint-input-sender 'shell-maybe-send))) -- Kevin Rodgers