この記事はNetBSD Advent Calendar 2020、23日目の記事です。
nlコマンド Advent Calendar 2020も開催中です。よろしくおねがいします。
#nlコマンドのPOSIX非互換
macOSのnl
でPOSIXの非互換を見つけたのですが、調べてみたらNetBSD由来だということがわかりました。そこでNetBSD 9.1をインストールして試したところ同じように再現しました。
$ yes '' | head | nl -s @
@
@
@
@
@
@
@
@
@
@
これ、POSIX的には@
が出ちゃダメなんですよね。
When line numbers are suppressed for a portion of the page; the <separator> is also suppressed.
というわけで、macOSのnl
まで反映されるのかはわかりませんが、ひとまずNetBSDの不具合として報告してみることにしました。
#問題を報告する
このページに従って報告すればよさそうです。
Submitting a bug or problem report via the Web
This is a two-step process:
- Checking the problem is not already reported, using the Query PR form
- Submitting a new problem report, using the Send PR form
簡単!2ステップ!つまり投稿前に類似がないかちゃんと調べてねってことみたいです。
NetBSDならsend-pr
というコマンドが使えるようです。(私ユーザーじゃないんですごめんなさい)
Query PR
ここで既に報告がないか調べます。
https://www.netbsd.org/support/query-pr.html
nl
で検索するとonly
とかが引っかかって大変なので、nl[^a-z]
とかやってみたらそれなりの数になりました。一応、Closeしたやつも検索対象に入れましょう。
Send PR
類似の報告がなければ、こちらのフォームを埋めます。
http://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd
フィールドの説明はPRの最初のページに書いてあるので参考にしましょう。
今回の報告については、Severityの欄をnon-criticalにしました。おそらく世界の誰も困っていないですし、「ドキュメントと一致しない」というのが説明に書かれていたからです。
non-critical
The product, component or concept is working in general, but lacks features, has irritating behavior, does something wrong, or doesn't match its documentation.
あとは問題を説明するのに必要な情報を書くだけです。内容については特に変わったところもなかったです。
ボットよけの方法が独特でサーバーのOSを答えさせる問が最後にありました。
This server runs NetBSD. To verify you are not a bot, which OS does this server run?
レポートを投稿すると最後にこんなメッセージが出ます。
Thank you for your problem report. You should receive confirmation of your problem report and an internal identification number by electronic mail in less than 24 hours.
そしてまもなくトラッキング番号がメールで送られてきました。
おしまいです。あとは返事をのんびり待ちます。