Opened 8 years ago

Last modified 7 days ago

#137 new task

Deprecated code scheduled for removal

Reported by: chares.unix.pro@… Owned by: Eric Swenson
Priority: trivial Milestone:
Component: Include Files Version:
Keywords: Deprecated Cc:

Description

The segment >ldd>include>mcs_echo_neg.incl.pl1 contains a declaration for "v1_echo_neg_data" captioned with the comment:

/* VERSION 1 STRUCTURE DECLARATION FOR COMPATIBILITY (TO BE REMOVED FOR MR12) */

Here we are at MR12.6f and it hasn't been removed.

Change History (1)

comment:1 by Eric Swenson, 7 days ago

Status: the declaration is still in use, so it can't simply be deleted.
Recommendation: convert the remaining user, then remove; or just correct
the comment.

Who still uses version 1

  • The video system's tc_input.pl1 (bound_video_, standard library), around line 928, builds its echo-negotiation data as like v1_echo_neg_data with echh.version = echo_neg_data_version_1. Its 1986 history entry (Coren, MCR7300) says "Changed to use v1_echo_neg_data for compatibility". That was when version 2 (256-entry break table) was introduced.
  • Programs that accept version 1 from callers: ws_tty_main_.pl1 (bound_ws_tty_, unbundled; around line 490) handles both versions. The ring-0 side (the FNP/UNCP multiplexers and tty_read) presumably still accepts a version-1 structure from old object programs. Check this before any removal.
  • Emacs e_pl1_.pl1 has the same "Changed to use v1_echo_neg_data" history entry, but its declaration is now like echo_neg_data (version 2).

Options

  1. Remove it properly. Convert tc_input to version 2 (its break table is 128 entries; extend it to ECHO_NEG_BREAK_TABLE_SIZE), test negotiated echo in the video system and Emacs on an MCS terminal, then delete v1_echo_neg_data and echo_neg_data_version_1 from the include file. Leave the version-1 support in ring 0 and ws_tty_main_, since old object programs may still pass version 1. They would need a local copy of the declaration (or the include file keeps a version-1 declaration under a "for ring 0 compatibility" comment).
  2. Minimal: replace the comment with an accurate one ("used by tc_input; still accepted by the supervisor for old programs"), so it no longer promises a removal that never happened.

We recently changed this include file (MCR10174, MR12.9-1053, padding
fixes), so option 2 could ride along with the next change to it. Option 1
is a small video-system MCR plus testing.

Note: See TracTickets for help on using tickets.