TIP 569: Eliminate Comments That Serve Lint

Login
Author:         Don Porter <[email protected]>
State:          Final
Type:           Project
Vote:           Done
Created:        6-Mar-2020
Post-History:
Keywords:       lint
Tcl-Version:    8.7
    Vote-Summary:   Accepted 8/0/0
    Votes-For:      DP, JD, KK, KW, SL, FV, DF, JN
    Votes-Against:  none
    Votes-Present:  none

Abstract

This TIP proposes removal of comments that exist solely to serve the needs of the lint program.

Background

All evidence of the early history of Tcl development suggests the programming tool lint was in common use. The operations of the lint program can be controlled by the presence of special comments in the source code such as

/*ARGSUSED*/

/*VARARGS1*/

/*NOTREACHED*/

Such comments appear in the Tcl source code, and have appeared in it since at least release 2.1.

By all appearances, the maintenance of these comments has not been kept up. Current work is finding and marking unused function arguments, and most examples found are not in functions marked with the /*ARGSUSED*/ comment. If there are any lint users out there, they are keeping silent about our bitrot.

No one is using them. They are broken. Trying to restore them would take ongoing effort to serve no one. We should just get rid of them.

(If these claims are mistaken, we should modify or reject this proposal.)

Specification

Remove all comments /*ARGSUSED*/ and /*NOTREACHED*/ from the Tcl source code for releases 8.7 and later.

Compatibility

Will convert Tcl source code from serving the lint program poorly to not attempting to serve the lint program at all. This will make any people who run lint on the Tcl codebase unhappy, if any such people exist.

Reference Implementation

Will be trivial if this plan is approved.

Copyright

This document has been placed in the public domain.