[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Advice on writing packages please

From: marcuirl
Subject: Re: Advice on writing packages please
Date: Tue, 20 May 2003 10:34:33 +0200
User-agent: Emacs Gnus

Oliver Scholz <address@hidden> writes:

> marcuirl <address@hidden> writes:
>> Hey all,
>> I am just about ready to start writing an emacs package of my
>> own. Some of the ones I have to use just don't do it for me anymore!
>> So at least I have a source to work from.
>> I have reasonable programming skills, though little in lisp ;-) so I
>> gain two skills from this! The questions I have:
>> Is there a source of info on the web that I can use to help in writing
>> major modes for emacs?
>> What advice would you guys/gals give an enthusiastic newbie to this
>> field?
> I assume that you already have the Emacs Lisp Reference Manual. Maybe
> you could also have a look at Robert Chassel's "Introduction to Emacs
> Lisp". The latter targets non-Programmers as an audience, but if you
> are very new to Lisp there might still be something helpful for you.
> Furthermore have a look at the Emacs Wiki: 
> <URL:>, it is an excellent resource for all
> kind of information about Emacs Lisp: examples, tipps, code snippets.
> For major modes I have the following links in my private Wiki:
>     - Tutorial
>     - Generic mode: for simple modes
>     - derived modes
>     - Short example
> And when you encounter a particular problem, you can always ask here,
> of course.
>> Then also some ideas on really basic stuff like:
>> When editing an xx.el file for mode xx do you need to keep starting a
>> new emacs session for the changes to take effect? Is there an easier
>> way to do this?
> Uh, no, Elisp is an interactive language and -- moreover -- you have
> access to the Lisp interpreter all the time. (Even typing means
> executing Lisp commands.) So most changes take effect as soon as you
> evaluate them with `C-x C-e' or `M-x eval-buffer'. There are a few
> exceptions to that rule, the most notable being `defvar' and
> `defcustom' forms. But you can force evalutation of those forms by
> typing `M-C-x' with point in such a form in emacs-lisp-mode. (In
> emacs-lisp-mode `M-C-x' works for evaluating `defun's, too.) So at
> most you have to execute the initialisation of your major mode in a
> particular buffer again (by typing `M-x <major mode name>') to make
> your changes take effect. No need to restart Emacs, unless you have
> messed up the state of the session.
> You could also look at edebug (described in the Emacs Lisp
> Reference), which is a stepper for Elisp. Invoke it with `C-u M-C-x'
> with point in a `defun'.
> Does that help?

sorry for the late reply, I've had a promlem with!

This is excelent info, thanks Oliver, its just the little push in the
right direction that I needed. I'll probably be back soon with many
more questions once I get set up in my project!


Unless otherwise noted, the statements herein reflect my 
personal opinions and not those of any organisation with 
which I may be affiliated.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]