From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: tutorial or guidebook text for some complex topics Date: Wed, 25 Oct 2006 11:21:10 -0700 Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1161800510 5077 80.91.229.2 (25 Oct 2006 18:21:50 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 25 Oct 2006 18:21:50 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 25 20:21:47 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GcnNd-0003n0-Ub for ged-emacs-devel@m.gmane.org; Wed, 25 Oct 2006 20:21:34 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GcnNd-0002RC-2k for ged-emacs-devel@m.gmane.org; Wed, 25 Oct 2006 14:21:33 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GcnNN-0002Qy-99 for emacs-devel@gnu.org; Wed, 25 Oct 2006 14:21:17 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GcnNL-0002QZ-GM for emacs-devel@gnu.org; Wed, 25 Oct 2006 14:21:16 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GcnNL-0002QW-C7 for emacs-devel@gnu.org; Wed, 25 Oct 2006 14:21:15 -0400 Original-Received: from [141.146.126.228] (helo=agminet01.oracle.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1GcnNL-000686-4G for emacs-devel@gnu.org; Wed, 25 Oct 2006 14:21:15 -0400 Original-Received: from rgmsgw01.us.oracle.com (rgmsgw01.us.oracle.com [138.1.186.51]) by agminet01.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id k9PILCFN001280 for ; Wed, 25 Oct 2006 13:21:12 -0500 Original-Received: from dradamslap (dradams-lap.us.oracle.com [130.35.177.126]) by rgmsgw01.us.oracle.com (Switch-3.2.4/Switch-3.2.4) with SMTP id k9PILBbt029336 for ; Wed, 25 Oct 2006 12:21:11 -0600 Original-To: X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807 X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:61167 Archived-At: I was suggesting more user-guide material or a tutorial - something along the lines of the Emacs-Lisp Intro (but short). The place for such material about keymaps is in the Lisp manual. What concepts about keymaps do you think need further tutorial explanation? Just the structure, with all its possible variations that one might run into. As mentioned before: (Stefan) "keyelt" (which can be as simple as a function symbol, but as complex as a big `menu-item'). (Drew) Yes... I was thinking of menu-item details like the prompt string, whether `menu-item' is present, key-binding reminder (shortcut), and so on. The form of a menu item is quite variable.... I was reminded of this recently, when I discovered that Imenu used string values instead of symbols, following symbol `keymap'. The spec in the manual allows for this, but AFAIK, this is the only place where that is done. Code that treats keymaps in a general fashion has many different cases to consider.... I think the documentation of font-lock-keywords is complete. I agree it is hard to grasp, but I don't know how to make it clearer. Does anyone else have an idea? Yes, it is probably complete. I was speaking only to the hard-to-learn part. The best help is provided by walking a reader through examples. Examples are the place to start. Again, see the Emacs-Lisp Intro for a good presentation model. Can you find a few examples in the code that you think would be good for explaining this? I don't have the time to do that right now. I'm not sure existing code should be used as is for such examples, but it might not be a bad place to start to look for raw material. I just don't have the time to dig for it now. Again, what's needed is to describe the different possible variations, with examples.