Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!axion!gapos!azh01!steve From: steve@gapos.bt.co.uk (Steve Rooke) Newsgroups: comp.mail.mh Subject: Re: HELP with vmh problem, please Keywords: mh vmh curses Message-ID: Date: 30 Apr 91 06:45:14 GMT References: <2114@seti.inria.fr> Sender: usenet@gapos.bt.co.uk (Usenet login) Organization: British Telecom Applied Systems. Lines: 68 In <2114@seti.inria.fr> gs@ynetfrsp.inria.fr (gs@ynetfrsp.inria.fr) writes: >In article , steve@gapos.bt.co.uk >(Steve Rooke) writes: >> >> I have just started to get MH 6.7.1 running under Uniplus+ SVR2 on our >> machines here but have hit a problem with vmh. When I run vmh -vmhproc msh >> the screen splits normally, the top window shows a scan of msgbox and I >> get the (vmh) prompt in the bottom window okay. If I scan then the bottom >> screen fills up but then immediately clears and I am left with a blank >> bottom window apart from the (top: bottom:) prompt. A refresh will not >> repaint the missing text and I can get the next screen but all I see is >> a quick flash of the bottom line of text before it disappears. >We had the same problem here (on DPX2000 in SPIX32). The only solution >we have found is >the following correction in the code of vmh.c : >in the routine WINless: > >......... >#endif notdef > lbottom = ltail; > while (waddstr (w, "~\n") != ERR) > continue; > } > else { > wrefresh (w); > return 0; > } > if (!nwait) <---------- suppress this line > wrefresh (w); <---------- suppress this line > } >........ Well does it work okay when you scroll the screen? I doubt it. I guess you have the same problem as me, the original BSD code has a habit of poking around a the window structure directly. Unfortunately it assumes that the characters are stored as char *'s but, as in my case, they are unsigned short *'s to allow extra room for attributes. MH initially writes it's output into the window, then reads it back into a structure (so that it can scroll the screen), it then writes it's idea of the screen back to the window and then calls wrefresh (as pointed to above). If you do not have char *'s then the read back screen will probably be blank and the screen will flash initially with the text and then will blank when it calls the wrefresh. David Fiander sent some patches to me (and posted them here a day or two ago) that fix the window dependencies for this problem. There is also another problem with long lines wrapping the window. If you have lines of text that wrap the window you will only see the tail end when the wrefresh is called. You will not see this problem if Show is using an mhl filter as this splits up long lines so that they show correctly on the screen. I have some patches that cure this problem and could post as a diff on David's work if wanted. Cheers Steve -- Steve Rooke steve@gapos.bt.co.uk (...mcsun!ukc!gapos!steve) UK + 394 693595 BT, CS/OPSE, Area 106, Anzani House, | Live to Hack - Trinity Ave, FELIXSTOWE, Suffolk, UK | Hack to Live. #include | The_Caged_Lion - DoD #0287