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: Writing an interactive function to accept a string argument, then call a Python script? Date: Mon, 12 Feb 2007 23:20:33 -0700 Message-ID: References: <1171026496.713032.169290@v33g2000cwv.googlegroups.com> <1171105054.246773.140640@p10g2000cwp.googlegroups.com> 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: sea.gmane.org 1171347678 10869 80.91.229.12 (13 Feb 2007 06:21:18 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 13 Feb 2007 06:21: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 Tue Feb 13 07:21:12 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 1HGr2N-0000oQ-1y for geh-help-gnu-emacs@m.gmane.org; Tue, 13 Feb 2007 07:21:11 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HGr2M-0004kg-GM for geh-help-gnu-emacs@m.gmane.org; Tue, 13 Feb 2007 01:21:10 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HGr28-0004kG-Cd for help-gnu-emacs@gnu.org; Tue, 13 Feb 2007 01:20:56 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HGr26-0004jR-Br for help-gnu-emacs@gnu.org; Tue, 13 Feb 2007 01:20:55 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HGr26-0004jL-7H for help-gnu-emacs@gnu.org; Tue, 13 Feb 2007 01:20:54 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1HGr25-0004zp-R4 for help-gnu-emacs@gnu.org; Tue, 13 Feb 2007 01:20:54 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1HGr1t-0003wD-QO for help-gnu-emacs@gnu.org; Tue, 13 Feb 2007 07:20:41 +0100 Original-Received: from c-24-9-156-178.hsd1.co.comcast.net ([24.9.156.178]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 13 Feb 2007 07:20:41 +0100 Original-Received: from kevin.d.rodgers by c-24-9-156-178.hsd1.co.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 13 Feb 2007 07:20:41 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 32 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: c-24-9-156-178.hsd1.co.comcast.net User-Agent: Thunderbird 1.5.0.9 (Macintosh/20061207) In-Reply-To: <1171105054.246773.140640@p10g2000cwp.googlegroups.com> X-detected-kernel: Linux 2.6, seldom 2.4 (older, 4) 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:41148 Archived-At: Endless Story wrote: > On Feb 10, 8:49 am, Kevin Rodgers wrote: >> Endless Story wrote: >> (defun trivial-but-reasonably-valuable (string-to-match) >> (interactive "sMatch: ") >> (shell-command (format "/home/me/myscript.py %s" >> (shell-quote-argument string-to-match)))) > > Thanks! Below is what I ended up writing (after only 90 minutes of > Googling!!) - now I'm going to try your suggestion of adding shell- > quote-argument (which I gather from the doco does nice things like > escape characters as necessary). Maybe it will obviate the need to > remind the user (me) to use double quotes around multi-word input. Yep. > Boy, lisp is SO different than anything else I'm used to ... In a a good way, I'm sure, unless you're used to modern functional languages. > (defun wl-psb (searchname) > (interactive"MName to search for, double-quoted: ") > (shell-command (concat "python c:/cygwin/home/texas/name_search.py > " searchname))) Just curious: Is the `M' interactive code necessary in your experience? I've always just used `s'. -- Kevin Rodgers Denver, Colorado, USA