diff --git a/man/menu.3x b/man/menu.3x
index c0be469..a833c3b 100644
--- a/man/menu.3x
+++ b/man/menu.3x
@@ -1,6 +1,7 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2010,2014 Free Software Foundation, Inc.              *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
+.\" Copyright 1998-2014,2017 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            *
@@ -27,108 +28,130 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu.3x,v 1.22 2014/08/16 20:32:08 tom Exp $
-.TH menu 3X ""
+.\" $Id: menu.3x,v 1.45 2024/03/16 15:35:01 tom Exp $
+.TH menu 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.ie \n(.g \{\
+.ds `` \(lq
+.ds '' \(rq
+.\}
+.el \{\
+.ie t .ds `` ``
+.el   .ds `` ""
+.ie t .ds '' ''
+.el   .ds '' ""
+.\}
+.
+.de bP
+.ie n  .IP \(bu 4
+.el    .IP \(bu 2
+..
 .SH NAME
-\fBmenu\fR \- curses extension for programming menus
+\fBmenu\fP \-
+curses extension for programming menus
 .SH SYNOPSIS
-\fB#include <menu.h>\fR
-.br
+.nf
+\fB#include <menu.h>
+.fi
 .SH DESCRIPTION
-The \fBmenu\fR library provides terminal-independent facilities for composing
-menu systems on character-cell terminals.  The library includes: item routines,
+The \fBmenu\fP library provides terminal-independent facilities for composing
+menu systems on character-cell terminals.
+The library includes: item routines,
 which create and modify menu items; and menu routines, which group items into
 menus, display menus on the screen, and handle interaction with the user.
 .PP
-The \fBmenu\fR library uses the \fBcurses\fR libraries, and a curses
-initialization routine such as \fBinitscr\fR must be called before using any of
-these functions.  To use the \fBmenu\fR library, link with the options
-\fB\-lmenu \-lcurses\fR.
+The \fBmenu\fP library uses the \fBcurses\fP libraries, and a curses
+initialization routine such as \fBinitscr\fP must be called before using any of
+these functions.
+To use the \fBmenu\fP library, link with the options
+\fB\-lmenu \-lcurses\fP.
 .
-.SS Current Default Values for Item Attributes
+.SS "Current Default Values for Item Attributes"
 .
-The \fBmenu\fR library maintains a default value for item attributes.  You can
-get or set this default by calling the appropriate \fBget_\fR or \fBset_\fR
-routine with a \fBNULL\fR item pointer.  Changing this default with a
-\fBset_\fR function affects future item creations, but does not change the
+The \fBmenu\fP library maintains a default value for item attributes.
+You can
+get or set this default by calling the appropriate \fBget_\fP or \fBset_\fP
+routine with a \fBNULL\fP item pointer.
+Changing this default with a
+\fBset_\fP function affects future item creations, but does not change the
 rendering of items already created.
 .
-.SS Routine Name Index
+.SS "Routine Name Index"
 .
-The following table lists each \fBmenu\fR routine and the name of
+The following table lists each \fBmenu\fP routine and the name of
 the manual page on which it is described.
-.
+.PP
 .TS
 l l .
-\fBcurses\fR Routine Name	Manual Page Name
+\fBcurses\fP Routine Name	Manual Page Name
 =
-current_item	\fBmitem_current\fR(3X)
-free_item 	\fBmitem_new\fR(3X)
-free_menu 	\fBmenu_new\fR(3X)
-item_count	\fBmenu_items\fR(3X)
-item_description	\fBmitem_name\fR(3X)
-item_index	\fBmitem_current\fR(3X)
-item_init 	\fBmenu_hook\fR(3X)
-item_name 	\fBmitem_name\fR(3X)
-item_opts 	\fBmitem_opts\fR(3X)
-item_opts_off	\fBmitem_opts\fR(3X)
-item_opts_on	\fBmitem_opts\fR(3X)
-item_term 	\fBmenu_hook\fR(3X)
-item_userptr	\fBmitem_userptr\fR(3X)
-item_value	\fBmitem_value\fR(3X)
-item_visible	\fBmitem_visible\fR(3X)
-menu_back 	\fBmenu_attributes\fR(3X)
-menu_driver	\fBmenu_driver\fR(3X)
-menu_fore 	\fBmenu_attributes\fR(3X)
-menu_format	\fBmenu_format\fR(3X)
-menu_grey 	\fBmenu_attributes\fR(3X)
-menu_init 	\fBmenu_hook\fR(3X)
-menu_items	\fBmenu_items\fR(3X)
-menu_mark 	\fBmenu_mark\fR(3X)
-menu_opts 	\fBmenu_opts\fR(3X)
-menu_opts_off	\fBmenu_opts\fR(3X)
-menu_opts_on	\fBmenu_opts\fR(3X)
-menu_pad  	\fBmenu_attributes\fR(3X)
-menu_pattern	\fBmenu_pattern\fR(3X)
-menu_request_by_name	\fBmenu_requestname\fR(3X)
-menu_request_name	\fBmenu_requestname\fR(3X)
-menu_spacing	\fBmenu_spacing\fR(3X)
-menu_sub  	\fBmenu_win\fR(3X)
-menu_term 	\fBmenu_hook\fR(3X)
-menu_userptr	\fBmenu_userptr\fR(3X)
-menu_win  	\fBmenu_win\fR(3X)
-new_item  	\fBmitem_new\fR(3X)
-new_menu  	\fBmenu_new\fR(3X)
-pos_menu_cursor	\fBmenu_cursor\fR(3X)
-post_menu 	\fBmenu_post\fR(3X)
-scale_menu	\fBmenu_win\fR(3X)
-set_current_item	\fBmitem_current\fR(3X)
-set_item_init	\fBmenu_hook\fR(3X)
-set_item_opts	\fBmitem_opts\fR(3X)
-set_item_term	\fBmenu_hook\fR(3X)
-set_item_userptr	\fBmitem_userptr\fR(3X)
-set_item_value	\fBmitem_value\fR(3X)
-set_menu_back	\fBmenu_attributes\fR(3X)
-set_menu_fore	\fBmenu_attributes\fR(3X)
-set_menu_format	\fBmenu_format\fR(3X)
-set_menu_grey	\fBmenu_attributes\fR(3X)
-set_menu_init	\fBmenu_hook\fR(3X)
-set_menu_items	\fBmenu_items\fR(3X)
-set_menu_mark	\fBmenu_mark\fR(3X)
-set_menu_opts	\fBmitem_opts\fR(3X)
-set_menu_pad	\fBmenu_attributes\fR(3X)
-set_menu_pattern	\fBmenu_pattern\fR(3X)
-set_menu_spacing	\fBmenu_spacing\fR(3X)
-set_menu_sub	\fBmenu_win\fR(3X)
-set_menu_term	\fBmenu_hook\fR(3X)
-set_menu_userptr	\fBmenu_userptr\fR(3X)
-set_menu_win	\fBmenu_win\fR(3X)
-set_top_row	\fBmitem_current\fR(3X)
-top_row   	\fBmitem_current\fR(3X)
-unpost_menu	\fBmenu_post\fR(3X)
+current_item	\fBmitem_current\fP(3X)
+free_item 	\fBmitem_new\fP(3X)
+free_menu 	\fBmenu_new\fP(3X)
+item_count	\fBmenu_items\fP(3X)
+item_description	\fBmitem_name\fP(3X)
+item_index	\fBmitem_current\fP(3X)
+item_init 	\fBmenu_hook\fP(3X)
+item_name 	\fBmitem_name\fP(3X)
+item_opts 	\fBmitem_opts\fP(3X)
+item_opts_off	\fBmitem_opts\fP(3X)
+item_opts_on	\fBmitem_opts\fP(3X)
+item_term 	\fBmenu_hook\fP(3X)
+item_userptr	\fBmitem_userptr\fP(3X)
+item_value	\fBmitem_value\fP(3X)
+item_visible	\fBmitem_visible\fP(3X)
+menu_back 	\fBmenu_attributes\fP(3X)
+menu_driver	\fBmenu_driver\fP(3X)
+menu_fore 	\fBmenu_attributes\fP(3X)
+menu_format	\fBmenu_format\fP(3X)
+menu_grey 	\fBmenu_attributes\fP(3X)
+menu_init 	\fBmenu_hook\fP(3X)
+menu_items	\fBmenu_items\fP(3X)
+menu_mark 	\fBmenu_mark\fP(3X)
+menu_opts 	\fBmenu_opts\fP(3X)
+menu_opts_off	\fBmenu_opts\fP(3X)
+menu_opts_on	\fBmenu_opts\fP(3X)
+menu_pad  	\fBmenu_attributes\fP(3X)
+menu_pattern	\fBmenu_pattern\fP(3X)
+menu_request_by_name	\fBmenu_requestname\fP(3X)
+menu_request_name	\fBmenu_requestname\fP(3X)
+menu_spacing	\fBmenu_spacing\fP(3X)
+menu_sub  	\fBmenu_win\fP(3X)
+menu_term 	\fBmenu_hook\fP(3X)
+menu_userptr	\fBmenu_userptr\fP(3X)
+menu_win  	\fBmenu_win\fP(3X)
+new_item  	\fBmitem_new\fP(3X)
+new_menu  	\fBmenu_new\fP(3X)
+pos_menu_cursor	\fBmenu_cursor\fP(3X)
+post_menu 	\fBmenu_post\fP(3X)
+scale_menu	\fBmenu_win\fP(3X)
+set_current_item	\fBmitem_current\fP(3X)
+set_item_init	\fBmenu_hook\fP(3X)
+set_item_opts	\fBmitem_opts\fP(3X)
+set_item_term	\fBmenu_hook\fP(3X)
+set_item_userptr	\fBmitem_userptr\fP(3X)
+set_item_value	\fBmitem_value\fP(3X)
+set_menu_back	\fBmenu_attributes\fP(3X)
+set_menu_fore	\fBmenu_attributes\fP(3X)
+set_menu_format	\fBmenu_format\fP(3X)
+set_menu_grey	\fBmenu_attributes\fP(3X)
+set_menu_init	\fBmenu_hook\fP(3X)
+set_menu_items	\fBmenu_items\fP(3X)
+set_menu_mark	\fBmenu_mark\fP(3X)
+set_menu_opts	\fBmitem_opts\fP(3X)
+set_menu_pad	\fBmenu_attributes\fP(3X)
+set_menu_pattern	\fBmenu_pattern\fP(3X)
+set_menu_spacing	\fBmenu_spacing\fP(3X)
+set_menu_sub	\fBmenu_win\fP(3X)
+set_menu_term	\fBmenu_hook\fP(3X)
+set_menu_userptr	\fBmenu_userptr\fP(3X)
+set_menu_win	\fBmenu_win\fP(3X)
+set_top_row	\fBmitem_current\fP(3X)
+top_row   	\fBmitem_current\fP(3X)
+unpost_menu	\fBmenu_post\fP(3X)
 .TE
 .SH RETURN VALUE
-Routines that return pointers return \fBNULL\fR on error.  Routines that return
+Routines that return pointers return \fBNULL\fP on error.
+Routines that return
 an integer return one of the following error codes:
 .TP 5
 .B E_OK
@@ -162,26 +185,31 @@
 The menu driver could not process the request.
 .TP 5
 .B E_SYSTEM_ERROR
-System error occurred (see \fBerrno\fR).
+System error occurred (see \fBerrno\fP(3)).
 .TP 5
 .B E_UNKNOWN_COMMAND
 The menu driver code saw an unknown request code.
 .SH NOTES
-The header file \fB<menu.h>\fR automatically includes the header files
-\fB<curses.h>\fR and \fB<eti.h>\fR.
-.PP
-In your library list, libmenu.a should be before libncurses.a; that is,
-you want to say `\-lmenu \-lncurses', not the other way around (which would
-usually give a link-error).
+The header file \fI\%menu.h\fP itself includes the header file
+\fI\%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 ncurses by Eric
-S. Raymond.
-.SH SEE ALSO
-\fBcurses\fR(3X) and related pages whose names begin "menu_" for detailed
-descriptions of the entry points.
 .PP
-This describes \fBncurses\fR
-version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+A menu facility was documented in SVr4.2's
+\fICharacter User Interface Programming\fP document.
+.PP
+It is not part of X/Open Curses.
+.PP
+Aside from \fI\%ncurses\fP, there are few implementations:
+.bP
+systems based on SVr4 source code, e.g., Solaris.
+.bP
+NetBSD curses.
+.SH AUTHORS
+Juergen Pfeifer.
+Manual pages and adaptation for \fI\%ncurses\fP by Eric S. Raymond.
+.SH SEE ALSO
+\fB\%curses\fP(3X) and related pages whose names begin \*(``menu_\*(''
+for detailed descriptions of the entry points.
