!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted/
!_TAG_PROGRAM_AUTHOR	Darren Hiebert	/darren@hiebert.com/
!_TAG_PROGRAM_NAME	Exuberant Ctags	//
!_TAG_PROGRAM_URL	http://darren.hiebert.com/ctags/	/official site/
!_TAG_PROGRAM_VERSION	3.5.1	/with C, C++, Eiffel, Fortran, and Java  support/
ADDCMD	./setmode.c	166;"	d	file:
ALIGN	./machdep.h	51;"	d
ALL	./error.c	230;"	d	file:
ARB	./exec.c	88;"	d	file:
BAND	./bltin/test.c	/^	BAND,$/;"	e	file:	enum:token
BBINOP	./bltin/test.c	/^	BBINOP,$/;"	e	file:	enum:token_types
BINOP	./bltin/test.c	/^	BINOP,$/;"	e	file:	enum:token_types
BITCMD	./setmode.c	/^} BITCMD;$/;"	t	file:
BLOCKSIZE	./mkinit.c	92;"	d	file:
BLOCK_OUT	./output.c	79;"	d	file:
BOR	./bltin/test.c	/^	BOR,$/;"	e	file:	enum:token
BSD	./shell.h	67;"	d
BUFLEN	./mknodes.c	73;"	d	file:
BUNOP	./bltin/test.c	/^	BUNOP,$/;"	e	file:	enum:token_types
CEOF	./jobs.c	70;"	d	file:
CEOF	./output.c	70;"	d	file:
CHECKEND	./parser.c	886;"	d	file:
CHECKSTRSPACE	./memalloc.h	71;"	d
CLEAR_PENDING_INT	./error.h	90;"	d
CMD2_CLR	./setmode.c	78;"	d	file:
CMD2_GBITS	./setmode.c	80;"	d	file:
CMD2_OBITS	./setmode.c	81;"	d	file:
CMD2_SET	./setmode.c	79;"	d	file:
CMD2_UBITS	./setmode.c	82;"	d	file:
CMDBUILTIN	./exec.h	43;"	d
CMDFUNCTION	./exec.h	44;"	d
CMDNORMAL	./exec.h	42;"	d
CMDTABLESIZE	./exec.c	87;"	d	file:
CMDUNKNOWN	./exec.h	41;"	d
CTLARI	./parser.h	47;"	d
CTLBACKQ	./parser.h	44;"	d
CTLENDARI	./parser.h	48;"	d
CTLENDVAR	./parser.h	43;"	d
CTLESC	./parser.h	41;"	d
CTLQUOTE	./parser.h	45;"	d
CTLQUOTEMARK	./parser.h	49;"	d
CTLVAR	./parser.h	42;"	d
Cflag	./options.h	62;"	d
DEFINE_OPTIONS	./options.c	50;"	d	file:
DEFINE_OPTIONS	./options.c	52;"	d	file:
EMPTY	./redir.c	67;"	d	file:
EOFMARKLEN	./parser.c	72;"	d	file:
EOF_NLEFT	./input.c	70;"	d	file:
EOI	./bltin/test.c	/^	EOI,$/;"	e	file:	enum:token
EV_BACKCMD	./eval.c	88;"	d	file:
EV_EXIT	./eval.c	86;"	d	file:
EV_TESTED	./eval.c	87;"	d	file:
EXERROR	./error.h	71;"	d
EXEXEC	./error.h	73;"	d
EXINT	./error.h	70;"	d
EXP_CASE	./expand.h	58;"	d
EXP_FULL	./expand.h	54;"	d
EXP_REDIR	./expand.h	57;"	d
EXP_TILDE	./expand.h	55;"	d
EXP_VARTILDE	./expand.h	56;"	d
EXSHELLPROC	./error.h	72;"	d
E_CREAT	./error.h	45;"	d
E_EXEC	./error.h	46;"	d
E_OPEN	./error.h	44;"	d
Eflag	./options.h	61;"	d
FILBDEV	./bltin/test.c	/^	FILBDEV,$/;"	e	file:	enum:token
FILCDEV	./bltin/test.c	/^	FILCDEV,$/;"	e	file:	enum:token
FILDIR	./bltin/test.c	/^	FILDIR,$/;"	e	file:	enum:token
FILEQ	./bltin/test.c	/^	FILEQ,$/;"	e	file:	enum:token
FILEX	./bltin/test.c	/^	FILEX,$/;"	e	file:	enum:token
FILEXIST	./bltin/test.c	/^	FILEXIST,$/;"	e	file:	enum:token
FILFIFO	./bltin/test.c	/^	FILFIFO,$/;"	e	file:	enum:token
FILGID	./bltin/test.c	/^	FILGID,$/;"	e	file:	enum:token
FILGZ	./bltin/test.c	/^	FILGZ,$/;"	e	file:	enum:token
FILNT	./bltin/test.c	/^	FILNT,$/;"	e	file:	enum:token
FILOT	./bltin/test.c	/^	FILOT,$/;"	e	file:	enum:token
FILRD	./bltin/test.c	/^	FILRD,$/;"	e	file:	enum:token
FILREG	./bltin/test.c	/^	FILREG,$/;"	e	file:	enum:token
FILSGID	./bltin/test.c	/^	FILSGID,$/;"	e	file:	enum:token
FILSOCK	./bltin/test.c	/^	FILSOCK,$/;"	e	file:	enum:token
FILSTCK	./bltin/test.c	/^	FILSTCK,$/;"	e	file:	enum:token
FILSUID	./bltin/test.c	/^	FILSUID,$/;"	e	file:	enum:token
FILSYM	./bltin/test.c	/^	FILSYM,$/;"	e	file:	enum:token
FILTT	./bltin/test.c	/^	FILTT,$/;"	e	file:	enum:token
FILUID	./bltin/test.c	/^	FILUID,$/;"	e	file:	enum:token
FILWR	./bltin/test.c	/^	FILWR,$/;"	e	file:	enum:token
FORCEINTON	./error.h	89;"	d
FORK_BG	./jobs.h	42;"	d
FORK_FG	./jobs.h	41;"	d
FORK_NOJOB	./jobs.h	43;"	d
GDB_HACK	./parser.c	107;"	d	file:
INITARGS	./bltin/bltin.h	62;"	d
INITARGS	./bltin/bltin.h	83;"	d
INTEQ	./bltin/test.c	/^	INTEQ,$/;"	e	file:	enum:token
INTGE	./bltin/test.c	/^	INTGE,$/;"	e	file:	enum:token
INTGT	./bltin/test.c	/^	INTGT,$/;"	e	file:	enum:token
INTLE	./bltin/test.c	/^	INTLE,$/;"	e	file:	enum:token
INTLT	./bltin/test.c	/^	INTLT,$/;"	e	file:	enum:token
INTNE	./bltin/test.c	/^	INTNE,$/;"	e	file:	enum:token
INTOFF	./error.h	87;"	d
INTON	./error.h	88;"	d
Iflag	./options.h	53;"	d
JOBDONE	./jobs.h	64;"	d
JOBS	./shell.h	53;"	d
JOBSTOPPED	./jobs.h	63;"	d
KWDOFFSET	./token.h	93;"	d
LPAREN	./bltin/test.c	/^	LPAREN,$/;"	e	file:	enum:token
MAXCMDTEXT	./jobs.c	1017;"	d	file:
MAXFIELDS	./mknodes.c	72;"	d	file:
MAXPWD	./shell.h	57;"	d
MAXTYPES	./mknodes.c	71;"	d	file:
MEM_OUT	./output.c	80;"	d	file:
MINSIZE	./memalloc.c	111;"	d	file:
MKINIT	./shell.h	88;"	d
NEOF	./parser.h	75;"	d
NEWARGS	./exec.c	218;"	d	file:
NOPTS	./options.h	69;"	d
NO_HISTORY	./shell.h	73;"	d
NULL	./bltin/bltin.h	80;"	d
NULL	./shell.h	79;"	d
NULL	./shell.h	84;"	d
OPERAND	./bltin/test.c	/^	OPERAND$/;"	e	file:	enum:token
OUTBUFSIZ	./output.c	78;"	d	file:
OUTFILE	./mkinit.c	80;"	d	file:
OUTPUT_ERR	./output.c	81;"	d	file:
OUTPUT_INCL	./output.h	85;"	d
OUTTEMP	./mkinit.c	81;"	d	file:
PAREN	./bltin/test.c	/^	PAREN$/;"	e	file:	enum:token_types
PARSEARITH	./parser.c	891;"	d	file:
PARSEBACKQNEW	./parser.c	890;"	d	file:
PARSEBACKQOLD	./parser.c	889;"	d	file:
PARSEREDIR	./parser.c	887;"	d	file:
PARSESUB	./parser.c	888;"	d	file:
PIPESIZE	./redir.c	68;"	d	file:
PROFILE	./main.c	84;"	d	file:
REDIR_BACKQ	./redir.h	42;"	d
REDIR_PUSH	./redir.h	41;"	d
RETURN	./parser.c	801;"	d	file:
RETURN	./parser.c	869;"	d	file:
RPAREN	./bltin/test.c	/^	RPAREN,$/;"	e	file:	enum:token
SET_LEN	./setmode.c	69;"	d	file:
SET_LEN_INCR	./setmode.c	70;"	d	file:
SKIPBREAK	./eval.h	70;"	d
SKIPCONT	./eval.h	71;"	d
SKIPFILE	./eval.h	73;"	d
SKIPFUNC	./eval.h	72;"	d
STACKSTRNUL	./memalloc.h	73;"	d
STADJUST	./memalloc.h	76;"	d
STANDARD_BITS	./setmode.c	179;"	d	file:
STARTSTACKSTR	./memalloc.h	69;"	d
STATIC	./shell.h	87;"	d
STPUTC	./memalloc.h	70;"	d
STREQ	./bltin/test.c	/^	STREQ,$/;"	e	file:	enum:token
STREZ	./bltin/test.c	/^	STREZ,$/;"	e	file:	enum:token
STRGT	./bltin/test.c	/^	STRGT,$/;"	e	file:	enum:token
STRLT	./bltin/test.c	/^	STRLT,$/;"	e	file:	enum:token
STRNE	./bltin/test.c	/^	STRNE,$/;"	e	file:	enum:token
STRNZ	./bltin/test.c	/^	STRNZ,$/;"	e	file:	enum:token
STRTODEST	./expand.c	880;"	d	file:
STTOPC	./memalloc.h	75;"	d
STUNPUTC	./memalloc.h	74;"	d
S_CATCH	./trap.c	73;"	d	file:
S_DFL	./trap.c	72;"	d	file:
S_HARD_IGN	./trap.c	75;"	d	file:
S_IGN	./trap.c	74;"	d	file:
S_ISTXT	./setmode.c	66;"	d	file:
S_RESET	./trap.c	76;"	d	file:
TAND	./token.h	5;"	d
TBACKGND	./token.h	4;"	d
TBEGIN	./token.h	24;"	d
TCASE	./token.h	26;"	d
TDO	./token.h	22;"	d
TDONE	./token.h	23;"	d
TELIF	./token.h	17;"	d
TELSE	./token.h	16;"	d
TEMPSIZE	./output.c	353;"	d	file:
TEND	./token.h	25;"	d
TENDBQUOTE	./token.h	11;"	d
TENDCASE	./token.h	10;"	d
TEOF	./token.h	1;"	d
TESAC	./token.h	27;"	d
TFI	./token.h	18;"	d
TFOR	./token.h	21;"	d
TIF	./token.h	14;"	d
TLP	./token.h	8;"	d
TNL	./token.h	2;"	d
TNOT	./token.h	28;"	d
TOR	./token.h	6;"	d
TPIPE	./token.h	7;"	d
TRACE	./shell.h	100;"	d
TRACE	./shell.h	98;"	d
TREDIR	./token.h	12;"	d
TRP	./token.h	9;"	d
TSEMI	./token.h	3;"	d
TTHEN	./token.h	15;"	d
TUNTIL	./token.h	20;"	d
TWHILE	./token.h	19;"	d
TWORD	./token.h	13;"	d
T_INT	./mknodes.c	79;"	d	file:
T_NODE	./mknodes.c	76;"	d	file:
T_NODELIST	./mknodes.c	77;"	d	file:
T_OTHER	./mknodes.c	80;"	d	file:
T_STRING	./mknodes.c	78;"	d	file:
T_TEMP	./mknodes.c	81;"	d	file:
Tflag	./options.h	67;"	d
UNOP	./bltin/test.c	/^	UNOP,$/;"	e	file:	enum:token_types
UNOT	./bltin/test.c	/^	UNOT,$/;"	e	file:	enum:token
USTPUTC	./memalloc.h	72;"	d
VEXPORT	./var.h	45;"	d
VNOFUNC	./var.h	51;"	d
VREADONLY	./var.h	46;"	d
VSASSIGN	./parser.h	61;"	d
VSLENGTH	./parser.h	66;"	d
VSMINUS	./parser.h	58;"	d
VSNORMAL	./parser.h	57;"	d
VSNUL	./parser.h	53;"	d
VSPLUS	./parser.h	59;"	d
VSQUESTION	./parser.h	60;"	d
VSQUOTE	./parser.h	54;"	d
VSTACK	./var.h	49;"	d
VSTRFIXED	./var.h	47;"	d
VSTRIMLEFT	./parser.h	62;"	d
VSTRIMLEFTMAX	./parser.h	63;"	d
VSTRIMRIGHT	./parser.h	64;"	d
VSTRIMRIGHTMAX	./parser.h	65;"	d
VSTYPE	./parser.h	52;"	d
VTABSIZE	./var.c	75;"	d	file:
VTEXTFIXED	./var.h	48;"	d
VUNSET	./var.h	50;"	d
Vflag	./options.h	60;"	d
__S_ISVTX	./setmode.c	61;"	d	file:
__S_ISVTX	./setmode.c	62;"	d	file:
__unused	./shell.h	56;"	d
action	./error.c	/^	short action;		\/* operation which encountered the error *\/$/;"	m	struct:errname
add	./mksyntax.c	/^add(p, type)$/;"	f	file:
addchar	./mkinit.c	/^addchar(c, text)$/;"	f
addcmd	./setmode.c	/^addcmd(set, op, who, oparg, mask)$/;"	f	file:
addcmdentry	./exec.c	/^addcmdentry(name, entry)$/;"	f
addfname	./expand.c	/^addfname(name)$/;"	f
addstr	./mkinit.c	/^addstr(s, text)$/;"	f
aexpr	./bltin/test.c	/^aexpr(n)$/;"	f	file:
aflag	./options.h	63;"	d
align	./machdep.h	/^union align {$/;"	u
amiddecls	./mkinit.c	/^int amiddecls;				\/* for formatting *\/$/;"	v
andor	./parser.c	/^andor() {$/;"	f
ap	./input.c	/^	struct alias *ap;	\/* if push was associated with an alias *\/$/;"	m	struct:strpush
arg0	./options.c	/^char *arg0;			\/* value of $0 *\/$/;"	v
argbackq	./expand.c	/^struct nodelist *argbackq;	\/* list of back quote expressions *\/$/;"	v
arglist	./expand.h	/^struct arglist {$/;"	s
argptr	./options.c	/^char **argptr;			\/* argument list for builtin commands *\/$/;"	v
argstr	./expand.c	/^argstr(p, flag)$/;"	f
argvars	./parser.c	/^static const char argvars[5] = {CTLVAR, VSNORMAL|VSQUOTE, '@', '=', '\\0'};$/;"	v	file:
ash_setmode	./setmode.c	/^ash_setmode(p)$/;"	f
attyset	./var.h	112;"	d
backcmd	./eval.h	/^struct backcmd {		\/* result of evalbackcmd *\/$/;"	s
backgndpid	./jobs.c	/^MKINIT pid_t backgndpid = -1;	\/* pid of last background process *\/$/;"	v
backquotelist	./parser.c	/^struct nodelist *backquotelist;$/;"	v
base	./mksyntax.c	/^static int base;$/;"	v	file:
basebuf	./input.c	/^char basebuf[BUFSIZ];		\/* buffer for top level input file *\/$/;"	v
basepf	./input.c	/^MKINIT struct parsefile basepf;	\/* top level input file *\/$/;"	v
basestrpush	./input.c	/^	struct strpush basestrpush; \/* so pushing one is fast *\/$/;"	m	struct:parsefile
begoff	./expand.c	/^	int begoff;		\/* offset of start of region *\/$/;"	m	struct:ifsregion
bflag	./options.h	64;"	d
bgcmd	./jobs.c	/^bgcmd(argc, argv)$/;"	f
binop	./bltin/test.c	/^binop()$/;"	f	file:
bitcmd	./setmode.c	/^typedef struct bitcmd {$/;"	s	file:
bits	./setmode.c	/^	mode_t	bits;$/;"	m	struct:bitcmd
block	./mkinit.c	/^struct block {$/;"	s	file:
bltincmd	./eval.c	/^bltincmd(argc, argv)$/;"	f
bltinlookup	./var.c	/^bltinlookup(name, doall)$/;"	f
breakcmd	./eval.c	/^breakcmd(argc, argv)$/;"	f
breakwaitcmd	./jobs.c	/^volatile sig_atomic_t breakwaitcmd = 0;	\/* should wait be terminated? *\/$/;"	v
buf	./eval.h	/^	char *buf;		\/* buffer *\/$/;"	m	struct:backcmd
buf	./input.c	/^	char *buf;		\/* input buffer *\/$/;"	m	struct:parsefile
buf	./output.h	/^	char *buf;$/;"	m	struct:output
bufsize	./output.h	/^	int bufsize;$/;"	m	struct:output
builtinloc	./exec.c	/^STATIC int builtinloc = -1;		\/* index in path of %builtin, or -1 *\/$/;"	v
casematch	./expand.c	/^casematch(pattern, val)$/;"	f
cdcmd	./cd.c	/^cdcmd(argc, argv)$/;"	f
cdcomppath	./cd.c	/^STATIC char *cdcomppath;$/;"	v
cfile	./mksyntax.c	/^static FILE *cfile;$/;"	v	file:
changed	./jobs.h	/^	char changed;		\/* true if status has changed *\/$/;"	m	struct:job
changepath	./exec.c	/^changepath(newval)$/;"	f
checkkwd	./parser.c	/^MKINIT int checkkwd;            \/* 1 == check for kwds, 2 == also eat newlines *\/$/;"	v
ckfopen	./mkinit.c	/^ckfopen(file, mode)$/;"	f
ckfree	./memalloc.h	79;"	d
ckmalloc	./memalloc.c	/^ckmalloc(nbytes)$/;"	f
ckmalloc	./mkinit.c	/^ckmalloc(nbytes)$/;"	f
ckrealloc	./memalloc.c	/^ckrealloc(p, nbytes)$/;"	f
clear_traps	./trap.c	/^clear_traps()$/;"	f
clearcmdentry	./exec.c	/^clearcmdentry(firstchange)$/;"	f
clearredir	./redir.c	/^clearredir() {$/;"	f
closescript	./input.c	/^closescript() {$/;"	f
cmd	./jobs.h	/^	char *cmd;		\/* text of command being run *\/$/;"	m	struct:procstat
cmd	./miscbltin.c	/^	int	cmd;$/;"	m	struct:limits
cmd	./setmode.c	/^	char	cmd;$/;"	m	struct:bitcmd
cmd2	./setmode.c	/^	char	cmd2;$/;"	m	struct:bitcmd
cmdentry	./exec.h	/^struct cmdentry {$/;"	s
cmdenviron	./eval.c	/^struct strlist *cmdenviron;$/;"	v
cmdlookup	./exec.c	/^cmdlookup(name, add)$/;"	f
cmdloop	./main.c	/^cmdloop(top)$/;"	f
cmdname	./exec.c	/^	char cmdname[ARB];	\/* name of command *\/$/;"	m	struct:tblentry
cmdnextc	./jobs.c	/^STATIC char *cmdnextc;$/;"	v
cmdnleft	./jobs.c	/^STATIC int cmdnleft;$/;"	v
cmdputs	./jobs.c	/^cmdputs(s)$/;"	f
cmdtable	./exec.c	/^STATIC struct tblentry *cmdtable[CMDTABLESIZE];$/;"	v
cmdtxt	./jobs.c	/^cmdtxt(n)$/;"	f
cmdtype	./exec.c	/^	short cmdtype;		\/* index identifying command *\/$/;"	m	struct:tblentry
cmdtype	./exec.h	/^	int cmdtype;$/;"	m	struct:cmdentry
code	./mkinit.c	/^	struct text code;	\/* code for handling event *\/$/;"	m	struct:event
collate_range_cmp	./expand.c	/^STATIC int collate_range_cmp (c1, c2)$/;"	f
command	./parser.c	/^command() {$/;"	f
commandname	./error.c	/^char *commandname;$/;"	v
commandname	./eval.c	/^char *commandname;$/;"	v
commandtext	./jobs.c	/^commandtext(n)$/;"	f
comment	./mkinit.c	/^	char *comment;		\/* comment describing routine *\/$/;"	m	struct:event
comment	./mksyntax.c	/^	char *comment;$/;"	m	struct:synclass
compress_mode	./setmode.c	/^compress_mode(set)$/;"	f	file:
copyfd	./redir.c	/^copyfd(from, to)$/;"	f
copyright	./main.c	/^static char const copyright[] =$/;"	v	file:
cp	./machdep.h	/^	char *cp;$/;"	m	union:align
curdir	./cd.c	/^char *curdir = NULL;		\/* current working directory *\/$/;"	v
curfile	./mkinit.c	/^char *curfile;				\/* current file *\/$/;"	v
curjob	./jobs.c	/^int curjob;			\/* current job *\/$/;"	v
curstr	./mknodes.c	/^static struct str *curstr;		\/* current structure *\/$/;"	v	file:
cvtnum	./expand.c	/^cvtnum(num, buf)$/;"	f
decl	./mknodes.c	/^	char *decl;		\/* declaration of field *\/$/;"	m	struct:field
decls	./mkinit.c	/^struct text decls;			\/* declarations *\/$/;"	v
defines	./mkinit.c	/^struct text defines;			\/* #define statements *\/$/;"	v
defun	./exec.c	/^defun(name, func)$/;"	f
delete_cmd_entry	./exec.c	/^delete_cmd_entry() {$/;"	f
deletefuncs	./exec.c	/^deletefuncs() {$/;"	f
digit	./output.c	/^static const char digit[] = "0123456789ABCDEF";$/;"	v	file:
digit_contig	./mksyntax.c	/^static int digit_contig;\/* true if digits are contiguous *\/$/;"	v	file:
digit_convert	./mksyntax.c	/^digit_convert()$/;"	f	file:
docd	./cd.c	/^docd(dest, print)$/;"	f
dodecl	./mkinit.c	/^dodecl(line1, fp)$/;"	f
doevent	./mkinit.c	/^doevent(ep, fp, fname)$/;"	f
doformat	./output.c	/^doformat(dest, f, ap)$/;"	f
doinclude	./mkinit.c	/^doinclude(line)$/;"	f
done	./mknodes.c	/^	int done;			\/* set if fully parsed *\/$/;"	m	struct:str
doprompt	./parser.c	/^int doprompt;			\/* if set, prompt the user *\/$/;"	v
dotcmd	./main.c	/^dotcmd(argc, argv)$/;"	f
dotrap	./trap.c	/^dotrap()$/;"	f
dowait	./jobs.c	/^dowait(block, job)$/;"	f
dprintf	./output.c	/^dprintf(char *fmt, ...) {$/;"	f
dprintf	./output.c	/^dprintf(va_alist)$/;"	f
dumpmode	./setmode.c	/^dumpmode(set)$/;"	f	file:
eflag	./miscbltin.c	68;"	d	file:
eflag	./options.h	51;"	d
el	./input.c	/^EditLine *el;			\/* cookie for editline package *\/$/;"	v
emptyoutbuf	./output.c	/^emptyoutbuf(dest)$/;"	f
endoff	./expand.c	/^	int endoff;		\/* offset of end of region *\/$/;"	m	struct:ifsregion
environment	./var.c	/^environment() {$/;"	f
eofmark	./parser.c	/^	char *eofmark;		\/* string indicating end of input *\/$/;"	m	struct:heredoc
equal	./mkinit.c	174;"	d	file:
equal	./mystring.h	47;"	d
equalf	./bltin/test.c	/^equalf (f1, f2)$/;"	f	file:
errcode	./error.c	/^	short errcode;		\/* error number *\/$/;"	m	struct:errname
errmsg	./error.c	/^errmsg(e, action)$/;"	f
errname	./error.c	/^struct errname {$/;"	s	file:
error	./error.c	/^error(char *msg, ...)$/;"	f
error	./mkinit.c	/^error(msg)$/;"	f
error	./mknodes.c	/^error(const char *msg, ...)$/;"	f	file:
errormsg	./error.c	/^STATIC const struct errname errormsg[] = {$/;"	v
errout	./output.c	/^struct output errout = {NULL, 0, NULL, 100, 2, 0};$/;"	v
evalbackcmd	./eval.c	/^evalbackcmd(n, result)$/;"	f
evalcase	./eval.c	/^evalcase(n, flags)$/;"	f
evalcmd	./eval.c	/^evalcmd(argc, argv)$/;"	f
evalcommand	./eval.c	/^evalcommand(cmd, flags, backcmd)$/;"	f
evalfor	./eval.c	/^evalfor(n)$/;"	f
evalloop	./eval.c	/^evalloop(n)$/;"	f
evalpipe	./eval.c	/^evalpipe(n)$/;"	f
evalskip	./eval.c	/^MKINIT int evalskip;		\/* set if we are skipping commands *\/$/;"	v
evalstring	./eval.c	/^evalstring(s)$/;"	f
evalsubshell	./eval.c	/^evalsubshell(n, flags)$/;"	f
evaltree	./eval.c	/^evaltree(n, flags)$/;"	f
evalvar	./expand.c	/^evalvar(p, flag)$/;"	f
event	./mkinit.c	/^struct event event[] = {$/;"	v
event	./mkinit.c	/^struct event {$/;"	s	file:
exception	./error.c	/^volatile sig_atomic_t exception;$/;"	v
execcmd	./eval.c	/^execcmd(argc, argv)$/;"	f
execinterp	./exec.c	/^execinterp(argv, envp)$/;"	f
exerrno	./exec.c	/^int exerrno = 0;			\/* Last exec error *\/$/;"	v
exerror	./error.c	/^exerror(int cond, char *msg, ...)$/;"	f
exit	./main.c	/^exit(exitstatus) {$/;"	f
exitcmd	./main.c	/^exitcmd(argc, argv)$/;"	f
exitshell	./trap.c	/^exitshell(status)$/;"	f
exitstatus	./eval.c	/^int exitstatus;			\/* exit status of last command *\/$/;"	v
expandarg	./expand.c	/^expandarg(arg, arglist, flag)$/;"	f
expandhere	./expand.c	/^expandhere(arg, fd)$/;"	f
expandmeta	./expand.c	/^expandmeta(str, flag)$/;"	f
exparg	./expand.c	/^struct arglist exparg;		\/* holds expanded arg list *\/$/;"	v
expari	./expand.c	/^expari(flag)$/;"	f
expbackq	./expand.c	/^expbackq(cmd, quoted, flag)$/;"	f
expdest	./expand.c	/^char *expdest;			\/* output of current string *\/$/;"	v
expdir	./expand.c	/^char *expdir;$/;"	v
expmeta	./expand.c	/^expmeta(enddir, name)$/;"	f
exportcmd	./var.c	/^exportcmd(argc, argv)$/;"	f
expredir	./eval.c	/^expredir(n)$/;"	f
expsort	./expand.c	/^expsort(str)$/;"	f
exptilde	./expand.c	/^exptilde(p, flag)$/;"	f
exraise	./error.c	/^exraise(e)$/;"	f
exverror	./error.c	/^exverror(cond, msg, ap)$/;"	f	file:
factor	./miscbltin.c	/^	int	factor;	\/* multiply by to get rlim_{cur,max} values *\/$/;"	m	struct:limits
falsecmd	./eval.c	/^falsecmd(argc, argv)$/;"	f
fd	./eval.h	/^	int fd;			\/* file descriptor to read from *\/$/;"	m	struct:backcmd
fd	./input.c	/^	int fd;			\/* file descriptor (or -1 if string) *\/$/;"	m	struct:parsefile
fd	./output.h	/^	short fd;$/;"	m	struct:output
fd0_redirected	./redir.c	/^int fd0_redirected = 0;$/;"	v
fd0_redirected_p	./redir.c	/^fd0_redirected_p () {$/;"	f
fflag	./options.h	52;"	d
fflush	./bltin/bltin.h	61;"	d
fgcmd	./jobs.c	/^fgcmd(argc, argv)$/;"	f
field	./mknodes.c	/^	struct field field[MAXFIELDS];	\/* the fields of the structure *\/$/;"	m	struct:str
field	./mknodes.c	/^struct field {			\/* a structure field *\/$/;"	s	file:
filltable	./mksyntax.c	/^filltable(dftval)$/;"	f	file:
filstat	./bltin/test.c	/^filstat(nm, mode)$/;"	f	file:
find_builtin	./exec.c	/^find_builtin(name)$/;"	f
find_command	./exec.c	/^find_command(name, entry, printerr, path)$/;"	f
find_dot_file	./main.c	/^find_dot_file(basename)$/;"	f
fixredir	./parser.c	/^void fixredir(n, text, err)$/;"	f
flags	./output.h	/^	short flags;$/;"	m	struct:output
flags	./var.c	/^	int flags;$/;"	m	struct:varinit
flags	./var.h	/^	int flags;			\/* flags are defined above *\/$/;"	m	struct:var
flags	./var.h	/^	int flags;			\/* saved flags *\/$/;"	m	struct:localvar
flushall	./output.c	/^flushall() {$/;"	f
flushout	./output.c	/^flushout(dest)$/;"	f
fmtstr	./output.c	/^fmtstr(char *outbuf, int length, char *fmt, ...) {$/;"	f
fmtstr	./output.c	/^fmtstr(va_alist)$/;"	f
forkshell	./jobs.c	/^forkshell(jp, n, mode)$/;"	f
fprintf	./bltin/bltin.h	59;"	d
fputs	./bltin/bltin.h	60;"	d
freejob	./jobs.c	/^freejob(jp)$/;"	f
freeparam	./options.c	/^freeparam(param)$/;"	f
freestdout	./output.c	/^freestdout() {$/;"	f
func	./exec.h	/^		union node *func;$/;"	m	union:cmdentry::param
func	./var.c	/^	void (*func) (const char *);$/;"	m	struct:varinit
func	./var.h	/^	void (*func) (const char *);$/;"	m	struct:var
funcnest	./eval.c	/^int funcnest;			\/* depth of function calls *\/$/;"	v
getcmdentry	./exec.c	/^getcmdentry(name, entry)$/;"	f
getcomponent	./cd.c	/^getcomponent()$/;"	f
getjob	./jobs.c	/^getjob(name)$/;"	f
getmode	./setmode.c	/^getmode(bbox, omode)$/;"	f
getn	./bltin/test.c	/^getn(s)$/;"	f	file:
getopts	./options.c	/^getopts(optstr, optvar, optfirst, optnext, optptr)$/;"	f
getoptscmd	./options.c	/^getoptscmd(argc, argv)$/;"	f
getoptsreset	./options.c	/^getoptsreset(value)$/;"	f
getprompt	./parser.c	/^getprompt(unused)$/;"	f
getpwd	./cd.c	/^getpwd()$/;"	f
getsigaction	./trap.c	/^getsigaction(signo, sigact)$/;"	f	file:
gooddefine	./mkinit.c	/^gooddefine(line)$/;"	f
goodname	./parser.c	/^goodname(name)$/;"	f
gotsig	./trap.c	/^static volatile sig_atomic_t gotsig[NSIG]; $/;"	v	file:
gotsigchild	./jobs.c	/^STATIC sig_atomic_t gotsigchild;$/;"	v
grabstackblock	./memalloc.c	/^grabstackblock(len)$/;"	f
grabstackstr	./memalloc.h	77;"	d
growstackblock	./memalloc.c	/^growstackblock()$/;"	f
growstackstr	./memalloc.c	/^growstackstr() $/;"	f
handler	./error.c	/^struct jmploc *handler;$/;"	v
hashcd	./exec.c	/^hashcd() {$/;"	f
hashcmd	./exec.c	/^hashcmd(argc, argv)$/;"	f
hashvar	./var.c	/^hashvar(p)$/;"	f
header_files	./mkinit.c	/^char *header_files[200];		\/* list of header files *\/$/;"	v
here	./parser.c	/^	union node *here;		\/* redirection node *\/$/;"	m	struct:heredoc
heredoc	./parser.c	/^struct heredoc *heredoc;$/;"	v
heredoc	./parser.c	/^struct heredoc {$/;"	s	file:
heredoclist	./parser.c	/^struct heredoc *heredoclist;	\/* list of here documents to read *\/$/;"	v
herefd	./memalloc.c	/^int herefd = -1;$/;"	v
hfile	./mksyntax.c	/^static FILE *hfile;$/;"	v	file:
histsizeval	./var.h	108;"	d
i	./machdep.h	/^	int i;$/;"	m	union:align
iflag	./options.h	54;"	d
ifsbreakup	./expand.c	/^ifsbreakup(string, arglist)$/;"	f
ifsfirst	./expand.c	/^struct ifsregion ifsfirst;	\/* first struct in list of ifs regions *\/$/;"	v
ifslastp	./expand.c	/^struct ifsregion *ifslastp;	\/* last struct in list *\/$/;"	v
ifsregion	./expand.c	/^struct ifsregion {$/;"	s	file:
ifsset	./var.h	97;"	d
ifsval	./var.h	96;"	d
ignore_sigchld	./trap.c	/^static int ignore_sigchld;	\/* Used while handling SIGCHLD traps. *\/$/;"	v	file:
ignoresig	./trap.c	/^ignoresig(signo)$/;"	f
in_dotrap	./trap.c	/^int in_dotrap;			\/* do we execute in a trap handler? *\/$/;"	v
in_dowait	./jobs.c	/^int in_dowait = 0;		\/* are we in dowait()? *\/$/;"	v
in_function	./eval.h	65;"	d
in_waitcmd	./jobs.c	/^int in_waitcmd = 0;		\/* are we in waitcmd()? *\/$/;"	v
indent	./mknodes.c	/^indent(amount, fp)$/;"	f	file:
index	./exec.h	/^		int index;$/;"	m	union:cmdentry::param
infp	./mknodes.c	/^static FILE *infp;$/;"	v	file:
init	./mkinit.c	/^char init[] = "\\$/;"	v
init	./mksyntax.c	/^init()$/;"	f	file:
init_editline	./input.c	/^int init_editline = 0;		\/* editline library initialized? *\/$/;"	v
initialpgrp	./jobs.c	/^int initialpgrp;		\/* pgrp of shell on invocation *\/$/;"	v
initvar	./var.c	/^initvar() {$/;"	f
int_pending	./error.h	91;"	d
intpending	./error.c	/^volatile sig_atomic_t intpending;$/;"	v
is_entry	./mksyntax.c	/^struct synclass is_entry[] = {$/;"	v
is_number	./mystring.c	/^is_number(p)$/;"	f
isabspath	./exec.c	115;"	d	file:
isabspath	./exec.c	117;"	d	file:
jmploc	./error.h	/^struct jmploc {$/;"	s
job	./jobs.h	/^struct job {$/;"	s
job_warning	./jobs.c	/^int job_warning = 0;$/;"	v
jobctl	./jobs.c	/^MKINIT int jobctl;$/;"	v
jobctl	./jobs.h	/^	char jobctl;		\/* job running under job control *\/$/;"	m	struct:job
jobidcmd	./jobs.c	/^jobidcmd(argc, argv)$/;"	f
jobscmd	./jobs.c	/^jobscmd(argc, argv)$/;"	f
jobtab	./jobs.c	/^struct job *jobtab;		\/* array of jobs *\/$/;"	v
jp	./eval.h	/^	struct job *jp;		\/* job structure for command *\/$/;"	m	struct:backcmd
last	./mkinit.c	/^	struct block *last;$/;"	m	struct:text
lastcmdentry	./exec.c	/^struct tblentry **lastcmdentry;$/;"	v
lastp	./expand.h	/^	struct strlist **lastp;$/;"	m	struct:arglist
lasttoken	./parser.c	/^int lasttoken;			\/* last token read *\/$/;"	v
letter	./options.h	/^	const char letter;$/;"	m	struct:optent
limits	./miscbltin.c	/^static const struct limits limits[] = {$/;"	v	file:
limits	./miscbltin.c	/^struct limits {$/;"	s	file:
line	./mknodes.c	/^static char line[1024];$/;"	v	file:
linep	./mknodes.c	/^static char *linep;$/;"	v	file:
linno	./input.c	/^	int linno;		\/* current line *\/$/;"	m	struct:parsefile
linno	./mkinit.c	/^int linno;				\/* current line *\/$/;"	v
linno	./mknodes.c	/^static int linno;$/;"	v	file:
list	./expand.h	/^	struct strlist *list;$/;"	m	struct:arglist
list	./parser.c	/^list(nlflag)$/;"	f
listsetvar	./var.c	/^listsetvar(list)$/;"	f
lleft	./input.c	/^	int lleft;		\/* number of lines left in this buffer *\/$/;"	m	struct:parsefile
loc	./error.h	/^	jmp_buf loc;$/;"	m	struct:jmploc
localcmd	./var.c	/^localcmd(argc, argv)$/;"	f
localevar	./var.c	/^localevar(s)$/;"	f
localvar	./var.h	/^struct localvar {$/;"	s
localvars	./var.h	/^struct localvar *localvars;$/;"	v
longjmp	./error.h	107;"	d
lookupvar	./var.c	/^lookupvar(name)$/;"	f
loopnest	./eval.c	/^MKINIT int loopnest;		\/* current loop nesting level *\/$/;"	v
macro	./mksyntax.c	/^static char *macro[] = {$/;"	v	file:
mailval	./var.h	98;"	d
main	./bltin/bltin.h	82;"	d
main	./bltin/echo.c	/^main(argc, argv)$/;"	f
main	./bltin/echo.c	44;"	d	file:
main	./bltin/test.c	/^main(argc, argv)$/;"	f
main	./bltin/test.c	23;"	d	file:
main	./main.c	/^main(argc, argv)$/;"	f
main	./mkinit.c	/^main(argc, argv)$/;"	f
main	./mknodes.c	/^main(argc, argv)$/;"	f
main	./mksyntax.c	/^main(argc, argv)$/;"	f
makejob	./jobs.c	/^makejob(node, nprocs)$/;"	f
makename	./parser.c	/^makename() {$/;"	f
makestrspace	./memalloc.c	/^makestrspace() $/;"	f
malloc	./options.h	/^	unsigned char malloc;	\/* if parameter list dynamically allocated *\/$/;"	m	struct:shparam
match	./mkinit.c	/^match(name, line)$/;"	f
memout	./output.c	/^struct output memout = {NULL, 0, NULL, 0, MEM_OUT, 0};$/;"	v
mflag	./options.h	55;"	d
minus_o	./options.c	/^minus_o(name, val)$/;"	f
minusc	./options.c	/^char *minusc;			\/* argument to -c option *\/$/;"	v
mklocal	./var.c	/^mklocal(name)$/;"	f
mpathset	./var.h	114;"	d
mpathval	./var.h	99;"	d
msg	./error.c	/^	char *msg;		\/* text describing the error *\/$/;"	m	struct:errname
msort	./expand.c	/^msort(list, len)$/;"	f
name	./miscbltin.c	/^	const char *name;$/;"	m	struct:limits
name	./mkinit.c	/^	char *name;		\/* name of event (e.g. INIT) *\/$/;"	m	struct:event
name	./mknodes.c	/^	char *name;		\/* name of field *\/$/;"	m	struct:field
name	./mksyntax.c	/^	char *name;$/;"	m	struct:synclass
name	./options.h	/^	const char *name;$/;"	m	struct:optent
nbits	./mksyntax.c	/^static int nbits;	\/* number of bits in a character *\/$/;"	v	file:
needprompt	./parser.c	/^int needprompt;			\/* true if interactive and at start of line *\/$/;"	v
newerf	./bltin/test.c	/^newerf (f1, f2)$/;"	f	file:
nexpr	./bltin/test.c	/^nexpr(n)$/;"	f	file:
next	./exec.c	/^	struct tblentry *next;	\/* next entry in hash chain *\/$/;"	m	struct:tblentry
next	./expand.c	/^	struct ifsregion *next;	\/* next region in list *\/$/;"	m	struct:ifsregion
next	./expand.h	/^	struct strlist *next;$/;"	m	struct:strlist
next	./mkinit.c	/^	struct block *next;$/;"	m	struct:block
next	./parser.c	/^	struct heredoc *next;	\/* next here document in list *\/$/;"	m	struct:heredoc
next	./redir.c	/^	struct redirtab *next;$/;"	m	struct:redirtab
next	./var.h	/^	struct localvar *next;		\/* next local variable in list *\/$/;"	m	struct:localvar
next	./var.h	/^	struct var *next;		\/* next entry in hash list *\/$/;"	m	struct:var
nextc	./input.c	/^	char *nextc;		\/* next char in buffer *\/$/;"	m	struct:parsefile
nextc	./mkinit.c	/^	char *nextc;$/;"	m	struct:text
nextc	./output.h	/^	char *nextc;$/;"	m	struct:output
nextfield	./mknodes.c	/^nextfield(buf)$/;"	f	file:
nextopt	./options.c	/^nextopt(optstring)$/;"	f
nfields	./mknodes.c	/^	int nfields;		\/* number of fields in the structure *\/$/;"	m	struct:str
nflag	./options.h	56;"	d
njobs	./jobs.c	/^int njobs;			\/* size of array *\/$/;"	v
nleft	./eval.h	/^	int nleft;		\/* number of chars in buffer *\/$/;"	m	struct:backcmd
nleft	./input.c	/^	int nleft;		\/* number of chars left in this line *\/$/;"	m	struct:parsefile
nleft	./mkinit.c	/^	int nleft;$/;"	m	struct:text
nleft	./output.h	/^	int nleft;$/;"	m	struct:output
noaliases	./parser.c	/^static int noaliases = 0;$/;"	v	file:
nodename	./mknodes.c	/^static char *nodename[MAXTYPES];	\/* names of the nodes *\/$/;"	v	file:
nodestr	./mknodes.c	/^static struct str *nodestr[MAXTYPES];	\/* type of structure used by the node *\/$/;"	v	file:
noexpand	./parser.c	/^noexpand(text)$/;"	f
nparam	./options.h	/^	int nparam;		\/* # of positional parameters (without $0) *\/$/;"	m	struct:shparam
nprocs	./jobs.h	/^	short nprocs;		\/* number of processes *\/$/;"	m	struct:job
nstr	./mknodes.c	/^static int nstr;			\/* number of structures *\/$/;"	v	file:
ntypes	./mknodes.c	/^static int ntypes;			\/* number of node types *\/$/;"	v	file:
nullstr	./mystring.c	/^char nullstr[1];		\/* zero length string *\/$/;"	v
nulonly	./expand.c	/^	int nulonly;		\/* search for nul bytes only *\/$/;"	m	struct:ifsregion
number	./mystring.c	/^number(s)$/;"	f
oexitstatus	./eval.c	/^int oexitstatus;		\/* saved exit status *\/$/;"	v
oexpr	./bltin/test.c	/^oexpr(n)$/;"	f	file:
olderf	./bltin/test.c	/^olderf (f1, f2)$/;"	f	file:
onint	./error.c	/^onint() {$/;"	f
onsig	./trap.c	/^onsig(signo)$/;"	f
onsigchild	./jobs.c	/^STATIC int onsigchild() {$/;"	f
op_num	./bltin/test.c	/^	short op_num, op_type;$/;"	m	struct:t_op
op_text	./bltin/test.c	/^	const char *op_text;$/;"	m	struct:t_op
op_type	./bltin/test.c	/^	short op_num, op_type;$/;"	m	struct:t_op
open_mem	./output.c	/^open_mem(block, length, file)$/;"	f
openhere	./redir.c	/^openhere(redir)$/;"	f
openredirect	./redir.c	/^openredirect(redir, memory)$/;"	f
ops	./bltin/test.c	/^} const ops [] = {$/;"	v
optarg	./options.c	/^char *optarg;			\/* set by nextopt (like getopt) *\/$/;"	v
optent	./options.h	/^struct optent {$/;"	s
optindval	./var.h	106;"	d
option	./miscbltin.c	/^	char	option;$/;"	m	struct:limits
options	./options.c	/^options(cmdline)$/;"	f
optlist	./options.h	/^struct optent optlist[NOPTS] = {$/;"	v
optnext	./options.h	/^	char **optnext;		\/* next parameter to be processed by getopts *\/$/;"	m	struct:shparam
optptr	./options.c	/^char *optptr;			\/* used by nextopt *\/$/;"	v
optptr	./options.h	/^	char *optptr;		\/* used by getopts *\/$/;"	m	struct:shparam
optschanged	./options.c	/^optschanged()$/;"	f
out1	./output.c	/^struct output *out1 = &output;$/;"	v
out1c	./output.h	82;"	d
out1fmt	./output.c	/^out1fmt(char *fmt, ...) {$/;"	f
out1fmt	./output.c	/^out1fmt(va_alist)$/;"	f
out1str	./output.c	/^out1str(p)$/;"	f
out2	./output.c	/^struct output *out2 = &errout;$/;"	v
out2c	./output.h	83;"	d
out2str	./output.c	/^out2str(p)$/;"	f
out_junk	./output.c	/^char out_junk[16];$/;"	v
outc	./output.h	81;"	d
outfmt	./output.c	/^outfmt(struct output *file, char *fmt, ...) {$/;"	f
outfmt	./output.c	/^outfmt(va_alist)$/;"	f
outfunc	./mknodes.c	/^outfunc(cfile, calcsize)$/;"	f	file:
output	./mkinit.c	/^output() {$/;"	f
output	./mknodes.c	/^output(file)$/;"	f	file:
output	./output.c	/^struct output output = {NULL, 0, NULL, OUTBUFSIZ, 1, 0};$/;"	v
output	./output.h	/^struct output {$/;"	s
output_type_macros	./mksyntax.c	/^output_type_macros()$/;"	f	file:
outsizes	./mknodes.c	/^outsizes(cfile)$/;"	f	file:
outstr	./output.c	/^outstr(p, file)$/;"	f
p	./options.h	/^	char **p;		\/* parameter list *\/$/;"	m	struct:shparam
padvance	./exec.c	/^padvance(path, name)$/;"	f
param	./exec.c	/^	union param param;	\/* definition of builtin function *\/$/;"	m	struct:tblentry
param	./exec.h	/^	union param {$/;"	u	struct:cmdentry
parsebackquote	./parser.c	/^int parsebackquote;		\/* nonzero if we are inside backquotes *\/$/;"	v
parsecmd	./parser.c	/^parsecmd(interact)$/;"	f
parsefield	./mknodes.c	/^parsefield()$/;"	f	file:
parsefile	./input.c	/^struct parsefile *parsefile = &basepf;	\/* current input file *\/$/;"	v
parsefile	./input.c	/^struct parsefile {$/;"	s	file:
parsefname	./parser.c	/^parsefname() {$/;"	f
parseheredoc	./parser.c	/^parseheredoc() {$/;"	f
parsekwd	./token.h	/^char *const parsekwd[] = {$/;"	v
parselleft	./input.c	/^MKINIT int parselleft;		\/* copy of parsefile->lleft *\/$/;"	v
parsenextc	./input.c	/^char *parsenextc;		\/* copy of parsefile->nextc *\/$/;"	v
parsenleft	./input.c	/^MKINIT int parsenleft;		\/* copy of parsefile->nleft *\/$/;"	v
parsenode	./mknodes.c	/^parsenode()$/;"	f	file:
pathopt	./exec.c	/^char *pathopt;$/;"	v
pathval	./var.h	100;"	d
patmatch	./expand.c	/^patmatch(pattern, string, squoted)$/;"	f
peektoken	./parser.c	/^peektoken() {$/;"	f
pendingsigs	./trap.c	/^int pendingsigs;		\/* indicates some signal received *\/$/;"	v
pfgets	./input.c	/^pfgets(line, len)$/;"	f
pgetc	./input.c	/^pgetc()$/;"	f
pgetc_macro	./input.h	65;"	d
pgrp	./jobs.h	/^	short pgrp;		\/* process group of this job *\/$/;"	m	struct:job
pid	./jobs.h	/^	pid_t pid;		\/* process id *\/$/;"	m	struct:procstat
pipeline	./parser.c	/^pipeline() {$/;"	f
plinno	./input.c	/^int plinno = 1;			\/* input line number *\/$/;"	v
pmatch	./expand.c	/^pmatch(pattern, string, squoted)$/;"	f
pointer	./shell.h	/^typedef char *pointer;$/;"	t
pointer	./shell.h	/^typedef void *pointer;$/;"	t
popallfiles	./input.c	/^popallfiles() {$/;"	f
popfile	./input.c	/^popfile() {$/;"	f
poplocalvars	./var.c	/^poplocalvars() {$/;"	f
popredir	./redir.c	/^popredir() {$/;"	f
popstackmark	./memalloc.c	/^popstackmark(mark)$/;"	f
popstring	./input.c	/^popstring()$/;"	f
preadbuffer	./input.c	/^preadbuffer()$/;"	f
preadfd	./input.c	/^preadfd()$/;"	f	file:
prefix	./mystring.c	/^prefix(pfx, string)$/;"	f
prehash	./eval.c	/^prehash(n)$/;"	f
prev	./input.c	/^	struct parsefile *prev;	\/* preceding file on stack *\/$/;"	m	struct:parsefile
prev	./input.c	/^	struct strpush *prev;	\/* preceding string on stack *\/$/;"	m	struct:strpush
prev	./memalloc.c	/^	struct stack_block *prev;$/;"	m	struct:stack_block
prevdir	./cd.c	/^char *prevdir;			\/* previous working directory *\/$/;"	v
prevlleft	./input.c	/^	int prevlleft;$/;"	m	struct:strpush
prevnleft	./input.c	/^	int prevnleft;$/;"	m	struct:strpush
prevstring	./input.c	/^	char *prevstring;$/;"	m	struct:strpush
primary	./bltin/test.c	/^primary(n)$/;"	f	file:
print	./mksyntax.c	/^print(name)$/;"	f	file:
printentry	./exec.c	/^printentry(cmdp, verbose)$/;"	f
printf	./bltin/bltin.h	54;"	d
printsignals	./trap.c	/^printsignals()$/;"	f	file:
privileged	./options.h	66;"	d
procargs	./options.c	/^procargs(argc, argv)$/;"	f
procstat	./jobs.h	/^struct procstat {$/;"	s
profile_buf	./main.c	/^short profile_buf[16384];$/;"	v
ps	./jobs.h	/^	struct procstat *ps;	\/* status or processes when more than one *\/$/;"	m	struct:job
ps0	./jobs.h	/^	struct procstat ps0;	\/* status of process *\/$/;"	m	struct:job
ps1val	./var.h	101;"	d
ps2val	./var.h	102;"	d
pungetc	./input.c	/^pungetc() {$/;"	f
pushfile	./input.c	/^pushfile() {$/;"	f
pushstring	./input.c	/^pushstring(s, len, ap)$/;"	f
putc	./bltin/bltin.h	55;"	d
putc	./bltin/bltin.h	56;"	d
putchar	./bltin/bltin.h	57;"	d
putchar	./bltin/bltin.h	58;"	d
pwdcmd	./cd.c	/^pwdcmd(argc, argv)$/;"	f
quad_t	./shell.h	/^typedef long long quad_t;$/;"	t
quoteflag	./parser.c	/^int quoteflag;			\/* set if (part of) last token was quoted *\/$/;"	v
rcsid	./cd.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./error.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./eval.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./exec.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./expand.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./input.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./jobs.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./main.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./memalloc.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./miscbltin.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./mystring.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./options.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./output.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./parser.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./redir.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./setmode.c	/^static char rcsid[] = "$NetBSD: setmode.c,v 1.15 1997\/02\/07 22:21:06 christos Exp $";$/;"	v	file:
rcsid	./trap.c	/^static const char rcsid[] =$/;"	v	file:
rcsid	./var.c	/^static const char rcsid[] =$/;"	v	file:
read_profile	./main.c	/^read_profile(name)$/;"	f
readcmd	./miscbltin.c	/^readcmd(argc, argv)$/;"	f
readcmdfile	./main.c	/^readcmdfile(name)$/;"	f
readfile	./mkinit.c	/^readfile(fname)$/;"	f
readline	./mknodes.c	/^readline()$/;"	f	file:
readtoken	./parser.c	/^readtoken() {$/;"	f
readtoken1	./parser.c	/^readtoken1(firstc, syntax, eofmark, striptabs)$/;"	f
recordregion	./expand.c	/^recordregion(start, end, nulonly)$/;"	f
redirect	./redir.c	/^redirect(redir, flags)$/;"	f
redirlist	./redir.c	/^MKINIT struct redirtab *redirlist;$/;"	v
redirnode	./parser.c	/^union node *redirnode;$/;"	v
redirtab	./redir.c	/^struct redirtab {$/;"	s	file:
rehash	./exec.c	/^	char rehash;		\/* if set, cd done since entry created *\/$/;"	m	struct:tblentry
removerecordregions	./expand.c	/^removerecordregions(endoff)$/;"	f
renamed	./redir.c	/^	short renamed[10];$/;"	m	struct:redirtab
reset	./mkinit.c	/^char reset[] = "\\$/;"	v
reset	./options.h	/^	unsigned char reset;	\/* if getopts has been reset *\/$/;"	m	struct:shparam
restartjob	./jobs.c	/^restartjob(jp)$/;"	f
returncmd	./eval.c	/^returncmd(argc, argv)$/;"	f
rmescapes	./expand.c	/^rmescapes(str)$/;"	f
rootpid	./main.c	/^int rootpid;$/;"	v
rootshell	./main.c	/^int rootshell;$/;"	v
routine	./mkinit.c	/^	char *routine;		\/* name of routine called on event *\/$/;"	m	struct:event
savestr	./memalloc.c	/^savestr(s)$/;"	f
savestr	./mkinit.c	/^savestr(s)$/;"	f
savestr	./mknodes.c	/^savestr(s)$/;"	f	file:
scopy	./mystring.h	48;"	d
scopyn	./mystring.c	/^scopyn(from, to, size)$/;"	f
setcmd	./options.c	/^setcmd(argc, argv)$/;"	f
setinputfd	./input.c	/^setinputfd(fd, push)$/;"	f
setinputfile	./input.c	/^setinputfile(fname, push)$/;"	f
setinputstring	./input.c	/^setinputstring(string, push)$/;"	f
setinteractive	./trap.c	/^setinteractive(on)$/;"	f
setjmp	./error.h	106;"	d
setjobctl	./jobs.c	/^setjobctl(on)$/;"	f
setjobctl	./jobs.h	100;"	d
setoption	./options.c	/^setoption(flag, val)$/;"	f
setparam	./options.c	/^setparam(argv)$/;"	f
setprompt	./parser.c	/^setprompt(which)$/;"	f
setsignal	./trap.c	/^setsignal(signo)$/;"	f
setstackmark	./memalloc.c	/^setstackmark(mark)$/;"	f
setvar	./var.c	/^setvar(name, val, flags)$/;"	f
setvarcmd	./var.c	/^setvarcmd(argc, argv)$/;"	f
setvareq	./var.c	/^setvareq(s, flags)$/;"	f
setvarsafe	./var.c	/^setvarsafe(name, val, flags)$/;"	f
sflag	./options.h	57;"	d
shellexec	./exec.c	/^shellexec(argv, envp, path, index)$/;"	f
shellparam	./options.c	/^struct shparam shellparam;	\/* current positional parameters *\/$/;"	v
shellproc	./mkinit.c	/^char shellproc[] = "\\$/;"	v
shiftcmd	./options.c	/^shiftcmd(argc, argv)$/;"	f
showjobs	./jobs.c	/^showjobs(change)$/;"	f
showvarscmd	./var.c	/^showvarscmd(argc, argv)$/;"	f
shparam	./options.h	/^struct shparam {$/;"	s
shprocvar	./var.c	/^shprocvar() {$/;"	f
sig_t	./shell.h	61;"	d
sigmode	./trap.c	/^MKINIT char sigmode[NSIG];	\/* current value of signal *\/$/;"	v
sigstring_to_signum	./trap.c	/^sigstring_to_signum(sig)$/;"	f	file:
simplecmd	./parser.c	/^simplecmd(rpp, redir)$/;"	f
size	./mksyntax.c	/^static int size;	\/* number of values which a char variable can have *\/$/;"	v	file:
skipbl	./mknodes.c	/^skipbl()$/;"	f	file:
skipcount	./eval.c	/^STATIC int skipcount;		\/* number of levels to skip *\/$/;"	v
space	./memalloc.c	/^	char space[MINSIZE];$/;"	m	struct:stack_block
sstrnleft	./memalloc.c	/^int sstrnleft;$/;"	v
stack_block	./memalloc.c	/^struct stack_block {$/;"	s	file:
stackbase	./memalloc.c	/^struct stack_block stackbase;$/;"	v
stackblock	./memalloc.h	67;"	d
stackblocksize	./memalloc.h	68;"	d
stackmark	./memalloc.h	/^struct stackmark {$/;"	s
stacknleft	./memalloc.c	/^int stacknleft = MINSIZE;$/;"	v
stacknleft	./memalloc.h	/^	int stacknleft;$/;"	m	struct:stackmark
stacknxt	./memalloc.c	/^char *stacknxt = stackbase.space;$/;"	v
stacknxt	./memalloc.h	/^	char *stacknxt;$/;"	m	struct:stackmark
stackp	./memalloc.c	/^struct stack_block *stackp = &stackbase;$/;"	v
stackp	./memalloc.h	/^	struct stack_block *stackp;$/;"	m	struct:stackmark
stalloc	./memalloc.c	/^stalloc(nbytes)$/;"	f
start	./mkinit.c	/^	struct block *start;$/;"	m	struct:text
startlinno	./parser.c	/^int startlinno;			\/* line # where last token started *\/$/;"	v
state	./jobs.h	/^	char state;		\/* true if job is finished *\/$/;"	m	struct:job
status	./jobs.h	/^	int status;		\/* status flags (defined above) *\/$/;"	m	struct:procstat
stderr	./bltin/bltin.h	52;"	d
stderr	./bltin/bltin.h	53;"	d
stdout	./bltin/bltin.h	50;"	d
stdout	./bltin/bltin.h	51;"	d
stoppedjobs	./jobs.c	/^stoppedjobs()$/;"	f
str	./mknodes.c	/^static struct str str[MAXTYPES];	\/* the structures *\/$/;"	v	file:
str	./mknodes.c	/^struct str {			\/* struct representing a node structure *\/$/;"	s	file:
striptabs	./parser.c	/^	int striptabs;		\/* if set, strip leading tabs *\/$/;"	m	struct:heredoc
strlist	./expand.h	/^struct strlist {$/;"	s
strpush	./input.c	/^	struct strpush *strpush; \/* for pushing strings at this level *\/$/;"	m	struct:parsefile
strpush	./input.c	/^struct strpush {$/;"	s	file:
stunalloc	./memalloc.c	/^stunalloc(p)$/;"	f
subevalvar	./expand.c	/^subevalvar(p, str, strloc, subtype, startloc, varflags)$/;"	f
suppressint	./error.c	/^volatile sig_atomic_t suppressint;$/;"	v
synclass	./mksyntax.c	/^struct synclass synclass[] = {$/;"	v
synclass	./mksyntax.c	/^struct synclass {$/;"	s	file:
synerror	./parser.c	/^synerror(msg)$/;"	f
synexpect	./parser.c	/^synexpect(token)$/;"	f
syntax	./bltin/test.c	/^syntax(op, msg)$/;"	f	file:
syntax	./mksyntax.c	/^static char *syntax[513];$/;"	v	file:
t_lex	./bltin/test.c	/^t_lex(s)$/;"	f	file:
t_op	./bltin/test.c	/^struct t_op {$/;"	s	file:
t_wp	./bltin/test.c	/^char **t_wp;$/;"	v
t_wp_op	./bltin/test.c	/^struct t_op const *t_wp_op;$/;"	v
tag	./mknodes.c	/^	char *tag;		\/* structure tag *\/$/;"	m	struct:str
tblentry	./exec.c	/^struct tblentry {$/;"	s	file:
termval	./var.h	104;"	d
text	./expand.h	/^	char *text;$/;"	m	struct:strlist
text	./mkinit.c	/^	char text[BLOCKSIZE];$/;"	m	struct:block
text	./mkinit.c	/^struct text {$/;"	s	file:
text	./var.c	/^	char *text;$/;"	m	struct:varinit
text	./var.h	/^	char *text;			\/* name=value *\/$/;"	m	struct:var
text	./var.h	/^	char *text;			\/* saved text *\/$/;"	m	struct:localvar
token	./bltin/test.c	/^enum token {$/;"	g	file:
token_types	./bltin/test.c	/^enum token_types {$/;"	g	file:
tokendlist	./token.h	/^const char tokendlist[] = {$/;"	v
tokname	./token.h	/^char *const tokname[] = {$/;"	v
tokpushback	./parser.c	/^MKINIT int tokpushback;		\/* last token pushed back *\/$/;"	v
trap	./trap.c	/^static char *volatile trap[NSIG];	\/* trap handler commands *\/$/;"	v	file:
trapcmd	./trap.c	/^trapcmd(argc, argv)$/;"	f
truecmd	./eval.c	/^truecmd(argc, argv)$/;"	f
tryexec	./exec.c	/^tryexec(cmd, argv, envp)$/;"	f
type	./mknodes.c	/^	int type;			\/* type of field *\/$/;"	m	struct:field
typecmd	./exec.c	/^typecmd(argc, argv)$/;"	f
types	./parser.c	/^static const char types[] = "}-+?=";$/;"	v	file:
u	./exec.h	/^	} u;$/;"	m	struct:cmdentry
u_quad_t	./shell.h	/^typedef unsigned long long u_quad_t;$/;"	t
uflag	./options.h	65;"	d
ulimitcmd	./miscbltin.c	/^ulimitcmd(argc, argv)$/;"	f
umaskcmd	./miscbltin.c	/^umaskcmd(argc, argv)$/;"	f
ungrabstackstr	./memalloc.c	/^ungrabstackstr(s, p)$/;"	f
units	./miscbltin.c	/^	const char *units;$/;"	m	struct:limits
unsetcmd	./var.c	/^unsetcmd(argc, argv)$/;"	f
unsetfunc	./exec.c	/^unsetfunc(name)$/;"	f
unsetvar	./var.c	/^unsetvar(s)$/;"	f
updatepwd	./cd.c	/^updatepwd(dir)$/;"	f
used	./jobs.h	/^	char used;		\/* true if this entry is in used *\/$/;"	m	struct:job
val	./options.h	/^	char val;$/;"	m	struct:optent
var	./var.c	/^	struct var *var;$/;"	m	struct:varinit
var	./var.h	/^struct var {$/;"	s
varequal	./var.c	/^varequal(p, q)$/;"	f
varinit	./var.c	/^const struct varinit varinit[] = {$/;"	v
varinit	./var.c	/^struct varinit {$/;"	s	file:
varisset	./expand.c	/^varisset(name, nulok)$/;"	f
vartab	./var.c	/^struct var *vartab[VTABSIZE];$/;"	v
varvalue	./expand.c	/^varvalue(name, quoted, allow_split)$/;"	f
vatty	./var.c	/^struct var vatty;$/;"	v
vflag	./options.h	59;"	d
vhistsize	./var.c	/^struct var vhistsize;$/;"	v
vifs	./var.c	/^struct var vifs;$/;"	v
vmail	./var.c	/^struct var vmail;$/;"	v
vmpath	./var.c	/^struct var vmpath;$/;"	v
voptind	./var.c	/^struct var voptind;$/;"	v
vp	./var.h	/^	struct var *vp;			\/* the variable that was made local *\/$/;"	m	struct:localvar
vpath	./var.c	/^struct var vpath;$/;"	v
vps1	./var.c	/^struct var vps1;$/;"	v
vps2	./var.c	/^struct var vps2;$/;"	v
vterm	./var.c	/^struct var vterm;$/;"	v
vvers	./var.c	/^struct var vvers;$/;"	v
waitcmd	./jobs.c	/^waitcmd(argc, argv)$/;"	f
waitforjob	./jobs.c	/^waitforjob(jp, origstatus)$/;"	f
waitproc	./jobs.c	/^waitproc(block, status)$/;"	f
warnx1	./bltin/bltin.h	63;"	d
warnx2	./bltin/bltin.h	68;"	d
warnx3	./bltin/bltin.h	73;"	d
whichprompt	./input.c	/^int whichprompt;		\/* 1 == PS1, 2 == PS2 *\/$/;"	v
wordtext	./parser.c	/^char *wordtext;			\/* text of last word returned by readtoken *\/$/;"	v
writer	./mkinit.c	/^char writer[] = "\\$/;"	v
writer	./mknodes.c	/^char writer[] = "\\$/;"	v
writer	./mksyntax.c	/^static char writer[] = "\\$/;"	v	file:
writetext	./mkinit.c	/^writetext(text, fp)$/;"	f
xflag	./options.h	58;"	d
xwrite	./output.c	/^xwrite(fd, buf, nbytes)$/;"	f
xwrite	./shell.h	62;"	d
xxreadtoken	./parser.c	/^xxreadtoken() {$/;"	f
