all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
Subject: RE: tutorial or guidebook text for some complex topics
Date: Tue, 24 Oct 2006 12:31:41 -0700	[thread overview]
Message-ID: <EIENLHALHGIMHGDOLMIMMECCCMAA.drew.adams@oracle.com> (raw)
In-Reply-To: <E1GcQIC-00045h-TT@fencepost.gnu.org>

        There are a few fundamental data structures that Emacs uses
        that are quite
        complex and variable in form. I'm thinking of things like
        keymaps (including
        menus), font-lock-keywords, and faces/text properties.

    I did a lot of work on the keymap documentation in response
    to your last suggestion.  Is there any part of it which is
    still insufficient?

I doubt it. As far as reference material goes, it is good: accurate,
complete, concise.

I was suggesting more user-guide material or a tutorial - something along
the lines of the Emacs-Lisp Intro (but short). I suspect that only a
relatively small number of Emacs-Lisp programmers are comfortable with
keymaps in all their forms, and I think it would help Emacs development
(including 3rd-party features) for more people to be familiar with them.
That was the motivation.

    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.

    As for faces and text properties, they are very simple structurally.
    They are just plists.  What aspect of them do you find complex?

I don't know. I recall trying to wade through some code that examined font
specs (with defaulting, inheritance, merging etc.), and it seemed complex.
Perhaps it had to do with face-spec-reset-face and set-face-attribute. I
don't remember.

  reply	other threads:[~2006-10-24 19:31 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-23 18:35 tutorial or guidebook text for some complex topics Drew Adams
2006-10-23 19:59 ` Stefan Monnier
2006-10-23 21:14   ` Drew Adams
2006-10-23 21:46     ` Nick Roberts
2006-10-23 21:58       ` Drew Adams
2006-10-23 22:54         ` Nick Roberts
2006-10-23 23:24           ` Drew Adams
2006-10-24  0:13             ` Nick Roberts
2006-10-24  7:06               ` David Kastrup
2006-10-24  7:44                 ` David Kastrup
2006-10-24 20:46                   ` Drew Adams
2006-10-24 20:45               ` Drew Adams
2006-10-23 23:33         ` Robert J. Chassell
2006-10-24 17:42         ` Richard Stallman
2006-10-24 20:51           ` Drew Adams
2006-10-23 22:08       ` David Kastrup
2006-10-24 17:42       ` Richard Stallman
2006-10-24 23:49     ` Stefan Monnier
2006-10-23 20:01 ` Eli Zaretskii
2006-10-23 21:19   ` Drew Adams
2006-10-24 17:42 ` Richard Stallman
2006-10-24 19:31   ` Drew Adams [this message]
2006-10-25 18:03     ` Richard Stallman
2006-10-25 18:21       ` Drew Adams
2006-10-26  8:52         ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=EIENLHALHGIMHGDOLMIMMECCCMAA.drew.adams@oracle.com \
    --to=drew.adams@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.