\documentclass[]{article}
\usepackage{amsmath,graphicx,supertabular,hyperref,tabularx,ifthen}
\title{TIP \#81: [incr Tcl] Functional Areas for Maintainer Assignments}
\date{January 07, 2002}
\author{Donal K. Fellows}
\urlstyle{sf}
\setlength{\parskip}{1ex}
\setlength{\parindent}{0pt}
\def\tipversion$#1${\texttt{\$#1\$}}
\def\tiplangle#1{\ensuremath{<}}
\def\tiprangle#1{\ensuremath{>}}
\def\tipbar#1{\ensuremath{|}}
\def\tipmail#1#2{\(\langle\){\small\expandafter\url{#1@#2}}\(\rangle\)}
\ifx\pdfoutput\undefined
\newcommand{\tipimage}[2]{\typeout{Make sure you download #1.eps}\ifthenelse{\lengthtest{0.8\textwidth>#2}\and\lengthtest{0pt<#2}}{\includegraphics{#1.eps}}{\includegraphics[width=0.8\textwidth]{#1.eps}}}
\newcommand{\tipxref}[1]{}
\newcommand{\tipxrefend}{}
\else
\newcommand{\tipimage}[2]{\typeout{Make sure you create #1.pdf}\ifthenelse{\lengthtest{0.8\textwidth>#2}\and\lengthtest{0pt<#2}}{\includegraphics{#1.pdf}}{\includegraphics[width=0.8\textwidth]{#1.pdf}}}
\pdfcatalog{/PageMode /UseOutlines}
\newcommand{\tipxref}[1]{\pdfannotlink attr {/C [0.5 0.5 1.0] /Border [0 0 1]} goto name {#1}}
\newcommand{\tipxrefend}{\pdfendlink}
\fi
\newenvironment{tipabstract}{\begin{abstract}}{\end{abstract}}
\begin{document}\maketitle
\begin{center}\begin{tabularx}{\linewidth}{|r@{: }X|}\hline
\textbf{TIP \#81}&\textbf{[incr Tcl] Functional Areas for Maintainer Assignments}\\\hline
Author&

Donal K. Fellows \tipmail{fellowsd}{cs.man.ac.uk}
\\
Created&Monday, \(\text{7}^{\text{th}}\) January 2002\\
Type&Process\\
State&Withdrawn\\
Vote&Pending\\
Version&\tipversion$Revision: 1.7 $\\
Post History&\\
\hline\end{tabularx}\end{center}
\thispagestyle{empty}\pagestyle{empty}
\begin{tipabstract}

This document proposes a division of [incr Tcl]'s source code into functional areas so that each area may be assigned to one or more maintainers.
\end{tipabstract}
\tableofcontents\setcounter{page}{0}\clearpage\pagestyle{plain}

\section{Background}

In order for [incr Tcl] to be adopted by the Tcl Core Team (see \cite{tip50}), it must be managed by the processes already established for handling source (see \cite{tip0} and \cite{tip16} for details and rationale.)

\section{Functional Areas}

[incr Tcl] shall be divided into the following 8 functional units (the seventh is the obsolete parts of the source tree, and the eighth is the shared part of the source tree), each to be assigned one or more maintainers:
\begin{enumerate}
\item{}
\textit{Objects} --- generic/itcl\_bicmds.c, generic/itcl\_class.c, generic/itcl\_methods.c, generic/itcl\_objects.c, generic/itcl\_parse.c, doc/body.n, doc/class.n, doc/configbody.n, tests/basic.test, tests/body.test, tests/info.test, tests/inherit.test, tests/interp.test, tests/methods.test, tests/protection.test,
\setcounter{enumi}{1}
\item{}
\textit{Other Commands} --- generic/itcl\_cmds.c, generic/itcl\_ensemble.c, doc/code.n, doc/delete.n, doc/ensemble.n, doc/find.n, doc/local.n, doc/scope.n, tests/chain.test, tests/delete.test, tests/ensemble.test, tests/import.test, tests/local.test, tests/namespace.test, tests/scope.test
\setcounter{enumi}{2}
\item{}
\textit{Mac Build+Support} --- mac/tclMacAppInit.c, mac/MW\_ItclHeader.pch, mac/pkgIndex.tcl, mac/itclMacApplication.r, mac/itclMacLibrary.r, mac/itclMacResource.r, mac/itclMacTclCode.r, mac/itclStaticApplication.r
\setcounter{enumi}{3}
\item{}
\textit{Unix Build+Support} --- unix/tclAppInit.c, configure.in \textit{(to move to unix/configure.in)}, aclocal.m4 \textit{(to move to unix/aclocal.m4 and gain pieces the poorly-named Itcl tcl.m4)}, Makefile.in \textit{(to move to unix/Makefile.in)}, itclConfig.sh.in \textit{(to move to unix/itclConfig.sh.in)}, pkgIndex.tcl.in \textit{(to move to unix/pkgIndex.tcl.in)}
\setcounter{enumi}{4}
\item{}
\textit{Windows Build+Support} --- win/dllEntryPoint.c, win/makefile.bc, win/makefile.vc, win/rc/itcl.rc
\setcounter{enumi}{5}
\item{}
\textit{Other} --- generic/itcl\_util.c, generic/itcl\_linkage.c, doc/itclsh.1, library/itcl.tcl, tests/mkindex.itcl, tests/mkindex.test, tests/tclIndex
\end{enumerate}

\section{Obsolete Files}

These files are all obsolete in one way or another, and will be removed as part of the migration process. They are listed here for completeness only.
\begin{itemize}
\item{}
generic/itcl\_obsolete.c, generic/itcl\_migrate.c, doc/man.macros, doc/itcl\_class.n, doc/itcl\_info.n tests/defs, tests/old/AAA.test, tests/old/Bar.tcl, tests/old/BarFoo.tcl, tests/old/Baz.tcl, tests/old/Foo.tcl, tests/old/FooBar.tcl, tests/old/Geek.tcl, tests/old/Mongrel.tcl, tests/old/VirtualErr.tcl, tests/old/all, tests/old/basic.test, tests/old/inherit.test, tests/old/tclIndex, tests/old/testlib.tcl, tests/old/toaster.test, tests/old/uplevel.test, tests/old/upvar.test, tests/old/toasters/Appliance.tcl, tests/old/toasters/Hazard.tcl, tests/old/toasters/Outlet.tcl, tests/old/toasters/SmartToaster.tcl, tests/old/toasters/Toaster.tcl, tests/old/toasters/tclIndex, tests/old/toasters/usualway.tcl
\end{itemize}

\section{Shared Files}

The following files are shared by all of [incr Tcl]. Any maintainer may modify them as necessary to complete changes they are making to their portion of [incr Tcl]. Some of the following files define [incr Tcl]'s API and should be changed only in accordance with TCT approval.
\begin{itemize}
\item{}
generic/itcl.h, generic/itclInt.h, generic/itcl.decls, generic/itclInt.decls, doc/itcl.n, doc/itclvars.n, tests/all, tests/all.tcl
\end{itemize}

\section{Generated Files}

The following files are generated, so they don't need maintainers.
\begin{itemize}
\item{}
generic/itclDecls.h, generic/itclIntDecls.h, generic/itclStubInit.c, generic/itclStubLib.c, configure \textit{(moves to unix/configure, trailing configure.in)}
\end{itemize}

\section{Copyright}

This document has been placed in the public domain.

\section{Colophon}

\textit{TIP AutoGenerator --- written by Donal K. Fellows}
\begin{thebibliography}{TIP \#3}
\addcontentsline{toc}{section}{References}
\bibitem[TIP \#0]{tip0}
John Ousterhout,
\emph{Tcl Core Team Basic Rules},
on-line at \url{http://purl.org/tcl/tip/0.html}
\bibitem[TIP \#16]{tip16}
Don Porter,
Daniel Steffen,
\emph{Tcl Functional Areas for Maintainer Assignments},
on-line at \url{http://purl.org/tcl/tip/16.html}
\bibitem[TIP \#50]{tip50}
Kevin Kenny,
Mark Harrison,
Jeff Hobbs,
Andreas Kupries,
Karl Lehenbauer,
Michael McLennan,
Don Porter,
Brent Welch,
\emph{Bundle [incr Tcl] with the Core Tcl distribution},
on-line at \url{http://purl.org/tcl/tip/50.html}
\end{thebibliography}
\end{document}
