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: