Ncurses

實際上有一個“pad(3NCURSES)”手冊頁嗎?

  • March 21, 2021

在手冊頁中ncurses(3X),我們讀到:

也可以操縱稱為墊的特殊視窗。這些視窗不受螢幕大小的限制,其內容不需要完全顯示。有關pad(3NCURSES)更多資訊,請參閱。

不過,我一直無法找到聯機幫助頁pad。它是否存在,或者這只是手冊中未更正的剩余文本?

有一個手冊頁curs_pad(3X),這也是由 提出的唯一一個apropos pad

newpad, subpad, prefresh, pnoutrefresh, pechochar, pecho_wchar- 創建和顯示詛咒板

Debian 出於文體原因重命名了 ncurses 手冊頁。ncurses 源具有用於此目的的腳本和數據文件:

curs_pad.3x pad.3ncurses

  • 配置腳本,記錄在INSTALL中:

–with-manpage-renames=XXX

告訴配置腳本您希望在安裝時重命名手冊頁。目前唯一這樣做的發行版是 Debian。選項值指定列出重命名文件的文件的名稱,例如 $srcdir/man/man_db.renames

它已經存在了一段時間(至少從1996 年 6 月開始,儘管 Debian 錯誤報告中的評論說那是 1995 年 10 月——當時變更日誌省略了這樣的細節):

960601 - 快照
+ 為 Debian 自動配置手冊頁壓縮格式和重命名。

Debian 中 ncurses-doc 軟體包中使用的 html 手冊頁是從上游生成的源文件,它們使用原始文件名。有一個 Debian 錯誤報告 ( #618429 ) 處理該問題,這需要 Debian 重新生成 html 文件以匹配非 html 命名約定來解決它。

同樣,這些文件是上游網站手冊頁的起點。

其他發行版,例如 Fedora,不使用此重命名。例如,在Fedora 33中,路徑名如下所示:

/usr/share/man/man3/curs_pad.3x.gz
/usr/share/man/man3/field_pad.3x.gz
/usr/share/man/man3/is_keypad.3x.gz
/usr/share/man/man3/is_pad.3x.gz  
/usr/share/man/man3/keypad.3x.gz
/usr/share/man/man3/menu_pad.3x.gz
/usr/share/man/man3/newpad.3x.gz
/usr/share/man/man3/newpad_sp.3x.gz
/usr/share/man/man3/set_field_pad.3x.gz
/usr/share/man/man3/set_menu_pad.3x.gz
/usr/share/man/man3/subpad.3x.gz

而 Debian(和衍生的東西,如 Ubuntu)有

/usr/share/doc/ncurses-doc/html/man/curs_pad.3x.html
/usr/share/man/man3/pad.3ncurses.gz
/usr/share/man/man3/field_pad.3form.gz
/usr/share/man/man3/is_keypad.3ncurses.gz
/usr/share/man/man3/is_pad.3ncurses.gz
/usr/share/man/man3/keypad.3ncurses.gz
/usr/share/man/man3/menu_pad.3menu.gz
/usr/share/man/man3/newpad.3ncurses.gz
/usr/share/man/man3/newpad_sp.3ncurses.gz
/usr/share/man/man3/set_field_pad.3form.gz
/usr/share/man/man3/set_menu_pad.3menu.gz  
/usr/share/man/man3/subpad.3ncurses.gz

您可以通過將部分放在首位來使 man 程序將 ncurses 的“pad”與其他程序區分開來:

man 3ncurses pad

或者

man 3NCURSES pad

(因為它似乎忽略了部分名稱的大小寫)。

Debian 的 ncurses-doc 包更改日誌沒有提及重命名功能是何時首次添加的,因為它大約在一年後開始:

ncurses (1.9.9g-1) unstable; urgency=low
 
 * New maintainer
 * New upstream version (fixes #9219)
 * Built with libc6
 * Libraries compiled with -D_REENTRANT
 * Quick fix for termcap emulation (fixes #1045)
 * Linked reset manpage to tset manpage (fixes #3192, #8187, #9921)
 * Library package no longer "Essential" (fixes #3801)
 
-- Galen Hazelwood <galen@micron.net>  Thu, 12 Jun 1997 12:18:34 -0600

大約一年後提到:

ncurses (1.9.9g-8.7) frozen unstable; urgency=low
 
 * For reasons that I don't understand, using ncurses3.4 >= 1.9.9g-8.1 with
   ncurses3.4-dev 1.9.9g-8.6 causes lxdialog (kernel's make menuconfig)
   to segfault. Changed the dependency to >= Source-Version. (Fixes
   release-critical #24392).
 * More manpages fixes (Fixes #24400): 
   * [aclocal.m4] Rewrote the manpages fixing code somewhat so that
     references like "\fBcurses\fR(3X), " get handled correctly
   * [man/curs_termcap.3x] Minor changes, so that references get translated
     properly.
   * [man/man_db.renames] Added terminfo.\*n and curs_terminfo.\*n .   

-- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl>  Sat, 11 Jul 1998 16:28:21 +0200

引用自:https://unix.stackexchange.com/questions/640369