'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc. *
+.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_new.3x,v 1.7 1998/11/29 01:10:13 Rick.Ohnemus Exp $
+.\" $Id: menu_new.3x,v 1.21 2022/02/12 20:02:20 tom Exp $
.TH menu_new 3X ""
.SH NAME
-\fBmenu_new\fR - create and destroy menus
+\fBnew_menu\fP,
+\fBfree_menu\fP \- create and destroy menus
.SH SYNOPSIS
-\fB#include <menu.h>\fR
+\fB#include <menu.h>\fP
+.sp
+\fBMENU *new_menu(ITEM **\fIitems\fB);\fR
.br
-MENU *new_menu(ITEM **items);
-.br
-int free_menu(MENU *menu);
+\fBint free_menu(MENU *\fImenu\fB);\fR
.br
.SH DESCRIPTION
-The function \fBnew_menu\fR creates a new menu connected to a specified item
-pointer array (which must be \fBNULL\fR-terminated).
-
-The function \fBfree_menu\fR disconnects \fImenu\fR from its item array
+The function \fBnew_menu\fP creates a new menu connected to a specified item
+pointer array (which must be \fBNULL\fP-terminated).
+.PP
+The function \fBfree_menu\fP disconnects \fImenu\fP from its item array
and frees the storage allocated for the menu.
.SH RETURN VALUE
-The function \fBnew_menu\fR returns \fBNULL\fR on error.
-
-The function \fBfree_menu\fR returns one of the following:
+The function \fBnew_menu\fP returns \fBNULL\fP on error.
+It sets \fBerrno\fP according to the function's failure:
+.TP 5
+.B E_NOT_CONNECTED
+No items are connected to the menu.
+.TP 5
+.B E_SYSTEM_ERROR
+System error occurred, e.g., malloc failure.
+.PP
+The function \fBfree_menu\fP returns one of the following:
.TP 5
-\fBE_OK\fR
+.B E_OK
The routine succeeded.
.TP 5
-\fBE_SYSTEM_ERROR\fR
-System error occurred (see \fBerrno\fR).
+.B E_SYSTEM_ERROR
+System error occurred (see \fBerrno\fP(3)).
.TP 5
-\fBE_BAD_ARGUMENT\fR
+.B E_BAD_ARGUMENT
Routine detected an incorrect or out-of-range argument.
.TP 5
-\fBE_POSTED\fR
+.B E_POSTED
The menu has already been posted.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBmenu\fR(3X).
+\fBcurses\fP(3X), \fBmenu\fP(3X).
.SH NOTES
-The header file \fB<menu.h>\fR automatically includes the header file
-\fB<curses.h>\fR.
+The header file \fB<menu.h>\fP automatically includes the header file
+\fB<curses.h>\fP.
.SH PORTABILITY
-These routines emulate the System V menu library. They were not supported on
+These routines emulate the System V menu library.
+They were not supported on
Version 7 or BSD versions.
.SH AUTHORS
-Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
-S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+Juergen Pfeifer.
+Manual pages and adaptation for new curses by Eric S. Raymond.