System: OpenBSD -current | t20$ head -n 1 /etc/motd | OpenBSD 6.5-current (GENERIC.MP) #132: Sat Jul 20 15:23:46 MDT 2019
| t20$ uname -a | OpenBSD t20 6.5 GENERIC.MP#132 amd64 | t20$ arch | OpenBSD.amd64 1. What exactly are you doing? (minimal test case, if possible) | t20$ pwd | /home/user20/ybtra-t20/gencat-test23 | t20$ ls -l | total 16 | -rw-r--r-- 1 user20 user20 43 Jul 23 15:35 foo1.msg | -rw-r--r-- 1 user20 user20 50 Jul 23 15:37 foo2.msg | t20$ head -n 1000 *msg | ==> foo1.msg <== | $ comment | $quote " | 1 "foo" | 2 "bar" | 3 "baz" | | ==> foo2.msg <== | $ comment | $quote " | $set 1 | 1 "foo" | 2 "bar" | 3 "baz" | t20$ gencat foo1.cat foo1.msg | gencat: can't specify a message when no set exists on line 3 | 1 "foo | t20$ gencat foo2.cat foo2.msg | t20$ ls -l | total 24 | -rw-r--r-- 1 user20 user20 43 Jul 23 15:35 foo1.msg | -rw-r--r-- 1 user20 user20 80 Jul 23 22:03 foo2.cat | -rw-r--r-- 1 user20 user20 50 Jul 23 15:37 foo2.msg 2. What do you expect to happen? "gencat foo1.cat foo1.msg" working, i. e. producing the file "foo1.cat". 3. What happens instead? "gencat: can't specify a message when no set exists on line 3" Error description: According to POSIX [1] and according to the man page of "gencat" [2] it should work also without "$set": | If no $set directive is specified in a message text source file, | all messages shall be located in an implementation-defined | default message set NL_SETD [...] [1] | If no $set directive is specified in a given source file, all | messages will be located in the default message set NL_SETD. [2] [1] <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/gencat.html#tag_20_51_13> [2] <https://man.openbsd.org/OpenBSD-current/man1/gencat.1>
