legacy_coding(3)

legacy_coding3

Override curses locale encoding checks

Usage

#include <curses.h>

int use_legacy_coding(int level);

Overview

use_legacy_coding, an ncurses extension to the curses library, permits customiztion of unctrl(3X) behavior, suppressing isprint(3)-based checks within the library that would normally cause nonprinting characters to be rendered in visible form. The alteration affects only byte-wide characters with the most significant bit set.

The level parameter controls the result.

0

The library functions normally, rendering nonprinting characters as described in unctrl(3X),

1

the library ignores isprint for codes in the range 160-255.

2

the library ignores isprint for codes in the range 128-255. It also modifies the output of unctrl(3X), showing codes in the range 128-159 as is.

Return value

If the curses screen has not been initialized, or the level parameter is out of range, use_legacy_coding returns ERR. Otherwise, it returns the previous level.

Extensions

use_legacy_coding is an ncurses extension.

Portability

Applications employing ncurses extensions should condition their use on the visibility of the NCURSES_VERSION preprocessor macro.

Releases

46 releases since FreeBSD 6.3-RELEASE; the text changed 10 times.

  1. 6.3
  2. 6.4
  3. 7.0
  4. 7.1–10.4
  5. 11.0–12.4
  6. 13.0–13.5
  7. 14.0–14.1
  8. 14.2–14.4
  9. 14.5
  10. 15.0
  11. 15.1–16.0

History

ncurses 5.6 (2006) introduced use_legacy_coding to support lynx(1)'s font-switching feature.

Authors

Thomas Dickey

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's man source.