TIP 662: Un-deprecate Tcl_VarEval

Author:         Don Porter <[email protected]>
State:          Final
Type:           Project
Vote:           Done
Created:        26-Apr-2023
Tcl-Version:    9.0
Tcl-branch:     tip-662
Vote-Summary:	Accepted 5/0/0
Votes-For:	AK, BG, DGP, JN, SL
Votes-Against:	none
Votes-Present:	none


This TIP proposes removal of deprecated status from public routine Tcl_VarEval.


Since the release of Tcl 8.1, the documentation of Tcl_VarEval has included the sentence:

Tcl_VarEval is now deprecated.

This deprecation arose in the context of ending public access to the result field of the Tcl_Interp struct. The documentation of Tcl_VarEval at the time described the way it would manipulate that field of the interpreter. It must have seemed natural to think both items needed to disappear together.

On the trunk of Tcl development, Tcl_VarEval is still described as deprecated, but the documentation of its function has been revised to stop speaking of access to forbidden fields of a struct. It is described completely functionally, and that function has utility in the right circumstances.

There does not appear to be any compelling need to remove Tcl_VarEval from the public interface. Indeed when a sweeping effort to complete deprecations of public routines was undertaken in TIP 485, that routine was not included.


Remove classification of Tcl_VarEval as deprecated in the documentation and anywhere else.


No issues.


This document has been placed in the public domain.