Number: 398

Date: 30-Mar-84 15':54':04

Submitter: Sannella.PA

Source: JONL.PA

Subject: Document new features to PROMPTREMINDERS

Lisp Version: 

Description: '
Date': 29 MAR 84 17':36 PST'
From': JONL.PA'
Subject': Re': Lisp': PROMPTREMINDERS'
To':   Denber.wbst, LispSupport'
cc':   JONL, DMRussell'
'
In response to the message sent  27 Mar 84 11':56 EST from Denber.wbst'
'
I''ll have to ignore the part of your message about "File open in conflicting'
way - file busy." since that is clearly not in the domain of PROMPTREMINDERS.'
'
I fixed the typo in the "type description" for PROMPTREMINDERS filepkgcoms.'
'
I added the feature that if the MESSAGE given to SETREMINDER (or however else'
one installs a "message" in a periodic.prompt.reminder) is a listp, then'
it is eval''d rather than being "flashed"  in the promptwindow.  Note that it'
is eval''d only once per timeout.'
'
Also, I factored out a subpart of the reminder package into a function called'
UNTILKEYDOWNP, which repeatedly applys a function (given as arg) at a specified'
interval, for a total duration of time; all of which is stopped when the user'
depresses any key on the keyboard.  Dunno if this would be useful to others.'
'
-----'
Date': 29 Mar 84 17':52':42 PST (Thursday)'
From': masinter.PA'
Subject': Re': UNTILKEYDOWNP -- request for comments (including those on the coding)'
In-reply-to': JONL''s message of 29 MAR 84 17':38 PST'
To': JonL'
cc': LispSupport'
'
There was a feature added a while back for the PERIODICALLYRECLAIM which was a timer called \LASTUSERACTION. The \LASTUSERACTION timer gets reset on mouse motions and keys as well. '
'
[note to LispSupport, AR documentation to document \LASTUSERACTION]'
'
Would that be a better mechanism to build upon? '
'
-----'
'
Date': 29 MAR 84 18':22 PST'
From': JONL.PA'
Subject': Re': UNTILKEYDOWNP -- request for comments (including those on the coding)'
To':   masinter'
cc':   LispSupport, JONL'
'
In response to your message sent  29 Mar 84 17':52':42 PST (Thursday)'
'
\LASTUSERACTION would indeed be a better coding of that section of UNTILKEYDOWNP that tries to figure out if anything has happened.  Minor problem however is that the documentation for UNTILKEYDOWNP (now in the PROMPTREMINDERS.tty/press file) specifies that LOCK, CTRL, LSHIFT, RSHIFT and mouse buttons "don''t count")'
'
If you look at the source code in {Phylum}<Lispusers>PROMPTREMINDERS, you''ll'
see how kludgy this can get; it keeps a vector of 112 bits which is an'
image of the keyboard vector (from the emulator page) and keeps scanning'
the keyboard vector until some change is noticed (modulo the keys that "don''t'
count").'
'
-----'
'
Date': 30 Mar 84 17':01 EST'
From': Denber.wbst'
Subject': Re': Lisp': PROMPTREMINDERS'
In-reply-to': JONL.PA''s message of 29 MAR 84 17':36 PST'
To': JONL.PA'
cc': LispSupport.PA'
'
OK - I''ve got two questions':'
'
1. In the new documentation, the example is (SETREMINDER NIL 600 (PROGN (AND (FIND.PROCESS ''LISTFILES... etc.'
'
What keeps the PROGN from running as soon as you call the SETREMINDER?  In fact when I tried to say (PROGN (BEEPON 100)) for the message, it started beeping right away, not at the wake-up time.'
'
2. Suppose I want to change the definition of a reminder (like the guy is running CALENDAR and he decides the message should beep *after* he entered it).  I apparently can''t access the record fields of the reminder myself.  I tried saying something ugly like'
'
 (SUBST'
  ''(PROGN (PROMPTPRINT '
		    (CADDR (GETDEF REMNAME ''REMINDER)))'
		    (BEEPON 100))'
   (CADDR (GETDEF REMNAME ''REMINDER))'
   (GETDEF REMNAME ''REMINDER]'
'
to change the message of REMNAME from a string to an expr, but that doesn''t work (when the time comes, nothing happens).  (I realize it also doesn''t work because the interior expressions don''t get eval''d - how do you write an expression like (FOO (BAR X Y)) where you want to eval BAR without eval-ing FOO?)'
'
			- Michel'
-----'
'
Date': 30 MAR 84 16':13 PST'
From': JONL.PA'
Subject': Re': Lisp': PROMPTREMINDERS'
To':   Denber.wbst, JONL'
cc':   LispSupport'
'
In response to the message sent  30 Mar 84 17':01 EST from Denber.wbst'
'
1) a bug in the documentation -- missing "''" -- which I''m fixing'
2) why not just redefine the entire reminder?'
'
-----'
'
Date': 11 Apr 84 22':18 PST'
From': JonL.pa'
Subject': PROMPTREMINDERS package': changes'
To': LispUsers↑'
cc': Denber.wbst'
'
The PROMPTREMINDERS package has been modified in two ways, primarily to accommodate the CALENDAR lispusers package {new documentation is on [Phylum]<LispUsers>PromptReminders.tty/press}.'
'
--- The "message" component is extended': when a listp is supplied, it will be EVAL''d, rather than flashing/winking the message.  This provides a general functional interface for "reminder" actions.'
'
--- In Interlisp-D, reminders are now "fired up" by a background process, rather than a form on PROMPTCHARFORMS (but other Interlisps must still use PROMPTCHARFORMS).'
'
-----'
'
Date': 11 May 84 11':24 EDT'
From': Denber.wbst'
Subject': Re': PROMPTREMINDERS fix'
In-reply-to': JonL.pa''s message of 10 May 84 14':46 PDT'
To': JonL.pa'
cc': Lispsupport.pa'
'
I have moved the latest versions of CALENDAR, CALENDAR.DCOM, and CALENDAR.TED to {Phylum}<Lispusers>, if you want to try it out.  I have found it useful (although there''s still problems with the automatic reminder save to disk).'
'
			- Michel'


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 20-May-84 12':57':52

Attn: Release

Assigned To: Jonl.pa

In/By: 

Disposition: 

System: Other Software

Subsystem: 

Machine: 

Disk: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Difficulty: 

Frequency: Everytime

Impact: Minor

Priority: Perhaps

Status: Fixed

Problem Type: Documentation

Source Files: