From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tim X Newsgroups: gmane.emacs.help Subject: Re: print out all members of a list, v.1.0 Date: Tue, 01 Mar 2011 08:32:20 +1100 Organization: Unlimited download news at news.astraweb.com Message-ID: <87hbbn26cb.fsf@puma.rapttech.com.au> References: <4D6BBD34.6050407@mousecar.com> <4D6BD989.9010102@mousecar.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1298929238 16232 80.91.229.12 (28 Feb 2011 21:40:38 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 28 Feb 2011 21:40:38 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Feb 28 22:40:34 2011 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.69) (envelope-from ) id 1PuApW-00037d-Gu for geh-help-gnu-emacs@m.gmane.org; Mon, 28 Feb 2011 22:40:34 +0100 Original-Received: from localhost ([127.0.0.1]:58708 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PuApW-0007H6-34 for geh-help-gnu-emacs@m.gmane.org; Mon, 28 Feb 2011 16:40:34 -0500 Original-Path: usenet.stanford.edu!news.glorb.com!news2.glorb.com!news.astraweb.com!border6.newsrouter.astraweb.com!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:iMdSMV5gYaNghnXSi07xIossDK4= Original-Lines: 55 Original-NNTP-Posting-Host: 5929349f.news.astraweb.com Original-X-Trace: DXC=Jbk^4[Z<_A`Mm1IZKF?@MbL?0kYOcDh@jN7:H2`MmAUcQ4`Yco4[6Ej]G; 2>V^?kWcCAkl5c@Xgkn?YGk@k1]NUkX4GfZc]BX@o Original-Xref: usenet.stanford.edu gnu.emacs.help:185435 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:79587 Archived-At: ken writes: > Ughhh. Finally, after reading many, many info pages and running a dozen > or so google searches and reading four or five that many web pages over > the past couple days, I found what I was after... mapconcat. Still then > it took a bit of reading error messages and playing around with syntax, > but it's working. All that for one line of code! > > I've programmed in a lot of languages over the decades, but elisp > definitely has the steepest learning curve... prolly cuz it's so > hodge-podgey. Well, this isn't a discussion I have time for. I'm just > sayin', if not for emacs, elisp would be gone... and it might be gone > anyway in a generation or two. I'll leave it to those who know the > language better than I to if/how to prevent that happening. > > Hi Ken, Elisp is what actually differentiates Emacs from other editors. if you have programming experience, but finding elisp difficult due to syntax and a feeling it is very "hodge-podge", I would strongly recommend you read the "Introduction to Emacs Lisp" which is bundled with emacs (from version 23 onwards) or from the gnu website. The document states it is targeted at non-programmers, which may put you off. However, elisp (and lisp in general) has some conceptual differences that can make it harder than necessary if you are use to other more procedural languages like C or one of the scripting languages. Some of the terminology will seem very alien (i.e. car, cdr etc) but are in fact quite simple conceptually. Understanding the REPL is important. One reason I think you may find this useful is that a common property of lisp languages is a very small, simple and consistent syntax. As you have found this a problem, I'm guessing you may be missing some basic grass root concepts underlying how it works. Once you have these concepts and adjust to the slightly different lisp development model (i.e. using the repl to experiment and build up small bits of code), there is a good chance you will feel very comfortable with the language and will frequently find yourself knocking up small elisp functions to automate tasks. Once your comfortable with the langauge, the biggest challenge you will face is just knowing what funnctions already exist. This is where getting comfortable with the emacs help, apropos and manual helps. Most of the time, you can achieve what you want just by glueing together already existing lower level functions. HTH Tim -- tcross (at) rapttech dot com dot au