From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.help Subject: learning Emacs Lisp [was: Grouping related buffers] Date: Mon, 10 Nov 2008 10:05:03 -0800 Message-ID: <001401c9435e$db3acb20$c2b22382@us.oracle.com> References: <87k5bbjzvo.fsf@thinkpad.tsdh.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1226340445 19870 80.91.229.12 (10 Nov 2008 18:07:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 10 Nov 2008 18:07:25 +0000 (UTC) To: "'Corey Foote'" , Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Nov 10 19:08:25 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 1KzbAt-0004nP-AR for geh-help-gnu-emacs@m.gmane.org; Mon, 10 Nov 2008 19:07:43 +0100 Original-Received: from localhost ([127.0.0.1]:46728 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kzb9l-0004Pz-Jd for geh-help-gnu-emacs@m.gmane.org; Mon, 10 Nov 2008 13:06:33 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kzb8T-0004EU-DZ for help-gnu-emacs@gnu.org; Mon, 10 Nov 2008 13:05:13 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kzb8R-0004Df-Uo for help-gnu-emacs@gnu.org; Mon, 10 Nov 2008 13:05:13 -0500 Original-Received: from [199.232.76.173] (port=36682 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kzb8R-0004Da-HZ for help-gnu-emacs@gnu.org; Mon, 10 Nov 2008 13:05:11 -0500 Original-Received: from rcsinet11.oracle.com ([148.87.113.123]:57828 helo=rgminet11.oracle.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Kzb8R-0007xP-0k for help-gnu-emacs@gnu.org; Mon, 10 Nov 2008 13:05:11 -0500 Original-Received: from acsinet13.oracle.com (acsinet13.oracle.com [141.146.126.235]) by rgminet11.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id mAAI5XFB003510 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 10 Nov 2008 18:05:34 GMT Original-Received: from acsmt706.oracle.com (acsmt706.oracle.com [141.146.40.84]) by acsinet13.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id mAAI5DPY027602; Mon, 10 Nov 2008 18:05:14 GMT Original-Received: from dradamslap1 (/130.35.178.194) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 10 Nov 2008 18:05:02 +0000 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350 Thread-Index: AclDWVmHa42KIXqZRwyEOk7ZgVsq2wABAePA X-Source-IP: acsmt706.oracle.com [141.146.40.84] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090203.491877CF.0217:SCFSTAT928724,ss=1,fgs=0 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 1) 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:59614 Archived-At: > By the way, does anybody have any recommendations on the > best way to learn emacs lisp? I've got two books... the > emacs lisp manual and an old O'Reilly book called Writing > GNU Emacs Extensions by Bob Glickstein. It would be cool > if there were a course I could take in programming this > stuff... :-) [Please use plain text, not HTML, and please start a new thread for a new topic.] The Emacs Wiki has some help about this: http://www.emacswiki.org/emacs/LearningEmacs#LearnEmacsLisp I would also recommend this: Think of something simple that you would like to make Emacs do, and try to do it. In particular, try to modify some existing Lisp function or command in some way that you're interested in. This will get you to look at how things are done in the existing code, which is a great source for models. And the existing code works (!), so any departures you make from it can be compared when your changes don't do exactly what you expect. Another help is to get familiar with an Emacs-Lisp debugger - either edebug or the classic debugger (`debug-on-entry', put (debug) calls in your code, etc.). Likewise, functions `message', `sit-for', and `sleep-for' (for use with `message').