TIP 666: Change ptrdiff → Tcl_Size in Tcl 8.7

Login
Bounty program for improvements to Tcl and certain Tcl packages.
Author:		Jan Nijtmans <[email protected]>
State:		Draft
Type:		Project
Vote:		Pending
Created:	03-05-2023
Tcl-Version:	8.7
Tcl-Branch:	tip-666

Abstract

The TIPs 627 and 630 prepared the Tcl 8.7 (and 9.0) API to be able to use more than 2**31 arguments in all commands, even though that wasn't possible internally yet. This TIP proposes to use Tcl_Size in stead of ptrdiff_t for all functions mentioned in those 2 TIP's

Implementation

Implementation is in Tcl branch "tip-666" for Tcl 8.7.

Part of the implementation for Tcl 9.0 is already committed to trunk, ignoring the requirement that Tcl 9.0 should be as much as possible source-compatible 8.7.

Compatibility

This change is 100% upwards compatible for 9.0, but not for 8.7. It will no longer be possible to use ptrdiff_t for the functions mentioned in TIP #627 and TIP #630, extensions will have to use Tcl_Size in stead.

Copyright

This document has been placed in the public domain.