home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / busi / mjog216.zip / MJOG.DOC next >
Text File  |  1989-02-04  |  31KB  |  761 lines

  1.                                    MJOG 2.16
  2.  
  3.         MJOG is a simple program that can help jog your memory for
  4.         important dates (mjog = Memory JOGger).  You can use MJOG to
  5.         create a small file containing birthdays, appointments, etc.,
  6.         and it will remind you of them as far in advance as you wish.
  7.         MJOG is a nice program to put in your AUTOEXEC.BAT.
  8.  
  9.         Version 2 is a complete rewrite of the program.  It is much
  10.         more flexible than previous versions.  The basic changes are:
  11.  
  12.             -- Flexible reminder dates (remind on day of week, day
  13.                of month, etc.).
  14.  
  15.             -- "Cleanup" is no longer required; obsolete entries are
  16.                automatically deleted.
  17.  
  18.             -- You can delete reminders without editing the data file.
  19.  
  20.             -- You can temporarily "forget" a recurring reminder after
  21.                it has been taken care of.
  22.  
  23.             -- You can define different lookahead periods for each
  24.                reminder.
  25.  
  26.             -- More flexible configuration.
  27.  
  28.         | marks changes in recent versions.
  29.  
  30.  
  31.         Starting up
  32.         -----------
  33.         MJOG keeps a small text file for your appointments and
  34.         reminders.  You should decide where you want to keep this
  35.         before running MJOG the first time.  If you don't specify where
  36.         it goes, MJOG will create a file called MJOG.DAT in the current
  37.         directory.
  38.  
  39.         If you want to use a different name and/or directory, set the
  40.         environment variable MJOG as follows:
  41.  
  42.             SET MJOG=FILE:d:\path\filename
  43.  
  44.         For example:
  45.  
  46.             SET MJOG=FILE:c:\misc\mjog.txt
  47.  
  48.         Do this before running MJOG.  Note that there are additional
  49.         options for the MJOG variable, as described below.
  50.  
  51.  
  52.         Adding appointments to your calendar
  53.         ------------------------------------
  54.         To add a date to your calendar file (or to create a new file if
  55.         there isn't one already), just type
  56.  
  57.                 MJOG date text
  58.  
  59.         where date is a reminder date and text is the reminder text.
  60.         MJOG's date scheme is very flexible; see the section called
  61.         "Specifying dates."
  62.  
  63.         Here are some examples of entering reminders:
  64.  
  65.                 mjog tue Dentist 3pm
  66.                     (See the dentist next Tuesday)
  67.  
  68.                 mjog 4/14 Dinner with CPA
  69.                     (Meet with your CPA next April 14th)
  70.  
  71.                 mjog every 4/15 Income taxes due
  72.                     (Pay taxes every April 15th)
  73.  
  74.                 mjog 8/15/* Income taxes REALLY due
  75.                     (Note that * is a wildcard--same as "EVERY 8/15")
  76.  
  77.                 mjog today 1pm Lunch with Neville & Benito.
  78.                     (Have lunch today at 1 PM)
  79.  
  80.  
  81.         Displaying reminders
  82.         --------------------
  83.         To have MJOG display your reminders, just run it:
  84.  
  85.                 MJOG
  86.  
  87.         It will display all reminders for the next ten days.  You can
  88.         change the number of days MJOG "looks ahead" as described below.
  89.  
  90.         If you add a /P switch:
  91.  
  92.                 MJOG /P
  93.  
  94.         MJOG will pause after it displays any reminders.  It will not
  95.         pause if there are no reminders to display.
  96.  
  97.  
  98.         Displaying a calendar
  99.         ---------------------
  100.         You can have MJOG display a calendar of the current month:
  101.  
  102.             MJOG /L
  103.  
  104.         If you want a calendar for a different month, use:
  105.  
  106.             MJOG /L(mm/yy)
  107.  
  108.         For example:
  109.  
  110.             MJOG /L(6/89)
  111.  
  112.         This would display a calendar for June, 1989.
  113.  
  114.  
  115.         Specifying dates
  116.         ----------------
  117.         MJOG is quite flexible on dates.  You can specify days of the
  118.         week, months, days of the month, and years, and you can use
  119.         "wildcards" to create reminders that repeat regularly.
  120.  
  121.         There are two kinds of reminders.  "Floating" reminders recur
  122.         periodically (for example, the 1st of every month, every Monday,
  123.         every April 15th).  "Fixed" reminders refer to one specific date
  124.         (for example, 12/15/89).
  125.  
  126.         Here are the two generic date formats:
  127.  
  128.             TODAY
  129.             EVERY dow mm/dd/yy
  130.  
  131.         where EVERY is a keyword that forces the date to float; DOW is a
  132.         day of the week; and MM, DD, and YY represent a month, day of
  133.         the month ("DOM"), and year, respectively.  All fields are
  134.         optional, but you must specify enough for MJOG to be able to
  135.         determine a valid date.  We'll describe partial and wildcard
  136.         date specifications shortly.
  137.  
  138.         The DOW, if present, must be one of the following three-letter
  139.         abbreviations:
  140.  
  141.             Mon Tue Wed Thu Fri Sat Sun
  142.  
  143.         Case is not significant (e.g., "mon", "Mon", and "MON" are all
  144.         OK).
  145.  
  146.         All fields can be wildcards, and some can be omitted in certain
  147.         combinations.  Here are the details:
  148.  
  149.            1. Month, Year, DOM wildcards:  an asterisk (*) is a
  150.            wildcard; it allows the field to float.  Examples:
  151.  
  152.                 12/25/*     (December 25th of any year)
  153.                 12/*/*      (any date in any December)
  154.                 4/*/89      (any date in April, 1989)
  155.                 */15/*      (the 15th of every month)
  156.                 */1/89      (the 1st of every month in 1989)
  157.                 */*/*       (every day)
  158.  
  159.            2. Month, Year, DOM partial specifications:  in some cases
  160.            you can omit fields of the MM/DD/YY specification.  These are
  161.            the valid partial date formats:
  162.  
  163.                 MM/YY
  164.                     Shorthand for MM/*/YY
  165.                     Example: "12/89" = "12/*/89"
  166.  
  167.                 MM/DD
  168.                     The next occurrence of the month and DOM.  If
  169.                     entered on 6/9/89:
  170.                         "7/15" = "7/15/89"
  171.                         "4/15" = "4/15/90"
  172.  
  173.                 DD
  174.                     Means the next occurrence of the specified DOM.  If
  175.                     entered on 6/12/89:
  176.                         "12" = "6/12/89"
  177.                         "13" = "6/13/89"
  178.                         "11" = "7/11/89"
  179.  
  180.            Note that the MM/DD and DD formats are fixed reminders--they
  181.            represent one specific date.  MM/YY, however, is a floating
  182.            reminder--it represents any day in the specified month.
  183.  
  184.            3. DOW wildcards:  you can make the DOW a wildcard by simply
  185.            omitting it.  Do not use an asterisk.
  186.  
  187.            4. EVERY:  this is a keyword that forces the date
  188.            specification to float.  Examples:
  189.  
  190.                 every 12/25     (same as 12/25/*)
  191.                 every 15        (same as */15/*)
  192.                 every tue       (every Tuesday)
  193.                 every 12/89     (same as 12/*/89)
  194.  
  195.         This sounds much more complicated than it really is.  In
  196.         practice, you will find it quite natural.  Here are some
  197.         examples of valid date specifications.  Where "shorthand" is
  198.         used, the equivalent full specification is shown in parentheses
  199.         (MM, DD, and YY represent specific numbers):
  200.  
  201.             every thu       Every Thursday (THU */*/*)
  202.             thu             Next Thursday (THU MM/DD/YY)
  203.             17              The next 17th of the month (MM/17/YY)
  204.             4/89            Every day of April, 1989 (4/*/89)
  205.             12/15           The next December 15 (12/15/YY)
  206.             every 12/15     Every December 15 (12/15/*)
  207.             thu 12/89       Every Thursday in 12/89 (THU 12/*/89)
  208.             mon */*/89      Every Monday in 1989
  209.             */15/*          15th of every month
  210.             */15/90         15th of every month in 1990
  211.             1/*/*           Every day of every January
  212.             every 17        17th of every month (*/17/*)
  213.             9/14/89         September 14, 1989
  214.             today           Today!
  215.  
  216.         Note that if your date specification consists solely of a DOW,
  217.         MJOG will not include today, even if it is the same DOW.  For
  218.         example, if you enter
  219.  
  220.             MJOG tue dentist 9:30
  221.  
  222.         MJOG will assume that you mean NEXT Tuesday, even if today is
  223.         Tuesday.  If you really mean today, use
  224.  
  225.             MJOG today dentist 3pm
  226.  
  227.         If you use EVERY with a DOW, MJOG will include the current date:
  228.  
  229.             MJOG every tue Luncheon in the grass
  230.  
  231.         In this case, MJOG will display the reminder for today (if today
  232.         is Tuesday).
  233.  
  234.         Finally, note that you can enter a DOW and a DOM, but they must
  235.         match correctly.  For example:
  236.  
  237.             tue 1/3/89      is OK: 1/3/89 is a Tuesday
  238.             tue 1/4/89      is invalid (no such date)
  239.             tue */7/*       will display a reminder on any 7th that is a
  240.                             Tuesday, but will give error messages for
  241.                             other 7ths.
  242.  
  243.  
  244.         Changing the "lookahead" date
  245.         -----------------------------
  246.         Normally, MJOG will look ahead ten days.  This means that it
  247.         will display any reminders that will occur within the next ten
  248.         days (including today).
  249.  
  250.         You can change MJOG's lookahead date by using the /n switch,
  251.         where n is the number of days you want to look ahead.  For
  252.         example:
  253.  
  254.             MJOG /180
  255.  
  256.         This will display any reminders coming up within the next six
  257.         months.  Note that you can permanently change the lookahead
  258.         period via the MJOG environment variable (see below).
  259.  
  260.         You can also specify individual ("local") lookahead dates for
  261.         each reminder by using a /n switch when you define it.  For
  262.         example:
  263.  
  264.             MJOG /30 every 4/15 Income taxes due!
  265.  
  266.         This will display your income tax reminder one month in advance,
  267.         while other reminders remain set at the usual ten days.
  268.  
  269.         To be precise, the lookahead date is how many days IN ADVANCE
  270.         you want to be reminded.  If you only want to be reminded on the
  271.         actual day of the memo, use /0.  The maximum lookahead value is
  272.         65534 days.
  273.  
  274.         Note that MJOG will only display a reminder once, even if it
  275.         occurs multiple times within the lookahead period.  For example,
  276.         if you have
  277.  
  278.             mjog every Fri 9am staff meeting
  279.  
  280.         and you run MJOG /30, only the first weekly staff meeting will
  281.         be displayed.
  282.  
  283.         If you specify a global lookahead on the command line, MJOG will
  284.         use the longer of the two lookahead periods for those reminders
  285.         that also have "local" lookaheads.  For example, if you have:
  286.  
  287.             mjog /20 3/2/* Patty's birthday
  288.             mjog /60 4/15/* Taxes due
  289.  
  290.         (specifying a 20-day lookahead for the birthday and a 60 day
  291.         lookahead for taxes) and you then do:
  292.  
  293.             mjog /45
  294.  
  295.         MJOG will use a 45-day lookahead for the birthday and a 60-day
  296.         lookahead for the taxes.
  297.  
  298.  
  299.       | Displaying a different year
  300.       | ---------------------------
  301.       | Some people like to use MJOG as a "this day in history" tool,
  302.       | displaying interesting things that have occurred on the current
  303.       | date in years past:
  304.       |
  305.       |     MJOG /0 5/10/* Churchill becomes Prime Minister, 1940
  306.       |
  307.       | This works well, except that the reminder always shows up with
  308.       | the current date:
  309.       |
  310.       |      Wed  5/10/89 Churchill becomes Prime Minister, 1940
  311.       |
  312.       | The date "Wed 5/10/89" has no particular significance in this
  313.       | context; it is simply an artifact of the way MJOG works.
  314.       |
  315.       | The /Y switch allows you to specify a different year for
  316.       | display; just follow it with a full 4-digit year.  For example:
  317.       |
  318.       |     MJOG /0 Y1940 5/10/* Churchill becomes Prime Minister
  319.       |
  320.       | On May 10, this will be displayed:
  321.       |
  322.       |     Fri  5/10/1940 Churchill becomes Prime Minister
  323.       |
  324.       | Any year from 1 A.D. is valid.  Note that, for years prior to
  325.       | the adoption of the Gregorian calendar, the displayed day of the
  326.       | week may differ from the day as recorded in history.  The
  327.       | Gregorian calendar was adopted by the British Empire (including
  328.       | the American colonies) on September 14, 1752, and by other
  329.       | countries at various times.
  330.  
  331.  
  332.         Deleting reminders
  333.         ------------------
  334.         When a reminder is obsolete (i.e., when the date of a fixed-date
  335.         reminder has passed), MJOG will automatically delete it.  To
  336.         delete a floating reminder or a fixed reminder before its date
  337.         has been reached, you can either edit the MJOG data file with
  338.         your text editor and manually delete it, or you can have MJOG
  339.         delete it via the command:
  340.  
  341.                 MJOG /D [date] [text]
  342.  
  343.         You must include enough of the date and/or text to uniquely
  344.         identify the reminder.  For example, if you have a note:
  345.  
  346.                 MJOG Tue Call for dentist appointment
  347.  
  348.         you could delete it by using:
  349.  
  350.                 MJOG /D dentist
  351.                     or
  352.                 MJOG /D Tue
  353.  
  354.         if and only if the word "dentist" does not appear in any other
  355.         reminder (first example) or if you have no other reminders for
  356.         next Tuesday (second example).  You can make the deletion
  357.         unambiguous by including more text or by specifying the date and
  358.         some text:
  359.  
  360.                 MJOG /D tue dentist
  361.                 MJOG /D call for dentist
  362.  
  363.         If you use a date, you do not have to use the same format as the
  364.         original entry, but you must specify it so that it evaulates to
  365.         the correct date.  For example, if you had originally used:
  366.  
  367.                 MJOG 6/20/89 Call dentist for appointment
  368.  
  369.         you could use:
  370.  
  371.                 MJOG /D Tue dentist
  372.  
  373.         if next Tuesday is 6/20/89.  In other words, that command would
  374.         work from Tuesday 6/13/89 through Monday 6/19/89.  Prior to
  375.         6/13/89 or on 6/20, you'd have to specify the date more
  376.         accurately.  Here are several examples:
  377.  
  378.                 MJOG /D 6/20/89 dentist (always OK)
  379.                 MJOG /D 6/20 dentist    (anytime from 6/21/88-6/20/89)
  380.                 MJOG /D 20 dentist      (OK 6/1/89-6/20/89)
  381.                 MJOG /D TODAY dentist   (OK on 6/20/89 only)
  382.  
  383.         If there is no way to make a reminder selection unambiguous
  384.         (i.e., if two reminders in file are identical), the only way to
  385.         remove one of them is by editing the file.
  386.  
  387.  
  388.         Forgetting reminders
  389.         --------------------
  390.         After you've taken care of a floating reminder, it's useful to
  391.         be able to "forget" it until the next occurrence.  For example,
  392.         suppose you have:
  393.  
  394.                 MJOG EVERY 10/19 Mom's birthday
  395.  
  396.         You'll be reminded every year, prior to October 19, that it's
  397.         time to take care of the birthday.  After you've sent her the
  398.         keys to that new car (say, on October 15), there's not much
  399.         point to the reminder remaining active.  But you don't want to
  400.         delete it, either, because you're going to have to buy another
  401.         new car next year.  All you want to do is forget it for this
  402.         year.
  403.  
  404.         MJOG allows you to forget the reminder in this fashion:
  405.  
  406.             MJOG /F [date] [text]
  407.  
  408.         The date and/or text are specified exactly as for deleting a
  409.         reminder (above).  For example:
  410.  
  411.             MJOG /F 10/19
  412.             MJOG /F 19 birthday
  413.  
  414.         When you do this, MJOG adds a special note to the reminder in
  415.         the file, telling it to forget the reminder until a specific
  416.         date has passed.  Assuming that you issue the above command in
  417.         1989, MJOG would change the reminder in file to:
  418.  
  419.             MJOG /~10/19/89 10/19/* Mom's birthday
  420.  
  421.         MJOG will then ignore this reminder until AFTER 10/19/89, at
  422.         which time the /F note will be removed and the reminder will
  423.         again become active (for 1990).
  424.  
  425.         The /~MM/DD/YY format is a special one that MJOG uses for
  426.         itself.  It appears only in the data file, and you should
  427.         probably not enter it by hand.  If you insist on doing so, it
  428.         must be in EXACTLY that format.  In particular, the date must be
  429.         explicit--it can contain no wildcards, missing elements, or days
  430.         of the week.
  431.  
  432.  
  433.         Displaying MJOG version
  434.         -----------------------
  435.         MJOG does not display its version/copyright notice when it is
  436.         just listing reminders (it would detract from the display).  It
  437.         does display the notice when any maintenance is performed on the
  438.         reminder file (new reminders, deletes, forgets, etc.) and when
  439.         an error is detected.
  440.  
  441.         If you need to check your version number manually, use the /V
  442.         switch:
  443.  
  444.             MJOG /V
  445.  
  446.  
  447.         Parameter specifications
  448.         ------------------------
  449.         MJOG is fairly flexible about how you enter parameters, but
  450.         there are a few rules you must follow.
  451.  
  452.         1. Switches cannot be combined and must be separated from each
  453.         other by at least one space:
  454.  
  455.             Legal:      MJOG /L /50
  456.             Illegal:    MJOG /L/50
  457.             Illegal:    MJOG /L50
  458.  
  459.         Switches can be introduced by either a slash (/) or a hyphen
  460.         (-).
  461.  
  462.         2. The keyword EVERY, if present, must precede the date/DOW:
  463.  
  464.             Legal:      mjog every tue
  465.             Illegal:    mjog 12/15 every
  466.  
  467.         3. MJOG assumes that the reminder text begins with first word it
  468.         finds that doesn't look like one of these:
  469.  
  470.             "EVERY" (unless date has already appeared)
  471.             "TODAY" (unless date has already appeared)
  472.             /switch
  473.             -switch
  474.             day-of-week specification
  475.             date specification
  476.  
  477.         That's fairly simple.  About the only time you can get into
  478.         trouble with the text is if your date specification is a DOW
  479.         only (no date) and the reminder text begins with a number:
  480.  
  481.             mjog tue 3 wise men arrive, Heathrow 0730
  482.  
  483.         MJOG will think the "3" is a date specification.  It does have
  484.         some special logic built in; numbers that meet any of these
  485.         criteria are assumed NOT to be dates (and thus to begin the
  486.         reminder text):
  487.  
  488.             Any number that is three or more digits in length.
  489.             Any number containing a colon (:).
  490.             Any number that is followed by "AM" or "PM"
  491.  
  492.         Therefore, all of these would be OK:
  493.  
  494.             mjog tue 0730 3 wise men arrive, Heathrow
  495.             mjog tue 9:00 staff meeting
  496.             mjog tue 9am staff meeting
  497.             mjog fri 10667 Brambley Court, meet Spiro
  498.  
  499.         4. When a date is in the format nn/nn, it could be either MM/DD
  500.         or MM/YY.  MJOG assumes that it is MM/YY if the second number is
  501.         larger than 31, else MM/DD.
  502.  
  503.         5. Years can be specified either as YY or as YYYY ("89" or
  504.         "1989").  MJOG accepts dates from 1981-2010.  Years are always
  505.         displayed as YY, except for /Y switch years, which are displayed
  506.         as YYYY.
  507.  
  508.  
  509.         The MJOG data file
  510.         ------------------
  511.         The file that MJOG uses (usually called MJOG.DAT) is a standard
  512.         ASCII text file containing all active reminders.  You can edit
  513.         it, if you wish, with your text editor or your word processor in
  514.         non-document mode.
  515.  
  516.         MJOG updates the file by itself whenever a reminder is added,
  517.         "forgotten", deleted, or obsoleted.  Note that MJOG uses a
  518.         standard format for its dates when writing the data file, so
  519.         they might not look exactly as they did when entered.  For
  520.         example, "every 15" is the same as "*/15/*"; MJOG will always
  521.         use the latter, no matter how you entered it.
  522.  
  523.         You can prevent MJOG from automatically deleting obsolete
  524.         reminders from the file via the NOUPDATE field in the MJOG
  525.         environment variable (see below).
  526.  
  527.         You can force MJOG to update the file with a /U parameter:
  528.  
  529.             MJOG /U
  530.  
  531.         /U overrides NOUPDATE if both are present.
  532.  
  533.         Whenever MJOG updates the file for any reason, it is sorted in
  534.         order of next occurrence date.  In other words, the memos will
  535.         appear in the file in the order they will appear on the screen.
  536.         Each line of the file is in a specific format:
  537.  
  538.             (mm/dd/yy) /~mm/dd/yy /nn dow mm/dd/yy text
  539.  
  540.         The mm/dd/yy in parentheses is the date of the next occurrence
  541.         of the memo.  The remainder of the line should be familiar:  the
  542.         "forget-until" date, local lookahead, DOW, reminder date, and
  543.         reminder text.  Many of these fields may be missing from any
  544.         single line, but everything will be lined up in columns.
  545.  
  546.         If you edit the data file by hand, the next-occurrence date (in
  547.         parentheses) need not be present.  However, if it is, it must be
  548.         enclosed in parentheses, and it must be the first item on the
  549.         line.
  550.  
  551.  
  552.         The MJOG environment variable
  553.         -----------------------------
  554.         The MJOG environment variable allows you to permanently change a
  555.         few items of MJOG's configuration.  These include the name and
  556.         location of the data file, the screen attributes (colors) to be
  557.         used, where to display the calendar, and the lookahead period.
  558.         The specific syntax is:
  559.  
  560.             MJOG=FILE:<filename> ATTRIB:<attribs> CAL:<coords> LOOK:<nn>
  561.                 NOUPDATE
  562.  
  563.         All are optional (but you obviously must specify at least one of
  564.         them).  The formats are as follows:
  565.  
  566.         FILE:   The exact path and filename of the data file.  For
  567.         example:
  568.  
  569.             FILE:c:\misc\mjog.dat
  570.  
  571.         ATTRIB:  A list of screen attributes in ANSI format.  ANSI.SYS
  572.         or equivalent must be loaded to use this feature.  You specify
  573.         three attributes:  normal, highlight, and exit.  Highlight is
  574.         used for highlighted displays, which includes any reminders for
  575.         today or tomorrow and the current date on the calendar.  Normal
  576.         is used for all other displays.  Exit is the attribute the
  577.         system will be using when MJOG finishes.  Attributes are
  578.         specified using the numeric sequence ANSI.SYS uses to specify
  579.         colors.  For example, "1" turns on the highlight attribute (the
  580.         ANSI sequence is <Esc>[1m), so you'd use "1" for highlighted
  581.         video; "34;43" would set blue-on-yellow (ANSI is <Esc>[34;43m).
  582.         The three attribute fields are separated by commas.  Examples:
  583.  
  584.             ATTRIB:0,1,0                (for a mono display)
  585.               Normal = white on black
  586.               Hilite = bright white on black
  587.               Exit   = white on black
  588.  
  589.             ATTRIB:34;43,33;44,34;43    (color display)
  590.               Normal = blue on yellow
  591.               Hilite = yellow on blue
  592.               Exit   = blue on yellow
  593.  
  594.         CAL:  the X,Y coordinates where you want the upper left hand
  595.         corner of the calendar to appear.  The standard coordinates are
  596.         56,2, and the upper left corner of the screen is 0,0.  Example:
  597.  
  598.               CAL:20,15
  599.  
  600.         This would cause the calendar to appear at column 20 of line 15.
  601.  
  602.         LOOK:  changes the global lookahead period from ten days to
  603.         something else.  Example:
  604.  
  605.               LOOK:7
  606.  
  607.         This would change the lookahead period to seven days.
  608.  
  609.         NOUPDATE:  If "NOUPDATE" is found in the variable, MJOG will not
  610.         perform automatic deletion of memos that are obsolete (i.e.,
  611.         fixed reminders whose date has passed).  The file will be only
  612.         updated when you add, "forget", or manually delete a reminder.
  613.         The /U command line switch overrides NOUPDATE and causes MJOG
  614.         to delete any obsolete memos.
  615.  
  616.         To create the environment variable, issue a SET MJOG= statement
  617.         before running MJOG (probably in AUTOEXEC.BAT).  For example:
  618.  
  619.          SET MJOG=FILE:c:\mjog.dat ATTRIB:0,1,0 CAL:10,2 LOOK:7 NOUPDATE
  620.  
  621.         If you see the DOS message "Out of environment space", you must
  622.         increase the space allocated for your environment.  For example,
  623.         under current versions of DOS, DOS 3.x or later, you could add
  624.         the following to your CONFIG.SYS:
  625.  
  626.             SHELL=c:\command.com c:\ /p /e:512
  627.  
  628.         This obviously assumes that your copy of COMMAND.COM is located
  629.         in C:\, and it would give you 512 bytes of environment space.
  630.  
  631.  
  632.         Compatibility with previous versions
  633.         ------------------------------------
  634.         We've made every effort to keep MJOG version 2 compatible with
  635.         earlier versions.
  636.  
  637.         The old MJOGDIR and MJOGXY environment variables are still
  638.         supported.  If the new MJOG variable and one or both of the old
  639.         variables are present, MJOG will override MJOGDIR and MJOGXY (if
  640.         MJOG contains FILE: and CAL: fields respectively).
  641.  
  642.         The old -C switch is no longer necessary and is ignored if
  643.         present (cleanup is now automatic).
  644.  
  645.  
  646.         Use on non-IBM-compatible systems
  647.         --------------------------------
  648.         All features of MJOG except the calendar display can be used on
  649.         any MSDOS machine.
  650.  
  651.         If you have a non-compatible MSDOS machine and wish to use the
  652.         calendar:
  653.  
  654.             1. You must have ANSI.SYS or equivalent installed.
  655.             2. Your ANSI device driver must support the CPR (Cursor
  656.                Position Report) sequence.  On receipt of the sequence
  657.                <esc>[6n, the device driver should report the current
  658.                cursor position via standard input.
  659.             3. You must specify an attribute set (using the MJOG
  660.                environment variable).
  661.  
  662.         If you are not using an IBM-compatible machine and use the
  663.         calendar without taking the above steps, the results will be
  664.         unpredictable.  MJOG will use system interrupt 10h for cursor
  665.         movement; interrupt 10h is BIOS video service on IBM-compatible
  666.         systems, but may not be on others.
  667.  
  668.  
  669.         Switch summary
  670.         --------------
  671.         The full list of available switches is as follows:
  672.  
  673.         /#          Alter lookahead days to #.
  674.         /D          Delete a reminder (include date/text to identify).
  675.         /F          Forget a reminder (include date/text to identify).
  676.         /L[(m/y)]   Display a calendar [for month MM/YY].
  677.         /P          Pause after reminders.
  678.         /U          Force a file update (counters NOUPDATE).
  679.         /V          Display version number.
  680.         /Y#         Specifies a year for display.
  681.  
  682.  
  683.         Release history
  684.         ---------------
  685.         Version 2.16 02/04/89
  686.             -- Corrects errors in calendar displays
  687.  
  688.         Version 2.15 02/02/89
  689.             -- Fixes some problems with the ATTRIBute set.  One of these
  690.                problems could cause the calendar display to hang up or
  691.                repeat endlessly.
  692.             -- Fixes some problems with /Deleting and /Forgetting
  693.                reminders.
  694.             -- Adds /Y switch.
  695.             -- Allows larger data files
  696.  
  697.         Version 2.10 01/05/89
  698.             -- Fixes several problems with local lookahead.
  699.             -- Formats MJOG data file into columns and adds
  700.                next-occurrence date to each line.
  701.             -- Adds /U and /P switches.
  702.             -- Adds TODAY keyword.
  703.             -- DOW-only memos now assumed not to include today.
  704.             -- Adds NOUPDATE field to MJOG variable.
  705.             -- Numerous internal changes to reduce memory requirements
  706.                and possibilities of stack overflow.
  707.  
  708.         Version 2.00 12/20/88
  709.             Initial public release of version 2.
  710.  
  711.  
  712.                           Copyright/License/Warranty
  713.                           --------------------------
  714.  
  715.         This document and the program file MJOG.EXE ("the software") are
  716.         copyrighted by the author.  The copyright owner hereby licenses
  717.         you to:  use the software; make as many copies of the program
  718.         and documentation as you wish; give such copies to anyone; and
  719.         distribute the software and documentation via electronic means.
  720.         There is no charge for any of the above.
  721.  
  722.         However, you are specifically prohibited from charging, or
  723.         requesting donations, for any such copies, however made; and
  724.         from distributing the software and/or documentation with
  725.         commercial products without prior permission.  An exception is
  726.         granted to not-for-profit user's groups, which are authorized to
  727.         charge a small fee (not to exceed $7) for materials, handling,
  728.         postage, and general overhead.  NO FOR-PROFIT ORGANIZATION IS
  729.         AUTHORIZED TO CHARGE ANY AMOUNT FOR DISTRIBUTION OF COPIES OF
  730.         THE SOFTWARE OR DOCUMENTATION, OR TO INCLUDE COPIES OF THE
  731.         SOFTWARE OR DOCUMENTATION WITH SALES OF THEIR OWN PRODUCTS.
  732.  
  733.         THIS INCLUDES A SPECIFIC PROHIBITION AGAINST FOR-PROFIT
  734.         ORGANIZATIONS DISTRIBUTING THE SOFTWARE, EITHER ALONE OR WITH
  735.         OTHER SOFTWARE, AND CHARGING A "HANDLING" OR "MATERIALS" FEE OR
  736.         ANY OTHER SUCH FEE FOR THE DISTRIBUTION.  NO FOR-PROFIT
  737.         ORGANIZATION IS AUTHORIZED TO INCLUDE THE SOFTWARE ON ANY MEDIA
  738.         FOR WHICH MONEY IS CHARGED.
  739.  
  740.         The software is intended for personal use only and should not be
  741.         used in a commercial, institutional, or governmental environment
  742.         with prior permission of the copyright owner.
  743.  
  744.         No copy of the software may be distributed or given away without
  745.         this document, and this notice must not be removed.
  746.  
  747.         There is no warranty of any kind, and the copyright owner is not
  748.         liable for damages of any kind.  By using this free software,
  749.         you agree to this.
  750.  
  751.         The software and documentation are:
  752.  
  753.                     Copyright (C) 1985, 1986, 1987, 1988 by
  754.                             The Cove Software Group
  755.                             Christopher J. Dunford
  756.                                  P.O. Box 1072
  757.                            Columbia, Maryland 21044
  758.  
  759.                                 (301) 992-9371
  760.                         CompuServe 76703,2002 [IBMNET]
  761.