Number: 880

Date:  1-May-84 10':07':28

Submitter: le.pasa

Source:  (Rich Acuff at Ohio State)Acuff@Rutgers

Subject: CHARDELETE char should be echoed consistently

Assigned To: 


Status: Open


Problem Type: Bug

Impact: Annoying

Difficulty: Moderate

Frequency: Everytime

Priority: Perhaps

System: Language Support

Subsystem: Read and Print



Lisp Version: Fugue6

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: See workaround. I think the "right" way of handling this though is to modify the keyaction table when you enter and exit chat. Too many programs count on the "Delete" key being different from the "BS" key, I think, and changing it around as default would be a gratuitous incompatibility.'
["Masinter" " 5-Sep-84 12':49':55" Disposition': Workaround':]'
["Masinter" " 5-Sep-84 12':52':33" Attn': Status':(Open->Declined) Disposition': Workaround': Edit-Date':]'
["Acuff" "6-Sep-84 10':06" Status':(Declined->Open)'
["acuff" " 6-Sep-84 10':13':33" Subject': Status':(Declined->Open) Disposition': Description':]

Description: '
Original msg from Acuff':'
We use the following code to make the <- key delete the previous'
character for both our DEC-20 (via RS232) and the DLion.  It works'
fine except that on READ input (as opposed to TTYIN) the first time <-'
is struck after typing any other key, the character is not erased'
(although it is deleted from the buffer).  Successive <-''s cause chars'
to be erased, but the DLion is one char behind reality.  Are we doing'
something wrong?'
	(KEYACTION ''<- ''((127 127 NOLOCKSHIFT) . IGNORE))'
At this point, everything works ok in TTYIN.  However, READ doesn''t'
seem to work quite right.  For instance, typing (READ), then some'
letters, and then <- causes some character to appear for a split'
second on the screen, and then erase.  The char before the cursor is'
in fact gone from the buffer, but is still on the screen.  If <- is'
typed again that that point the char before the caret (the one that'
was just deleted) will disappear, and the one before it will be'
deleted.  If something besides <- is typed (eg. letters), then the'
process will repeat the next time <- is typed.'
   A simpler way to get the same problem is to do (SETSYNTAX ''='
''CHARDELETE (GETTERMTABLE)) and use = instead of <-.  In this case the'
funny character that appears and immediately gets erased turns out to'
be ''=''.  Taking a look at char 127 in the screen font revealed that'
char 127 was being displayed and erased when 127 was set to syntax'
   Let me know if you need more details or further testing from me.'
Either the chars should always be echoed, or never be echoed.  Preferably, they should never be echoed unless they go into the buffer.'

Workaround: You also need to (ECHOCHAR 127 ''IGNORE).

Test Case: 

Edit-By: acuff

Edit-Date:  6-Sep-84 10':13':33