Path: utzoo!attcan!uunet!mcvax!hp4nl!tnoibbc!gvb From: gvb@tnoibbc.UUCP (Gerlach van Beinum) Newsgroups: comp.windows.x Subject: xterm (R11V3) and vi problem. Keywords: xterm vi termcap Message-ID: <1045@tnoibbc.UUCP> Date: 14 Feb 89 08:20:15 GMT Lines: 34 Recently we received Version 3 of the X Window System. There was an annoying bug in xterm. The escape sequence to open a line (from vi) was not handled as it should be. Some debugging led to a (hacker's?) solution : In the routine CursorRestore someone subtracts screen->top_marg from the current row, setting it to zero most of the time. They didn't do this in Version 2. This hack will probably have some strange effect's on other programs, but vi works as it should! The following is the code of routine CursorRestore in file clients/xterm/cursor.c : CursorRestore(term, sc) register XtermWidget term; register SavedCursor *sc; { register TScreen *screen = &term->screen; Bcopy(sc->gsets, screen->gsets, sizeof(screen->gsets)); screen->curgl = sc->curgl; screen->curgr = sc->curgr; term->flags &= ~(BOLD|INVERSE|UNDERLINE|ORIGIN); term->flags |= sc->flags & (BOLD|INVERSE|UNDERLINE|ORIGIN); /* CursorSet(screen, sc->row - screen->top_marg, sc->col, term->flags); */ CursorSet(screen, sc->row, sc->col, term->flags); } -- ------------------------------------------------------------------ Gerlach van Beinum USENET: gvb@tnoibbc PHONE: +31 15 606447 ------------------------------------------------------------------