legacy_coding(3x)

legacy_coding3x

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

2 releases since Debian 4.0 (Etch); the text changed 1 time.

  1. 4.0
  2. Arch

History

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

Authors

Thomas Dickey

From ncurses 6.6-2 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.