Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fish-interactive.1 and fish-doc.1 cannot be processed by mandoc #9834

Closed
asomers opened this issue Jun 5, 2023 · 9 comments
Closed

fish-interactive.1 and fish-doc.1 cannot be processed by mandoc #9834

asomers opened this issue Jun 5, 2023 · 9 comments
Labels
upstream we can't fix it

Comments

@asomers
Copy link
Contributor

asomers commented Jun 5, 2023

fish, version 3.6.0
FreeBSD 14.0-CURRENT and FreeBSD 13.2-RELEASE
xterm-256color

Beginning with 3.1.0, nroff is not supposed to be needed to view the man pages. Instead, mandoc is sufficient. But that was broken, at least on FreeBSD, by revision ddcb14c . I'm not an expert on either nroff or mandoc, so I don't understand why it's broken, but it certainly is.

> mandoc -Tlint -Wunsupp /usr/local/share/fish/man/man1/fish-interactive.1.gz
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:157:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:158:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:159:2: UNSUPP: ignoring macro in table: B fish_color_normal
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:160:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:160:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:166:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:167:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:168:2: UNSUPP: ignoring macro in table: B fish_color_command
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:169:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:169:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:175:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:176:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:177:2: UNSUPP: ignoring macro in table: B fish_color_keyword
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:178:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:178:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:184:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:185:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:186:2: UNSUPP: ignoring macro in table: B fish_color_quote
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:187:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:187:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:193:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:194:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:195:2: UNSUPP: ignoring macro in table: B fish_color_redirection
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:196:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:196:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:202:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:203:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:204:2: UNSUPP: ignoring macro in table: B fish_color_end
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:205:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:205:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:211:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:212:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:213:2: UNSUPP: ignoring macro in table: B fish_color_error
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:214:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:214:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:220:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:221:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:222:2: UNSUPP: ignoring macro in table: B fish_color_param
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:223:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:223:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:229:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:230:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:231:2: UNSUPP: ignoring macro in table: B fish_color_valid_path
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:232:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:232:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:238:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:239:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:240:2: UNSUPP: ignoring macro in table: B fish_color_option
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:241:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:241:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:247:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:248:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:249:2: UNSUPP: ignoring macro in table: B fish_color_comment
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:250:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:250:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:256:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:257:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:258:2: UNSUPP: ignoring macro in table: B fish_color_selection
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:259:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:259:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:265:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:266:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:267:2: UNSUPP: ignoring macro in table: B fish_color_operator
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:268:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:268:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:274:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:275:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:276:2: UNSUPP: ignoring macro in table: B fish_color_escape
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:277:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:277:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:283:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:284:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:285:2: UNSUPP: ignoring macro in table: B fish_color_autosuggestion
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:286:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:286:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:292:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:293:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:294:2: UNSUPP: ignoring macro in table: B fish_color_cwd
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:295:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:295:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:301:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:302:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:303:2: UNSUPP: ignoring macro in table: B fish_color_cwd_root
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:304:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:304:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:310:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:311:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:312:2: UNSUPP: ignoring macro in table: B fish_color_user
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:313:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:313:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:319:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:320:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:321:2: UNSUPP: ignoring macro in table: B fish_color_host
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:322:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:322:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:328:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:329:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:330:2: UNSUPP: ignoring macro in table: B fish_color_host_remote
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:331:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:331:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:337:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:338:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:339:2: UNSUPP: ignoring macro in table: B fish_color_status
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:340:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:340:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:346:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:347:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:348:2: UNSUPP: ignoring macro in table: B fish_color_cancel
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:349:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:349:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:355:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:356:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:357:2: UNSUPP: ignoring macro in table: B fish_color_search_match
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:358:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:358:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:419:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:420:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:421:2: UNSUPP: ignoring macro in table: B fish_pager_color_progress
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:422:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:422:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:428:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:429:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:430:2: UNSUPP: ignoring macro in table: B fish_pager_color_background
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:431:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:431:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:437:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:438:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:439:2: UNSUPP: ignoring macro in table: B fish_pager_color_prefix
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:440:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:440:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:446:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:447:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:448:2: UNSUPP: ignoring macro in table: B fish_pager_color_completion
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:449:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:449:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:455:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:456:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:457:2: UNSUPP: ignoring macro in table: B fish_pager_color_description
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:458:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:458:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:464:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:465:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:466:2: UNSUPP: ignoring macro in table: B fish_pager_color_selected_background
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:467:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:467:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:473:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:474:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:475:2: UNSUPP: ignoring macro in table: B fish_pager_color_selected_prefix
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:476:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:476:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:482:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:483:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:484:2: UNSUPP: ignoring macro in table: B fish_pager_color_selected_completion
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:485:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:485:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:491:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:492:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:493:2: UNSUPP: ignoring macro in table: B fish_pager_color_selected_description
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:494:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:494:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:500:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:501:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:502:2: UNSUPP: ignoring macro in table: B fish_pager_color_secondary_background
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:503:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:503:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:509:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:510:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:511:2: UNSUPP: ignoring macro in table: B fish_pager_color_secondary_prefix
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:512:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:512:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:518:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:519:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:520:2: UNSUPP: ignoring macro in table: B fish_pager_color_secondary_completion
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:521:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:521:2: UNSUPP: ignoring macro in table: in 168u
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:527:3: UNSUPP: ignoring macro in table: RS 0.0
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:528:2: UNSUPP: ignoring macro in table: TP
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:529:2: UNSUPP: ignoring macro in table: B fish_pager_color_secondary_description
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:530:3: UNSUPP: ignoring macro in table: RE
mandoc: /usr/local/share/fish/man/man1/fish-interactive.1.gz:530:2: UNSUPP: ignoring macro in table: in 168u
@faho
Copy link
Member

faho commented Jun 5, 2023

You should probably talk to the sphinx people instead - we don't really have any influence here on how it translates it.

@faho faho added the upstream we can't fix it label Jun 5, 2023
@faho
Copy link
Member

faho commented Jun 5, 2023

Okay it seems mandoc doesn't allow macros in a table: https://man.openbsd.org/mandoc.1#ignoring~5

That's pretty terrible, and I don't know how we would work around it - the envvar markup makes these table cells the link targets for other mentions. So we could remove it, but that makes the docs worse.

And in general we might just want to have markup in tables, which is a sensible thing to want.

@faho
Copy link
Member

faho commented Jun 6, 2023

Looking further into it, there really is nothing particularly great we can do here - if we remove the formatting that's removed in all exports, including the html.

And the failure mode is also much better than I had assumed - it still displays, there's just some gunk in the table, and you can also just run nroff on it. Or open the html, which I'd typically recommend anyway (nicer formatting, hyperlinks).

So I'm gonna call this a mandoc/sphinx problem for now.

@faho faho closed this as completed Jun 6, 2023
@asomers
Copy link
Contributor Author

asomers commented Jun 6, 2023

But it doesn't work properly even with groff/nroff. This is what I see when I do man fish-doc:


       o No configuration needed: fish is designed to be ready to use  immedi-
         ately, without requiring extensive configuration.

       o Easy  scripting: New functions can be added on the fly. The syntax is
         easy to learn and use.

       This page explains how to install and set up fish and where to get more
       information.

:grotty:<standard input> (<standard input>):11880: character above first line discarded
grotty:<standard input> (<standard input>):11884: character above first line discarded
grotty:<standard input> (<standard input>):11888: character above first line discarded
grotty:<standard input> (<standard input>):12745: character above first line discarded
grotty:<standard input> (<standard input>):12749: character above first line discarded
grotty:<standard input> (<standard input>):12753: character above first line discarded

@faho
Copy link
Member

faho commented Jun 6, 2023

This is what I see when I do man fish-doc:

For me, groff 1.22.4 prints some awkward warnings to stderr here (which I assume is a sphinx bug), but the formatting seems okay. Specifically the table that mandoc fails at is rendered acceptably.

Specifically this works:

nroff -c -man -t -Tutf8 -M/usr/share/fish/groff -mfish -rLL="$COLUMNS"n /usr/share/fish/man/man1/fish-interactive.1 2>/dev/null | less

Like I said: We don't really have any influence over the man output - the only thing we could do is to make the input (the rst source) worse, and I don't want to do that because that makes it worse for everyone, in every output format.

So I'm going to direct you to either sphinx, which could adjust the output for mandoc (in case that's possible), or mandoc, which could just support this sort of formatting.

Alternatively, use the html version, either locally or the hosted one at fishshell.com.

Sorry, I simply don't see a better choice for us here.

@asomers
Copy link
Contributor Author

asomers commented Jun 6, 2023

I'm afraid that I don't know anything about sphinx or mandoc or nroff. If this is a Sphinx bug, could you please open an issue at https://github.com/sphinx-doc/sphinx/issues?q=is%3Aissue+is%3Aopen+ ?

@faho
Copy link
Member

faho commented Jun 6, 2023

, could you please open an issue at https://github.com/sphinx-doc/sphinx/issues?q=is%3Aissue+is%3Aopen+ ?

You have the system with the bug, I would prefer if you did it.

I'm also far from a sphinx expert and know even less about mandoc.

What I can do is give you a reproducer:

=================           =======
This is                     a table
=================           =======
.. envvar:: foo             banana
.. envvar:: blart           mart
=================           =======

Run sphinx-quickstart in some temp directory, fill in their required info, make index.rst contain that and then run

sphinx-build -b man /path/to/input/dir /path/to/output/dir

And you'll get a man file that has the offending markup.


To reiterate, the problem at hand is this:

  • We use some formatting inside of a table
  • Sphinx translates this to man format by using a macro
  • mandoc does not support macros inside of tables

Now, I'm not sure if "macros" are all there is to that format, or if this just means mandoc can't do any nested formatting in tables.

So, what we can do is to remove the offending formatting entirely, which means it's used in no format - which means we remove useful links from the html.

Sphinx could possibly improve their man output by doing "something" to support mandoc here, or mandoc could just start supporting this thing they don't currently support.

I'm not sure if mandoc's "unsupported" statement was about it "currently" not being supported or them not wanting to support it at all. The latter would be disappointing, of course.

@asomers
Copy link
Contributor Author

asomers commented Jun 6, 2023

Here's the upstream bug: sphinx-doc/sphinx#11455 . Also, if it's fish's position that nroff is now a requirement again, could you please update the Fish documentation to say so? The README and CHANGELOG both say that mandoc is sufficient.

@faho
Copy link
Member

faho commented Jun 6, 2023

Also, if it's fish's position that nroff is now a requirement again

mandoc has minor rendering issues in one specific table, because it is missing a feature.

If that is something you require, use roff if you want.

I don't believe we need to adjust the dependency table for what amounts to a bug.

Edit: Specifically, the note in the README is: "builtin commands that have the --help option or print usage messages require nroff or mandoc for display" and in the CHANGELOG it is "mandoc can now be used to format the output from --help if nroff is not installed". which is still the case.

This isn't a usage message.

Here's the upstream bug: sphinx-doc/sphinx#11455

Cool.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
upstream we can't fix it
Projects
None yet
Development

No branches or pull requests

2 participants