curs\_deleteln(3X) Library calls curs\_deleteln(3X)

# [NAME](#NAME)

**deleteln**, **wdeleteln**, **insertln**, **winsertln**, **insdelln**, **winsdelln** - delete or insert lines in a *curses* window

# [SYNOPSIS](#SYNOPSIS)

```
#include <curses.h>
```

```
int deleteln(void);
int wdeleteln(WINDOW * win);
```

```
int insertln(void);
int winsertln(WINDOW * win);
```

```
int insdelln(int n);
int winsdelln(WINDOW * win, int n);
```

# [DESCRIPTION](#DESCRIPTION)

**wdeleteln** deletes the line at the cursor in *win*; all lines below it move up one line. *curses* then fills the bottom line of *win* with the background character configured by [**wbkgdset**(3X)](/man/os/ncurses/wbkgdset.3X) (wide-character API users: [**wbkgrndset**(3X)](/man/os/ncurses/wbkgrndset.3X)). The cursor position does not change.

**winsertln** inserts a new, empty line of characters above the line at the cursor in *win*, shifting the existing lines down by one. The content of the window's bottom line is lost; *curses* fills the new line with the background character. The cursor position does not change.

**winsdelln** inserts or deletes *n* lines in *win* as *n* is positive or negative, respectively, as if by repeatedly calling **winsertln** or **wdeleteln**. **winsdelln(**...**, 0)** performs no operation.

# [RETURN VALUE](#RETURN_VALUE)

These functions return **OK** on success and **ERR** on failure.

In *ncurses*, they fail if *win* is *NULL*.

# [NOTES](#NOTES)

All of these functions except **winsdelln** may be implemented as macros.

These functions do not require the terminal to possess hardware line deletion or insertion capabilities. Even if available, by default *curses* does not use them; see [**idlok**(3X)](/man/os/ncurses/idlok.3X).

# [PORTABILITY](#PORTABILITY)

X/Open Curses Issue 4 describes these functions. It specifies no error conditions for them.

SVr4 describes a successful return value only as “an integer value other than *ERR*”.

# [HISTORY](#HISTORY)

4BSD (1980) introduced *deleteln*, *wdeleteln*, *insertln*, and *winsertln*.

SVr3.1 (1987) added *insdelln* and *winsdelln*.

# [SEE ALSO](#SEE_ALSO)

[**curses**(3X)](/man/os/ncurses/curses.3X)

2025-07-05 ncurses 6.6

---

Document: winsdelln(3x) from ncurses 6.6.20261024-r0 (Chainguard OS)
Source: https://github.com/ThomasDickey/ncurses-snapshots
