*BSD News Article 16885


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.