Check-in [4409db70bf]

Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:New TIP 503: End Tcl 8.3 Source Compatibility Support
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 4409db70bfe19300f987b742e3d0d76db2d887fc635ec9875cfc66f3939877ae
User & Date: dgp 2018-03-05 19:24:09
Context
2018-03-05
19:27
formatting check-in: 2010e9a1db user: dgp tags: trunk
19:24
New TIP 503: End Tcl 8.3 Source Compatibility Support check-in: 4409db70bf user: dgp tags: trunk
17:10
Merged TIP 351 implementation to core-8-branch --> Final. check-in: 5316bb2fef user: dgp tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to index.json.

cannot compute difference between binary files

Changes to index.md.

66
67
68
69
70
71
72







73
74
75
76
77
78
79
<th>#</th>
<th>Type</th>
<th>Tcl Version</th>
<th>Status</th>
<th>Title</th>
</tr></thead><tbody>








<tr class='project projectdraft projectdraft87 project87'>
<td valign='top'><a href='./tip/502.md'>502</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top'># TIP 502: Index Value Reform</td>
</tr>






>
>
>
>
>
>
>







66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<th>#</th>
<th>Type</th>
<th>Tcl Version</th>
<th>Status</th>
<th>Title</th>
</tr></thead><tbody>

<tr class='project projectdraft projectdraft87 project87'>
<td valign='top'><a href='./tip/503.md'>503</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top'># TIP 503: End Tcl 8.3 Source Compatibility Support</td>
</tr>
<tr class='project projectdraft projectdraft87 project87'>
<td valign='top'><a href='./tip/502.md'>502</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top'># TIP 502: Index Value Reform</td>
</tr>

Added tip/503.md.












































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# TIP 503: End Tcl 8.3 Source Compatibility Support
	Author:         Don Porter <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           Pending
	Created:        05-Feb-2018
	Post-History:   
	Tcl-Version:	8.7
-----

# Abstract

Stop supporting source compatibility with pre-8.4 Tcl.

# Background

Long ago, we revised the signatures of many public Tcl routines
to better serve the cause of const-correctness. [[27]](27.md).
These revisions created a source incompatibility with existing
extensions and applications using Tcl, so at the same time a
set of compiler directives were created to allow opting for
the pre-8.4 signatures in place of the 8.4 signatures.  These
were always intended as a support for migration, not a permanent
feature.  See [[the wiki]](https://wiki.tcl-lang.org/3669) for
much more detail.

When originally put in place, these directives were a positive support
to make possible orderly migration from one source interface to
another.  Today, these directives are a negative feature that enable
code to stay stubbornly behind the times for no value. It's difficult
to believe that compatibility with Tcl 8.3 header files is still of
vital importance to anyone.

# Proposal

Remove all directives that support source compatibility with pre-8.4
versions of Tcl. This includes **NO_CONST**, **USE_NON_CONST**,
**USE_COMPAT_CONST**, **CONST84**, **CONST84_RETURN**.

# Compatibility

Any code that has not migrated to the Tcl 8.4 interface will
need to do so to work with Tcl 8.7.

# Implementation

Much of this has already been committed to the core-8-branch as
part of the implementation of [[485]](485.md).  The last additional
bit is in the tip-503 branch.

# Copyright

This document has been placed in the public domain.