Date: Sun, 05 Dec 1999 19:16:41 +0900 From: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> To: stable@freebsd.org Cc: sobomax@altavista.net, jhb@freebsd.org, ticso@cicely.de, Alexander@leidinger.net, Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>, yokota@zodiac.mech.utsunomiya-u.ac.jp Subject: Re: Problem with syscons in VESA mode Message-ID: <199912051016.TAA28697@zodiac.mech.utsunomiya-u.ac.jp> In-Reply-To: Your message of "Fri, 03 Dec 1999 13:32:45 %2B0200." <3847AA5D.5947E0EE@altavista.net> References: <19991203105728.A68768@dcse.fee.vutbr.cz> <3847AA5D.5947E0EE@altavista.net>
next in thread | previous in thread | raw e-mail | index | archive | help
I modified Cejka Rudolf's patch for -STABLE. Would people care to test this in your -STABLE boxes? I don't have a -STABLE test box handy right now. Kazu Index: syscons.c =================================================================== RCS file: /src/CVS/src/sys/dev/syscons/syscons.c,v retrieving revision 1.293.2.9 diff -u -r1.293.2.9 syscons.c --- syscons.c 1999/11/29 02:38:39 1.293.2.9 +++ syscons.c 1999/12/05 07:02:04 @@ -3368,11 +3368,12 @@ case 0x09: /* non-destructive tab */ mark_for_update(scp, scp->cursor_pos - scp->scr_buf); scp->cursor_pos += (8 - scp->xpos % 8u); - mark_for_update(scp, scp->cursor_pos - scp->scr_buf); if ((scp->xpos += (8 - scp->xpos % 8u)) >= scp->xsize) { scp->xpos = 0; scp->ypos++; + scp->cursor_pos = scp->scr_buf + scp->ypos * scp->xsize; } + mark_for_update(scp, scp->cursor_pos - scp->scr_buf); break; case 0x0a: /* newline, same pos */ >Cejka Rudolf wrote: > >> Kazutaka YOKOTA wrote (1999/12/03): >> > This strange behavior was reported several times in the past. It must >> > be related to screen update logic in syscons. But, I don't think we >> > have successfully fixed it at that time :-( >> > It's time to analyze the problem again... >> >> Yes. I know about this problem too but I have no time to fix and test >> it. Is anybody interested in bug reports? ;-) >> >> * Left margin moving to the right is related to the screen width not >> divisible by 8 and an use of tabulators at the end of line after the >> last valid tab position. So the same problem could be seen for >> example with screen width 90, which is accessible for all >> -current users: Let's suppose that cursor range is 0..89: If the >> cursor is on 80..87, it will move to position 88 and everything is ok. >> If the cursor is on 88..89, the position is calculated properly (you >> can switch to another console then return and cursor will be on >> the right position on column 0), but cursor is moved incorrectly >> on column 8 on the next line and next lines are moved to the left too >> until you switch between consoles. >> I think the fix should be trivial (syscons.c,v 1.327) - but it is >> speculated right now without testing: >> >> -- >> *** syscons.c Sun Nov 28 15:29:28 1999 >> --- /tmp/syscons.c Fri Dec 3 10:28:59 1999 >> *************** >> *** 2946,2956 **** >> [...] > >Thanks! It seems fixed my problems with syscons. > >-Maxim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912051016.TAA28697>