[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:02778] Re: jvim on vt100 (Re: Unanswered problem reports by date)



現実逃避にちょいとおいかけてみました(^^;

From: Fumitoshi UKAI <ukai@debian.or.jp>
Subject: [debian-devel:02774] Re: jvim on vt100 (Re: Unanswered problem reports by date)
Date: Tue, 10 Feb 1998 11:23:27 +0900

> >   そうですか….jvim のバグではなくなりましたね.
> 
> 早合点はよくない。
> 
>  ncurses3.0 1.9.9e-1、ncurses3.4 1.9.9g-7 どちらでも
> 
>  % infocmp vt100 では
> 
>  cup=\E[%i%p1%d;%p2%dH$<5>
> 
> とでますが、
> 
>  % tput -Tvt100 cup 10 10 | od -c
>  0000000 033   [   1   1   ;   1   1   H
> 
> なので $<5> を出力していません。 jvim の bug であることは捨てきれません。
> # 正しく curses を使っていない とか

src/term.c の outstr() で

 #if defined(TERMCAP) && ! defined(NCURSES)
	tputs(s, 1, TPUTSFUNCAST outchar);
 #else
	while (*s)
		outchar(*s++);
 #endif

となっていますが、これがいけません。
ここで s は tgetstr() でとってきたものなので $<n> が残っていて
これを正しく出力するには tputs() を使わなければなりません。
# tputs(3X), terminfo(3X)

ただ、term.c の頭の方で TPUTSFUNCAST あたり defined(linux)の
処理がちょっと変です。#define TPUTSFUNCAST /*empty*/
でよいと思います。

# 本家な vim_4.6 の orig では問題なさそうです。
-- 
鵜飼文敏