Re: LineWrap Failure in Text-Terminal

2006-12-19 Thread Dimitry Andric
Sebastian Neuper wrote:
> Hi. With OpenBSD 4.0, I encounter a wrong line wrapping
> in the text-terminals.
...
> So I looked through all the changes and noticed the new jump 
> scroll feature for vt220 introduced in OpenBSD 4.0 and corrected
> in OpenBSD Current. My computer is a 200MMX with a 2,5GB
> Harddrive and compiling the complete source will be heavy or
> impossible. So I cannot check, if this is the problem or if it
> is already solved, and didn't send a bug-report.

Yes, this is precisely what was solved.  Just for reference, the
following diff should fix these problems also on 4.0 release or stable.

You could consider building a 4.0 release or stable kernel with only
this patch on a fast machine, and then transfer it to your slow machine.


--- sys/dev/wscons/wsemul_vt100.c   17 Aug 2006 06:27:04 -  1.13
+++ sys/dev/wscons/wsemul_vt100.c   19 Oct 2006 17:35:09 -  1.15
@@ -1015,7 +1015,9 @@ wsemul_vt100_output(cookie, data, count,
}
break;
default:
-   if (++pos >= NCOLS) {
+   if ((curchar & 0x7f) < 0x20)
+   break;
+   if (pos++ >= NCOLS) {
pos = 0;
curchar = ASCII_LF;
}



Re: LineWrap Failure in Text-Terminal

2006-12-18 Thread Otto Moerbeek
On Mon, 18 Dec 2006, Sebastian Neuper wrote:

> Hi. With OpenBSD 4.0, I encounter a wrong line wrapping
> in the text-terminals. If a line has 80 or more chars
> there will be extra blank lines. This problem occurs
> in ksh, more and less, but not in vi and lynx.
> 
> When I open a file in more, where line 28 has 85 or more 
> chars and I scroll down with the courser keys three lines, 
> I will get only the 80 chars followed by a blank line. When
> I scroll down another line, there will be the left chars after
> this blank line. With the repaint command CTRL-R in more, 
> the blank line disappears.
> When I scroll another 25 lines down, so that line 28 move off
> the screen, and then scroll back a few lines, there won't be
> a line 28 at all, until I put the repaint command.
> 
> This problem first occurred in OpenBSD 4.0 and I recognized it
> after a clean install. OpenBSD 3.9 on the same computer did
> a correct line wrapping.
> 
> So I looked through all the changes and noticed the new jump 
> scroll feature for vt220 introduced in OpenBSD 4.0 and corrected
> in OpenBSD Current. My computer is a 200MMX with a 2,5GB
> Harddrive and compiling the complete source will be heavy or
> impossible. So I cannot check, if this is the problem or if it
> is already solved, and didn't send a bug-report.

Try running a snapshot kernel. It's likely (but not guaranteed) a
snapshot bsd will work nicely with a 4.0 userland. Download bsd and
put it in your /, named bsd.snap and boot that on the boot prompt. 

-Otto

> 
> In ksh there is a similar wrong behavior. When I type
> $ ls 
> in a directory, containing following directories:
> $ mkdir aaa b ccc   fff ggg   jjj
> and my cursor is already at the bottom of the screen, the last
> 4 lines will be:
> BEGINN
> $ ls 
> aaa/   b/  ccc/  /  /  fff/   ggg/   /   /   jjj/
> $ ls
> 
> END
> containing also a blank line at the end, where there shouln't be one.
> Another  will print it correctly without the bottom blank line.
> Again a  will print it wrong with the blank line.
> 
> In the following directory it is even worse: 
> $ mkdir aaa cc ddd ff  jjj    ooo
> $ touch bbb. . g. . mm.mmm 
> ls  will print addional 3 blank lines at the bottom of the
> screen.
> 
> I thought it was a problem in the terminal and changed in /etc/ttys
> a virtual terminal from vt220 to vt100 and even dumb. This didn't
> solve the problem and with dumb, vi didn't work properly anymore.
> 
> Can anyone help me to make my text-terminal work correctly? And
> if this is already solved in OpenBSD Current, is there a workaround
> without recompiling the source? 
> 
> Thanks, 
> Sebastian.
> 
> I don't think this is a hardware problem, because 3.9 worked correctly.
> Anyway, here my dmesg output:
> 
> OpenBSD 4.0 (GENERIC) #1107: Sat Sep 16 19:15:58 MDT 2006
> [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
> cpu0: Intel Pentium/MMX ("GenuineIntel" 586-class) 200 MHz
> cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,MMX
> cpu0: F00F bug workaround installed
> real mem  = 66678784 (65116K)
> avail mem = 52559872 (51328K)
> using 839 buffers containing 3436544 bytes (3356K) of memory
> mainbus0 (root)
> bios0 at mainbus0: AT/286+(c6) BIOS, date 10/08/96, BIOS32 rev. 0 @ 0xf8080
> pcibios0 at bios0: rev 2.1 @ 0xf/0x67c
> pcibios0: PCI BIOS has 5 Interrupt Routing table entries
> pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371SB ISA" rev 0x00)
> pcibios0: PCI bus #0 is the last bus
> bios0: ROM list: 0xc/0x8000
> cpu0 at mainbus0
> pci0 at mainbus0 bus 0: configuration mode 1 (bios)
> pchb0 at pci0 dev 0 function 0 "Intel 82439HX" rev 0x03
> pcib0 at pci0 dev 7 function 0 "Intel 82371SB ISA" rev 0x01
> pciide0 at pci0 dev 7 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0 
> wired to compatibility, channel 1 wired to compatibility
> wd0 at pciide0 channel 0 drive 0: 
> wd0: 16-sector PIO, LBA, 2446MB, 5009760 sectors
> atapiscsi0 at pciide0 channel 0 drive 1
> scsibus0 at atapiscsi0: 2 targets
> cd0 at scsibus0 targ 0 lun 0:  SCSI0 5/cdrom 
> removable
> wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
> cd0(pciide0:0:1): using PIO mode 0, DMA mode 1
> pciide0: channel 1 disabled (no drives)
> ne3 at pci0 dev 9 function 0 "Realtek 8029" rev 0x00: irq 9, address 
> 00:e0:7d:98:4b:5e
> ne4 at pci0 dev 10 function 0 "Realtek 8029" rev 0x00: irq 9, address 
> 00:00:b4:9c:d6:c6
> "AVM Fritz ISDN" rev 0x02 at pci0 dev 11 function 0 not configured
> vga1 at pci0 dev 12 function 0 "S3 ViRGE" rev 0x06
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pcppi0 at isa0 port 0x61
> midi0 at pcppi0: 
> spkr0 at pcppi0
> lpt0 at isa0 port 0x378/4 i

LineWrap Failure in Text-Terminal

2006-12-18 Thread Sebastian Neuper
Hi. With OpenBSD 4.0, I encounter a wrong line wrapping
in the text-terminals. If a line has 80 or more chars
there will be extra blank lines. This problem occurs
in ksh, more and less, but not in vi and lynx.

When I open a file in more, where line 28 has 85 or more 
chars and I scroll down with the courser keys three lines, 
I will get only the 80 chars followed by a blank line. When
I scroll down another line, there will be the left chars after
this blank line. With the repaint command CTRL-R in more, 
the blank line disappears.
When I scroll another 25 lines down, so that line 28 move off
the screen, and then scroll back a few lines, there won't be
a line 28 at all, until I put the repaint command.

This problem first occurred in OpenBSD 4.0 and I recognized it
after a clean install. OpenBSD 3.9 on the same computer did
a correct line wrapping.

So I looked through all the changes and noticed the new jump 
scroll feature for vt220 introduced in OpenBSD 4.0 and corrected
in OpenBSD Current. My computer is a 200MMX with a 2,5GB
Harddrive and compiling the complete source will be heavy or
impossible. So I cannot check, if this is the problem or if it
is already solved, and didn't send a bug-report.

In ksh there is a similar wrong behavior. When I type
$ ls 
in a directory, containing following directories:
$ mkdir aaa b ccc   fff ggg   jjj
and my cursor is already at the bottom of the screen, the last
4 lines will be:
BEGINN
$ ls 
aaa/   b/  ccc/  /  /  fff/   ggg/   /   /   jjj/
$ ls

END
containing also a blank line at the end, where there shouln't be one.
Another  will print it correctly without the bottom blank line.
Again a  will print it wrong with the blank line.

In the following directory it is even worse: 
$ mkdir aaa cc ddd ff  jjj    ooo
$ touch bbb. . g. . mm.mmm 
ls  will print addional 3 blank lines at the bottom of the
screen.

I thought it was a problem in the terminal and changed in /etc/ttys
a virtual terminal from vt220 to vt100 and even dumb. This didn't
solve the problem and with dumb, vi didn't work properly anymore.

Can anyone help me to make my text-terminal work correctly? And
if this is already solved in OpenBSD Current, is there a workaround
without recompiling the source? 

Thanks, 
Sebastian.

I don't think this is a hardware problem, because 3.9 worked correctly.
Anyway, here my dmesg output:

OpenBSD 4.0 (GENERIC) #1107: Sat Sep 16 19:15:58 MDT 2006
[EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel Pentium/MMX ("GenuineIntel" 586-class) 200 MHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,MMX
cpu0: F00F bug workaround installed
real mem  = 66678784 (65116K)
avail mem = 52559872 (51328K)
using 839 buffers containing 3436544 bytes (3356K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(c6) BIOS, date 10/08/96, BIOS32 rev. 0 @ 0xf8080
pcibios0 at bios0: rev 2.1 @ 0xf/0x67c
pcibios0: PCI BIOS has 5 Interrupt Routing table entries
pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371SB ISA" rev 0x00)
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc/0x8000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82439HX" rev 0x03
pcib0 at pci0 dev 7 function 0 "Intel 82371SB ISA" rev 0x01
pciide0 at pci0 dev 7 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0 
wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: 
wd0: 16-sector PIO, LBA, 2446MB, 5009760 sectors
atapiscsi0 at pciide0 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0:  SCSI0 5/cdrom removable
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
cd0(pciide0:0:1): using PIO mode 0, DMA mode 1
pciide0: channel 1 disabled (no drives)
ne3 at pci0 dev 9 function 0 "Realtek 8029" rev 0x00: irq 9, address 
00:e0:7d:98:4b:5e
ne4 at pci0 dev 10 function 0 "Realtek 8029" rev 0x00: irq 9, address 
00:00:b4:9c:d6:c6
"AVM Fritz ISDN" rev 0x02 at pci0 dev 11 function 0 not configured
vga1 at pci0 dev 12 function 0 "S3 ViRGE" rev 0x06
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: 
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
isapnp0 at isa0 port 0x279: read port 0x203
sb1 at isapnp0 "Creative SB16 PnP, CTL0031, , Audio" port 
0x220/16,0x330/2,0x388/4 irq 5 drq 1,5: dsp v4.13
midi1 at sb1: 
audio0 at sb1
opl0 at sb1: model OPL3
midi2 at opl0: 
wdc2 at