TIP 692: Revise Tcl_GetAliasObj, remove Tcl_GetAlias()

Login
Author:		Jan Nijtmans <[email protected]>
State:		Final
Type:		Project
Vote:		Done
Created:	21-03-2024
Tcl-Version:	9.0
Tcl-Branch:	tip-692
Vote-Summary:   Accepted 6/0/0
Votes-For:      AK, FV, JN, MC, KW, SL
Votes-Against:  None
Votes-Present:  None

Abstract

Tcl_GetAliasObj and Tcl_GetAlias() are two functions doing the same job but with a slightly different interface. No known extension uses Tcl_GetAlias(), while Tcl_GetAliasObj() was never extended to Tcl 9's 64-bit environment. This TIP is meant to remedy that.

Rationale

Let's complete the 64-bit transition for Tcl_GetAliasObj()

For Tcl_GetAlias() it would be possible to do the same. But this function is not used anywhere in Tcl, and there is no known extension using it.

Specification

Revise Tcl_GetAliasObj() such that it's argcPtr parameter changes from type "int *" to "Tcl_Size *". Remove Tcl_GetAlias() in Tcl 9.0 (deprecating it in Tcl 8.6/8.7).

When an extension is compiled with -DTCL_8_API, Tcl_GetAliasObj() will be usable with both "int *" as "Tcl_Size *" parameter, the same way as the other functions mentioned in TIP #616.

Implementation

Implementation is in TCL branch "tip-692".

Copyright

This document has been placed in the public domain.