Notes on emacs/src/

abbrev.c

An abbrev table is an obarray. Each defined abbrev is represented by a symbol in that obarray whose print name is the abbreviation. The symbol's value is a string which is the expansion. If its function definition is non-nil, it is called after the expansion is done. The plist slot of the abbrev symbol is its usage count.

You can get the symbol using (abbrev-symbol abbrev).

That bit about the function could be useful for chaining expansion functions together -- define-abbrev doesn't do this itself.

Abbrev plists can have 'system-type on them to say they are system ones (not saved in the user's abbrevs file).

If the hook function is a symbol with a non-nil `no-self-insert' property, let the value it returned specify whether we consider that an expansion took place. If it returns nil, no expansion has been done.

acldef.h

alloc.c

Visited Sat Aug 25 23:21:38 2007.

alloca.c

atimer.c

atimer.h

blockinput.h

buffer.c

buffer.h

bytecode.c

See also:

callint.c

callproc.c

casefiddle.c

Visited Thu Sep 6 23:35:10 2007.

casetab.c

category.c

category.h

ccl.c

ccl.h

charset.c

charset.h

chpdef.h

cm.c

cm.h

cmds.c

coding.c

coding.h

commands.h

composite.c

composite.h

data.c

dired.c

dispextern.h

dispnew.c

See also xdisp, which has a big comment explaining stuff.

Dispnew is "Updating of data structures for redisplay", whereas xdisp is "Display generation from window structure and buffer text."

What is the redisplay history?

It seems to be used only for the compile-time option GLYPH_DEBUG.

What is a glyph matrix?

disptab.h

doc.c

doprnt.c

dosfns.c

dosfns.h

ecrt0.c

editfns.c

Visited Mon Aug 27 14:19:12 2007.

Not everything in here is really connected with editing, for example, system-name!

emacs.c

This contains startup code including main.

running_asynch_code is a flag to save the match data on the first attempt to change it inside asynchronous code, (a filter or a sentinel).

Version information is available only in the dumped emacs.

To my surprise, I found a mention of threads. Grepping suggests they're not involved directly in much of the code, though.

You can set the filename to use as the terminal.

A comment claims

Command line option --no-windows is deprecated and thus not mentioned in the manual and usage informations.
but this doesn't seem to be true in real life.

What's monstartup?

The argv gets sorted -- not sure what is visible from Lisp once running.

auto-save-list-file-prefix is new to me.

eval.c

Visited Mon Aug 27 17:05:50 2007.

fileio.c

filelock.c

filemode.c

firstfile.c

floatfns.c

fns.c

Visited Mon Aug 27 13:10:31 2007.

fontset.c

fontset.h

frame.c

Generic functions for frames, however implemented. Handles frame objects.

frame.h

fringe.c

getloadavg.c

getpagesize.h

gmalloc.c

gnu.h

gtkutil.c

gtkutil.h

hftctl.c

image.c

indent.c

indent.h

insdel.c

intervals.c

intervals.h

ioctl.h

keyboard.c

Visited Wed Sep 12 20:44:00 2007.

keyboard.h

keymap.c

Visited Sun Sep 2 16:07:24 2007.

keymap.h

lastfile.c

lisp.h

lread.c

This defines load etc.

defvar_bool (etc)

Defines a Lisp variable connected with a C boolean (etc).

Things like this seem to point directly to the C variable.

mac.c

macfns.c

macgui.h

macmenu.c

macros.c

macros.h

macselect.c

macterm.c

macterm.h

marker.c

md5.c

md5.h

mem-limits.h

minibuf.c

I'm particularly looking for when the entry and exit hooks get called. I think it sometimes misses the exit one. Patrick says he thinks he's seen this, too.

minibuffer-help-form is interesting -- I hadn't known about help-form at all at all.

read_minibuf

Sets up an input method -- might be useful for getting out of vi-like input.

minibuffer-prompt-end

The prompt seems to be defined using a field.

mktime.c

msdos.c

msdos.h

ndir.h

param.h

point.h

pre-crt0.c

prefix-args.c

print.c

process.c

Visited Thu Aug 30 00:26:09 2007.

process.h

puresize.h

ralloc.c

regex.c

regex.h

region-cache.c

region-cache.h

scroll.c

search.c

sheap.c

sound.c

Works from "sound specifications" (lists starting with 'sound). This is bundled up by play-sound in subr.el.

strftime.c

sunfns.c

syntax.c

syntax.h

sysdep.c

Visited Mon Aug 27 14:25:33 2007.

This is where the system-name gets set. I don't know why it keeps waiting for a second while trying to get something from gethostbyname. Perhaps waiting for a reply from a reverse DNS lookup?

sysselect.h

syssignal.h

systime.h

systty.h

syswait.h

term.c

termcap.c

termchar.h

termhooks.h

terminfo.c

termopts.h

textprop.c

tparam.c

uaf.h

undo.c

unexaix.c

unexalpha.c

unexapollo.c

unexconvex.c

unexcw.c

unexec.c

unexelf.c

unexenix.c

unexhp9k800.c

unexmacosx.c

unexmips.c

unexnext.c

unexsni.c

unexsol.c

unexsunos4.c

unexw32.c

vlimit.h

vm-limit.c

w16select.c

w32.c

w32.h

w32bdf.c

w32bdf.h

w32console.c

w32fns.c

w32gui.h

w32heap.c

w32heap.h

w32inevt.c

w32inevt.h

w32menu.c

w32proc.c

w32reg.c

w32select.c

w32term.c

w32term.h

w32xfns.c

widget.c

widget.h

widgetprv.h

window.c

Visited Sat Sep 15 18:37:42 2007.

window.h

xdisp.c

How does this relate to dispnew.c? Dispnew is "Updating of data structures for redisplay", whereas xdisp is "Display generation from window structure and buffer text."

There's a big comment at the top (of xdisp.c), explaining how it's used.

xfaces.c

xfns.c

xmenu.c

Visited Fri Sep 7 15:42:06 2007.

xrdb.c

xselect.c

xsmfns.c

xterm.c

xterm.h

[emacs] [computing]
John C. G. Sturdy
[John's home] Last modified: Sat Sep 15 18:45:23 IST 2007