TIP 330: Eliminate interp->result from the Public Headers

Login
Author:		Kevin B. Kenny <[email protected]>
State:		Final
Type:		Project
Vote:		Done
Created:	22-Sep-2008
Post-History:
Tcl-Version:	8.6
Tcl-Branch:     tip-330-336

Abstract

This TIP proposes to eliminate the long-deprecated interp->result field from the public headers.

Proposal

The include file tcl.h is to be modified so that the result field of the Tcl_Interp data structure will be renamed to unused1 unless a preprocessor symbol, USE_INTERP_RESULT is defined.

Note that this change leaves the result field in the internal 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.

Rationale

The 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 will disappear as soon as Tcl 9.0 development is open.

Copyright

Copyright © 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 http://www.opencontent.org/openpub/ .