\documentclass[]{article}
\usepackage{amsmath,graphicx,supertabular,hyperref,tabularx,ifthen}
\title{TIP \#330: Eliminate interp-\tiprangle{}result from the Public Headers}
\date{September 22, 2008}
\author{Kevin B. Kenny}
\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 \#330}&\textbf{Eliminate interp-\tiprangle{}result from the Public Headers}\\\hline
Author&

Kevin B. Kenny \tipmail{kennykb}{acm.org}
\\
Created&Monday, \(\text{22}^{\text{nd}}\) September 2008\\
Type&Project\\
Tcl Version&\(8.6\)\\
State&Final\\
Vote&Done\\
Version&\tipversion$Revision: 1.5 $\\
Post History&\\
\hline\end{tabularx}\end{center}
\thispagestyle{empty}\pagestyle{empty}
\begin{tipabstract}

This TIP proposes to eliminate the long-deprecated \textit{interp}-\tiprangle{}\textit{result} field from the public headers.
\end{tipabstract}
\tableofcontents\setcounter{page}{0}\clearpage\pagestyle{plain}

\section{Proposal}

The include file \textit{tcl.h} is to be modified so that the \textit{result} field of the \textit{Tcl\_Interp} data structure will be renamed to \textit{unused1} unless a preprocessor symbol, \textbf{USE\_INTERP\_RESULT} is defined.

Note that this change leaves the \textit{result} field in the internal \textit{Interp} data structure untouched, and all the code that manipulates it will still be there. Stubs compatiblity is thus preserved for extensions that compile against an 8.5 or earlier code base, and full source-level compatibility is available with the appropriate preprocessor definition.

\section{Rationale}

The \textit{result} field in this structure has been deprecated for a decade now, and yet extensions that use it still turn up. Extension writers need to be put on sterner notice that it \textit{will} disappear as soon as Tcl 9.0 development is open.

\section{Copyright}

Copyright (c) 2008 by Kevin B. Kenny.

This document may be distributed subject to the terms and conditions set forth in the Open Publication License, version 1.0 [\url{http://www.opencontent.org/openpub/}].

\section{Colophon}

\textit{TIP AutoGenerator --- written by Donal K. Fellows}
\end{document}
