=================================================================== RCS file: /cvs/mandoc/main.c,v retrieving revision 1.305 retrieving revision 1.308 diff -u -p -r1.305 -r1.308 --- mandoc/main.c 2018/04/19 16:25:24 1.305 +++ mandoc/main.c 2018/08/23 19:33:27 1.308 @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.305 2018/04/19 16:25:24 schwarze Exp $ */ +/* $Id: main.c,v 1.308 2018/08/23 19:33:27 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2012, 2014-2018 Ingo Schwarze @@ -321,7 +321,8 @@ main(int argc, char *argv[]) if (use_pager && (conf.output.width == 0 || conf.output.indent == 0) && - ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) != -1) { + ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) != -1 && + ws.ws_col > 1) { if (conf.output.width == 0 && ws.ws_col < 79) conf.output.width = ws.ws_col - 1; if (conf.output.indent == 0 && ws.ws_col < 66) @@ -485,12 +486,6 @@ main(int argc, char *argv[]) curp.mp = mparse_alloc(options, curp.mmin, mmsg, curp.os_e, curp.os_s); - /* - * Conditionally start up the lookaside buffer before parsing. - */ - if (OUTT_MAN == curp.outtype) - mparse_keep(curp.mp); - if (argc < 1) { if (use_pager) tag_files = tag_init(); @@ -789,8 +784,14 @@ fs_search(const struct mansearch *cfg, const struct ma return 1; } if (res != NULL && *ressz == lastsz && - strchr(*argv, '/') == NULL) - warnx("No entry for %s in the manual.", *argv); + strchr(*argv, '/') == NULL) { + if (cfg->sec == NULL) + warnx("No entry for %s in the manual.", + *argv); + else + warnx("No entry for %s in section %s " + "of the manual.", *argv, cfg->sec); + } lastsz = *ressz; argv++; argc--; @@ -871,7 +872,7 @@ parse(struct curparse *curp, int fd, const char *file) tree_man(curp->outdata, man); break; case OUTT_MAN: - man_man(curp->outdata, man); + mparse_copy(curp->mp); break; case OUTT_PDF: case OUTT_ASCII: