Chapter 9. A Major Mode

Writing a simple major mode is very much like writing a minor mode, which we covered in Chapter 7. We'll just touch on the basic ideas of major modes in this chapter, preparing us for the creation of a substantial major mode—indeed, a whole new application—in the next chapter.

My Quips File

For several years I have been collecting witty quotations from various sources on the Internet, storing them in a file called Quips whose format is the same one used by the old UNIX fortune program. Each quotation is introduced by a line containing the string %%. Here's an example:

%%

I like a man who grins when he fights.

- Winston Churchill

%%

The human race has one really effective weapon, and that is laughter.

- Mark Twain

Apart from the %% lines, the file is completely free-form.

After my Quips file had been growing for a while, I found that I edited it a bit differently from the way I edit ordinary text files. For one thing, I frequently needed to confine my editing to a single quip in order to avoid accidentally straying into a neighboring quip. For another, whenever I needed to fill a paragraph at the beginning of a quip, I first had to separate it from the leading %% with a blank line. Otherwise, the %% would become filled as if it were part of the paragraph:

%%

I like a man who grins when he fights.

- Winston Churchill

%% The human race has ...

Get Writing GNU Emacs Extensions now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.