From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Politz Newsgroups: gmane.emacs.help Subject: Re: break a chunk of text into a list of lines Date: Fri, 14 Nov 2008 21:43:57 +0100 Organization: FH-Trier Message-ID: <1226695506.850373@arno.fh-trier.de> References: <3d16ac18-967c-4511-8c9c-9a80c40c3d8e@x16g2000prn.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1226698890 15615 80.91.229.12 (14 Nov 2008 21:41:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 14 Nov 2008 21:41:30 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Nov 14 22:42:31 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 1L16Qv-0004XQ-Ph for geh-help-gnu-emacs@m.gmane.org; Fri, 14 Nov 2008 22:42:30 +0100 Original-Received: from localhost ([127.0.0.1]:55659 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L16Pn-0005yd-D2 for geh-help-gnu-emacs@m.gmane.org; Fri, 14 Nov 2008 16:41:19 -0500 Original-Path: news.stanford.edu!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!news-2.dfn.de!news-stu1.dfn.de!news.uni-kl.de!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 88 Original-NNTP-Posting-Host: 143-93-54-11.arno.fh-trier.de Original-X-Trace: news.uni-kl.de 1226695541 27111 143.93.54.11 (14 Nov 2008 20:45:41 GMT) Original-X-Complaints-To: usenet@news.uni-kl.de Original-NNTP-Posting-Date: Fri, 14 Nov 2008 20:45:41 +0000 (UTC) User-Agent: Mozilla-Thunderbird 2.0.0.17 (X11/20081018) In-Reply-To: Cache-Post-Path: arno.fh-trier.de!unknown@dslb-084-059-123-215.pools.arcor-ip.net X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) Original-Xref: news.stanford.edu gnu.emacs.help:164469 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:59802 Archived-At: Matt Price wrote: > On Thu, 2008-11-13 at 07:50 -0800, Xah wrote: > >> Can you make your question into one specific question? >> >> if you can make just one specific question, as much as possible to >> your problem, it's likely to get much useful replies. >> >> from scanning several replies, here's what i think might be helpful. >> >> if you want to write elisp to call some other script and process the >> result, it's fairly easy. If you can be specific about what command >> you want to call and how you want to parse the result, we can help >> better. >> >> The following tutorial will probably help: >> >> • Elisp Wrapper For Perl Scripts >> http://xahlee.org/emacs/elisp_perl_wrapper.html >> (you can use your existing knowledge of a scripting lang and turn them >> into elisp command) >> >> • Elisp Lesson: Writing image-linkify Function >> http://xahlee.org/emacs/elisp_image_tag.html >> (contains example of calling external script and process its result) >> > > Xah, > > thanks for the helpful links -- also thanks to other folks who have been > helping on this thread. I think i have two questions, so i'll write > them in two seperate emails. > > I have a python script that queries my evolution database and returns a > series of lines, with one address per line: > > matt@gont:~$ python evo-query.py matt > 14 matches in 874 entries > matt@mdke.org Matthew East > matt.price@utoronto.ca Matt Price > moptop99@gmail.com Matt Price > mdz@canonical.com Matt Zimmerman > Matty_fontaine@hotmail.com Matt Fontaine > matt.price@utoronto.ca Matt Price > mjg59@srcf.ucam.org Matthew Garrett > myatesmyates@yahoo.com Matthew Yates > matthias.doerries@gersulp.u-strasbg.fr Matthias Dörries > matthew.flaschen@gatech.edu Matthew Flaschen > mcdavey@mrao.cam.ac.uk Matt Davey > matt@madhaus.cns.utoronto.ca Matt Wilks > MattVermeulen@gmail.com Matthew Vermeulen > matthewreedy@yahoo.com matthewreedy > > (note the not-so-well-maintained duplicates!) > > i've written a short function based on one of your examples that grabs > this output -- i imagine it needs some fixing up, but here it is: > (defun query-python-addressbook (name) > (interactive "s To:" ) > (setq cmd-name "python /home/matt/evo-query.py") > (setq sh-output (shell-command-to-string (concat cmd-name " " name))) > (message "%s" sh-output) > ) > > (query-python-addressbook "matt") now returns a message with the this > text. instead i'd like it to return a list of names. i'm sure someone > will point me to the right info node, but i'm having some difficulty > navigating the immense amounts of documentation -- is there a simple way > to take each line of a text block and turn it into a list of lines? > > thanks much! -- second quesiton to follow... > > matt > As Xah pointed out `split-string' is the way to go. Btw `cmd-name' and `sh-output' will become global variables with your code. I doubt that's what you want. Better use let-forms. (defun query-python-addressbook (name) (interactive "s To:") (let ((cmd-name "python /home/matt/evo-query.py")) (split-string (shell-command-to-string (concat cmd-name " " name)) "\n" t))) In this case the variable is probably superficial anyway. -ap