legacy_coding(3ncurses)

legacy_coding3ncurses

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(3NCURSES) 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(3NCURSES),

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(3NCURSES), 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

9 releases since Debian 5.0 (Lenny); the text changed 6 times.

  1. 5.0–6.0
  2. 7–8
  3. 9
  4. 10
  5. 11
  6. 12
  7. 13

History

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

Authors

Thomas Dickey

From ncurses-doc 6.5+20250216-2 in Debian 13 (Trixie). Parsed by carta from the page's man source.