685.md at trunk

Login

File tip/685.md artifact 6cd2c7b35b part of check-in trunk


# TIP 685: rename "string is unicode" to "string is transferable"
	Author:        Harald Oehlmann
	State:         Final
	Type:          Project
	Vote:          Done
	Created:       10-01-2024
	Tcl-Version:   8.7
	Tcl-Branch:    tip-685
	Vote-Summary:  4 / 2 / 0
	Votes-For:     BG, KW, MC, SL
	Votes-Against: DP, JN
	Votes-Present: none
	Obsoleted-By:  652
-----

# Abstract

This TIP proposes to rename "string is unicode" to "string is transferable".

# Background

[TIP 597](https://core.tcl-lang.org/tips/doc/trunk/tip/597.md) introduced "string is unicode". Please refer to this TIP for a description.
[TIP 652](https://core.tcl-lang.org/tips/doc/trunk/tip/652.md) proposes to remove this class from the "string is" command.

On a core list discussion, it was expressed:

   *   "string is unicode" may have value
   *   the class name "unicode" is miss-leading.
   *   the more appropriate class name "transferable" was proposed.
   *   a more generic command to get the list of all unicode character classes included in a string may superseed this command.
   *   the use of the ICU library may be the next step for those tasks.

# Rationale

The current class name "unicode" is seen as miss-leading, see [TIP 652](https://core.tcl-lang.org/tips/doc/trunk/tip/652.md).

The name "transferable" suggests, that the string is tested to be ready for a transfer to an external
resource like a file or data base.

It is proposed, that this TIP is voted together with [TIP 652](https://core.tcl-lang.org/tips/doc/trunk/tip/652.md).

# Specification

Rename:

<pre>
string is unicode ?-strict? data
</pre>

to 

<pre>
string is transferable ?-strict? data
</pre>

If [TIP 652](https://core.tcl-lang.org/tips/doc/trunk/tip/652.md) is accepted, this TIP is automatically widthdrawn.

Rename the directly connected C API function
<pre>
Tcl_UniCharIsUnicode
</pre>

to 

<pre>
Tcl_UniCharIsTransferable
</pre>

The manual page adds a phrase like:
"The purpose is to test a string to be transfered to an external resource."

# Implementation

The implementation of this TIP is in the Tcl [tip-685](https://core.tcl-lang.org/tcl/timeline?r=tip-685) branch.

# Copyright

This document has been placed in the public domain.