Return to BSD News archive
Xref: sserve comp.os.386bsd.questions:2921 comp.os.386bsd.bugs:861 Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.bugs Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!saimiri.primate.wisc.edu!sdd.hp.com!swrinde!gatech!news.byu.edu!cwis.isu.edu!fcom.cc.utah.edu!cs.weber.edu!terry From: terry@cs.weber.edu (A Wizard of Earth C) Subject: Some bugs Message-ID: <1993Jun7.213419.5911@fcom.cc.utah.edu> Sender: news@fcom.cc.utah.edu Organization: Weber State University (Ogden, UT) Date: Mon, 7 Jun 93 21:34:19 GMT Lines: 49 These are lower priority than what I am currently working on, so if anyone wants to beat these up, it would be a nice introduction to hacking 386BSD sources... but it probably won't make you famous: 1) In vi (elvis), the following (mis)features: o After a ``:!<command>'' to a shell, using ``:!! <more parms>'' doesn't add the additional parameters to the nd of the command line (like real vi). This is annoying for things like ``:!ls /sys'' followed by ``:!!/kern''. o A tagged yank (ie: ``"a3yy'' to grab 3 lines into a) doesn't change the default buffer (you have to use ``"ap'' instead of just ``p''), unlike real vi. o A delete down (``dd'') sometimes erases the wrong line from the screen but deletes the correct one from the buffer. It seems to be a delayed update of the cursor position causing the problem. 2) The default console code (pccons.c) can crash the system, or at least screw up to the point that a reboot is required to make the console usable again. o The X command "resize" (part of the xterm distribution under "clients/xterm" in the X11 source tree) uses the sequence <ESC>[999;999H to position the cursor to the last addressable location on the screen; pccons doesn't trap any out of range cursor addresses and starts writing screen memory some place in ga-ga land. An immediate <CR> (to wake up resize) and a "clear<CR>" will only partially recover if the system doesn't actually crash. o While in the area, the sequence <ESC>[6n to request the cursor location should be implemented. This will make "resize" actually work. The correct report response (that will have to be stuffed in a buffer hacked into the keybard input routine) will be <ESC>[<rrr>;<ccc>R where <rrr> is the current row (option base 1) and <ccc> is the current column (option base 1). These probably wouldn't take more than an hour total. Terry Lambert terry@icarus.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.