home *** CD-ROM | disk | FTP | other *** search
- #ifndef LIST_H
- #define LIST_H
-
- /*
- * All repeated structures are kept as linked lists of structures. All of
- * these start with a LIST structure (except lines, which have their own
- * abstraction). This will allow for later conversion to generic list
- * manipulation routines should I decide to do that. it does mean that there
- * are four extra bytes per window. I feel that this is an acceptable price,
- * considering that there are usually only one or two windows.
- */
- struct list {
- union {
- struct window *l_wp;
- struct buffer *x_bp; /* l_bp is used by LINE */
- struct macro *l_mp;
- struct list *l_nxt;
- } l_p;
- char *l_name;
- };
- /*
- * Usual hack - to keep from uglifying the code with lotsa references through
- * the union, we #define something for it.
- */
- #define l_next l_p.l_nxt
- #endif
-