Date: Sun, 29 Jul 2007 23:58:05 -0400 (EDT)
From: Daniel Eischen <deischen@freebsd.org>
To: delphij@freebsd.org
Cc: Rong-en Fan <grafan@gmail.com>, current@freebsd.org
Subject: Re: TERM={xterm-r5,xterm-r6} behaving badly with man(1)
Message-ID: <Pine.GSO.4.64.0707292347510.29296@sea.ntplx.net>
In-Reply-To: <6eb82e0707290944s2531e32cuf50c9f7c60509070@mail.gmail.com>
References: <f8hmgs$2c1l$1@FreeBSD.csie.nctu.edu.tw> <20070729124116.GA4489@saltmine.radix.net> <Pine.GSO.4.64.0707290904030.25963@sea.ntplx.net> <20070729135024.GA473@saltmine.radix.net> <Pine.GSO.4.64.0707291018570.26371@sea.ntplx.net> <20070729144202.GA17101@saltmine.radix.net> <46ACA806.5030704@FreeBSD.org> <6eb82e0707290944s2531e32cuf50c9f7c60509070@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 30 Jul 2007, Rong-en Fan wrote:
>
> Thomas has explained me in details about what his has. Judge from
> Daniel's original post, I would like to know which libncurses.so that
> xterm is using, and is devel/ncurses or devel/ncurses-devel installed?
>
> The ncurses update was in late Jan and enable widec support in Mar, IIRC.
> Since then, only few non-functional Makefile changes to base's ncurses
> part. BTW, base's less is updated in early Jun, not sure if it's related.
It looks like the less import broke this behavior (inhibiting ti/te
when invoked as more). See the changes between r1.7 and r1.8 of
contrib/less/screen.c.
$ cvs diff -u -r1.7 -r1.8 screen.c
...
- /*
- * This loses for terminals with termcap entries with ti/te strings
- * that switch to/from an alternate screen, and we're in quit_at_eof
- * (eg, more(1)).
- */
- if (!quit_at_eof && !less_is_more) {
- sc_init = ltgetstr("ti", &sp);
- sc_deinit = ltgetstr("te", &sp);
- }
-
+ sc_init = ltgetstr("ti", &sp);
if (sc_init == NULL)
sc_init = "";
+ sc_deinit= ltgetstr("te", &sp);
if (sc_deinit == NULL)
sc_deinit = "";
This seems to fix it:
Index: main.c
===================================================================
RCS file: /opt/FreeBSD/cvs/src/contrib/less/main.c,v
retrieving revision 1.9
diff -u -r1.9 main.c
--- main.c 23 Jun 2007 15:28:00 -0000 1.9
+++ main.c 30 Jul 2007 02:58:39 -0000
@@ -165,7 +165,7 @@
quit(QUIT_OK);
}
- if (less_is_more && get_quit_at_eof())
+ if (less_is_more || get_quit_at_eof())
no_init = quit_if_one_screen = TRUE;
--
DE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0707292347510.29296>
