Number: 1164

Date: 21-May-84 15':39':49

Submitter: Sannella.PA

Source: masinter.pa

Subject: Many Caret problems fixed --- revised caretology

Lisp Version: 

Description: '
Date':  2 May 84 19':09 PDT'
From': Masinter.pa'
Subject': revised caretology'
To': lispcore↑'
'
I made (with Richard''s agreement) a pass over the caretology in order to remove free variable references from the inner loops of displaying characters and to simplify the code.'
'
I have only about 80% confidence that all of the edits made will work. '
'
I only fixed the references in code that is, by default, in the full loadup (I haven''t touched RS232CHAT, for example). '
'
I''ve started a loadup; if it works, I will document the changes and finish checking over the rest of the files that might be affected.'
'
--- stay tuned ---'
'
Larry'
'
-----'
'
Date':  2 May 84 21':26 PDT'
From': JonL.pa'
Subject': Re': revised caretology'
In-reply-to': masinter.pa''s message of 2 May 84 19':09 PDT'
To': masinter.pa'
cc': lispcore↑.pa'
'
According to Richard, the \CHECKCARET macro will still exist in the new caretology, and that is all the RS232CHAT now uses; so all that needs to be done to bring it up to date is to re-compile whenever \CHECKCARET changes.'
'
-----'
'
Date':  3 May 84 08':56 PDT'
From': Burton.pa'
Subject': Re': revised caretology'
In-reply-to': JonL.pa''s message of 2 May 84 21':26 PDT'
To': JonL.pa'
cc': masinter.pa, lispcore↑.pa'
'
That was true of a change I made to carets last week.  Larry has since redesigned it.  I believe he has changed the name of \CHECKCARET to CARET.DOWN.'
'
richard'
'
-----'
'
Date':  3 May 84 12':42 PDT'
From': masinter.pa'
Subject': Re': revised caretology'
In-reply-to': Burton.pa''s message of 3 May 84 08':56 PDT'
To': Burton.pa'
cc': JonL.pa, masinter.pa, lispcore↑.pa'
'
The arguments changed, and I was reluctant to leave around a macro with the same name.'
'
The new interface will be (once I get through putting the system back together. Don''t take the following on gospel but this is basically how it works....'
'
\CARET.DOWN (window/stream) '
	if window/stream is NIL, take the caret down, wherever it is.'
	This is used, e.g., when switching TTY displaystreams.'
'
\CHECKCARET --'
	This puts the global check inline. This is mainly exported so that LLDISPLAY can call it before the rest of the CARET code is loaded.'
'
\CARET.FLASH?(window/stream caret rate)'
	turn the caret on/off. You can supply your own caret, or'
	use the system default caret and rate, which are set by'
'
CARETRATE(rate) 		 change system default caret rate'
CARET(ontime offtime)	 change system default caret'
'
This scheme uses NO free variables. If you want to roll your own caret for a special application, you supply it in the call. The ''caret that is up'' is stored in global state.'
'
There is not any per-process caret state that the system keeps track of... if you want something other than the GLOBAL default, you have to call \CARET.FLASH? with your own arguments.'
'
The CARET records are not exported and are private to the file that implements carets. The only exported macro is \CHECKCARET which I retained for compatibility, although it is used slightly differently.'
'
-----'
'
Date':  4 May 84 18':35 PDT'
From': Masinter.pa'
Subject': Re': revised caretology'
In-reply-to': Burton.pa''s message of 3 May 84 08':56 PDT'
To': Burton.pa'
cc': JonL.pa, masinter.pa, lispcore↑.pa'
'
I''ve made yet another minor pass over the caretology so that TEdit can use it to display multiple carets at one time (I think it is all that''s necessary.) '
'
I also recompiled last time in such a way that the GLOBALVAR declaration didn''t hit \FLASHCARET? when I compiled it. (declaration on the file but not executed.). I''ve fixed that.'
'
I also added a global variable \CARET.FORCED.OFF.RATE which is the amount of time to wait after the caret has been forced off to put it back up. Initially 0, but I think I may set it higher in my init.'
'
'


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 21-May-84 15':45':35

Attn: 

Assigned To: 

In/By: 

Disposition: 

System: Windows and Graphics

Subsystem: Window System

Machine: 

Disk: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Difficulty: Hard

Frequency: Everytime

Impact: Moderate

Priority: Perhaps

Status: Fixed

Problem Type: Bug

Source Files: