Subject: A bit of new (and revised) calendar functionality...
To: None <current-users@netbsd.org>
From: Mason Loring Bliss <mason@acheron.middleboro.ma.us>
List: current-users
Date: 10/13/1998 22:16:47
--xHFwDpU9dbj6ez1V
Content-Type: text/plain; charset=us-ascii

Hi, all.

Enclosed is a gzipped copy of my calendar(1) mods. I didn't understand why
they were essentially ignored until I realised that I had changed the default
behaviour of calendar(1) without allowing for any way to get back to that
default behaviour.

So, here's another swing at it, this time with the default behaviour being
precisely what it is now, with my mods accessible via command-line options.

To wit, with my patch, there are two behaviours available, each of which may
be used seperately, or both together.

The '-r' flag turns on an extended warning checker, which looks for '+x' in
each line of the calendar files, where x is a (potentially multi-digit)
integer. This allows individual entries to have "look-ahead" dates exceeding
the default, which can still be set seperately. This output looks like this:

In 1 day: 10/14 Brian Joseph Andrew Leonard's Birthday

where the entry looks like this:

10/14 +14 Brian Joseph Andrew Leonard's Birthday

The next flag is '-y', which turns on a little year calculator, so that you
can have things like:

10/14 Brian Joseph Andrew Leonard's Birthday (1973: 25 years ago)

where the entry looks like this:

10/14 @1973 Brian Joseph Andrew Leonard's Birthday

Of course, both can be mixed, where you get:

In 1 day: 10/14 Brian Joseph Andrew Leonard's Birthday (1973: 25 years ago)

from the following entry:

10/14 +14@1973 Brian Joseph Andrew Leonard's Birthday

The point is that you might want to have a fourteen day warning for a friend's
birthday, but you might be annoyed that the only available way to get that
fourteen day warning also tells you that William the Conquerer won the Battle
of Hastings for those same fourteen days. Granularity is good.

I'd like to update the man page to describe this behaviour, but I'm not quite
sure how... Pointers will be welcome. (And, FWIW, I'd be slavishly grateful
if this made it into NetBSD. It's useful, small, clean, and it only shows up
if you ask for it.)

PS: I'm also send-pr'ing this. My previous calendar PR can be tossed.

-- 
Mason Loring Bliss..mason@acheron.middleboro.ma.us..acheron.dyn.ml.org/mason
"In the drowsy dark cave of the mind dreams build their nest with fragments
  dropped from day's caravan."--Rabindranath Tagore..awake ? sleep : dream;

--xHFwDpU9dbj6ez1V
Content-Type: application/x-gunzip
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="calendar.patch.gz"

H4sICO8IJDYAA2NhbGVuZGFyLnBhdGNoAOVZbVPbSBL+rPyKjncTLFsGy4Axdkg2CXBHFSRb
S6hKjlCUkEa2KrKkkmSML8V/v6dnRi82JpXd7O1e1aUS0Mz09PTr09OTVqtFrhOKyHPSTXcz
ToOx8WEm6L2bk71N3b2hbQ+7XbL39wdPOp1OjbhO17OHO/vDXk/RtZb/8Jh2+tauTXLIbHi4
TfjqPCG6vv7t7fnJYbPx8zuRvzk/HNZOsW7J3rT3JOMtu7tl96jXHe5CqD7NMydyJ+LfdHSX
0M8NcwReP2Ff4NNWi6I4pzCIcmptYf5Jm34KIjeceYJeTB13EkRiKwymQZ5tTl5ilfeWBNki
20qc1Jny2upCHkzFuvksd3KeX6f+3rY16Cn1sc0TPo6n49en50fULaVmMYlmURaMI+FRNolT
qBDHX5yJcDw6INuiuRBfQIxBj9V1J05KLT9ypgJTjcJuDYtanpOLLE8x/e7i9JSJMZrBX4mT
ZXOPWsl89OQpsYW82AnDkTpe3OUijTTj6+skjcfMXa6y5/Z2rcGg8Ny3NGmXq29fn16/uTg+
Pj/51xE1e92dAbXJNpXR/zZ1qRzNHSh8QN2RgbA5jGGCJAzcIKeG5ywySJgHYYOYKojGrzie
ip0L4aTrd/JKRhkCRLxq6BD8tnHXhc1g19rvVVmzb1s2klEb/zYOPIPcMM4EDIEs+rXZPD45
PaKWKVMBIho0FjmUUIvq2OVFPxChV1+2tHT4kMnD5G1F/g+Rv/f9TOTL9FhTPJVAYDqdel5T
mz+fUitPCq5etnT6NI7yyapwbc0Ix31i+66XPciieP7I2tQJIrWEYamQImALGa04EVFpND6O
F9d5wO72YPNBkboG28SdMCPDjaMs18zBywtS6cenZMwnQSiIBUNwQM04yZtOOnYtws9bixod
xxv6w3A4HzZMk54eUAfpAJZGNg9y7MJOk77KGdfJBG10NoYGx9iN435BIHqEw3MxTfLgBifJ
8CpInY2hDBbb7lq23S+i5U+TPF38d2Vf6wV7YNm97SoT7F7fsrf3SuX0fh/7eWQUEAH5IfhI
Td6kwvnC8VWQpyDnkVFigK2WH5IuKlKd9CuklRBhIYSTxwwgMIilBbHoeQlw5rJUa9Xe3bHs
/k4RfBynDIJO2GSLfy28mqT4CWhSvpVeTeS3QgNfDQr/P9U0NzP/ssDiKw3+Bkpns+kn0nIy
Q5rw8YHCVOXlVOSzNBopL/ThlsESIC3J11anxhI0rjPnVkibaRSslkY/rkm9xvwBbdZav78P
7cqqDVetZgef3lRJsPE52qDnzyEXj47eH2v3sggsX/eKD9743N1QB3MOQtOZkGrUySSzHGQ8
bxQWwYES8ZjKpFdk0xBlp9xbkOldCtJ8OevDAkjcZ9nnCHWSt0vJ7qWJdfEAiZy9V4bT0B3E
t8IljlWRXkJ+FXFfqXGcxtMhgVuf7i01xya1qMtjGRmoXL19u8rPv9Z2kFTawaiFHkeBjja5
xttU3q+Sg7IsdczZ0hvN0SqZ/nhZD3E4R08PlyNf7r3XLL7Drw/OqfG5f+j5QgmlF4NUpZeK
h6KiNlUQ1OXRBI9HjDr0m3HT5r9bLfygVs2AJnUIMuUTkYqNjJyoMA/KjnDz4FZY5AfjWSoo
nuU0nzg5E2sqyc3A3XCGa8qNwHZP3ugIlywuKJv0m5giTuWWkiP5iFA5lcWz1BWbks2WusjU
ZFMQI11coRFfTNdhF2gsupMIVkKT1JmL27kQrOVc0IRjoNJy6qRfRLq5uanOfyQi2xqsGKuQ
fe4kVYG30d4ocoSjv62dnmWuE/nlzQdRIG/U7LQALnuuFeG0sU2pjKpVEPQiU7biVi+IcAUC
P9hy7mQUokJBVC3o+vArY70MczU9rKlSnnUcwFt8GCO+NCZcnBYmKc/x45SaAc6BGh0Zb6zN
CHOZByFlDl4GVzAEQAKEL5Y7CqCNOaJ2OzBJl+Q7ZUU0B7wVzAJzSa6j1PECFw0Doi1A25A4
Lrw3nQovwGS4QKBBJkFJKSIbPcgkYbPVTHDlMZU3DKPTSZaY1+JRMeavSMyXA4Ji150lgfAq
M0zFlHeq+yh7FUlYfpeKIATN4uYBs9RNdscYzYFSyaPqWz3MkMBtWlkoS/O92ricxxIyVrOY
5C2olsKpSEJpRtSNqJZ6LJwvUpXHuCFOOMuTmQwGpoKhuZY0P5JqmZxxbKLZYsKP8ANDpDTg
bHrDVvMVI0V7I3I0iOo0hJp0qackc3TkubM05dDjyQoFpFUL1UoQqCc+XA5LW7Sw5FZLgo7w
yuw3DJX+enCTxihv3iXasys5zY8E1+CS8YecKfshoxUWkxo80DmWwIEkiDlZAic0lSoqYF7p
OFkPE788gAnJVkiclIyVAWFfH5cvzBb8vgtPVDVZgyanuM1mNI5j9O8x+djdqYN5heNVmEuL
QH7+1XwuR0VAh3opjFFb1qyzqHK+8zKfXkvjQMx9tMQvqSh4KimVt5jVWvKOJNdcjQVbU1c+
7UhoTs1nwZCeBfW4XA6GQqx7EiFQ9cHZ8sTOIyKbv+/0ubN49Pj/e8g9KwCXn4o0rkAYxg4w
5Z7T4jkABW4MFEeaDZM1ROgkMGZDb3gIx4m8ArFGNegtFxl2QVD4bfEoNuPfoo7Pym8F4P7o
nXtd/9Lb3rZ62/tF/6KumbBQYlbdFQ9Hsld7qu47aFhxHQudcWaRfJ2x6NbGv57uqfSbnnF8
fXJ+9v7dh38a3buuvbJw+PqTwfM92Qts7/Ss7d1e0Qv8oBwWL2UX/CZXdYD8nPBmpQuEwXsM
xgUNIzyPeIIdekDFob9frbXm7u9Zvb2yWTf42e0A9WfK8l5KHa4gE0ZFe4rI5ZLKjwS4jumP
dnk95rdH+daorvRYewnUTBSQ8BCpyb9eLM+2y2ts1eBS01Y9lTqyLKbqkFD4umgHGWmIkgt5
TOKWUQSLEQBFLaoXG5ZpkUqyzsr5WqjHxJAxMehaO93q/eZvN5aMvLKpqveFqkHC8W9mQeiV
tzmNL+pMrmqpmyyaOhCrrqnc/SsjPHcZsaqK3M7Im1HJooxrWIJlWzJrvWmt6A6oqzt+oywh
fHrjA5sHcFG0ebJAPdhsr998EqENfWR/84FkJorDybsP12evPz7KDnWMD5b49ZDBkp3exslC
dnalmbIcdloytKPbcm1ts+qJHwRbW3es/wuBvw41du2BtVu8bBLNMmcsqte95XecLEdRQPlv
XDAVbgcZXXacK/zw6Ozs8PDy8tOnK/xt0GdpkAZWfJJPoUwUSt34a66+ZHtf/S+EQghxh+pv
666eU7W/a1v93fId+a+RMK2Jia/Fd8j6H0YQO+zLHAAA

--xHFwDpU9dbj6ez1V--